1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package pinpoint
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const 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
42func (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
92func (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.
106func (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
113const 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
139func (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
190func (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.
204func (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
211const 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
237func (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
281func (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.
295func (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
302const 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
328func (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
378func (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.
392func (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
399const 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
425func (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
475func (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.
489func (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
496const opCreateJourney = "CreateJourney"
497
498// CreateJourneyRequest generates a "aws/request.Request" representing the
499// client's request for the CreateJourney 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 CreateJourney for more information on using the CreateJourney
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 CreateJourneyRequest method.
514//    req, resp := client.CreateJourneyRequest(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/CreateJourney
522func (c *Pinpoint) CreateJourneyRequest(input *CreateJourneyInput) (req *request.Request, output *CreateJourneyOutput) {
523	op := &request.Operation{
524		Name:       opCreateJourney,
525		HTTPMethod: "POST",
526		HTTPPath:   "/v1/apps/{application-id}/journeys",
527	}
528
529	if input == nil {
530		input = &CreateJourneyInput{}
531	}
532
533	output = &CreateJourneyOutput{}
534	req = c.newRequest(op, input, output)
535	return
536}
537
538// CreateJourney API operation for Amazon Pinpoint.
539//
540// Creates a journey for an application.
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 CreateJourney for usage and error information.
548//
549// Returned Error Types:
550//   * BadRequestException
551//   Provides information about an API request or response.
552//
553//   * InternalServerErrorException
554//   Provides information about an API request or response.
555//
556//   * PayloadTooLargeException
557//   Provides information about an API request or response.
558//
559//   * ForbiddenException
560//   Provides information about an API request or response.
561//
562//   * NotFoundException
563//   Provides information about an API request or response.
564//
565//   * MethodNotAllowedException
566//   Provides information about an API request or response.
567//
568//   * TooManyRequestsException
569//   Provides information about an API request or response.
570//
571// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateJourney
572func (c *Pinpoint) CreateJourney(input *CreateJourneyInput) (*CreateJourneyOutput, error) {
573	req, out := c.CreateJourneyRequest(input)
574	return out, req.Send()
575}
576
577// CreateJourneyWithContext is the same as CreateJourney with the addition of
578// the ability to pass a context and additional request options.
579//
580// See CreateJourney for details on how to use this API operation.
581//
582// The context must be non-nil and will be used for request cancellation. If
583// the context is nil a panic will occur. In the future the SDK may create
584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
585// for more information on using Contexts.
586func (c *Pinpoint) CreateJourneyWithContext(ctx aws.Context, input *CreateJourneyInput, opts ...request.Option) (*CreateJourneyOutput, error) {
587	req, out := c.CreateJourneyRequest(input)
588	req.SetContext(ctx)
589	req.ApplyOptions(opts...)
590	return out, req.Send()
591}
592
593const opCreatePushTemplate = "CreatePushTemplate"
594
595// CreatePushTemplateRequest generates a "aws/request.Request" representing the
596// client's request for the CreatePushTemplate operation. The "output" return
597// value will be populated with the request's response once the request completes
598// successfully.
599//
600// Use "Send" method on the returned Request to send the API call to the service.
601// the "output" return value is not valid until after Send returns without error.
602//
603// See CreatePushTemplate for more information on using the CreatePushTemplate
604// API call, and error handling.
605//
606// This method is useful when you want to inject custom logic or configuration
607// into the SDK's request lifecycle. Such as custom headers, or retry logic.
608//
609//
610//    // Example sending a request using the CreatePushTemplateRequest method.
611//    req, resp := client.CreatePushTemplateRequest(params)
612//
613//    err := req.Send()
614//    if err == nil { // resp is now filled
615//        fmt.Println(resp)
616//    }
617//
618// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreatePushTemplate
619func (c *Pinpoint) CreatePushTemplateRequest(input *CreatePushTemplateInput) (req *request.Request, output *CreatePushTemplateOutput) {
620	op := &request.Operation{
621		Name:       opCreatePushTemplate,
622		HTTPMethod: "POST",
623		HTTPPath:   "/v1/templates/{template-name}/push",
624	}
625
626	if input == nil {
627		input = &CreatePushTemplateInput{}
628	}
629
630	output = &CreatePushTemplateOutput{}
631	req = c.newRequest(op, input, output)
632	return
633}
634
635// CreatePushTemplate API operation for Amazon Pinpoint.
636//
637// Creates a message template for messages that are sent through a push notification
638// channel.
639//
640// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
641// with awserr.Error's Code and Message methods to get detailed information about
642// the error.
643//
644// See the AWS API reference guide for Amazon Pinpoint's
645// API operation CreatePushTemplate for usage and error information.
646//
647// Returned Error Types:
648//   * MethodNotAllowedException
649//   Provides information about an API request or response.
650//
651//   * TooManyRequestsException
652//   Provides information about an API request or response.
653//
654//   * BadRequestException
655//   Provides information about an API request or response.
656//
657//   * InternalServerErrorException
658//   Provides information about an API request or response.
659//
660//   * ForbiddenException
661//   Provides information about an API request or response.
662//
663// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreatePushTemplate
664func (c *Pinpoint) CreatePushTemplate(input *CreatePushTemplateInput) (*CreatePushTemplateOutput, error) {
665	req, out := c.CreatePushTemplateRequest(input)
666	return out, req.Send()
667}
668
669// CreatePushTemplateWithContext is the same as CreatePushTemplate with the addition of
670// the ability to pass a context and additional request options.
671//
672// See CreatePushTemplate for details on how to use this API operation.
673//
674// The context must be non-nil and will be used for request cancellation. If
675// the context is nil a panic will occur. In the future the SDK may create
676// sub-contexts for http.Requests. See https://golang.org/pkg/context/
677// for more information on using Contexts.
678func (c *Pinpoint) CreatePushTemplateWithContext(ctx aws.Context, input *CreatePushTemplateInput, opts ...request.Option) (*CreatePushTemplateOutput, error) {
679	req, out := c.CreatePushTemplateRequest(input)
680	req.SetContext(ctx)
681	req.ApplyOptions(opts...)
682	return out, req.Send()
683}
684
685const opCreateRecommenderConfiguration = "CreateRecommenderConfiguration"
686
687// CreateRecommenderConfigurationRequest generates a "aws/request.Request" representing the
688// client's request for the CreateRecommenderConfiguration operation. The "output" return
689// value will be populated with the request's response once the request completes
690// successfully.
691//
692// Use "Send" method on the returned Request to send the API call to the service.
693// the "output" return value is not valid until after Send returns without error.
694//
695// See CreateRecommenderConfiguration for more information on using the CreateRecommenderConfiguration
696// API call, and error handling.
697//
698// This method is useful when you want to inject custom logic or configuration
699// into the SDK's request lifecycle. Such as custom headers, or retry logic.
700//
701//
702//    // Example sending a request using the CreateRecommenderConfigurationRequest method.
703//    req, resp := client.CreateRecommenderConfigurationRequest(params)
704//
705//    err := req.Send()
706//    if err == nil { // resp is now filled
707//        fmt.Println(resp)
708//    }
709//
710// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateRecommenderConfiguration
711func (c *Pinpoint) CreateRecommenderConfigurationRequest(input *CreateRecommenderConfigurationInput) (req *request.Request, output *CreateRecommenderConfigurationOutput) {
712	op := &request.Operation{
713		Name:       opCreateRecommenderConfiguration,
714		HTTPMethod: "POST",
715		HTTPPath:   "/v1/recommenders",
716	}
717
718	if input == nil {
719		input = &CreateRecommenderConfigurationInput{}
720	}
721
722	output = &CreateRecommenderConfigurationOutput{}
723	req = c.newRequest(op, input, output)
724	return
725}
726
727// CreateRecommenderConfiguration API operation for Amazon Pinpoint.
728//
729// Creates an Amazon Pinpoint configuration for a recommender model.
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 CreateRecommenderConfiguration for usage and error information.
737//
738// Returned Error Types:
739//   * BadRequestException
740//   Provides information about an API request or response.
741//
742//   * InternalServerErrorException
743//   Provides information about an API request or response.
744//
745//   * PayloadTooLargeException
746//   Provides information about an API request or response.
747//
748//   * ForbiddenException
749//   Provides information about an API request or response.
750//
751//   * NotFoundException
752//   Provides information about an API request or response.
753//
754//   * MethodNotAllowedException
755//   Provides information about an API request or response.
756//
757//   * TooManyRequestsException
758//   Provides information about an API request or response.
759//
760// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateRecommenderConfiguration
761func (c *Pinpoint) CreateRecommenderConfiguration(input *CreateRecommenderConfigurationInput) (*CreateRecommenderConfigurationOutput, error) {
762	req, out := c.CreateRecommenderConfigurationRequest(input)
763	return out, req.Send()
764}
765
766// CreateRecommenderConfigurationWithContext is the same as CreateRecommenderConfiguration with the addition of
767// the ability to pass a context and additional request options.
768//
769// See CreateRecommenderConfiguration for details on how to use this API operation.
770//
771// The context must be non-nil and will be used for request cancellation. If
772// the context is nil a panic will occur. In the future the SDK may create
773// sub-contexts for http.Requests. See https://golang.org/pkg/context/
774// for more information on using Contexts.
775func (c *Pinpoint) CreateRecommenderConfigurationWithContext(ctx aws.Context, input *CreateRecommenderConfigurationInput, opts ...request.Option) (*CreateRecommenderConfigurationOutput, error) {
776	req, out := c.CreateRecommenderConfigurationRequest(input)
777	req.SetContext(ctx)
778	req.ApplyOptions(opts...)
779	return out, req.Send()
780}
781
782const opCreateSegment = "CreateSegment"
783
784// CreateSegmentRequest generates a "aws/request.Request" representing the
785// client's request for the CreateSegment operation. The "output" return
786// value will be populated with the request's response once the request completes
787// successfully.
788//
789// Use "Send" method on the returned Request to send the API call to the service.
790// the "output" return value is not valid until after Send returns without error.
791//
792// See CreateSegment for more information on using the CreateSegment
793// API call, and error handling.
794//
795// This method is useful when you want to inject custom logic or configuration
796// into the SDK's request lifecycle. Such as custom headers, or retry logic.
797//
798//
799//    // Example sending a request using the CreateSegmentRequest method.
800//    req, resp := client.CreateSegmentRequest(params)
801//
802//    err := req.Send()
803//    if err == nil { // resp is now filled
804//        fmt.Println(resp)
805//    }
806//
807// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSegment
808func (c *Pinpoint) CreateSegmentRequest(input *CreateSegmentInput) (req *request.Request, output *CreateSegmentOutput) {
809	op := &request.Operation{
810		Name:       opCreateSegment,
811		HTTPMethod: "POST",
812		HTTPPath:   "/v1/apps/{application-id}/segments",
813	}
814
815	if input == nil {
816		input = &CreateSegmentInput{}
817	}
818
819	output = &CreateSegmentOutput{}
820	req = c.newRequest(op, input, output)
821	return
822}
823
824// CreateSegment API operation for Amazon Pinpoint.
825//
826// Creates a new segment for an application or updates the configuration, dimension,
827// and other settings for an existing segment that's associated with an application.
828//
829// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
830// with awserr.Error's Code and Message methods to get detailed information about
831// the error.
832//
833// See the AWS API reference guide for Amazon Pinpoint's
834// API operation CreateSegment for usage and error information.
835//
836// Returned Error Types:
837//   * BadRequestException
838//   Provides information about an API request or response.
839//
840//   * InternalServerErrorException
841//   Provides information about an API request or response.
842//
843//   * PayloadTooLargeException
844//   Provides information about an API request or response.
845//
846//   * ForbiddenException
847//   Provides information about an API request or response.
848//
849//   * NotFoundException
850//   Provides information about an API request or response.
851//
852//   * MethodNotAllowedException
853//   Provides information about an API request or response.
854//
855//   * TooManyRequestsException
856//   Provides information about an API request or response.
857//
858// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSegment
859func (c *Pinpoint) CreateSegment(input *CreateSegmentInput) (*CreateSegmentOutput, error) {
860	req, out := c.CreateSegmentRequest(input)
861	return out, req.Send()
862}
863
864// CreateSegmentWithContext is the same as CreateSegment with the addition of
865// the ability to pass a context and additional request options.
866//
867// See CreateSegment for details on how to use this API operation.
868//
869// The context must be non-nil and will be used for request cancellation. If
870// the context is nil a panic will occur. In the future the SDK may create
871// sub-contexts for http.Requests. See https://golang.org/pkg/context/
872// for more information on using Contexts.
873func (c *Pinpoint) CreateSegmentWithContext(ctx aws.Context, input *CreateSegmentInput, opts ...request.Option) (*CreateSegmentOutput, error) {
874	req, out := c.CreateSegmentRequest(input)
875	req.SetContext(ctx)
876	req.ApplyOptions(opts...)
877	return out, req.Send()
878}
879
880const opCreateSmsTemplate = "CreateSmsTemplate"
881
882// CreateSmsTemplateRequest generates a "aws/request.Request" representing the
883// client's request for the CreateSmsTemplate operation. The "output" return
884// value will be populated with the request's response once the request completes
885// successfully.
886//
887// Use "Send" method on the returned Request to send the API call to the service.
888// the "output" return value is not valid until after Send returns without error.
889//
890// See CreateSmsTemplate for more information on using the CreateSmsTemplate
891// API call, and error handling.
892//
893// This method is useful when you want to inject custom logic or configuration
894// into the SDK's request lifecycle. Such as custom headers, or retry logic.
895//
896//
897//    // Example sending a request using the CreateSmsTemplateRequest method.
898//    req, resp := client.CreateSmsTemplateRequest(params)
899//
900//    err := req.Send()
901//    if err == nil { // resp is now filled
902//        fmt.Println(resp)
903//    }
904//
905// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSmsTemplate
906func (c *Pinpoint) CreateSmsTemplateRequest(input *CreateSmsTemplateInput) (req *request.Request, output *CreateSmsTemplateOutput) {
907	op := &request.Operation{
908		Name:       opCreateSmsTemplate,
909		HTTPMethod: "POST",
910		HTTPPath:   "/v1/templates/{template-name}/sms",
911	}
912
913	if input == nil {
914		input = &CreateSmsTemplateInput{}
915	}
916
917	output = &CreateSmsTemplateOutput{}
918	req = c.newRequest(op, input, output)
919	return
920}
921
922// CreateSmsTemplate API operation for Amazon Pinpoint.
923//
924// Creates a message template for messages that are sent through the SMS channel.
925//
926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
927// with awserr.Error's Code and Message methods to get detailed information about
928// the error.
929//
930// See the AWS API reference guide for Amazon Pinpoint's
931// API operation CreateSmsTemplate for usage and error information.
932//
933// Returned Error Types:
934//   * MethodNotAllowedException
935//   Provides information about an API request or response.
936//
937//   * TooManyRequestsException
938//   Provides information about an API request or response.
939//
940//   * BadRequestException
941//   Provides information about an API request or response.
942//
943//   * InternalServerErrorException
944//   Provides information about an API request or response.
945//
946//   * ForbiddenException
947//   Provides information about an API request or response.
948//
949// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSmsTemplate
950func (c *Pinpoint) CreateSmsTemplate(input *CreateSmsTemplateInput) (*CreateSmsTemplateOutput, error) {
951	req, out := c.CreateSmsTemplateRequest(input)
952	return out, req.Send()
953}
954
955// CreateSmsTemplateWithContext is the same as CreateSmsTemplate with the addition of
956// the ability to pass a context and additional request options.
957//
958// See CreateSmsTemplate 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.
964func (c *Pinpoint) CreateSmsTemplateWithContext(ctx aws.Context, input *CreateSmsTemplateInput, opts ...request.Option) (*CreateSmsTemplateOutput, error) {
965	req, out := c.CreateSmsTemplateRequest(input)
966	req.SetContext(ctx)
967	req.ApplyOptions(opts...)
968	return out, req.Send()
969}
970
971const opCreateVoiceTemplate = "CreateVoiceTemplate"
972
973// CreateVoiceTemplateRequest generates a "aws/request.Request" representing the
974// client's request for the CreateVoiceTemplate 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 CreateVoiceTemplate for more information on using the CreateVoiceTemplate
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 CreateVoiceTemplateRequest method.
989//    req, resp := client.CreateVoiceTemplateRequest(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/CreateVoiceTemplate
997func (c *Pinpoint) CreateVoiceTemplateRequest(input *CreateVoiceTemplateInput) (req *request.Request, output *CreateVoiceTemplateOutput) {
998	op := &request.Operation{
999		Name:       opCreateVoiceTemplate,
1000		HTTPMethod: "POST",
1001		HTTPPath:   "/v1/templates/{template-name}/voice",
1002	}
1003
1004	if input == nil {
1005		input = &CreateVoiceTemplateInput{}
1006	}
1007
1008	output = &CreateVoiceTemplateOutput{}
1009	req = c.newRequest(op, input, output)
1010	return
1011}
1012
1013// CreateVoiceTemplate API operation for Amazon Pinpoint.
1014//
1015// Creates a message template for messages that are sent through the voice 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 CreateVoiceTemplate 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/CreateVoiceTemplate
1041func (c *Pinpoint) CreateVoiceTemplate(input *CreateVoiceTemplateInput) (*CreateVoiceTemplateOutput, error) {
1042	req, out := c.CreateVoiceTemplateRequest(input)
1043	return out, req.Send()
1044}
1045
1046// CreateVoiceTemplateWithContext is the same as CreateVoiceTemplate with the addition of
1047// the ability to pass a context and additional request options.
1048//
1049// See CreateVoiceTemplate 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.
1055func (c *Pinpoint) CreateVoiceTemplateWithContext(ctx aws.Context, input *CreateVoiceTemplateInput, opts ...request.Option) (*CreateVoiceTemplateOutput, error) {
1056	req, out := c.CreateVoiceTemplateRequest(input)
1057	req.SetContext(ctx)
1058	req.ApplyOptions(opts...)
1059	return out, req.Send()
1060}
1061
1062const opDeleteAdmChannel = "DeleteAdmChannel"
1063
1064// DeleteAdmChannelRequest generates a "aws/request.Request" representing the
1065// client's request for the DeleteAdmChannel 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 DeleteAdmChannel for more information on using the DeleteAdmChannel
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 DeleteAdmChannelRequest method.
1080//    req, resp := client.DeleteAdmChannelRequest(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/DeleteAdmChannel
1088func (c *Pinpoint) DeleteAdmChannelRequest(input *DeleteAdmChannelInput) (req *request.Request, output *DeleteAdmChannelOutput) {
1089	op := &request.Operation{
1090		Name:       opDeleteAdmChannel,
1091		HTTPMethod: "DELETE",
1092		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
1093	}
1094
1095	if input == nil {
1096		input = &DeleteAdmChannelInput{}
1097	}
1098
1099	output = &DeleteAdmChannelOutput{}
1100	req = c.newRequest(op, input, output)
1101	return
1102}
1103
1104// DeleteAdmChannel API operation for Amazon Pinpoint.
1105//
1106// Disables the ADM channel for an application and deletes any existing settings
1107// for the channel.
1108//
1109// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1110// with awserr.Error's Code and Message methods to get detailed information about
1111// the error.
1112//
1113// See the AWS API reference guide for Amazon Pinpoint's
1114// API operation DeleteAdmChannel for usage and error information.
1115//
1116// Returned Error Types:
1117//   * BadRequestException
1118//   Provides information about an API request or response.
1119//
1120//   * InternalServerErrorException
1121//   Provides information about an API request or response.
1122//
1123//   * PayloadTooLargeException
1124//   Provides information about an API request or response.
1125//
1126//   * ForbiddenException
1127//   Provides information about an API request or response.
1128//
1129//   * NotFoundException
1130//   Provides information about an API request or response.
1131//
1132//   * MethodNotAllowedException
1133//   Provides information about an API request or response.
1134//
1135//   * TooManyRequestsException
1136//   Provides information about an API request or response.
1137//
1138// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAdmChannel
1139func (c *Pinpoint) DeleteAdmChannel(input *DeleteAdmChannelInput) (*DeleteAdmChannelOutput, error) {
1140	req, out := c.DeleteAdmChannelRequest(input)
1141	return out, req.Send()
1142}
1143
1144// DeleteAdmChannelWithContext is the same as DeleteAdmChannel with the addition of
1145// the ability to pass a context and additional request options.
1146//
1147// See DeleteAdmChannel for details on how to use this API operation.
1148//
1149// The context must be non-nil and will be used for request cancellation. If
1150// the context is nil a panic will occur. In the future the SDK may create
1151// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1152// for more information on using Contexts.
1153func (c *Pinpoint) DeleteAdmChannelWithContext(ctx aws.Context, input *DeleteAdmChannelInput, opts ...request.Option) (*DeleteAdmChannelOutput, error) {
1154	req, out := c.DeleteAdmChannelRequest(input)
1155	req.SetContext(ctx)
1156	req.ApplyOptions(opts...)
1157	return out, req.Send()
1158}
1159
1160const opDeleteApnsChannel = "DeleteApnsChannel"
1161
1162// DeleteApnsChannelRequest generates a "aws/request.Request" representing the
1163// client's request for the DeleteApnsChannel operation. The "output" return
1164// value will be populated with the request's response once the request completes
1165// successfully.
1166//
1167// Use "Send" method on the returned Request to send the API call to the service.
1168// the "output" return value is not valid until after Send returns without error.
1169//
1170// See DeleteApnsChannel for more information on using the DeleteApnsChannel
1171// API call, and error handling.
1172//
1173// This method is useful when you want to inject custom logic or configuration
1174// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1175//
1176//
1177//    // Example sending a request using the DeleteApnsChannelRequest method.
1178//    req, resp := client.DeleteApnsChannelRequest(params)
1179//
1180//    err := req.Send()
1181//    if err == nil { // resp is now filled
1182//        fmt.Println(resp)
1183//    }
1184//
1185// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsChannel
1186func (c *Pinpoint) DeleteApnsChannelRequest(input *DeleteApnsChannelInput) (req *request.Request, output *DeleteApnsChannelOutput) {
1187	op := &request.Operation{
1188		Name:       opDeleteApnsChannel,
1189		HTTPMethod: "DELETE",
1190		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
1191	}
1192
1193	if input == nil {
1194		input = &DeleteApnsChannelInput{}
1195	}
1196
1197	output = &DeleteApnsChannelOutput{}
1198	req = c.newRequest(op, input, output)
1199	return
1200}
1201
1202// DeleteApnsChannel API operation for Amazon Pinpoint.
1203//
1204// Disables the APNs channel for an application and deletes any existing settings
1205// for the channel.
1206//
1207// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1208// with awserr.Error's Code and Message methods to get detailed information about
1209// the error.
1210//
1211// See the AWS API reference guide for Amazon Pinpoint's
1212// API operation DeleteApnsChannel for usage and error information.
1213//
1214// Returned Error Types:
1215//   * BadRequestException
1216//   Provides information about an API request or response.
1217//
1218//   * InternalServerErrorException
1219//   Provides information about an API request or response.
1220//
1221//   * PayloadTooLargeException
1222//   Provides information about an API request or response.
1223//
1224//   * ForbiddenException
1225//   Provides information about an API request or response.
1226//
1227//   * NotFoundException
1228//   Provides information about an API request or response.
1229//
1230//   * MethodNotAllowedException
1231//   Provides information about an API request or response.
1232//
1233//   * TooManyRequestsException
1234//   Provides information about an API request or response.
1235//
1236// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsChannel
1237func (c *Pinpoint) DeleteApnsChannel(input *DeleteApnsChannelInput) (*DeleteApnsChannelOutput, error) {
1238	req, out := c.DeleteApnsChannelRequest(input)
1239	return out, req.Send()
1240}
1241
1242// DeleteApnsChannelWithContext is the same as DeleteApnsChannel with the addition of
1243// the ability to pass a context and additional request options.
1244//
1245// See DeleteApnsChannel for details on how to use this API operation.
1246//
1247// The context must be non-nil and will be used for request cancellation. If
1248// the context is nil a panic will occur. In the future the SDK may create
1249// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1250// for more information on using Contexts.
1251func (c *Pinpoint) DeleteApnsChannelWithContext(ctx aws.Context, input *DeleteApnsChannelInput, opts ...request.Option) (*DeleteApnsChannelOutput, error) {
1252	req, out := c.DeleteApnsChannelRequest(input)
1253	req.SetContext(ctx)
1254	req.ApplyOptions(opts...)
1255	return out, req.Send()
1256}
1257
1258const opDeleteApnsSandboxChannel = "DeleteApnsSandboxChannel"
1259
1260// DeleteApnsSandboxChannelRequest generates a "aws/request.Request" representing the
1261// client's request for the DeleteApnsSandboxChannel operation. The "output" return
1262// value will be populated with the request's response once the request completes
1263// successfully.
1264//
1265// Use "Send" method on the returned Request to send the API call to the service.
1266// the "output" return value is not valid until after Send returns without error.
1267//
1268// See DeleteApnsSandboxChannel for more information on using the DeleteApnsSandboxChannel
1269// API call, and error handling.
1270//
1271// This method is useful when you want to inject custom logic or configuration
1272// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1273//
1274//
1275//    // Example sending a request using the DeleteApnsSandboxChannelRequest method.
1276//    req, resp := client.DeleteApnsSandboxChannelRequest(params)
1277//
1278//    err := req.Send()
1279//    if err == nil { // resp is now filled
1280//        fmt.Println(resp)
1281//    }
1282//
1283// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsSandboxChannel
1284func (c *Pinpoint) DeleteApnsSandboxChannelRequest(input *DeleteApnsSandboxChannelInput) (req *request.Request, output *DeleteApnsSandboxChannelOutput) {
1285	op := &request.Operation{
1286		Name:       opDeleteApnsSandboxChannel,
1287		HTTPMethod: "DELETE",
1288		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
1289	}
1290
1291	if input == nil {
1292		input = &DeleteApnsSandboxChannelInput{}
1293	}
1294
1295	output = &DeleteApnsSandboxChannelOutput{}
1296	req = c.newRequest(op, input, output)
1297	return
1298}
1299
1300// DeleteApnsSandboxChannel API operation for Amazon Pinpoint.
1301//
1302// Disables the APNs sandbox channel for an application and deletes any existing
1303// settings for the channel.
1304//
1305// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1306// with awserr.Error's Code and Message methods to get detailed information about
1307// the error.
1308//
1309// See the AWS API reference guide for Amazon Pinpoint's
1310// API operation DeleteApnsSandboxChannel for usage and error information.
1311//
1312// Returned Error Types:
1313//   * BadRequestException
1314//   Provides information about an API request or response.
1315//
1316//   * InternalServerErrorException
1317//   Provides information about an API request or response.
1318//
1319//   * PayloadTooLargeException
1320//   Provides information about an API request or response.
1321//
1322//   * ForbiddenException
1323//   Provides information about an API request or response.
1324//
1325//   * NotFoundException
1326//   Provides information about an API request or response.
1327//
1328//   * MethodNotAllowedException
1329//   Provides information about an API request or response.
1330//
1331//   * TooManyRequestsException
1332//   Provides information about an API request or response.
1333//
1334// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsSandboxChannel
1335func (c *Pinpoint) DeleteApnsSandboxChannel(input *DeleteApnsSandboxChannelInput) (*DeleteApnsSandboxChannelOutput, error) {
1336	req, out := c.DeleteApnsSandboxChannelRequest(input)
1337	return out, req.Send()
1338}
1339
1340// DeleteApnsSandboxChannelWithContext is the same as DeleteApnsSandboxChannel with the addition of
1341// the ability to pass a context and additional request options.
1342//
1343// See DeleteApnsSandboxChannel for details on how to use this API operation.
1344//
1345// The context must be non-nil and will be used for request cancellation. If
1346// the context is nil a panic will occur. In the future the SDK may create
1347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1348// for more information on using Contexts.
1349func (c *Pinpoint) DeleteApnsSandboxChannelWithContext(ctx aws.Context, input *DeleteApnsSandboxChannelInput, opts ...request.Option) (*DeleteApnsSandboxChannelOutput, error) {
1350	req, out := c.DeleteApnsSandboxChannelRequest(input)
1351	req.SetContext(ctx)
1352	req.ApplyOptions(opts...)
1353	return out, req.Send()
1354}
1355
1356const opDeleteApnsVoipChannel = "DeleteApnsVoipChannel"
1357
1358// DeleteApnsVoipChannelRequest generates a "aws/request.Request" representing the
1359// client's request for the DeleteApnsVoipChannel operation. The "output" return
1360// value will be populated with the request's response once the request completes
1361// successfully.
1362//
1363// Use "Send" method on the returned Request to send the API call to the service.
1364// the "output" return value is not valid until after Send returns without error.
1365//
1366// See DeleteApnsVoipChannel for more information on using the DeleteApnsVoipChannel
1367// API call, and error handling.
1368//
1369// This method is useful when you want to inject custom logic or configuration
1370// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1371//
1372//
1373//    // Example sending a request using the DeleteApnsVoipChannelRequest method.
1374//    req, resp := client.DeleteApnsVoipChannelRequest(params)
1375//
1376//    err := req.Send()
1377//    if err == nil { // resp is now filled
1378//        fmt.Println(resp)
1379//    }
1380//
1381// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipChannel
1382func (c *Pinpoint) DeleteApnsVoipChannelRequest(input *DeleteApnsVoipChannelInput) (req *request.Request, output *DeleteApnsVoipChannelOutput) {
1383	op := &request.Operation{
1384		Name:       opDeleteApnsVoipChannel,
1385		HTTPMethod: "DELETE",
1386		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
1387	}
1388
1389	if input == nil {
1390		input = &DeleteApnsVoipChannelInput{}
1391	}
1392
1393	output = &DeleteApnsVoipChannelOutput{}
1394	req = c.newRequest(op, input, output)
1395	return
1396}
1397
1398// DeleteApnsVoipChannel API operation for Amazon Pinpoint.
1399//
1400// Disables the APNs VoIP channel for an application and deletes any existing
1401// settings for the channel.
1402//
1403// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1404// with awserr.Error's Code and Message methods to get detailed information about
1405// the error.
1406//
1407// See the AWS API reference guide for Amazon Pinpoint's
1408// API operation DeleteApnsVoipChannel for usage and error information.
1409//
1410// Returned Error Types:
1411//   * BadRequestException
1412//   Provides information about an API request or response.
1413//
1414//   * InternalServerErrorException
1415//   Provides information about an API request or response.
1416//
1417//   * PayloadTooLargeException
1418//   Provides information about an API request or response.
1419//
1420//   * ForbiddenException
1421//   Provides information about an API request or response.
1422//
1423//   * NotFoundException
1424//   Provides information about an API request or response.
1425//
1426//   * MethodNotAllowedException
1427//   Provides information about an API request or response.
1428//
1429//   * TooManyRequestsException
1430//   Provides information about an API request or response.
1431//
1432// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipChannel
1433func (c *Pinpoint) DeleteApnsVoipChannel(input *DeleteApnsVoipChannelInput) (*DeleteApnsVoipChannelOutput, error) {
1434	req, out := c.DeleteApnsVoipChannelRequest(input)
1435	return out, req.Send()
1436}
1437
1438// DeleteApnsVoipChannelWithContext is the same as DeleteApnsVoipChannel with the addition of
1439// the ability to pass a context and additional request options.
1440//
1441// See DeleteApnsVoipChannel for details on how to use this API operation.
1442//
1443// The context must be non-nil and will be used for request cancellation. If
1444// the context is nil a panic will occur. In the future the SDK may create
1445// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1446// for more information on using Contexts.
1447func (c *Pinpoint) DeleteApnsVoipChannelWithContext(ctx aws.Context, input *DeleteApnsVoipChannelInput, opts ...request.Option) (*DeleteApnsVoipChannelOutput, error) {
1448	req, out := c.DeleteApnsVoipChannelRequest(input)
1449	req.SetContext(ctx)
1450	req.ApplyOptions(opts...)
1451	return out, req.Send()
1452}
1453
1454const opDeleteApnsVoipSandboxChannel = "DeleteApnsVoipSandboxChannel"
1455
1456// DeleteApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
1457// client's request for the DeleteApnsVoipSandboxChannel operation. The "output" return
1458// value will be populated with the request's response once the request completes
1459// successfully.
1460//
1461// Use "Send" method on the returned Request to send the API call to the service.
1462// the "output" return value is not valid until after Send returns without error.
1463//
1464// See DeleteApnsVoipSandboxChannel for more information on using the DeleteApnsVoipSandboxChannel
1465// API call, and error handling.
1466//
1467// This method is useful when you want to inject custom logic or configuration
1468// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1469//
1470//
1471//    // Example sending a request using the DeleteApnsVoipSandboxChannelRequest method.
1472//    req, resp := client.DeleteApnsVoipSandboxChannelRequest(params)
1473//
1474//    err := req.Send()
1475//    if err == nil { // resp is now filled
1476//        fmt.Println(resp)
1477//    }
1478//
1479// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipSandboxChannel
1480func (c *Pinpoint) DeleteApnsVoipSandboxChannelRequest(input *DeleteApnsVoipSandboxChannelInput) (req *request.Request, output *DeleteApnsVoipSandboxChannelOutput) {
1481	op := &request.Operation{
1482		Name:       opDeleteApnsVoipSandboxChannel,
1483		HTTPMethod: "DELETE",
1484		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
1485	}
1486
1487	if input == nil {
1488		input = &DeleteApnsVoipSandboxChannelInput{}
1489	}
1490
1491	output = &DeleteApnsVoipSandboxChannelOutput{}
1492	req = c.newRequest(op, input, output)
1493	return
1494}
1495
1496// DeleteApnsVoipSandboxChannel API operation for Amazon Pinpoint.
1497//
1498// Disables the APNs VoIP sandbox channel for an application and deletes any
1499// existing settings for the channel.
1500//
1501// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1502// with awserr.Error's Code and Message methods to get detailed information about
1503// the error.
1504//
1505// See the AWS API reference guide for Amazon Pinpoint's
1506// API operation DeleteApnsVoipSandboxChannel for usage and error information.
1507//
1508// Returned Error Types:
1509//   * BadRequestException
1510//   Provides information about an API request or response.
1511//
1512//   * InternalServerErrorException
1513//   Provides information about an API request or response.
1514//
1515//   * PayloadTooLargeException
1516//   Provides information about an API request or response.
1517//
1518//   * ForbiddenException
1519//   Provides information about an API request or response.
1520//
1521//   * NotFoundException
1522//   Provides information about an API request or response.
1523//
1524//   * MethodNotAllowedException
1525//   Provides information about an API request or response.
1526//
1527//   * TooManyRequestsException
1528//   Provides information about an API request or response.
1529//
1530// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipSandboxChannel
1531func (c *Pinpoint) DeleteApnsVoipSandboxChannel(input *DeleteApnsVoipSandboxChannelInput) (*DeleteApnsVoipSandboxChannelOutput, error) {
1532	req, out := c.DeleteApnsVoipSandboxChannelRequest(input)
1533	return out, req.Send()
1534}
1535
1536// DeleteApnsVoipSandboxChannelWithContext is the same as DeleteApnsVoipSandboxChannel with the addition of
1537// the ability to pass a context and additional request options.
1538//
1539// See DeleteApnsVoipSandboxChannel for details on how to use this API operation.
1540//
1541// The context must be non-nil and will be used for request cancellation. If
1542// the context is nil a panic will occur. In the future the SDK may create
1543// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1544// for more information on using Contexts.
1545func (c *Pinpoint) DeleteApnsVoipSandboxChannelWithContext(ctx aws.Context, input *DeleteApnsVoipSandboxChannelInput, opts ...request.Option) (*DeleteApnsVoipSandboxChannelOutput, error) {
1546	req, out := c.DeleteApnsVoipSandboxChannelRequest(input)
1547	req.SetContext(ctx)
1548	req.ApplyOptions(opts...)
1549	return out, req.Send()
1550}
1551
1552const opDeleteApp = "DeleteApp"
1553
1554// DeleteAppRequest generates a "aws/request.Request" representing the
1555// client's request for the DeleteApp operation. The "output" return
1556// value will be populated with the request's response once the request completes
1557// successfully.
1558//
1559// Use "Send" method on the returned Request to send the API call to the service.
1560// the "output" return value is not valid until after Send returns without error.
1561//
1562// See DeleteApp for more information on using the DeleteApp
1563// API call, and error handling.
1564//
1565// This method is useful when you want to inject custom logic or configuration
1566// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1567//
1568//
1569//    // Example sending a request using the DeleteAppRequest method.
1570//    req, resp := client.DeleteAppRequest(params)
1571//
1572//    err := req.Send()
1573//    if err == nil { // resp is now filled
1574//        fmt.Println(resp)
1575//    }
1576//
1577// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApp
1578func (c *Pinpoint) DeleteAppRequest(input *DeleteAppInput) (req *request.Request, output *DeleteAppOutput) {
1579	op := &request.Operation{
1580		Name:       opDeleteApp,
1581		HTTPMethod: "DELETE",
1582		HTTPPath:   "/v1/apps/{application-id}",
1583	}
1584
1585	if input == nil {
1586		input = &DeleteAppInput{}
1587	}
1588
1589	output = &DeleteAppOutput{}
1590	req = c.newRequest(op, input, output)
1591	return
1592}
1593
1594// DeleteApp API operation for Amazon Pinpoint.
1595//
1596// Deletes an application.
1597//
1598// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1599// with awserr.Error's Code and Message methods to get detailed information about
1600// the error.
1601//
1602// See the AWS API reference guide for Amazon Pinpoint's
1603// API operation DeleteApp for usage and error information.
1604//
1605// Returned Error Types:
1606//   * BadRequestException
1607//   Provides information about an API request or response.
1608//
1609//   * InternalServerErrorException
1610//   Provides information about an API request or response.
1611//
1612//   * PayloadTooLargeException
1613//   Provides information about an API request or response.
1614//
1615//   * ForbiddenException
1616//   Provides information about an API request or response.
1617//
1618//   * NotFoundException
1619//   Provides information about an API request or response.
1620//
1621//   * MethodNotAllowedException
1622//   Provides information about an API request or response.
1623//
1624//   * TooManyRequestsException
1625//   Provides information about an API request or response.
1626//
1627// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApp
1628func (c *Pinpoint) DeleteApp(input *DeleteAppInput) (*DeleteAppOutput, error) {
1629	req, out := c.DeleteAppRequest(input)
1630	return out, req.Send()
1631}
1632
1633// DeleteAppWithContext is the same as DeleteApp with the addition of
1634// the ability to pass a context and additional request options.
1635//
1636// See DeleteApp for details on how to use this API operation.
1637//
1638// The context must be non-nil and will be used for request cancellation. If
1639// the context is nil a panic will occur. In the future the SDK may create
1640// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1641// for more information on using Contexts.
1642func (c *Pinpoint) DeleteAppWithContext(ctx aws.Context, input *DeleteAppInput, opts ...request.Option) (*DeleteAppOutput, error) {
1643	req, out := c.DeleteAppRequest(input)
1644	req.SetContext(ctx)
1645	req.ApplyOptions(opts...)
1646	return out, req.Send()
1647}
1648
1649const opDeleteBaiduChannel = "DeleteBaiduChannel"
1650
1651// DeleteBaiduChannelRequest generates a "aws/request.Request" representing the
1652// client's request for the DeleteBaiduChannel operation. The "output" return
1653// value will be populated with the request's response once the request completes
1654// successfully.
1655//
1656// Use "Send" method on the returned Request to send the API call to the service.
1657// the "output" return value is not valid until after Send returns without error.
1658//
1659// See DeleteBaiduChannel for more information on using the DeleteBaiduChannel
1660// API call, and error handling.
1661//
1662// This method is useful when you want to inject custom logic or configuration
1663// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1664//
1665//
1666//    // Example sending a request using the DeleteBaiduChannelRequest method.
1667//    req, resp := client.DeleteBaiduChannelRequest(params)
1668//
1669//    err := req.Send()
1670//    if err == nil { // resp is now filled
1671//        fmt.Println(resp)
1672//    }
1673//
1674// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteBaiduChannel
1675func (c *Pinpoint) DeleteBaiduChannelRequest(input *DeleteBaiduChannelInput) (req *request.Request, output *DeleteBaiduChannelOutput) {
1676	op := &request.Operation{
1677		Name:       opDeleteBaiduChannel,
1678		HTTPMethod: "DELETE",
1679		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
1680	}
1681
1682	if input == nil {
1683		input = &DeleteBaiduChannelInput{}
1684	}
1685
1686	output = &DeleteBaiduChannelOutput{}
1687	req = c.newRequest(op, input, output)
1688	return
1689}
1690
1691// DeleteBaiduChannel API operation for Amazon Pinpoint.
1692//
1693// Disables the Baidu channel for an application and deletes any existing settings
1694// for the channel.
1695//
1696// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1697// with awserr.Error's Code and Message methods to get detailed information about
1698// the error.
1699//
1700// See the AWS API reference guide for Amazon Pinpoint's
1701// API operation DeleteBaiduChannel for usage and error information.
1702//
1703// Returned Error Types:
1704//   * BadRequestException
1705//   Provides information about an API request or response.
1706//
1707//   * InternalServerErrorException
1708//   Provides information about an API request or response.
1709//
1710//   * PayloadTooLargeException
1711//   Provides information about an API request or response.
1712//
1713//   * ForbiddenException
1714//   Provides information about an API request or response.
1715//
1716//   * NotFoundException
1717//   Provides information about an API request or response.
1718//
1719//   * MethodNotAllowedException
1720//   Provides information about an API request or response.
1721//
1722//   * TooManyRequestsException
1723//   Provides information about an API request or response.
1724//
1725// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteBaiduChannel
1726func (c *Pinpoint) DeleteBaiduChannel(input *DeleteBaiduChannelInput) (*DeleteBaiduChannelOutput, error) {
1727	req, out := c.DeleteBaiduChannelRequest(input)
1728	return out, req.Send()
1729}
1730
1731// DeleteBaiduChannelWithContext is the same as DeleteBaiduChannel with the addition of
1732// the ability to pass a context and additional request options.
1733//
1734// See DeleteBaiduChannel for details on how to use this API operation.
1735//
1736// The context must be non-nil and will be used for request cancellation. If
1737// the context is nil a panic will occur. In the future the SDK may create
1738// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1739// for more information on using Contexts.
1740func (c *Pinpoint) DeleteBaiduChannelWithContext(ctx aws.Context, input *DeleteBaiduChannelInput, opts ...request.Option) (*DeleteBaiduChannelOutput, error) {
1741	req, out := c.DeleteBaiduChannelRequest(input)
1742	req.SetContext(ctx)
1743	req.ApplyOptions(opts...)
1744	return out, req.Send()
1745}
1746
1747const opDeleteCampaign = "DeleteCampaign"
1748
1749// DeleteCampaignRequest generates a "aws/request.Request" representing the
1750// client's request for the DeleteCampaign operation. The "output" return
1751// value will be populated with the request's response once the request completes
1752// successfully.
1753//
1754// Use "Send" method on the returned Request to send the API call to the service.
1755// the "output" return value is not valid until after Send returns without error.
1756//
1757// See DeleteCampaign for more information on using the DeleteCampaign
1758// API call, and error handling.
1759//
1760// This method is useful when you want to inject custom logic or configuration
1761// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1762//
1763//
1764//    // Example sending a request using the DeleteCampaignRequest method.
1765//    req, resp := client.DeleteCampaignRequest(params)
1766//
1767//    err := req.Send()
1768//    if err == nil { // resp is now filled
1769//        fmt.Println(resp)
1770//    }
1771//
1772// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteCampaign
1773func (c *Pinpoint) DeleteCampaignRequest(input *DeleteCampaignInput) (req *request.Request, output *DeleteCampaignOutput) {
1774	op := &request.Operation{
1775		Name:       opDeleteCampaign,
1776		HTTPMethod: "DELETE",
1777		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
1778	}
1779
1780	if input == nil {
1781		input = &DeleteCampaignInput{}
1782	}
1783
1784	output = &DeleteCampaignOutput{}
1785	req = c.newRequest(op, input, output)
1786	return
1787}
1788
1789// DeleteCampaign API operation for Amazon Pinpoint.
1790//
1791// Deletes a campaign from an application.
1792//
1793// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1794// with awserr.Error's Code and Message methods to get detailed information about
1795// the error.
1796//
1797// See the AWS API reference guide for Amazon Pinpoint's
1798// API operation DeleteCampaign for usage and error information.
1799//
1800// Returned Error Types:
1801//   * BadRequestException
1802//   Provides information about an API request or response.
1803//
1804//   * InternalServerErrorException
1805//   Provides information about an API request or response.
1806//
1807//   * PayloadTooLargeException
1808//   Provides information about an API request or response.
1809//
1810//   * ForbiddenException
1811//   Provides information about an API request or response.
1812//
1813//   * NotFoundException
1814//   Provides information about an API request or response.
1815//
1816//   * MethodNotAllowedException
1817//   Provides information about an API request or response.
1818//
1819//   * TooManyRequestsException
1820//   Provides information about an API request or response.
1821//
1822// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteCampaign
1823func (c *Pinpoint) DeleteCampaign(input *DeleteCampaignInput) (*DeleteCampaignOutput, error) {
1824	req, out := c.DeleteCampaignRequest(input)
1825	return out, req.Send()
1826}
1827
1828// DeleteCampaignWithContext is the same as DeleteCampaign with the addition of
1829// the ability to pass a context and additional request options.
1830//
1831// See DeleteCampaign for details on how to use this API operation.
1832//
1833// The context must be non-nil and will be used for request cancellation. If
1834// the context is nil a panic will occur. In the future the SDK may create
1835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1836// for more information on using Contexts.
1837func (c *Pinpoint) DeleteCampaignWithContext(ctx aws.Context, input *DeleteCampaignInput, opts ...request.Option) (*DeleteCampaignOutput, error) {
1838	req, out := c.DeleteCampaignRequest(input)
1839	req.SetContext(ctx)
1840	req.ApplyOptions(opts...)
1841	return out, req.Send()
1842}
1843
1844const opDeleteEmailChannel = "DeleteEmailChannel"
1845
1846// DeleteEmailChannelRequest generates a "aws/request.Request" representing the
1847// client's request for the DeleteEmailChannel operation. The "output" return
1848// value will be populated with the request's response once the request completes
1849// successfully.
1850//
1851// Use "Send" method on the returned Request to send the API call to the service.
1852// the "output" return value is not valid until after Send returns without error.
1853//
1854// See DeleteEmailChannel for more information on using the DeleteEmailChannel
1855// API call, and error handling.
1856//
1857// This method is useful when you want to inject custom logic or configuration
1858// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1859//
1860//
1861//    // Example sending a request using the DeleteEmailChannelRequest method.
1862//    req, resp := client.DeleteEmailChannelRequest(params)
1863//
1864//    err := req.Send()
1865//    if err == nil { // resp is now filled
1866//        fmt.Println(resp)
1867//    }
1868//
1869// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailChannel
1870func (c *Pinpoint) DeleteEmailChannelRequest(input *DeleteEmailChannelInput) (req *request.Request, output *DeleteEmailChannelOutput) {
1871	op := &request.Operation{
1872		Name:       opDeleteEmailChannel,
1873		HTTPMethod: "DELETE",
1874		HTTPPath:   "/v1/apps/{application-id}/channels/email",
1875	}
1876
1877	if input == nil {
1878		input = &DeleteEmailChannelInput{}
1879	}
1880
1881	output = &DeleteEmailChannelOutput{}
1882	req = c.newRequest(op, input, output)
1883	return
1884}
1885
1886// DeleteEmailChannel API operation for Amazon Pinpoint.
1887//
1888// Disables the email channel for an application and deletes any existing settings
1889// for the channel.
1890//
1891// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1892// with awserr.Error's Code and Message methods to get detailed information about
1893// the error.
1894//
1895// See the AWS API reference guide for Amazon Pinpoint's
1896// API operation DeleteEmailChannel for usage and error information.
1897//
1898// Returned Error Types:
1899//   * BadRequestException
1900//   Provides information about an API request or response.
1901//
1902//   * InternalServerErrorException
1903//   Provides information about an API request or response.
1904//
1905//   * PayloadTooLargeException
1906//   Provides information about an API request or response.
1907//
1908//   * ForbiddenException
1909//   Provides information about an API request or response.
1910//
1911//   * NotFoundException
1912//   Provides information about an API request or response.
1913//
1914//   * MethodNotAllowedException
1915//   Provides information about an API request or response.
1916//
1917//   * TooManyRequestsException
1918//   Provides information about an API request or response.
1919//
1920// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailChannel
1921func (c *Pinpoint) DeleteEmailChannel(input *DeleteEmailChannelInput) (*DeleteEmailChannelOutput, error) {
1922	req, out := c.DeleteEmailChannelRequest(input)
1923	return out, req.Send()
1924}
1925
1926// DeleteEmailChannelWithContext is the same as DeleteEmailChannel with the addition of
1927// the ability to pass a context and additional request options.
1928//
1929// See DeleteEmailChannel for details on how to use this API operation.
1930//
1931// The context must be non-nil and will be used for request cancellation. If
1932// the context is nil a panic will occur. In the future the SDK may create
1933// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1934// for more information on using Contexts.
1935func (c *Pinpoint) DeleteEmailChannelWithContext(ctx aws.Context, input *DeleteEmailChannelInput, opts ...request.Option) (*DeleteEmailChannelOutput, error) {
1936	req, out := c.DeleteEmailChannelRequest(input)
1937	req.SetContext(ctx)
1938	req.ApplyOptions(opts...)
1939	return out, req.Send()
1940}
1941
1942const opDeleteEmailTemplate = "DeleteEmailTemplate"
1943
1944// DeleteEmailTemplateRequest generates a "aws/request.Request" representing the
1945// client's request for the DeleteEmailTemplate operation. The "output" return
1946// value will be populated with the request's response once the request completes
1947// successfully.
1948//
1949// Use "Send" method on the returned Request to send the API call to the service.
1950// the "output" return value is not valid until after Send returns without error.
1951//
1952// See DeleteEmailTemplate for more information on using the DeleteEmailTemplate
1953// API call, and error handling.
1954//
1955// This method is useful when you want to inject custom logic or configuration
1956// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1957//
1958//
1959//    // Example sending a request using the DeleteEmailTemplateRequest method.
1960//    req, resp := client.DeleteEmailTemplateRequest(params)
1961//
1962//    err := req.Send()
1963//    if err == nil { // resp is now filled
1964//        fmt.Println(resp)
1965//    }
1966//
1967// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailTemplate
1968func (c *Pinpoint) DeleteEmailTemplateRequest(input *DeleteEmailTemplateInput) (req *request.Request, output *DeleteEmailTemplateOutput) {
1969	op := &request.Operation{
1970		Name:       opDeleteEmailTemplate,
1971		HTTPMethod: "DELETE",
1972		HTTPPath:   "/v1/templates/{template-name}/email",
1973	}
1974
1975	if input == nil {
1976		input = &DeleteEmailTemplateInput{}
1977	}
1978
1979	output = &DeleteEmailTemplateOutput{}
1980	req = c.newRequest(op, input, output)
1981	return
1982}
1983
1984// DeleteEmailTemplate API operation for Amazon Pinpoint.
1985//
1986// Deletes a message template for messages that were sent through the email
1987// channel.
1988//
1989// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1990// with awserr.Error's Code and Message methods to get detailed information about
1991// the error.
1992//
1993// See the AWS API reference guide for Amazon Pinpoint's
1994// API operation DeleteEmailTemplate for usage and error information.
1995//
1996// Returned Error Types:
1997//   * BadRequestException
1998//   Provides information about an API request or response.
1999//
2000//   * InternalServerErrorException
2001//   Provides information about an API request or response.
2002//
2003//   * PayloadTooLargeException
2004//   Provides information about an API request or response.
2005//
2006//   * ForbiddenException
2007//   Provides information about an API request or response.
2008//
2009//   * NotFoundException
2010//   Provides information about an API request or response.
2011//
2012//   * MethodNotAllowedException
2013//   Provides information about an API request or response.
2014//
2015//   * TooManyRequestsException
2016//   Provides information about an API request or response.
2017//
2018// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailTemplate
2019func (c *Pinpoint) DeleteEmailTemplate(input *DeleteEmailTemplateInput) (*DeleteEmailTemplateOutput, error) {
2020	req, out := c.DeleteEmailTemplateRequest(input)
2021	return out, req.Send()
2022}
2023
2024// DeleteEmailTemplateWithContext is the same as DeleteEmailTemplate with the addition of
2025// the ability to pass a context and additional request options.
2026//
2027// See DeleteEmailTemplate for details on how to use this API operation.
2028//
2029// The context must be non-nil and will be used for request cancellation. If
2030// the context is nil a panic will occur. In the future the SDK may create
2031// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2032// for more information on using Contexts.
2033func (c *Pinpoint) DeleteEmailTemplateWithContext(ctx aws.Context, input *DeleteEmailTemplateInput, opts ...request.Option) (*DeleteEmailTemplateOutput, error) {
2034	req, out := c.DeleteEmailTemplateRequest(input)
2035	req.SetContext(ctx)
2036	req.ApplyOptions(opts...)
2037	return out, req.Send()
2038}
2039
2040const opDeleteEndpoint = "DeleteEndpoint"
2041
2042// DeleteEndpointRequest generates a "aws/request.Request" representing the
2043// client's request for the DeleteEndpoint operation. The "output" return
2044// value will be populated with the request's response once the request completes
2045// successfully.
2046//
2047// Use "Send" method on the returned Request to send the API call to the service.
2048// the "output" return value is not valid until after Send returns without error.
2049//
2050// See DeleteEndpoint for more information on using the DeleteEndpoint
2051// API call, and error handling.
2052//
2053// This method is useful when you want to inject custom logic or configuration
2054// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2055//
2056//
2057//    // Example sending a request using the DeleteEndpointRequest method.
2058//    req, resp := client.DeleteEndpointRequest(params)
2059//
2060//    err := req.Send()
2061//    if err == nil { // resp is now filled
2062//        fmt.Println(resp)
2063//    }
2064//
2065// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEndpoint
2066func (c *Pinpoint) DeleteEndpointRequest(input *DeleteEndpointInput) (req *request.Request, output *DeleteEndpointOutput) {
2067	op := &request.Operation{
2068		Name:       opDeleteEndpoint,
2069		HTTPMethod: "DELETE",
2070		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
2071	}
2072
2073	if input == nil {
2074		input = &DeleteEndpointInput{}
2075	}
2076
2077	output = &DeleteEndpointOutput{}
2078	req = c.newRequest(op, input, output)
2079	return
2080}
2081
2082// DeleteEndpoint API operation for Amazon Pinpoint.
2083//
2084// Deletes an endpoint from an application.
2085//
2086// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2087// with awserr.Error's Code and Message methods to get detailed information about
2088// the error.
2089//
2090// See the AWS API reference guide for Amazon Pinpoint's
2091// API operation DeleteEndpoint for usage and error information.
2092//
2093// Returned Error Types:
2094//   * BadRequestException
2095//   Provides information about an API request or response.
2096//
2097//   * InternalServerErrorException
2098//   Provides information about an API request or response.
2099//
2100//   * PayloadTooLargeException
2101//   Provides information about an API request or response.
2102//
2103//   * ForbiddenException
2104//   Provides information about an API request or response.
2105//
2106//   * NotFoundException
2107//   Provides information about an API request or response.
2108//
2109//   * MethodNotAllowedException
2110//   Provides information about an API request or response.
2111//
2112//   * TooManyRequestsException
2113//   Provides information about an API request or response.
2114//
2115// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEndpoint
2116func (c *Pinpoint) DeleteEndpoint(input *DeleteEndpointInput) (*DeleteEndpointOutput, error) {
2117	req, out := c.DeleteEndpointRequest(input)
2118	return out, req.Send()
2119}
2120
2121// DeleteEndpointWithContext is the same as DeleteEndpoint with the addition of
2122// the ability to pass a context and additional request options.
2123//
2124// See DeleteEndpoint for details on how to use this API operation.
2125//
2126// The context must be non-nil and will be used for request cancellation. If
2127// the context is nil a panic will occur. In the future the SDK may create
2128// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2129// for more information on using Contexts.
2130func (c *Pinpoint) DeleteEndpointWithContext(ctx aws.Context, input *DeleteEndpointInput, opts ...request.Option) (*DeleteEndpointOutput, error) {
2131	req, out := c.DeleteEndpointRequest(input)
2132	req.SetContext(ctx)
2133	req.ApplyOptions(opts...)
2134	return out, req.Send()
2135}
2136
2137const opDeleteEventStream = "DeleteEventStream"
2138
2139// DeleteEventStreamRequest generates a "aws/request.Request" representing the
2140// client's request for the DeleteEventStream operation. The "output" return
2141// value will be populated with the request's response once the request completes
2142// successfully.
2143//
2144// Use "Send" method on the returned Request to send the API call to the service.
2145// the "output" return value is not valid until after Send returns without error.
2146//
2147// See DeleteEventStream for more information on using the DeleteEventStream
2148// API call, and error handling.
2149//
2150// This method is useful when you want to inject custom logic or configuration
2151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2152//
2153//
2154//    // Example sending a request using the DeleteEventStreamRequest method.
2155//    req, resp := client.DeleteEventStreamRequest(params)
2156//
2157//    err := req.Send()
2158//    if err == nil { // resp is now filled
2159//        fmt.Println(resp)
2160//    }
2161//
2162// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStream
2163func (c *Pinpoint) DeleteEventStreamRequest(input *DeleteEventStreamInput) (req *request.Request, output *DeleteEventStreamOutput) {
2164	op := &request.Operation{
2165		Name:       opDeleteEventStream,
2166		HTTPMethod: "DELETE",
2167		HTTPPath:   "/v1/apps/{application-id}/eventstream",
2168	}
2169
2170	if input == nil {
2171		input = &DeleteEventStreamInput{}
2172	}
2173
2174	output = &DeleteEventStreamOutput{}
2175	req = c.newRequest(op, input, output)
2176	return
2177}
2178
2179// DeleteEventStream API operation for Amazon Pinpoint.
2180//
2181// Deletes the event stream for an application.
2182//
2183// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2184// with awserr.Error's Code and Message methods to get detailed information about
2185// the error.
2186//
2187// See the AWS API reference guide for Amazon Pinpoint's
2188// API operation DeleteEventStream for usage and error information.
2189//
2190// Returned Error Types:
2191//   * BadRequestException
2192//   Provides information about an API request or response.
2193//
2194//   * InternalServerErrorException
2195//   Provides information about an API request or response.
2196//
2197//   * PayloadTooLargeException
2198//   Provides information about an API request or response.
2199//
2200//   * ForbiddenException
2201//   Provides information about an API request or response.
2202//
2203//   * NotFoundException
2204//   Provides information about an API request or response.
2205//
2206//   * MethodNotAllowedException
2207//   Provides information about an API request or response.
2208//
2209//   * TooManyRequestsException
2210//   Provides information about an API request or response.
2211//
2212// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStream
2213func (c *Pinpoint) DeleteEventStream(input *DeleteEventStreamInput) (*DeleteEventStreamOutput, error) {
2214	req, out := c.DeleteEventStreamRequest(input)
2215	return out, req.Send()
2216}
2217
2218// DeleteEventStreamWithContext is the same as DeleteEventStream with the addition of
2219// the ability to pass a context and additional request options.
2220//
2221// See DeleteEventStream for details on how to use this API operation.
2222//
2223// The context must be non-nil and will be used for request cancellation. If
2224// the context is nil a panic will occur. In the future the SDK may create
2225// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2226// for more information on using Contexts.
2227func (c *Pinpoint) DeleteEventStreamWithContext(ctx aws.Context, input *DeleteEventStreamInput, opts ...request.Option) (*DeleteEventStreamOutput, error) {
2228	req, out := c.DeleteEventStreamRequest(input)
2229	req.SetContext(ctx)
2230	req.ApplyOptions(opts...)
2231	return out, req.Send()
2232}
2233
2234const opDeleteGcmChannel = "DeleteGcmChannel"
2235
2236// DeleteGcmChannelRequest generates a "aws/request.Request" representing the
2237// client's request for the DeleteGcmChannel operation. The "output" return
2238// value will be populated with the request's response once the request completes
2239// successfully.
2240//
2241// Use "Send" method on the returned Request to send the API call to the service.
2242// the "output" return value is not valid until after Send returns without error.
2243//
2244// See DeleteGcmChannel for more information on using the DeleteGcmChannel
2245// API call, and error handling.
2246//
2247// This method is useful when you want to inject custom logic or configuration
2248// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2249//
2250//
2251//    // Example sending a request using the DeleteGcmChannelRequest method.
2252//    req, resp := client.DeleteGcmChannelRequest(params)
2253//
2254//    err := req.Send()
2255//    if err == nil { // resp is now filled
2256//        fmt.Println(resp)
2257//    }
2258//
2259// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteGcmChannel
2260func (c *Pinpoint) DeleteGcmChannelRequest(input *DeleteGcmChannelInput) (req *request.Request, output *DeleteGcmChannelOutput) {
2261	op := &request.Operation{
2262		Name:       opDeleteGcmChannel,
2263		HTTPMethod: "DELETE",
2264		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
2265	}
2266
2267	if input == nil {
2268		input = &DeleteGcmChannelInput{}
2269	}
2270
2271	output = &DeleteGcmChannelOutput{}
2272	req = c.newRequest(op, input, output)
2273	return
2274}
2275
2276// DeleteGcmChannel API operation for Amazon Pinpoint.
2277//
2278// Disables the GCM channel for an application and deletes any existing settings
2279// for the channel.
2280//
2281// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2282// with awserr.Error's Code and Message methods to get detailed information about
2283// the error.
2284//
2285// See the AWS API reference guide for Amazon Pinpoint's
2286// API operation DeleteGcmChannel for usage and error information.
2287//
2288// Returned Error Types:
2289//   * BadRequestException
2290//   Provides information about an API request or response.
2291//
2292//   * InternalServerErrorException
2293//   Provides information about an API request or response.
2294//
2295//   * PayloadTooLargeException
2296//   Provides information about an API request or response.
2297//
2298//   * ForbiddenException
2299//   Provides information about an API request or response.
2300//
2301//   * NotFoundException
2302//   Provides information about an API request or response.
2303//
2304//   * MethodNotAllowedException
2305//   Provides information about an API request or response.
2306//
2307//   * TooManyRequestsException
2308//   Provides information about an API request or response.
2309//
2310// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteGcmChannel
2311func (c *Pinpoint) DeleteGcmChannel(input *DeleteGcmChannelInput) (*DeleteGcmChannelOutput, error) {
2312	req, out := c.DeleteGcmChannelRequest(input)
2313	return out, req.Send()
2314}
2315
2316// DeleteGcmChannelWithContext is the same as DeleteGcmChannel with the addition of
2317// the ability to pass a context and additional request options.
2318//
2319// See DeleteGcmChannel for details on how to use this API operation.
2320//
2321// The context must be non-nil and will be used for request cancellation. If
2322// the context is nil a panic will occur. In the future the SDK may create
2323// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2324// for more information on using Contexts.
2325func (c *Pinpoint) DeleteGcmChannelWithContext(ctx aws.Context, input *DeleteGcmChannelInput, opts ...request.Option) (*DeleteGcmChannelOutput, error) {
2326	req, out := c.DeleteGcmChannelRequest(input)
2327	req.SetContext(ctx)
2328	req.ApplyOptions(opts...)
2329	return out, req.Send()
2330}
2331
2332const opDeleteJourney = "DeleteJourney"
2333
2334// DeleteJourneyRequest generates a "aws/request.Request" representing the
2335// client's request for the DeleteJourney operation. The "output" return
2336// value will be populated with the request's response once the request completes
2337// successfully.
2338//
2339// Use "Send" method on the returned Request to send the API call to the service.
2340// the "output" return value is not valid until after Send returns without error.
2341//
2342// See DeleteJourney for more information on using the DeleteJourney
2343// API call, and error handling.
2344//
2345// This method is useful when you want to inject custom logic or configuration
2346// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2347//
2348//
2349//    // Example sending a request using the DeleteJourneyRequest method.
2350//    req, resp := client.DeleteJourneyRequest(params)
2351//
2352//    err := req.Send()
2353//    if err == nil { // resp is now filled
2354//        fmt.Println(resp)
2355//    }
2356//
2357// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteJourney
2358func (c *Pinpoint) DeleteJourneyRequest(input *DeleteJourneyInput) (req *request.Request, output *DeleteJourneyOutput) {
2359	op := &request.Operation{
2360		Name:       opDeleteJourney,
2361		HTTPMethod: "DELETE",
2362		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}",
2363	}
2364
2365	if input == nil {
2366		input = &DeleteJourneyInput{}
2367	}
2368
2369	output = &DeleteJourneyOutput{}
2370	req = c.newRequest(op, input, output)
2371	return
2372}
2373
2374// DeleteJourney API operation for Amazon Pinpoint.
2375//
2376// Deletes a journey from an application.
2377//
2378// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2379// with awserr.Error's Code and Message methods to get detailed information about
2380// the error.
2381//
2382// See the AWS API reference guide for Amazon Pinpoint's
2383// API operation DeleteJourney for usage and error information.
2384//
2385// Returned Error Types:
2386//   * BadRequestException
2387//   Provides information about an API request or response.
2388//
2389//   * InternalServerErrorException
2390//   Provides information about an API request or response.
2391//
2392//   * PayloadTooLargeException
2393//   Provides information about an API request or response.
2394//
2395//   * ForbiddenException
2396//   Provides information about an API request or response.
2397//
2398//   * NotFoundException
2399//   Provides information about an API request or response.
2400//
2401//   * MethodNotAllowedException
2402//   Provides information about an API request or response.
2403//
2404//   * TooManyRequestsException
2405//   Provides information about an API request or response.
2406//
2407// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteJourney
2408func (c *Pinpoint) DeleteJourney(input *DeleteJourneyInput) (*DeleteJourneyOutput, error) {
2409	req, out := c.DeleteJourneyRequest(input)
2410	return out, req.Send()
2411}
2412
2413// DeleteJourneyWithContext is the same as DeleteJourney with the addition of
2414// the ability to pass a context and additional request options.
2415//
2416// See DeleteJourney for details on how to use this API operation.
2417//
2418// The context must be non-nil and will be used for request cancellation. If
2419// the context is nil a panic will occur. In the future the SDK may create
2420// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2421// for more information on using Contexts.
2422func (c *Pinpoint) DeleteJourneyWithContext(ctx aws.Context, input *DeleteJourneyInput, opts ...request.Option) (*DeleteJourneyOutput, error) {
2423	req, out := c.DeleteJourneyRequest(input)
2424	req.SetContext(ctx)
2425	req.ApplyOptions(opts...)
2426	return out, req.Send()
2427}
2428
2429const opDeletePushTemplate = "DeletePushTemplate"
2430
2431// DeletePushTemplateRequest generates a "aws/request.Request" representing the
2432// client's request for the DeletePushTemplate operation. The "output" return
2433// value will be populated with the request's response once the request completes
2434// successfully.
2435//
2436// Use "Send" method on the returned Request to send the API call to the service.
2437// the "output" return value is not valid until after Send returns without error.
2438//
2439// See DeletePushTemplate for more information on using the DeletePushTemplate
2440// API call, and error handling.
2441//
2442// This method is useful when you want to inject custom logic or configuration
2443// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2444//
2445//
2446//    // Example sending a request using the DeletePushTemplateRequest method.
2447//    req, resp := client.DeletePushTemplateRequest(params)
2448//
2449//    err := req.Send()
2450//    if err == nil { // resp is now filled
2451//        fmt.Println(resp)
2452//    }
2453//
2454// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeletePushTemplate
2455func (c *Pinpoint) DeletePushTemplateRequest(input *DeletePushTemplateInput) (req *request.Request, output *DeletePushTemplateOutput) {
2456	op := &request.Operation{
2457		Name:       opDeletePushTemplate,
2458		HTTPMethod: "DELETE",
2459		HTTPPath:   "/v1/templates/{template-name}/push",
2460	}
2461
2462	if input == nil {
2463		input = &DeletePushTemplateInput{}
2464	}
2465
2466	output = &DeletePushTemplateOutput{}
2467	req = c.newRequest(op, input, output)
2468	return
2469}
2470
2471// DeletePushTemplate API operation for Amazon Pinpoint.
2472//
2473// Deletes a message template for messages that were sent through a push notification
2474// channel.
2475//
2476// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2477// with awserr.Error's Code and Message methods to get detailed information about
2478// the error.
2479//
2480// See the AWS API reference guide for Amazon Pinpoint's
2481// API operation DeletePushTemplate for usage and error information.
2482//
2483// Returned Error Types:
2484//   * BadRequestException
2485//   Provides information about an API request or response.
2486//
2487//   * InternalServerErrorException
2488//   Provides information about an API request or response.
2489//
2490//   * PayloadTooLargeException
2491//   Provides information about an API request or response.
2492//
2493//   * ForbiddenException
2494//   Provides information about an API request or response.
2495//
2496//   * NotFoundException
2497//   Provides information about an API request or response.
2498//
2499//   * MethodNotAllowedException
2500//   Provides information about an API request or response.
2501//
2502//   * TooManyRequestsException
2503//   Provides information about an API request or response.
2504//
2505// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeletePushTemplate
2506func (c *Pinpoint) DeletePushTemplate(input *DeletePushTemplateInput) (*DeletePushTemplateOutput, error) {
2507	req, out := c.DeletePushTemplateRequest(input)
2508	return out, req.Send()
2509}
2510
2511// DeletePushTemplateWithContext is the same as DeletePushTemplate with the addition of
2512// the ability to pass a context and additional request options.
2513//
2514// See DeletePushTemplate for details on how to use this API operation.
2515//
2516// The context must be non-nil and will be used for request cancellation. If
2517// the context is nil a panic will occur. In the future the SDK may create
2518// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2519// for more information on using Contexts.
2520func (c *Pinpoint) DeletePushTemplateWithContext(ctx aws.Context, input *DeletePushTemplateInput, opts ...request.Option) (*DeletePushTemplateOutput, error) {
2521	req, out := c.DeletePushTemplateRequest(input)
2522	req.SetContext(ctx)
2523	req.ApplyOptions(opts...)
2524	return out, req.Send()
2525}
2526
2527const opDeleteRecommenderConfiguration = "DeleteRecommenderConfiguration"
2528
2529// DeleteRecommenderConfigurationRequest generates a "aws/request.Request" representing the
2530// client's request for the DeleteRecommenderConfiguration operation. The "output" return
2531// value will be populated with the request's response once the request completes
2532// successfully.
2533//
2534// Use "Send" method on the returned Request to send the API call to the service.
2535// the "output" return value is not valid until after Send returns without error.
2536//
2537// See DeleteRecommenderConfiguration for more information on using the DeleteRecommenderConfiguration
2538// API call, and error handling.
2539//
2540// This method is useful when you want to inject custom logic or configuration
2541// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2542//
2543//
2544//    // Example sending a request using the DeleteRecommenderConfigurationRequest method.
2545//    req, resp := client.DeleteRecommenderConfigurationRequest(params)
2546//
2547//    err := req.Send()
2548//    if err == nil { // resp is now filled
2549//        fmt.Println(resp)
2550//    }
2551//
2552// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteRecommenderConfiguration
2553func (c *Pinpoint) DeleteRecommenderConfigurationRequest(input *DeleteRecommenderConfigurationInput) (req *request.Request, output *DeleteRecommenderConfigurationOutput) {
2554	op := &request.Operation{
2555		Name:       opDeleteRecommenderConfiguration,
2556		HTTPMethod: "DELETE",
2557		HTTPPath:   "/v1/recommenders/{recommender-id}",
2558	}
2559
2560	if input == nil {
2561		input = &DeleteRecommenderConfigurationInput{}
2562	}
2563
2564	output = &DeleteRecommenderConfigurationOutput{}
2565	req = c.newRequest(op, input, output)
2566	return
2567}
2568
2569// DeleteRecommenderConfiguration API operation for Amazon Pinpoint.
2570//
2571// Deletes an Amazon Pinpoint configuration for a recommender model.
2572//
2573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2574// with awserr.Error's Code and Message methods to get detailed information about
2575// the error.
2576//
2577// See the AWS API reference guide for Amazon Pinpoint's
2578// API operation DeleteRecommenderConfiguration for usage and error information.
2579//
2580// Returned Error Types:
2581//   * BadRequestException
2582//   Provides information about an API request or response.
2583//
2584//   * InternalServerErrorException
2585//   Provides information about an API request or response.
2586//
2587//   * PayloadTooLargeException
2588//   Provides information about an API request or response.
2589//
2590//   * ForbiddenException
2591//   Provides information about an API request or response.
2592//
2593//   * NotFoundException
2594//   Provides information about an API request or response.
2595//
2596//   * MethodNotAllowedException
2597//   Provides information about an API request or response.
2598//
2599//   * TooManyRequestsException
2600//   Provides information about an API request or response.
2601//
2602// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteRecommenderConfiguration
2603func (c *Pinpoint) DeleteRecommenderConfiguration(input *DeleteRecommenderConfigurationInput) (*DeleteRecommenderConfigurationOutput, error) {
2604	req, out := c.DeleteRecommenderConfigurationRequest(input)
2605	return out, req.Send()
2606}
2607
2608// DeleteRecommenderConfigurationWithContext is the same as DeleteRecommenderConfiguration with the addition of
2609// the ability to pass a context and additional request options.
2610//
2611// See DeleteRecommenderConfiguration for details on how to use this API operation.
2612//
2613// The context must be non-nil and will be used for request cancellation. If
2614// the context is nil a panic will occur. In the future the SDK may create
2615// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2616// for more information on using Contexts.
2617func (c *Pinpoint) DeleteRecommenderConfigurationWithContext(ctx aws.Context, input *DeleteRecommenderConfigurationInput, opts ...request.Option) (*DeleteRecommenderConfigurationOutput, error) {
2618	req, out := c.DeleteRecommenderConfigurationRequest(input)
2619	req.SetContext(ctx)
2620	req.ApplyOptions(opts...)
2621	return out, req.Send()
2622}
2623
2624const opDeleteSegment = "DeleteSegment"
2625
2626// DeleteSegmentRequest generates a "aws/request.Request" representing the
2627// client's request for the DeleteSegment operation. The "output" return
2628// value will be populated with the request's response once the request completes
2629// successfully.
2630//
2631// Use "Send" method on the returned Request to send the API call to the service.
2632// the "output" return value is not valid until after Send returns without error.
2633//
2634// See DeleteSegment for more information on using the DeleteSegment
2635// API call, and error handling.
2636//
2637// This method is useful when you want to inject custom logic or configuration
2638// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2639//
2640//
2641//    // Example sending a request using the DeleteSegmentRequest method.
2642//    req, resp := client.DeleteSegmentRequest(params)
2643//
2644//    err := req.Send()
2645//    if err == nil { // resp is now filled
2646//        fmt.Println(resp)
2647//    }
2648//
2649// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSegment
2650func (c *Pinpoint) DeleteSegmentRequest(input *DeleteSegmentInput) (req *request.Request, output *DeleteSegmentOutput) {
2651	op := &request.Operation{
2652		Name:       opDeleteSegment,
2653		HTTPMethod: "DELETE",
2654		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
2655	}
2656
2657	if input == nil {
2658		input = &DeleteSegmentInput{}
2659	}
2660
2661	output = &DeleteSegmentOutput{}
2662	req = c.newRequest(op, input, output)
2663	return
2664}
2665
2666// DeleteSegment API operation for Amazon Pinpoint.
2667//
2668// Deletes a segment from an application.
2669//
2670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2671// with awserr.Error's Code and Message methods to get detailed information about
2672// the error.
2673//
2674// See the AWS API reference guide for Amazon Pinpoint's
2675// API operation DeleteSegment for usage and error information.
2676//
2677// Returned Error Types:
2678//   * BadRequestException
2679//   Provides information about an API request or response.
2680//
2681//   * InternalServerErrorException
2682//   Provides information about an API request or response.
2683//
2684//   * PayloadTooLargeException
2685//   Provides information about an API request or response.
2686//
2687//   * ForbiddenException
2688//   Provides information about an API request or response.
2689//
2690//   * NotFoundException
2691//   Provides information about an API request or response.
2692//
2693//   * MethodNotAllowedException
2694//   Provides information about an API request or response.
2695//
2696//   * TooManyRequestsException
2697//   Provides information about an API request or response.
2698//
2699// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSegment
2700func (c *Pinpoint) DeleteSegment(input *DeleteSegmentInput) (*DeleteSegmentOutput, error) {
2701	req, out := c.DeleteSegmentRequest(input)
2702	return out, req.Send()
2703}
2704
2705// DeleteSegmentWithContext is the same as DeleteSegment with the addition of
2706// the ability to pass a context and additional request options.
2707//
2708// See DeleteSegment for details on how to use this API operation.
2709//
2710// The context must be non-nil and will be used for request cancellation. If
2711// the context is nil a panic will occur. In the future the SDK may create
2712// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2713// for more information on using Contexts.
2714func (c *Pinpoint) DeleteSegmentWithContext(ctx aws.Context, input *DeleteSegmentInput, opts ...request.Option) (*DeleteSegmentOutput, error) {
2715	req, out := c.DeleteSegmentRequest(input)
2716	req.SetContext(ctx)
2717	req.ApplyOptions(opts...)
2718	return out, req.Send()
2719}
2720
2721const opDeleteSmsChannel = "DeleteSmsChannel"
2722
2723// DeleteSmsChannelRequest generates a "aws/request.Request" representing the
2724// client's request for the DeleteSmsChannel operation. The "output" return
2725// value will be populated with the request's response once the request completes
2726// successfully.
2727//
2728// Use "Send" method on the returned Request to send the API call to the service.
2729// the "output" return value is not valid until after Send returns without error.
2730//
2731// See DeleteSmsChannel for more information on using the DeleteSmsChannel
2732// API call, and error handling.
2733//
2734// This method is useful when you want to inject custom logic or configuration
2735// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2736//
2737//
2738//    // Example sending a request using the DeleteSmsChannelRequest method.
2739//    req, resp := client.DeleteSmsChannelRequest(params)
2740//
2741//    err := req.Send()
2742//    if err == nil { // resp is now filled
2743//        fmt.Println(resp)
2744//    }
2745//
2746// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsChannel
2747func (c *Pinpoint) DeleteSmsChannelRequest(input *DeleteSmsChannelInput) (req *request.Request, output *DeleteSmsChannelOutput) {
2748	op := &request.Operation{
2749		Name:       opDeleteSmsChannel,
2750		HTTPMethod: "DELETE",
2751		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
2752	}
2753
2754	if input == nil {
2755		input = &DeleteSmsChannelInput{}
2756	}
2757
2758	output = &DeleteSmsChannelOutput{}
2759	req = c.newRequest(op, input, output)
2760	return
2761}
2762
2763// DeleteSmsChannel API operation for Amazon Pinpoint.
2764//
2765// Disables the SMS channel for an application and deletes any existing settings
2766// for the channel.
2767//
2768// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2769// with awserr.Error's Code and Message methods to get detailed information about
2770// the error.
2771//
2772// See the AWS API reference guide for Amazon Pinpoint's
2773// API operation DeleteSmsChannel for usage and error information.
2774//
2775// Returned Error Types:
2776//   * BadRequestException
2777//   Provides information about an API request or response.
2778//
2779//   * InternalServerErrorException
2780//   Provides information about an API request or response.
2781//
2782//   * PayloadTooLargeException
2783//   Provides information about an API request or response.
2784//
2785//   * ForbiddenException
2786//   Provides information about an API request or response.
2787//
2788//   * NotFoundException
2789//   Provides information about an API request or response.
2790//
2791//   * MethodNotAllowedException
2792//   Provides information about an API request or response.
2793//
2794//   * TooManyRequestsException
2795//   Provides information about an API request or response.
2796//
2797// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsChannel
2798func (c *Pinpoint) DeleteSmsChannel(input *DeleteSmsChannelInput) (*DeleteSmsChannelOutput, error) {
2799	req, out := c.DeleteSmsChannelRequest(input)
2800	return out, req.Send()
2801}
2802
2803// DeleteSmsChannelWithContext is the same as DeleteSmsChannel with the addition of
2804// the ability to pass a context and additional request options.
2805//
2806// See DeleteSmsChannel for details on how to use this API operation.
2807//
2808// The context must be non-nil and will be used for request cancellation. If
2809// the context is nil a panic will occur. In the future the SDK may create
2810// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2811// for more information on using Contexts.
2812func (c *Pinpoint) DeleteSmsChannelWithContext(ctx aws.Context, input *DeleteSmsChannelInput, opts ...request.Option) (*DeleteSmsChannelOutput, error) {
2813	req, out := c.DeleteSmsChannelRequest(input)
2814	req.SetContext(ctx)
2815	req.ApplyOptions(opts...)
2816	return out, req.Send()
2817}
2818
2819const opDeleteSmsTemplate = "DeleteSmsTemplate"
2820
2821// DeleteSmsTemplateRequest generates a "aws/request.Request" representing the
2822// client's request for the DeleteSmsTemplate operation. The "output" return
2823// value will be populated with the request's response once the request completes
2824// successfully.
2825//
2826// Use "Send" method on the returned Request to send the API call to the service.
2827// the "output" return value is not valid until after Send returns without error.
2828//
2829// See DeleteSmsTemplate for more information on using the DeleteSmsTemplate
2830// API call, and error handling.
2831//
2832// This method is useful when you want to inject custom logic or configuration
2833// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2834//
2835//
2836//    // Example sending a request using the DeleteSmsTemplateRequest method.
2837//    req, resp := client.DeleteSmsTemplateRequest(params)
2838//
2839//    err := req.Send()
2840//    if err == nil { // resp is now filled
2841//        fmt.Println(resp)
2842//    }
2843//
2844// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsTemplate
2845func (c *Pinpoint) DeleteSmsTemplateRequest(input *DeleteSmsTemplateInput) (req *request.Request, output *DeleteSmsTemplateOutput) {
2846	op := &request.Operation{
2847		Name:       opDeleteSmsTemplate,
2848		HTTPMethod: "DELETE",
2849		HTTPPath:   "/v1/templates/{template-name}/sms",
2850	}
2851
2852	if input == nil {
2853		input = &DeleteSmsTemplateInput{}
2854	}
2855
2856	output = &DeleteSmsTemplateOutput{}
2857	req = c.newRequest(op, input, output)
2858	return
2859}
2860
2861// DeleteSmsTemplate API operation for Amazon Pinpoint.
2862//
2863// Deletes a message template for messages that were sent through the SMS channel.
2864//
2865// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2866// with awserr.Error's Code and Message methods to get detailed information about
2867// the error.
2868//
2869// See the AWS API reference guide for Amazon Pinpoint's
2870// API operation DeleteSmsTemplate for usage and error information.
2871//
2872// Returned Error Types:
2873//   * BadRequestException
2874//   Provides information about an API request or response.
2875//
2876//   * InternalServerErrorException
2877//   Provides information about an API request or response.
2878//
2879//   * PayloadTooLargeException
2880//   Provides information about an API request or response.
2881//
2882//   * ForbiddenException
2883//   Provides information about an API request or response.
2884//
2885//   * NotFoundException
2886//   Provides information about an API request or response.
2887//
2888//   * MethodNotAllowedException
2889//   Provides information about an API request or response.
2890//
2891//   * TooManyRequestsException
2892//   Provides information about an API request or response.
2893//
2894// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsTemplate
2895func (c *Pinpoint) DeleteSmsTemplate(input *DeleteSmsTemplateInput) (*DeleteSmsTemplateOutput, error) {
2896	req, out := c.DeleteSmsTemplateRequest(input)
2897	return out, req.Send()
2898}
2899
2900// DeleteSmsTemplateWithContext is the same as DeleteSmsTemplate with the addition of
2901// the ability to pass a context and additional request options.
2902//
2903// See DeleteSmsTemplate for details on how to use this API operation.
2904//
2905// The context must be non-nil and will be used for request cancellation. If
2906// the context is nil a panic will occur. In the future the SDK may create
2907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2908// for more information on using Contexts.
2909func (c *Pinpoint) DeleteSmsTemplateWithContext(ctx aws.Context, input *DeleteSmsTemplateInput, opts ...request.Option) (*DeleteSmsTemplateOutput, error) {
2910	req, out := c.DeleteSmsTemplateRequest(input)
2911	req.SetContext(ctx)
2912	req.ApplyOptions(opts...)
2913	return out, req.Send()
2914}
2915
2916const opDeleteUserEndpoints = "DeleteUserEndpoints"
2917
2918// DeleteUserEndpointsRequest generates a "aws/request.Request" representing the
2919// client's request for the DeleteUserEndpoints operation. The "output" return
2920// value will be populated with the request's response once the request completes
2921// successfully.
2922//
2923// Use "Send" method on the returned Request to send the API call to the service.
2924// the "output" return value is not valid until after Send returns without error.
2925//
2926// See DeleteUserEndpoints for more information on using the DeleteUserEndpoints
2927// API call, and error handling.
2928//
2929// This method is useful when you want to inject custom logic or configuration
2930// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2931//
2932//
2933//    // Example sending a request using the DeleteUserEndpointsRequest method.
2934//    req, resp := client.DeleteUserEndpointsRequest(params)
2935//
2936//    err := req.Send()
2937//    if err == nil { // resp is now filled
2938//        fmt.Println(resp)
2939//    }
2940//
2941// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteUserEndpoints
2942func (c *Pinpoint) DeleteUserEndpointsRequest(input *DeleteUserEndpointsInput) (req *request.Request, output *DeleteUserEndpointsOutput) {
2943	op := &request.Operation{
2944		Name:       opDeleteUserEndpoints,
2945		HTTPMethod: "DELETE",
2946		HTTPPath:   "/v1/apps/{application-id}/users/{user-id}",
2947	}
2948
2949	if input == nil {
2950		input = &DeleteUserEndpointsInput{}
2951	}
2952
2953	output = &DeleteUserEndpointsOutput{}
2954	req = c.newRequest(op, input, output)
2955	return
2956}
2957
2958// DeleteUserEndpoints API operation for Amazon Pinpoint.
2959//
2960// Deletes all the endpoints that are associated with a specific user ID.
2961//
2962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2963// with awserr.Error's Code and Message methods to get detailed information about
2964// the error.
2965//
2966// See the AWS API reference guide for Amazon Pinpoint's
2967// API operation DeleteUserEndpoints for usage and error information.
2968//
2969// Returned Error Types:
2970//   * BadRequestException
2971//   Provides information about an API request or response.
2972//
2973//   * InternalServerErrorException
2974//   Provides information about an API request or response.
2975//
2976//   * PayloadTooLargeException
2977//   Provides information about an API request or response.
2978//
2979//   * ForbiddenException
2980//   Provides information about an API request or response.
2981//
2982//   * NotFoundException
2983//   Provides information about an API request or response.
2984//
2985//   * MethodNotAllowedException
2986//   Provides information about an API request or response.
2987//
2988//   * TooManyRequestsException
2989//   Provides information about an API request or response.
2990//
2991// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteUserEndpoints
2992func (c *Pinpoint) DeleteUserEndpoints(input *DeleteUserEndpointsInput) (*DeleteUserEndpointsOutput, error) {
2993	req, out := c.DeleteUserEndpointsRequest(input)
2994	return out, req.Send()
2995}
2996
2997// DeleteUserEndpointsWithContext is the same as DeleteUserEndpoints with the addition of
2998// the ability to pass a context and additional request options.
2999//
3000// See DeleteUserEndpoints for details on how to use this API operation.
3001//
3002// The context must be non-nil and will be used for request cancellation. If
3003// the context is nil a panic will occur. In the future the SDK may create
3004// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3005// for more information on using Contexts.
3006func (c *Pinpoint) DeleteUserEndpointsWithContext(ctx aws.Context, input *DeleteUserEndpointsInput, opts ...request.Option) (*DeleteUserEndpointsOutput, error) {
3007	req, out := c.DeleteUserEndpointsRequest(input)
3008	req.SetContext(ctx)
3009	req.ApplyOptions(opts...)
3010	return out, req.Send()
3011}
3012
3013const opDeleteVoiceChannel = "DeleteVoiceChannel"
3014
3015// DeleteVoiceChannelRequest generates a "aws/request.Request" representing the
3016// client's request for the DeleteVoiceChannel operation. The "output" return
3017// value will be populated with the request's response once the request completes
3018// successfully.
3019//
3020// Use "Send" method on the returned Request to send the API call to the service.
3021// the "output" return value is not valid until after Send returns without error.
3022//
3023// See DeleteVoiceChannel for more information on using the DeleteVoiceChannel
3024// API call, and error handling.
3025//
3026// This method is useful when you want to inject custom logic or configuration
3027// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3028//
3029//
3030//    // Example sending a request using the DeleteVoiceChannelRequest method.
3031//    req, resp := client.DeleteVoiceChannelRequest(params)
3032//
3033//    err := req.Send()
3034//    if err == nil { // resp is now filled
3035//        fmt.Println(resp)
3036//    }
3037//
3038// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceChannel
3039func (c *Pinpoint) DeleteVoiceChannelRequest(input *DeleteVoiceChannelInput) (req *request.Request, output *DeleteVoiceChannelOutput) {
3040	op := &request.Operation{
3041		Name:       opDeleteVoiceChannel,
3042		HTTPMethod: "DELETE",
3043		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
3044	}
3045
3046	if input == nil {
3047		input = &DeleteVoiceChannelInput{}
3048	}
3049
3050	output = &DeleteVoiceChannelOutput{}
3051	req = c.newRequest(op, input, output)
3052	return
3053}
3054
3055// DeleteVoiceChannel API operation for Amazon Pinpoint.
3056//
3057// Disables the voice channel for an application and deletes any existing settings
3058// for the channel.
3059//
3060// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3061// with awserr.Error's Code and Message methods to get detailed information about
3062// the error.
3063//
3064// See the AWS API reference guide for Amazon Pinpoint's
3065// API operation DeleteVoiceChannel for usage and error information.
3066//
3067// Returned Error Types:
3068//   * BadRequestException
3069//   Provides information about an API request or response.
3070//
3071//   * InternalServerErrorException
3072//   Provides information about an API request or response.
3073//
3074//   * PayloadTooLargeException
3075//   Provides information about an API request or response.
3076//
3077//   * ForbiddenException
3078//   Provides information about an API request or response.
3079//
3080//   * NotFoundException
3081//   Provides information about an API request or response.
3082//
3083//   * MethodNotAllowedException
3084//   Provides information about an API request or response.
3085//
3086//   * TooManyRequestsException
3087//   Provides information about an API request or response.
3088//
3089// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceChannel
3090func (c *Pinpoint) DeleteVoiceChannel(input *DeleteVoiceChannelInput) (*DeleteVoiceChannelOutput, error) {
3091	req, out := c.DeleteVoiceChannelRequest(input)
3092	return out, req.Send()
3093}
3094
3095// DeleteVoiceChannelWithContext is the same as DeleteVoiceChannel with the addition of
3096// the ability to pass a context and additional request options.
3097//
3098// See DeleteVoiceChannel for details on how to use this API operation.
3099//
3100// The context must be non-nil and will be used for request cancellation. If
3101// the context is nil a panic will occur. In the future the SDK may create
3102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3103// for more information on using Contexts.
3104func (c *Pinpoint) DeleteVoiceChannelWithContext(ctx aws.Context, input *DeleteVoiceChannelInput, opts ...request.Option) (*DeleteVoiceChannelOutput, error) {
3105	req, out := c.DeleteVoiceChannelRequest(input)
3106	req.SetContext(ctx)
3107	req.ApplyOptions(opts...)
3108	return out, req.Send()
3109}
3110
3111const opDeleteVoiceTemplate = "DeleteVoiceTemplate"
3112
3113// DeleteVoiceTemplateRequest generates a "aws/request.Request" representing the
3114// client's request for the DeleteVoiceTemplate operation. The "output" return
3115// value will be populated with the request's response once the request completes
3116// successfully.
3117//
3118// Use "Send" method on the returned Request to send the API call to the service.
3119// the "output" return value is not valid until after Send returns without error.
3120//
3121// See DeleteVoiceTemplate for more information on using the DeleteVoiceTemplate
3122// API call, and error handling.
3123//
3124// This method is useful when you want to inject custom logic or configuration
3125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3126//
3127//
3128//    // Example sending a request using the DeleteVoiceTemplateRequest method.
3129//    req, resp := client.DeleteVoiceTemplateRequest(params)
3130//
3131//    err := req.Send()
3132//    if err == nil { // resp is now filled
3133//        fmt.Println(resp)
3134//    }
3135//
3136// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceTemplate
3137func (c *Pinpoint) DeleteVoiceTemplateRequest(input *DeleteVoiceTemplateInput) (req *request.Request, output *DeleteVoiceTemplateOutput) {
3138	op := &request.Operation{
3139		Name:       opDeleteVoiceTemplate,
3140		HTTPMethod: "DELETE",
3141		HTTPPath:   "/v1/templates/{template-name}/voice",
3142	}
3143
3144	if input == nil {
3145		input = &DeleteVoiceTemplateInput{}
3146	}
3147
3148	output = &DeleteVoiceTemplateOutput{}
3149	req = c.newRequest(op, input, output)
3150	return
3151}
3152
3153// DeleteVoiceTemplate API operation for Amazon Pinpoint.
3154//
3155// Deletes a message template for messages that were sent through the voice
3156// channel.
3157//
3158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3159// with awserr.Error's Code and Message methods to get detailed information about
3160// the error.
3161//
3162// See the AWS API reference guide for Amazon Pinpoint's
3163// API operation DeleteVoiceTemplate for usage and error information.
3164//
3165// Returned Error Types:
3166//   * BadRequestException
3167//   Provides information about an API request or response.
3168//
3169//   * InternalServerErrorException
3170//   Provides information about an API request or response.
3171//
3172//   * PayloadTooLargeException
3173//   Provides information about an API request or response.
3174//
3175//   * ForbiddenException
3176//   Provides information about an API request or response.
3177//
3178//   * NotFoundException
3179//   Provides information about an API request or response.
3180//
3181//   * MethodNotAllowedException
3182//   Provides information about an API request or response.
3183//
3184//   * TooManyRequestsException
3185//   Provides information about an API request or response.
3186//
3187// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceTemplate
3188func (c *Pinpoint) DeleteVoiceTemplate(input *DeleteVoiceTemplateInput) (*DeleteVoiceTemplateOutput, error) {
3189	req, out := c.DeleteVoiceTemplateRequest(input)
3190	return out, req.Send()
3191}
3192
3193// DeleteVoiceTemplateWithContext is the same as DeleteVoiceTemplate with the addition of
3194// the ability to pass a context and additional request options.
3195//
3196// See DeleteVoiceTemplate for details on how to use this API operation.
3197//
3198// The context must be non-nil and will be used for request cancellation. If
3199// the context is nil a panic will occur. In the future the SDK may create
3200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3201// for more information on using Contexts.
3202func (c *Pinpoint) DeleteVoiceTemplateWithContext(ctx aws.Context, input *DeleteVoiceTemplateInput, opts ...request.Option) (*DeleteVoiceTemplateOutput, error) {
3203	req, out := c.DeleteVoiceTemplateRequest(input)
3204	req.SetContext(ctx)
3205	req.ApplyOptions(opts...)
3206	return out, req.Send()
3207}
3208
3209const opGetAdmChannel = "GetAdmChannel"
3210
3211// GetAdmChannelRequest generates a "aws/request.Request" representing the
3212// client's request for the GetAdmChannel operation. The "output" return
3213// value will be populated with the request's response once the request completes
3214// successfully.
3215//
3216// Use "Send" method on the returned Request to send the API call to the service.
3217// the "output" return value is not valid until after Send returns without error.
3218//
3219// See GetAdmChannel for more information on using the GetAdmChannel
3220// API call, and error handling.
3221//
3222// This method is useful when you want to inject custom logic or configuration
3223// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3224//
3225//
3226//    // Example sending a request using the GetAdmChannelRequest method.
3227//    req, resp := client.GetAdmChannelRequest(params)
3228//
3229//    err := req.Send()
3230//    if err == nil { // resp is now filled
3231//        fmt.Println(resp)
3232//    }
3233//
3234// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAdmChannel
3235func (c *Pinpoint) GetAdmChannelRequest(input *GetAdmChannelInput) (req *request.Request, output *GetAdmChannelOutput) {
3236	op := &request.Operation{
3237		Name:       opGetAdmChannel,
3238		HTTPMethod: "GET",
3239		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
3240	}
3241
3242	if input == nil {
3243		input = &GetAdmChannelInput{}
3244	}
3245
3246	output = &GetAdmChannelOutput{}
3247	req = c.newRequest(op, input, output)
3248	return
3249}
3250
3251// GetAdmChannel API operation for Amazon Pinpoint.
3252//
3253// Retrieves information about the status and settings of the ADM channel for
3254// an application.
3255//
3256// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3257// with awserr.Error's Code and Message methods to get detailed information about
3258// the error.
3259//
3260// See the AWS API reference guide for Amazon Pinpoint's
3261// API operation GetAdmChannel for usage and error information.
3262//
3263// Returned Error Types:
3264//   * BadRequestException
3265//   Provides information about an API request or response.
3266//
3267//   * InternalServerErrorException
3268//   Provides information about an API request or response.
3269//
3270//   * PayloadTooLargeException
3271//   Provides information about an API request or response.
3272//
3273//   * ForbiddenException
3274//   Provides information about an API request or response.
3275//
3276//   * NotFoundException
3277//   Provides information about an API request or response.
3278//
3279//   * MethodNotAllowedException
3280//   Provides information about an API request or response.
3281//
3282//   * TooManyRequestsException
3283//   Provides information about an API request or response.
3284//
3285// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAdmChannel
3286func (c *Pinpoint) GetAdmChannel(input *GetAdmChannelInput) (*GetAdmChannelOutput, error) {
3287	req, out := c.GetAdmChannelRequest(input)
3288	return out, req.Send()
3289}
3290
3291// GetAdmChannelWithContext is the same as GetAdmChannel with the addition of
3292// the ability to pass a context and additional request options.
3293//
3294// See GetAdmChannel for details on how to use this API operation.
3295//
3296// The context must be non-nil and will be used for request cancellation. If
3297// the context is nil a panic will occur. In the future the SDK may create
3298// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3299// for more information on using Contexts.
3300func (c *Pinpoint) GetAdmChannelWithContext(ctx aws.Context, input *GetAdmChannelInput, opts ...request.Option) (*GetAdmChannelOutput, error) {
3301	req, out := c.GetAdmChannelRequest(input)
3302	req.SetContext(ctx)
3303	req.ApplyOptions(opts...)
3304	return out, req.Send()
3305}
3306
3307const opGetApnsChannel = "GetApnsChannel"
3308
3309// GetApnsChannelRequest generates a "aws/request.Request" representing the
3310// client's request for the GetApnsChannel operation. The "output" return
3311// value will be populated with the request's response once the request completes
3312// successfully.
3313//
3314// Use "Send" method on the returned Request to send the API call to the service.
3315// the "output" return value is not valid until after Send returns without error.
3316//
3317// See GetApnsChannel for more information on using the GetApnsChannel
3318// API call, and error handling.
3319//
3320// This method is useful when you want to inject custom logic or configuration
3321// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3322//
3323//
3324//    // Example sending a request using the GetApnsChannelRequest method.
3325//    req, resp := client.GetApnsChannelRequest(params)
3326//
3327//    err := req.Send()
3328//    if err == nil { // resp is now filled
3329//        fmt.Println(resp)
3330//    }
3331//
3332// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsChannel
3333func (c *Pinpoint) GetApnsChannelRequest(input *GetApnsChannelInput) (req *request.Request, output *GetApnsChannelOutput) {
3334	op := &request.Operation{
3335		Name:       opGetApnsChannel,
3336		HTTPMethod: "GET",
3337		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
3338	}
3339
3340	if input == nil {
3341		input = &GetApnsChannelInput{}
3342	}
3343
3344	output = &GetApnsChannelOutput{}
3345	req = c.newRequest(op, input, output)
3346	return
3347}
3348
3349// GetApnsChannel API operation for Amazon Pinpoint.
3350//
3351// Retrieves information about the status and settings of the APNs channel for
3352// an application.
3353//
3354// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3355// with awserr.Error's Code and Message methods to get detailed information about
3356// the error.
3357//
3358// See the AWS API reference guide for Amazon Pinpoint's
3359// API operation GetApnsChannel for usage and error information.
3360//
3361// Returned Error Types:
3362//   * BadRequestException
3363//   Provides information about an API request or response.
3364//
3365//   * InternalServerErrorException
3366//   Provides information about an API request or response.
3367//
3368//   * PayloadTooLargeException
3369//   Provides information about an API request or response.
3370//
3371//   * ForbiddenException
3372//   Provides information about an API request or response.
3373//
3374//   * NotFoundException
3375//   Provides information about an API request or response.
3376//
3377//   * MethodNotAllowedException
3378//   Provides information about an API request or response.
3379//
3380//   * TooManyRequestsException
3381//   Provides information about an API request or response.
3382//
3383// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsChannel
3384func (c *Pinpoint) GetApnsChannel(input *GetApnsChannelInput) (*GetApnsChannelOutput, error) {
3385	req, out := c.GetApnsChannelRequest(input)
3386	return out, req.Send()
3387}
3388
3389// GetApnsChannelWithContext is the same as GetApnsChannel with the addition of
3390// the ability to pass a context and additional request options.
3391//
3392// See GetApnsChannel for details on how to use this API operation.
3393//
3394// The context must be non-nil and will be used for request cancellation. If
3395// the context is nil a panic will occur. In the future the SDK may create
3396// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3397// for more information on using Contexts.
3398func (c *Pinpoint) GetApnsChannelWithContext(ctx aws.Context, input *GetApnsChannelInput, opts ...request.Option) (*GetApnsChannelOutput, error) {
3399	req, out := c.GetApnsChannelRequest(input)
3400	req.SetContext(ctx)
3401	req.ApplyOptions(opts...)
3402	return out, req.Send()
3403}
3404
3405const opGetApnsSandboxChannel = "GetApnsSandboxChannel"
3406
3407// GetApnsSandboxChannelRequest generates a "aws/request.Request" representing the
3408// client's request for the GetApnsSandboxChannel operation. The "output" return
3409// value will be populated with the request's response once the request completes
3410// successfully.
3411//
3412// Use "Send" method on the returned Request to send the API call to the service.
3413// the "output" return value is not valid until after Send returns without error.
3414//
3415// See GetApnsSandboxChannel for more information on using the GetApnsSandboxChannel
3416// API call, and error handling.
3417//
3418// This method is useful when you want to inject custom logic or configuration
3419// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3420//
3421//
3422//    // Example sending a request using the GetApnsSandboxChannelRequest method.
3423//    req, resp := client.GetApnsSandboxChannelRequest(params)
3424//
3425//    err := req.Send()
3426//    if err == nil { // resp is now filled
3427//        fmt.Println(resp)
3428//    }
3429//
3430// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsSandboxChannel
3431func (c *Pinpoint) GetApnsSandboxChannelRequest(input *GetApnsSandboxChannelInput) (req *request.Request, output *GetApnsSandboxChannelOutput) {
3432	op := &request.Operation{
3433		Name:       opGetApnsSandboxChannel,
3434		HTTPMethod: "GET",
3435		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
3436	}
3437
3438	if input == nil {
3439		input = &GetApnsSandboxChannelInput{}
3440	}
3441
3442	output = &GetApnsSandboxChannelOutput{}
3443	req = c.newRequest(op, input, output)
3444	return
3445}
3446
3447// GetApnsSandboxChannel API operation for Amazon Pinpoint.
3448//
3449// Retrieves information about the status and settings of the APNs sandbox channel
3450// for an application.
3451//
3452// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3453// with awserr.Error's Code and Message methods to get detailed information about
3454// the error.
3455//
3456// See the AWS API reference guide for Amazon Pinpoint's
3457// API operation GetApnsSandboxChannel for usage and error information.
3458//
3459// Returned Error Types:
3460//   * BadRequestException
3461//   Provides information about an API request or response.
3462//
3463//   * InternalServerErrorException
3464//   Provides information about an API request or response.
3465//
3466//   * PayloadTooLargeException
3467//   Provides information about an API request or response.
3468//
3469//   * ForbiddenException
3470//   Provides information about an API request or response.
3471//
3472//   * NotFoundException
3473//   Provides information about an API request or response.
3474//
3475//   * MethodNotAllowedException
3476//   Provides information about an API request or response.
3477//
3478//   * TooManyRequestsException
3479//   Provides information about an API request or response.
3480//
3481// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsSandboxChannel
3482func (c *Pinpoint) GetApnsSandboxChannel(input *GetApnsSandboxChannelInput) (*GetApnsSandboxChannelOutput, error) {
3483	req, out := c.GetApnsSandboxChannelRequest(input)
3484	return out, req.Send()
3485}
3486
3487// GetApnsSandboxChannelWithContext is the same as GetApnsSandboxChannel with the addition of
3488// the ability to pass a context and additional request options.
3489//
3490// See GetApnsSandboxChannel for details on how to use this API operation.
3491//
3492// The context must be non-nil and will be used for request cancellation. If
3493// the context is nil a panic will occur. In the future the SDK may create
3494// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3495// for more information on using Contexts.
3496func (c *Pinpoint) GetApnsSandboxChannelWithContext(ctx aws.Context, input *GetApnsSandboxChannelInput, opts ...request.Option) (*GetApnsSandboxChannelOutput, error) {
3497	req, out := c.GetApnsSandboxChannelRequest(input)
3498	req.SetContext(ctx)
3499	req.ApplyOptions(opts...)
3500	return out, req.Send()
3501}
3502
3503const opGetApnsVoipChannel = "GetApnsVoipChannel"
3504
3505// GetApnsVoipChannelRequest generates a "aws/request.Request" representing the
3506// client's request for the GetApnsVoipChannel operation. The "output" return
3507// value will be populated with the request's response once the request completes
3508// successfully.
3509//
3510// Use "Send" method on the returned Request to send the API call to the service.
3511// the "output" return value is not valid until after Send returns without error.
3512//
3513// See GetApnsVoipChannel for more information on using the GetApnsVoipChannel
3514// API call, and error handling.
3515//
3516// This method is useful when you want to inject custom logic or configuration
3517// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3518//
3519//
3520//    // Example sending a request using the GetApnsVoipChannelRequest method.
3521//    req, resp := client.GetApnsVoipChannelRequest(params)
3522//
3523//    err := req.Send()
3524//    if err == nil { // resp is now filled
3525//        fmt.Println(resp)
3526//    }
3527//
3528// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipChannel
3529func (c *Pinpoint) GetApnsVoipChannelRequest(input *GetApnsVoipChannelInput) (req *request.Request, output *GetApnsVoipChannelOutput) {
3530	op := &request.Operation{
3531		Name:       opGetApnsVoipChannel,
3532		HTTPMethod: "GET",
3533		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
3534	}
3535
3536	if input == nil {
3537		input = &GetApnsVoipChannelInput{}
3538	}
3539
3540	output = &GetApnsVoipChannelOutput{}
3541	req = c.newRequest(op, input, output)
3542	return
3543}
3544
3545// GetApnsVoipChannel API operation for Amazon Pinpoint.
3546//
3547// Retrieves information about the status and settings of the APNs VoIP channel
3548// for an application.
3549//
3550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3551// with awserr.Error's Code and Message methods to get detailed information about
3552// the error.
3553//
3554// See the AWS API reference guide for Amazon Pinpoint's
3555// API operation GetApnsVoipChannel for usage and error information.
3556//
3557// Returned Error Types:
3558//   * BadRequestException
3559//   Provides information about an API request or response.
3560//
3561//   * InternalServerErrorException
3562//   Provides information about an API request or response.
3563//
3564//   * PayloadTooLargeException
3565//   Provides information about an API request or response.
3566//
3567//   * ForbiddenException
3568//   Provides information about an API request or response.
3569//
3570//   * NotFoundException
3571//   Provides information about an API request or response.
3572//
3573//   * MethodNotAllowedException
3574//   Provides information about an API request or response.
3575//
3576//   * TooManyRequestsException
3577//   Provides information about an API request or response.
3578//
3579// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipChannel
3580func (c *Pinpoint) GetApnsVoipChannel(input *GetApnsVoipChannelInput) (*GetApnsVoipChannelOutput, error) {
3581	req, out := c.GetApnsVoipChannelRequest(input)
3582	return out, req.Send()
3583}
3584
3585// GetApnsVoipChannelWithContext is the same as GetApnsVoipChannel with the addition of
3586// the ability to pass a context and additional request options.
3587//
3588// See GetApnsVoipChannel for details on how to use this API operation.
3589//
3590// The context must be non-nil and will be used for request cancellation. If
3591// the context is nil a panic will occur. In the future the SDK may create
3592// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3593// for more information on using Contexts.
3594func (c *Pinpoint) GetApnsVoipChannelWithContext(ctx aws.Context, input *GetApnsVoipChannelInput, opts ...request.Option) (*GetApnsVoipChannelOutput, error) {
3595	req, out := c.GetApnsVoipChannelRequest(input)
3596	req.SetContext(ctx)
3597	req.ApplyOptions(opts...)
3598	return out, req.Send()
3599}
3600
3601const opGetApnsVoipSandboxChannel = "GetApnsVoipSandboxChannel"
3602
3603// GetApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
3604// client's request for the GetApnsVoipSandboxChannel operation. The "output" return
3605// value will be populated with the request's response once the request completes
3606// successfully.
3607//
3608// Use "Send" method on the returned Request to send the API call to the service.
3609// the "output" return value is not valid until after Send returns without error.
3610//
3611// See GetApnsVoipSandboxChannel for more information on using the GetApnsVoipSandboxChannel
3612// API call, and error handling.
3613//
3614// This method is useful when you want to inject custom logic or configuration
3615// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3616//
3617//
3618//    // Example sending a request using the GetApnsVoipSandboxChannelRequest method.
3619//    req, resp := client.GetApnsVoipSandboxChannelRequest(params)
3620//
3621//    err := req.Send()
3622//    if err == nil { // resp is now filled
3623//        fmt.Println(resp)
3624//    }
3625//
3626// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipSandboxChannel
3627func (c *Pinpoint) GetApnsVoipSandboxChannelRequest(input *GetApnsVoipSandboxChannelInput) (req *request.Request, output *GetApnsVoipSandboxChannelOutput) {
3628	op := &request.Operation{
3629		Name:       opGetApnsVoipSandboxChannel,
3630		HTTPMethod: "GET",
3631		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
3632	}
3633
3634	if input == nil {
3635		input = &GetApnsVoipSandboxChannelInput{}
3636	}
3637
3638	output = &GetApnsVoipSandboxChannelOutput{}
3639	req = c.newRequest(op, input, output)
3640	return
3641}
3642
3643// GetApnsVoipSandboxChannel API operation for Amazon Pinpoint.
3644//
3645// Retrieves information about the status and settings of the APNs VoIP sandbox
3646// channel for an application.
3647//
3648// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3649// with awserr.Error's Code and Message methods to get detailed information about
3650// the error.
3651//
3652// See the AWS API reference guide for Amazon Pinpoint's
3653// API operation GetApnsVoipSandboxChannel for usage and error information.
3654//
3655// Returned Error Types:
3656//   * BadRequestException
3657//   Provides information about an API request or response.
3658//
3659//   * InternalServerErrorException
3660//   Provides information about an API request or response.
3661//
3662//   * PayloadTooLargeException
3663//   Provides information about an API request or response.
3664//
3665//   * ForbiddenException
3666//   Provides information about an API request or response.
3667//
3668//   * NotFoundException
3669//   Provides information about an API request or response.
3670//
3671//   * MethodNotAllowedException
3672//   Provides information about an API request or response.
3673//
3674//   * TooManyRequestsException
3675//   Provides information about an API request or response.
3676//
3677// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipSandboxChannel
3678func (c *Pinpoint) GetApnsVoipSandboxChannel(input *GetApnsVoipSandboxChannelInput) (*GetApnsVoipSandboxChannelOutput, error) {
3679	req, out := c.GetApnsVoipSandboxChannelRequest(input)
3680	return out, req.Send()
3681}
3682
3683// GetApnsVoipSandboxChannelWithContext is the same as GetApnsVoipSandboxChannel with the addition of
3684// the ability to pass a context and additional request options.
3685//
3686// See GetApnsVoipSandboxChannel for details on how to use this API operation.
3687//
3688// The context must be non-nil and will be used for request cancellation. If
3689// the context is nil a panic will occur. In the future the SDK may create
3690// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3691// for more information on using Contexts.
3692func (c *Pinpoint) GetApnsVoipSandboxChannelWithContext(ctx aws.Context, input *GetApnsVoipSandboxChannelInput, opts ...request.Option) (*GetApnsVoipSandboxChannelOutput, error) {
3693	req, out := c.GetApnsVoipSandboxChannelRequest(input)
3694	req.SetContext(ctx)
3695	req.ApplyOptions(opts...)
3696	return out, req.Send()
3697}
3698
3699const opGetApp = "GetApp"
3700
3701// GetAppRequest generates a "aws/request.Request" representing the
3702// client's request for the GetApp operation. The "output" return
3703// value will be populated with the request's response once the request completes
3704// successfully.
3705//
3706// Use "Send" method on the returned Request to send the API call to the service.
3707// the "output" return value is not valid until after Send returns without error.
3708//
3709// See GetApp for more information on using the GetApp
3710// API call, and error handling.
3711//
3712// This method is useful when you want to inject custom logic or configuration
3713// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3714//
3715//
3716//    // Example sending a request using the GetAppRequest method.
3717//    req, resp := client.GetAppRequest(params)
3718//
3719//    err := req.Send()
3720//    if err == nil { // resp is now filled
3721//        fmt.Println(resp)
3722//    }
3723//
3724// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApp
3725func (c *Pinpoint) GetAppRequest(input *GetAppInput) (req *request.Request, output *GetAppOutput) {
3726	op := &request.Operation{
3727		Name:       opGetApp,
3728		HTTPMethod: "GET",
3729		HTTPPath:   "/v1/apps/{application-id}",
3730	}
3731
3732	if input == nil {
3733		input = &GetAppInput{}
3734	}
3735
3736	output = &GetAppOutput{}
3737	req = c.newRequest(op, input, output)
3738	return
3739}
3740
3741// GetApp API operation for Amazon Pinpoint.
3742//
3743// Retrieves information about an application.
3744//
3745// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3746// with awserr.Error's Code and Message methods to get detailed information about
3747// the error.
3748//
3749// See the AWS API reference guide for Amazon Pinpoint's
3750// API operation GetApp for usage and error information.
3751//
3752// Returned Error Types:
3753//   * BadRequestException
3754//   Provides information about an API request or response.
3755//
3756//   * InternalServerErrorException
3757//   Provides information about an API request or response.
3758//
3759//   * PayloadTooLargeException
3760//   Provides information about an API request or response.
3761//
3762//   * ForbiddenException
3763//   Provides information about an API request or response.
3764//
3765//   * NotFoundException
3766//   Provides information about an API request or response.
3767//
3768//   * MethodNotAllowedException
3769//   Provides information about an API request or response.
3770//
3771//   * TooManyRequestsException
3772//   Provides information about an API request or response.
3773//
3774// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApp
3775func (c *Pinpoint) GetApp(input *GetAppInput) (*GetAppOutput, error) {
3776	req, out := c.GetAppRequest(input)
3777	return out, req.Send()
3778}
3779
3780// GetAppWithContext is the same as GetApp with the addition of
3781// the ability to pass a context and additional request options.
3782//
3783// See GetApp for details on how to use this API operation.
3784//
3785// The context must be non-nil and will be used for request cancellation. If
3786// the context is nil a panic will occur. In the future the SDK may create
3787// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3788// for more information on using Contexts.
3789func (c *Pinpoint) GetAppWithContext(ctx aws.Context, input *GetAppInput, opts ...request.Option) (*GetAppOutput, error) {
3790	req, out := c.GetAppRequest(input)
3791	req.SetContext(ctx)
3792	req.ApplyOptions(opts...)
3793	return out, req.Send()
3794}
3795
3796const opGetApplicationDateRangeKpi = "GetApplicationDateRangeKpi"
3797
3798// GetApplicationDateRangeKpiRequest generates a "aws/request.Request" representing the
3799// client's request for the GetApplicationDateRangeKpi operation. The "output" return
3800// value will be populated with the request's response once the request completes
3801// successfully.
3802//
3803// Use "Send" method on the returned Request to send the API call to the service.
3804// the "output" return value is not valid until after Send returns without error.
3805//
3806// See GetApplicationDateRangeKpi for more information on using the GetApplicationDateRangeKpi
3807// API call, and error handling.
3808//
3809// This method is useful when you want to inject custom logic or configuration
3810// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3811//
3812//
3813//    // Example sending a request using the GetApplicationDateRangeKpiRequest method.
3814//    req, resp := client.GetApplicationDateRangeKpiRequest(params)
3815//
3816//    err := req.Send()
3817//    if err == nil { // resp is now filled
3818//        fmt.Println(resp)
3819//    }
3820//
3821// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationDateRangeKpi
3822func (c *Pinpoint) GetApplicationDateRangeKpiRequest(input *GetApplicationDateRangeKpiInput) (req *request.Request, output *GetApplicationDateRangeKpiOutput) {
3823	op := &request.Operation{
3824		Name:       opGetApplicationDateRangeKpi,
3825		HTTPMethod: "GET",
3826		HTTPPath:   "/v1/apps/{application-id}/kpis/daterange/{kpi-name}",
3827	}
3828
3829	if input == nil {
3830		input = &GetApplicationDateRangeKpiInput{}
3831	}
3832
3833	output = &GetApplicationDateRangeKpiOutput{}
3834	req = c.newRequest(op, input, output)
3835	return
3836}
3837
3838// GetApplicationDateRangeKpi API operation for Amazon Pinpoint.
3839//
3840// Retrieves (queries) pre-aggregated data for a standard metric that applies
3841// to an application.
3842//
3843// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3844// with awserr.Error's Code and Message methods to get detailed information about
3845// the error.
3846//
3847// See the AWS API reference guide for Amazon Pinpoint's
3848// API operation GetApplicationDateRangeKpi for usage and error information.
3849//
3850// Returned Error Types:
3851//   * BadRequestException
3852//   Provides information about an API request or response.
3853//
3854//   * InternalServerErrorException
3855//   Provides information about an API request or response.
3856//
3857//   * PayloadTooLargeException
3858//   Provides information about an API request or response.
3859//
3860//   * ForbiddenException
3861//   Provides information about an API request or response.
3862//
3863//   * NotFoundException
3864//   Provides information about an API request or response.
3865//
3866//   * MethodNotAllowedException
3867//   Provides information about an API request or response.
3868//
3869//   * TooManyRequestsException
3870//   Provides information about an API request or response.
3871//
3872// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationDateRangeKpi
3873func (c *Pinpoint) GetApplicationDateRangeKpi(input *GetApplicationDateRangeKpiInput) (*GetApplicationDateRangeKpiOutput, error) {
3874	req, out := c.GetApplicationDateRangeKpiRequest(input)
3875	return out, req.Send()
3876}
3877
3878// GetApplicationDateRangeKpiWithContext is the same as GetApplicationDateRangeKpi with the addition of
3879// the ability to pass a context and additional request options.
3880//
3881// See GetApplicationDateRangeKpi for details on how to use this API operation.
3882//
3883// The context must be non-nil and will be used for request cancellation. If
3884// the context is nil a panic will occur. In the future the SDK may create
3885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3886// for more information on using Contexts.
3887func (c *Pinpoint) GetApplicationDateRangeKpiWithContext(ctx aws.Context, input *GetApplicationDateRangeKpiInput, opts ...request.Option) (*GetApplicationDateRangeKpiOutput, error) {
3888	req, out := c.GetApplicationDateRangeKpiRequest(input)
3889	req.SetContext(ctx)
3890	req.ApplyOptions(opts...)
3891	return out, req.Send()
3892}
3893
3894const opGetApplicationSettings = "GetApplicationSettings"
3895
3896// GetApplicationSettingsRequest generates a "aws/request.Request" representing the
3897// client's request for the GetApplicationSettings operation. The "output" return
3898// value will be populated with the request's response once the request completes
3899// successfully.
3900//
3901// Use "Send" method on the returned Request to send the API call to the service.
3902// the "output" return value is not valid until after Send returns without error.
3903//
3904// See GetApplicationSettings for more information on using the GetApplicationSettings
3905// API call, and error handling.
3906//
3907// This method is useful when you want to inject custom logic or configuration
3908// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3909//
3910//
3911//    // Example sending a request using the GetApplicationSettingsRequest method.
3912//    req, resp := client.GetApplicationSettingsRequest(params)
3913//
3914//    err := req.Send()
3915//    if err == nil { // resp is now filled
3916//        fmt.Println(resp)
3917//    }
3918//
3919// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationSettings
3920func (c *Pinpoint) GetApplicationSettingsRequest(input *GetApplicationSettingsInput) (req *request.Request, output *GetApplicationSettingsOutput) {
3921	op := &request.Operation{
3922		Name:       opGetApplicationSettings,
3923		HTTPMethod: "GET",
3924		HTTPPath:   "/v1/apps/{application-id}/settings",
3925	}
3926
3927	if input == nil {
3928		input = &GetApplicationSettingsInput{}
3929	}
3930
3931	output = &GetApplicationSettingsOutput{}
3932	req = c.newRequest(op, input, output)
3933	return
3934}
3935
3936// GetApplicationSettings API operation for Amazon Pinpoint.
3937//
3938// Retrieves information about the settings for an application.
3939//
3940// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3941// with awserr.Error's Code and Message methods to get detailed information about
3942// the error.
3943//
3944// See the AWS API reference guide for Amazon Pinpoint's
3945// API operation GetApplicationSettings for usage and error information.
3946//
3947// Returned Error Types:
3948//   * BadRequestException
3949//   Provides information about an API request or response.
3950//
3951//   * InternalServerErrorException
3952//   Provides information about an API request or response.
3953//
3954//   * PayloadTooLargeException
3955//   Provides information about an API request or response.
3956//
3957//   * ForbiddenException
3958//   Provides information about an API request or response.
3959//
3960//   * NotFoundException
3961//   Provides information about an API request or response.
3962//
3963//   * MethodNotAllowedException
3964//   Provides information about an API request or response.
3965//
3966//   * TooManyRequestsException
3967//   Provides information about an API request or response.
3968//
3969// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationSettings
3970func (c *Pinpoint) GetApplicationSettings(input *GetApplicationSettingsInput) (*GetApplicationSettingsOutput, error) {
3971	req, out := c.GetApplicationSettingsRequest(input)
3972	return out, req.Send()
3973}
3974
3975// GetApplicationSettingsWithContext is the same as GetApplicationSettings with the addition of
3976// the ability to pass a context and additional request options.
3977//
3978// See GetApplicationSettings for details on how to use this API operation.
3979//
3980// The context must be non-nil and will be used for request cancellation. If
3981// the context is nil a panic will occur. In the future the SDK may create
3982// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3983// for more information on using Contexts.
3984func (c *Pinpoint) GetApplicationSettingsWithContext(ctx aws.Context, input *GetApplicationSettingsInput, opts ...request.Option) (*GetApplicationSettingsOutput, error) {
3985	req, out := c.GetApplicationSettingsRequest(input)
3986	req.SetContext(ctx)
3987	req.ApplyOptions(opts...)
3988	return out, req.Send()
3989}
3990
3991const opGetApps = "GetApps"
3992
3993// GetAppsRequest generates a "aws/request.Request" representing the
3994// client's request for the GetApps operation. The "output" return
3995// value will be populated with the request's response once the request completes
3996// successfully.
3997//
3998// Use "Send" method on the returned Request to send the API call to the service.
3999// the "output" return value is not valid until after Send returns without error.
4000//
4001// See GetApps for more information on using the GetApps
4002// API call, and error handling.
4003//
4004// This method is useful when you want to inject custom logic or configuration
4005// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4006//
4007//
4008//    // Example sending a request using the GetAppsRequest method.
4009//    req, resp := client.GetAppsRequest(params)
4010//
4011//    err := req.Send()
4012//    if err == nil { // resp is now filled
4013//        fmt.Println(resp)
4014//    }
4015//
4016// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApps
4017func (c *Pinpoint) GetAppsRequest(input *GetAppsInput) (req *request.Request, output *GetAppsOutput) {
4018	op := &request.Operation{
4019		Name:       opGetApps,
4020		HTTPMethod: "GET",
4021		HTTPPath:   "/v1/apps",
4022	}
4023
4024	if input == nil {
4025		input = &GetAppsInput{}
4026	}
4027
4028	output = &GetAppsOutput{}
4029	req = c.newRequest(op, input, output)
4030	return
4031}
4032
4033// GetApps API operation for Amazon Pinpoint.
4034//
4035// Retrieves information about all the applications that are associated with
4036// your Amazon Pinpoint account.
4037//
4038// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4039// with awserr.Error's Code and Message methods to get detailed information about
4040// the error.
4041//
4042// See the AWS API reference guide for Amazon Pinpoint's
4043// API operation GetApps for usage and error information.
4044//
4045// Returned Error Types:
4046//   * BadRequestException
4047//   Provides information about an API request or response.
4048//
4049//   * InternalServerErrorException
4050//   Provides information about an API request or response.
4051//
4052//   * PayloadTooLargeException
4053//   Provides information about an API request or response.
4054//
4055//   * ForbiddenException
4056//   Provides information about an API request or response.
4057//
4058//   * NotFoundException
4059//   Provides information about an API request or response.
4060//
4061//   * MethodNotAllowedException
4062//   Provides information about an API request or response.
4063//
4064//   * TooManyRequestsException
4065//   Provides information about an API request or response.
4066//
4067// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApps
4068func (c *Pinpoint) GetApps(input *GetAppsInput) (*GetAppsOutput, error) {
4069	req, out := c.GetAppsRequest(input)
4070	return out, req.Send()
4071}
4072
4073// GetAppsWithContext is the same as GetApps with the addition of
4074// the ability to pass a context and additional request options.
4075//
4076// See GetApps for details on how to use this API operation.
4077//
4078// The context must be non-nil and will be used for request cancellation. If
4079// the context is nil a panic will occur. In the future the SDK may create
4080// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4081// for more information on using Contexts.
4082func (c *Pinpoint) GetAppsWithContext(ctx aws.Context, input *GetAppsInput, opts ...request.Option) (*GetAppsOutput, error) {
4083	req, out := c.GetAppsRequest(input)
4084	req.SetContext(ctx)
4085	req.ApplyOptions(opts...)
4086	return out, req.Send()
4087}
4088
4089const opGetBaiduChannel = "GetBaiduChannel"
4090
4091// GetBaiduChannelRequest generates a "aws/request.Request" representing the
4092// client's request for the GetBaiduChannel operation. The "output" return
4093// value will be populated with the request's response once the request completes
4094// successfully.
4095//
4096// Use "Send" method on the returned Request to send the API call to the service.
4097// the "output" return value is not valid until after Send returns without error.
4098//
4099// See GetBaiduChannel for more information on using the GetBaiduChannel
4100// API call, and error handling.
4101//
4102// This method is useful when you want to inject custom logic or configuration
4103// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4104//
4105//
4106//    // Example sending a request using the GetBaiduChannelRequest method.
4107//    req, resp := client.GetBaiduChannelRequest(params)
4108//
4109//    err := req.Send()
4110//    if err == nil { // resp is now filled
4111//        fmt.Println(resp)
4112//    }
4113//
4114// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetBaiduChannel
4115func (c *Pinpoint) GetBaiduChannelRequest(input *GetBaiduChannelInput) (req *request.Request, output *GetBaiduChannelOutput) {
4116	op := &request.Operation{
4117		Name:       opGetBaiduChannel,
4118		HTTPMethod: "GET",
4119		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
4120	}
4121
4122	if input == nil {
4123		input = &GetBaiduChannelInput{}
4124	}
4125
4126	output = &GetBaiduChannelOutput{}
4127	req = c.newRequest(op, input, output)
4128	return
4129}
4130
4131// GetBaiduChannel API operation for Amazon Pinpoint.
4132//
4133// Retrieves information about the status and settings of the Baidu channel
4134// for an application.
4135//
4136// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4137// with awserr.Error's Code and Message methods to get detailed information about
4138// the error.
4139//
4140// See the AWS API reference guide for Amazon Pinpoint's
4141// API operation GetBaiduChannel for usage and error information.
4142//
4143// Returned Error Types:
4144//   * BadRequestException
4145//   Provides information about an API request or response.
4146//
4147//   * InternalServerErrorException
4148//   Provides information about an API request or response.
4149//
4150//   * PayloadTooLargeException
4151//   Provides information about an API request or response.
4152//
4153//   * ForbiddenException
4154//   Provides information about an API request or response.
4155//
4156//   * NotFoundException
4157//   Provides information about an API request or response.
4158//
4159//   * MethodNotAllowedException
4160//   Provides information about an API request or response.
4161//
4162//   * TooManyRequestsException
4163//   Provides information about an API request or response.
4164//
4165// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetBaiduChannel
4166func (c *Pinpoint) GetBaiduChannel(input *GetBaiduChannelInput) (*GetBaiduChannelOutput, error) {
4167	req, out := c.GetBaiduChannelRequest(input)
4168	return out, req.Send()
4169}
4170
4171// GetBaiduChannelWithContext is the same as GetBaiduChannel with the addition of
4172// the ability to pass a context and additional request options.
4173//
4174// See GetBaiduChannel for details on how to use this API operation.
4175//
4176// The context must be non-nil and will be used for request cancellation. If
4177// the context is nil a panic will occur. In the future the SDK may create
4178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4179// for more information on using Contexts.
4180func (c *Pinpoint) GetBaiduChannelWithContext(ctx aws.Context, input *GetBaiduChannelInput, opts ...request.Option) (*GetBaiduChannelOutput, error) {
4181	req, out := c.GetBaiduChannelRequest(input)
4182	req.SetContext(ctx)
4183	req.ApplyOptions(opts...)
4184	return out, req.Send()
4185}
4186
4187const opGetCampaign = "GetCampaign"
4188
4189// GetCampaignRequest generates a "aws/request.Request" representing the
4190// client's request for the GetCampaign operation. The "output" return
4191// value will be populated with the request's response once the request completes
4192// successfully.
4193//
4194// Use "Send" method on the returned Request to send the API call to the service.
4195// the "output" return value is not valid until after Send returns without error.
4196//
4197// See GetCampaign for more information on using the GetCampaign
4198// API call, and error handling.
4199//
4200// This method is useful when you want to inject custom logic or configuration
4201// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4202//
4203//
4204//    // Example sending a request using the GetCampaignRequest method.
4205//    req, resp := client.GetCampaignRequest(params)
4206//
4207//    err := req.Send()
4208//    if err == nil { // resp is now filled
4209//        fmt.Println(resp)
4210//    }
4211//
4212// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaign
4213func (c *Pinpoint) GetCampaignRequest(input *GetCampaignInput) (req *request.Request, output *GetCampaignOutput) {
4214	op := &request.Operation{
4215		Name:       opGetCampaign,
4216		HTTPMethod: "GET",
4217		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
4218	}
4219
4220	if input == nil {
4221		input = &GetCampaignInput{}
4222	}
4223
4224	output = &GetCampaignOutput{}
4225	req = c.newRequest(op, input, output)
4226	return
4227}
4228
4229// GetCampaign API operation for Amazon Pinpoint.
4230//
4231// Retrieves information about the status, configuration, and other settings
4232// for a campaign.
4233//
4234// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4235// with awserr.Error's Code and Message methods to get detailed information about
4236// the error.
4237//
4238// See the AWS API reference guide for Amazon Pinpoint's
4239// API operation GetCampaign for usage and error information.
4240//
4241// Returned Error Types:
4242//   * BadRequestException
4243//   Provides information about an API request or response.
4244//
4245//   * InternalServerErrorException
4246//   Provides information about an API request or response.
4247//
4248//   * PayloadTooLargeException
4249//   Provides information about an API request or response.
4250//
4251//   * ForbiddenException
4252//   Provides information about an API request or response.
4253//
4254//   * NotFoundException
4255//   Provides information about an API request or response.
4256//
4257//   * MethodNotAllowedException
4258//   Provides information about an API request or response.
4259//
4260//   * TooManyRequestsException
4261//   Provides information about an API request or response.
4262//
4263// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaign
4264func (c *Pinpoint) GetCampaign(input *GetCampaignInput) (*GetCampaignOutput, error) {
4265	req, out := c.GetCampaignRequest(input)
4266	return out, req.Send()
4267}
4268
4269// GetCampaignWithContext is the same as GetCampaign with the addition of
4270// the ability to pass a context and additional request options.
4271//
4272// See GetCampaign for details on how to use this API operation.
4273//
4274// The context must be non-nil and will be used for request cancellation. If
4275// the context is nil a panic will occur. In the future the SDK may create
4276// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4277// for more information on using Contexts.
4278func (c *Pinpoint) GetCampaignWithContext(ctx aws.Context, input *GetCampaignInput, opts ...request.Option) (*GetCampaignOutput, error) {
4279	req, out := c.GetCampaignRequest(input)
4280	req.SetContext(ctx)
4281	req.ApplyOptions(opts...)
4282	return out, req.Send()
4283}
4284
4285const opGetCampaignActivities = "GetCampaignActivities"
4286
4287// GetCampaignActivitiesRequest generates a "aws/request.Request" representing the
4288// client's request for the GetCampaignActivities operation. The "output" return
4289// value will be populated with the request's response once the request completes
4290// successfully.
4291//
4292// Use "Send" method on the returned Request to send the API call to the service.
4293// the "output" return value is not valid until after Send returns without error.
4294//
4295// See GetCampaignActivities for more information on using the GetCampaignActivities
4296// API call, and error handling.
4297//
4298// This method is useful when you want to inject custom logic or configuration
4299// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4300//
4301//
4302//    // Example sending a request using the GetCampaignActivitiesRequest method.
4303//    req, resp := client.GetCampaignActivitiesRequest(params)
4304//
4305//    err := req.Send()
4306//    if err == nil { // resp is now filled
4307//        fmt.Println(resp)
4308//    }
4309//
4310// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignActivities
4311func (c *Pinpoint) GetCampaignActivitiesRequest(input *GetCampaignActivitiesInput) (req *request.Request, output *GetCampaignActivitiesOutput) {
4312	op := &request.Operation{
4313		Name:       opGetCampaignActivities,
4314		HTTPMethod: "GET",
4315		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/activities",
4316	}
4317
4318	if input == nil {
4319		input = &GetCampaignActivitiesInput{}
4320	}
4321
4322	output = &GetCampaignActivitiesOutput{}
4323	req = c.newRequest(op, input, output)
4324	return
4325}
4326
4327// GetCampaignActivities API operation for Amazon Pinpoint.
4328//
4329// Retrieves information about all the activities for a campaign.
4330//
4331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4332// with awserr.Error's Code and Message methods to get detailed information about
4333// the error.
4334//
4335// See the AWS API reference guide for Amazon Pinpoint's
4336// API operation GetCampaignActivities for usage and error information.
4337//
4338// Returned Error Types:
4339//   * BadRequestException
4340//   Provides information about an API request or response.
4341//
4342//   * InternalServerErrorException
4343//   Provides information about an API request or response.
4344//
4345//   * PayloadTooLargeException
4346//   Provides information about an API request or response.
4347//
4348//   * ForbiddenException
4349//   Provides information about an API request or response.
4350//
4351//   * NotFoundException
4352//   Provides information about an API request or response.
4353//
4354//   * MethodNotAllowedException
4355//   Provides information about an API request or response.
4356//
4357//   * TooManyRequestsException
4358//   Provides information about an API request or response.
4359//
4360// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignActivities
4361func (c *Pinpoint) GetCampaignActivities(input *GetCampaignActivitiesInput) (*GetCampaignActivitiesOutput, error) {
4362	req, out := c.GetCampaignActivitiesRequest(input)
4363	return out, req.Send()
4364}
4365
4366// GetCampaignActivitiesWithContext is the same as GetCampaignActivities with the addition of
4367// the ability to pass a context and additional request options.
4368//
4369// See GetCampaignActivities for details on how to use this API operation.
4370//
4371// The context must be non-nil and will be used for request cancellation. If
4372// the context is nil a panic will occur. In the future the SDK may create
4373// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4374// for more information on using Contexts.
4375func (c *Pinpoint) GetCampaignActivitiesWithContext(ctx aws.Context, input *GetCampaignActivitiesInput, opts ...request.Option) (*GetCampaignActivitiesOutput, error) {
4376	req, out := c.GetCampaignActivitiesRequest(input)
4377	req.SetContext(ctx)
4378	req.ApplyOptions(opts...)
4379	return out, req.Send()
4380}
4381
4382const opGetCampaignDateRangeKpi = "GetCampaignDateRangeKpi"
4383
4384// GetCampaignDateRangeKpiRequest generates a "aws/request.Request" representing the
4385// client's request for the GetCampaignDateRangeKpi operation. The "output" return
4386// value will be populated with the request's response once the request completes
4387// successfully.
4388//
4389// Use "Send" method on the returned Request to send the API call to the service.
4390// the "output" return value is not valid until after Send returns without error.
4391//
4392// See GetCampaignDateRangeKpi for more information on using the GetCampaignDateRangeKpi
4393// API call, and error handling.
4394//
4395// This method is useful when you want to inject custom logic or configuration
4396// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4397//
4398//
4399//    // Example sending a request using the GetCampaignDateRangeKpiRequest method.
4400//    req, resp := client.GetCampaignDateRangeKpiRequest(params)
4401//
4402//    err := req.Send()
4403//    if err == nil { // resp is now filled
4404//        fmt.Println(resp)
4405//    }
4406//
4407// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignDateRangeKpi
4408func (c *Pinpoint) GetCampaignDateRangeKpiRequest(input *GetCampaignDateRangeKpiInput) (req *request.Request, output *GetCampaignDateRangeKpiOutput) {
4409	op := &request.Operation{
4410		Name:       opGetCampaignDateRangeKpi,
4411		HTTPMethod: "GET",
4412		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/kpis/daterange/{kpi-name}",
4413	}
4414
4415	if input == nil {
4416		input = &GetCampaignDateRangeKpiInput{}
4417	}
4418
4419	output = &GetCampaignDateRangeKpiOutput{}
4420	req = c.newRequest(op, input, output)
4421	return
4422}
4423
4424// GetCampaignDateRangeKpi API operation for Amazon Pinpoint.
4425//
4426// Retrieves (queries) pre-aggregated data for a standard metric that applies
4427// to a campaign.
4428//
4429// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4430// with awserr.Error's Code and Message methods to get detailed information about
4431// the error.
4432//
4433// See the AWS API reference guide for Amazon Pinpoint's
4434// API operation GetCampaignDateRangeKpi for usage and error information.
4435//
4436// Returned Error Types:
4437//   * BadRequestException
4438//   Provides information about an API request or response.
4439//
4440//   * InternalServerErrorException
4441//   Provides information about an API request or response.
4442//
4443//   * PayloadTooLargeException
4444//   Provides information about an API request or response.
4445//
4446//   * ForbiddenException
4447//   Provides information about an API request or response.
4448//
4449//   * NotFoundException
4450//   Provides information about an API request or response.
4451//
4452//   * MethodNotAllowedException
4453//   Provides information about an API request or response.
4454//
4455//   * TooManyRequestsException
4456//   Provides information about an API request or response.
4457//
4458// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignDateRangeKpi
4459func (c *Pinpoint) GetCampaignDateRangeKpi(input *GetCampaignDateRangeKpiInput) (*GetCampaignDateRangeKpiOutput, error) {
4460	req, out := c.GetCampaignDateRangeKpiRequest(input)
4461	return out, req.Send()
4462}
4463
4464// GetCampaignDateRangeKpiWithContext is the same as GetCampaignDateRangeKpi with the addition of
4465// the ability to pass a context and additional request options.
4466//
4467// See GetCampaignDateRangeKpi for details on how to use this API operation.
4468//
4469// The context must be non-nil and will be used for request cancellation. If
4470// the context is nil a panic will occur. In the future the SDK may create
4471// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4472// for more information on using Contexts.
4473func (c *Pinpoint) GetCampaignDateRangeKpiWithContext(ctx aws.Context, input *GetCampaignDateRangeKpiInput, opts ...request.Option) (*GetCampaignDateRangeKpiOutput, error) {
4474	req, out := c.GetCampaignDateRangeKpiRequest(input)
4475	req.SetContext(ctx)
4476	req.ApplyOptions(opts...)
4477	return out, req.Send()
4478}
4479
4480const opGetCampaignVersion = "GetCampaignVersion"
4481
4482// GetCampaignVersionRequest generates a "aws/request.Request" representing the
4483// client's request for the GetCampaignVersion operation. The "output" return
4484// value will be populated with the request's response once the request completes
4485// successfully.
4486//
4487// Use "Send" method on the returned Request to send the API call to the service.
4488// the "output" return value is not valid until after Send returns without error.
4489//
4490// See GetCampaignVersion for more information on using the GetCampaignVersion
4491// API call, and error handling.
4492//
4493// This method is useful when you want to inject custom logic or configuration
4494// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4495//
4496//
4497//    // Example sending a request using the GetCampaignVersionRequest method.
4498//    req, resp := client.GetCampaignVersionRequest(params)
4499//
4500//    err := req.Send()
4501//    if err == nil { // resp is now filled
4502//        fmt.Println(resp)
4503//    }
4504//
4505// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersion
4506func (c *Pinpoint) GetCampaignVersionRequest(input *GetCampaignVersionInput) (req *request.Request, output *GetCampaignVersionOutput) {
4507	op := &request.Operation{
4508		Name:       opGetCampaignVersion,
4509		HTTPMethod: "GET",
4510		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/versions/{version}",
4511	}
4512
4513	if input == nil {
4514		input = &GetCampaignVersionInput{}
4515	}
4516
4517	output = &GetCampaignVersionOutput{}
4518	req = c.newRequest(op, input, output)
4519	return
4520}
4521
4522// GetCampaignVersion API operation for Amazon Pinpoint.
4523//
4524// Retrieves information about the status, configuration, and other settings
4525// for a specific version of a campaign.
4526//
4527// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4528// with awserr.Error's Code and Message methods to get detailed information about
4529// the error.
4530//
4531// See the AWS API reference guide for Amazon Pinpoint's
4532// API operation GetCampaignVersion for usage and error information.
4533//
4534// Returned Error Types:
4535//   * BadRequestException
4536//   Provides information about an API request or response.
4537//
4538//   * InternalServerErrorException
4539//   Provides information about an API request or response.
4540//
4541//   * PayloadTooLargeException
4542//   Provides information about an API request or response.
4543//
4544//   * ForbiddenException
4545//   Provides information about an API request or response.
4546//
4547//   * NotFoundException
4548//   Provides information about an API request or response.
4549//
4550//   * MethodNotAllowedException
4551//   Provides information about an API request or response.
4552//
4553//   * TooManyRequestsException
4554//   Provides information about an API request or response.
4555//
4556// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersion
4557func (c *Pinpoint) GetCampaignVersion(input *GetCampaignVersionInput) (*GetCampaignVersionOutput, error) {
4558	req, out := c.GetCampaignVersionRequest(input)
4559	return out, req.Send()
4560}
4561
4562// GetCampaignVersionWithContext is the same as GetCampaignVersion with the addition of
4563// the ability to pass a context and additional request options.
4564//
4565// See GetCampaignVersion for details on how to use this API operation.
4566//
4567// The context must be non-nil and will be used for request cancellation. If
4568// the context is nil a panic will occur. In the future the SDK may create
4569// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4570// for more information on using Contexts.
4571func (c *Pinpoint) GetCampaignVersionWithContext(ctx aws.Context, input *GetCampaignVersionInput, opts ...request.Option) (*GetCampaignVersionOutput, error) {
4572	req, out := c.GetCampaignVersionRequest(input)
4573	req.SetContext(ctx)
4574	req.ApplyOptions(opts...)
4575	return out, req.Send()
4576}
4577
4578const opGetCampaignVersions = "GetCampaignVersions"
4579
4580// GetCampaignVersionsRequest generates a "aws/request.Request" representing the
4581// client's request for the GetCampaignVersions operation. The "output" return
4582// value will be populated with the request's response once the request completes
4583// successfully.
4584//
4585// Use "Send" method on the returned Request to send the API call to the service.
4586// the "output" return value is not valid until after Send returns without error.
4587//
4588// See GetCampaignVersions for more information on using the GetCampaignVersions
4589// API call, and error handling.
4590//
4591// This method is useful when you want to inject custom logic or configuration
4592// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4593//
4594//
4595//    // Example sending a request using the GetCampaignVersionsRequest method.
4596//    req, resp := client.GetCampaignVersionsRequest(params)
4597//
4598//    err := req.Send()
4599//    if err == nil { // resp is now filled
4600//        fmt.Println(resp)
4601//    }
4602//
4603// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersions
4604func (c *Pinpoint) GetCampaignVersionsRequest(input *GetCampaignVersionsInput) (req *request.Request, output *GetCampaignVersionsOutput) {
4605	op := &request.Operation{
4606		Name:       opGetCampaignVersions,
4607		HTTPMethod: "GET",
4608		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/versions",
4609	}
4610
4611	if input == nil {
4612		input = &GetCampaignVersionsInput{}
4613	}
4614
4615	output = &GetCampaignVersionsOutput{}
4616	req = c.newRequest(op, input, output)
4617	return
4618}
4619
4620// GetCampaignVersions API operation for Amazon Pinpoint.
4621//
4622// Retrieves information about the status, configuration, and other settings
4623// for all versions of a campaign.
4624//
4625// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4626// with awserr.Error's Code and Message methods to get detailed information about
4627// the error.
4628//
4629// See the AWS API reference guide for Amazon Pinpoint's
4630// API operation GetCampaignVersions for usage and error information.
4631//
4632// Returned Error Types:
4633//   * BadRequestException
4634//   Provides information about an API request or response.
4635//
4636//   * InternalServerErrorException
4637//   Provides information about an API request or response.
4638//
4639//   * PayloadTooLargeException
4640//   Provides information about an API request or response.
4641//
4642//   * ForbiddenException
4643//   Provides information about an API request or response.
4644//
4645//   * NotFoundException
4646//   Provides information about an API request or response.
4647//
4648//   * MethodNotAllowedException
4649//   Provides information about an API request or response.
4650//
4651//   * TooManyRequestsException
4652//   Provides information about an API request or response.
4653//
4654// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersions
4655func (c *Pinpoint) GetCampaignVersions(input *GetCampaignVersionsInput) (*GetCampaignVersionsOutput, error) {
4656	req, out := c.GetCampaignVersionsRequest(input)
4657	return out, req.Send()
4658}
4659
4660// GetCampaignVersionsWithContext is the same as GetCampaignVersions with the addition of
4661// the ability to pass a context and additional request options.
4662//
4663// See GetCampaignVersions for details on how to use this API operation.
4664//
4665// The context must be non-nil and will be used for request cancellation. If
4666// the context is nil a panic will occur. In the future the SDK may create
4667// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4668// for more information on using Contexts.
4669func (c *Pinpoint) GetCampaignVersionsWithContext(ctx aws.Context, input *GetCampaignVersionsInput, opts ...request.Option) (*GetCampaignVersionsOutput, error) {
4670	req, out := c.GetCampaignVersionsRequest(input)
4671	req.SetContext(ctx)
4672	req.ApplyOptions(opts...)
4673	return out, req.Send()
4674}
4675
4676const opGetCampaigns = "GetCampaigns"
4677
4678// GetCampaignsRequest generates a "aws/request.Request" representing the
4679// client's request for the GetCampaigns operation. The "output" return
4680// value will be populated with the request's response once the request completes
4681// successfully.
4682//
4683// Use "Send" method on the returned Request to send the API call to the service.
4684// the "output" return value is not valid until after Send returns without error.
4685//
4686// See GetCampaigns for more information on using the GetCampaigns
4687// API call, and error handling.
4688//
4689// This method is useful when you want to inject custom logic or configuration
4690// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4691//
4692//
4693//    // Example sending a request using the GetCampaignsRequest method.
4694//    req, resp := client.GetCampaignsRequest(params)
4695//
4696//    err := req.Send()
4697//    if err == nil { // resp is now filled
4698//        fmt.Println(resp)
4699//    }
4700//
4701// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaigns
4702func (c *Pinpoint) GetCampaignsRequest(input *GetCampaignsInput) (req *request.Request, output *GetCampaignsOutput) {
4703	op := &request.Operation{
4704		Name:       opGetCampaigns,
4705		HTTPMethod: "GET",
4706		HTTPPath:   "/v1/apps/{application-id}/campaigns",
4707	}
4708
4709	if input == nil {
4710		input = &GetCampaignsInput{}
4711	}
4712
4713	output = &GetCampaignsOutput{}
4714	req = c.newRequest(op, input, output)
4715	return
4716}
4717
4718// GetCampaigns API operation for Amazon Pinpoint.
4719//
4720// Retrieves information about the status, configuration, and other settings
4721// for all the campaigns that are associated with an application.
4722//
4723// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4724// with awserr.Error's Code and Message methods to get detailed information about
4725// the error.
4726//
4727// See the AWS API reference guide for Amazon Pinpoint's
4728// API operation GetCampaigns for usage and error information.
4729//
4730// Returned Error Types:
4731//   * BadRequestException
4732//   Provides information about an API request or response.
4733//
4734//   * InternalServerErrorException
4735//   Provides information about an API request or response.
4736//
4737//   * PayloadTooLargeException
4738//   Provides information about an API request or response.
4739//
4740//   * ForbiddenException
4741//   Provides information about an API request or response.
4742//
4743//   * NotFoundException
4744//   Provides information about an API request or response.
4745//
4746//   * MethodNotAllowedException
4747//   Provides information about an API request or response.
4748//
4749//   * TooManyRequestsException
4750//   Provides information about an API request or response.
4751//
4752// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaigns
4753func (c *Pinpoint) GetCampaigns(input *GetCampaignsInput) (*GetCampaignsOutput, error) {
4754	req, out := c.GetCampaignsRequest(input)
4755	return out, req.Send()
4756}
4757
4758// GetCampaignsWithContext is the same as GetCampaigns with the addition of
4759// the ability to pass a context and additional request options.
4760//
4761// See GetCampaigns for details on how to use this API operation.
4762//
4763// The context must be non-nil and will be used for request cancellation. If
4764// the context is nil a panic will occur. In the future the SDK may create
4765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4766// for more information on using Contexts.
4767func (c *Pinpoint) GetCampaignsWithContext(ctx aws.Context, input *GetCampaignsInput, opts ...request.Option) (*GetCampaignsOutput, error) {
4768	req, out := c.GetCampaignsRequest(input)
4769	req.SetContext(ctx)
4770	req.ApplyOptions(opts...)
4771	return out, req.Send()
4772}
4773
4774const opGetChannels = "GetChannels"
4775
4776// GetChannelsRequest generates a "aws/request.Request" representing the
4777// client's request for the GetChannels operation. The "output" return
4778// value will be populated with the request's response once the request completes
4779// successfully.
4780//
4781// Use "Send" method on the returned Request to send the API call to the service.
4782// the "output" return value is not valid until after Send returns without error.
4783//
4784// See GetChannels for more information on using the GetChannels
4785// API call, and error handling.
4786//
4787// This method is useful when you want to inject custom logic or configuration
4788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4789//
4790//
4791//    // Example sending a request using the GetChannelsRequest method.
4792//    req, resp := client.GetChannelsRequest(params)
4793//
4794//    err := req.Send()
4795//    if err == nil { // resp is now filled
4796//        fmt.Println(resp)
4797//    }
4798//
4799// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetChannels
4800func (c *Pinpoint) GetChannelsRequest(input *GetChannelsInput) (req *request.Request, output *GetChannelsOutput) {
4801	op := &request.Operation{
4802		Name:       opGetChannels,
4803		HTTPMethod: "GET",
4804		HTTPPath:   "/v1/apps/{application-id}/channels",
4805	}
4806
4807	if input == nil {
4808		input = &GetChannelsInput{}
4809	}
4810
4811	output = &GetChannelsOutput{}
4812	req = c.newRequest(op, input, output)
4813	return
4814}
4815
4816// GetChannels API operation for Amazon Pinpoint.
4817//
4818// Retrieves information about the history and status of each channel for an
4819// application.
4820//
4821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4822// with awserr.Error's Code and Message methods to get detailed information about
4823// the error.
4824//
4825// See the AWS API reference guide for Amazon Pinpoint's
4826// API operation GetChannels for usage and error information.
4827//
4828// Returned Error Types:
4829//   * BadRequestException
4830//   Provides information about an API request or response.
4831//
4832//   * InternalServerErrorException
4833//   Provides information about an API request or response.
4834//
4835//   * PayloadTooLargeException
4836//   Provides information about an API request or response.
4837//
4838//   * ForbiddenException
4839//   Provides information about an API request or response.
4840//
4841//   * NotFoundException
4842//   Provides information about an API request or response.
4843//
4844//   * MethodNotAllowedException
4845//   Provides information about an API request or response.
4846//
4847//   * TooManyRequestsException
4848//   Provides information about an API request or response.
4849//
4850// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetChannels
4851func (c *Pinpoint) GetChannels(input *GetChannelsInput) (*GetChannelsOutput, error) {
4852	req, out := c.GetChannelsRequest(input)
4853	return out, req.Send()
4854}
4855
4856// GetChannelsWithContext is the same as GetChannels with the addition of
4857// the ability to pass a context and additional request options.
4858//
4859// See GetChannels for details on how to use this API operation.
4860//
4861// The context must be non-nil and will be used for request cancellation. If
4862// the context is nil a panic will occur. In the future the SDK may create
4863// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4864// for more information on using Contexts.
4865func (c *Pinpoint) GetChannelsWithContext(ctx aws.Context, input *GetChannelsInput, opts ...request.Option) (*GetChannelsOutput, error) {
4866	req, out := c.GetChannelsRequest(input)
4867	req.SetContext(ctx)
4868	req.ApplyOptions(opts...)
4869	return out, req.Send()
4870}
4871
4872const opGetEmailChannel = "GetEmailChannel"
4873
4874// GetEmailChannelRequest generates a "aws/request.Request" representing the
4875// client's request for the GetEmailChannel operation. The "output" return
4876// value will be populated with the request's response once the request completes
4877// successfully.
4878//
4879// Use "Send" method on the returned Request to send the API call to the service.
4880// the "output" return value is not valid until after Send returns without error.
4881//
4882// See GetEmailChannel for more information on using the GetEmailChannel
4883// API call, and error handling.
4884//
4885// This method is useful when you want to inject custom logic or configuration
4886// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4887//
4888//
4889//    // Example sending a request using the GetEmailChannelRequest method.
4890//    req, resp := client.GetEmailChannelRequest(params)
4891//
4892//    err := req.Send()
4893//    if err == nil { // resp is now filled
4894//        fmt.Println(resp)
4895//    }
4896//
4897// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailChannel
4898func (c *Pinpoint) GetEmailChannelRequest(input *GetEmailChannelInput) (req *request.Request, output *GetEmailChannelOutput) {
4899	op := &request.Operation{
4900		Name:       opGetEmailChannel,
4901		HTTPMethod: "GET",
4902		HTTPPath:   "/v1/apps/{application-id}/channels/email",
4903	}
4904
4905	if input == nil {
4906		input = &GetEmailChannelInput{}
4907	}
4908
4909	output = &GetEmailChannelOutput{}
4910	req = c.newRequest(op, input, output)
4911	return
4912}
4913
4914// GetEmailChannel API operation for Amazon Pinpoint.
4915//
4916// Retrieves information about the status and settings of the email channel
4917// for an application.
4918//
4919// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4920// with awserr.Error's Code and Message methods to get detailed information about
4921// the error.
4922//
4923// See the AWS API reference guide for Amazon Pinpoint's
4924// API operation GetEmailChannel for usage and error information.
4925//
4926// Returned Error Types:
4927//   * BadRequestException
4928//   Provides information about an API request or response.
4929//
4930//   * InternalServerErrorException
4931//   Provides information about an API request or response.
4932//
4933//   * PayloadTooLargeException
4934//   Provides information about an API request or response.
4935//
4936//   * ForbiddenException
4937//   Provides information about an API request or response.
4938//
4939//   * NotFoundException
4940//   Provides information about an API request or response.
4941//
4942//   * MethodNotAllowedException
4943//   Provides information about an API request or response.
4944//
4945//   * TooManyRequestsException
4946//   Provides information about an API request or response.
4947//
4948// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailChannel
4949func (c *Pinpoint) GetEmailChannel(input *GetEmailChannelInput) (*GetEmailChannelOutput, error) {
4950	req, out := c.GetEmailChannelRequest(input)
4951	return out, req.Send()
4952}
4953
4954// GetEmailChannelWithContext is the same as GetEmailChannel with the addition of
4955// the ability to pass a context and additional request options.
4956//
4957// See GetEmailChannel for details on how to use this API operation.
4958//
4959// The context must be non-nil and will be used for request cancellation. If
4960// the context is nil a panic will occur. In the future the SDK may create
4961// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4962// for more information on using Contexts.
4963func (c *Pinpoint) GetEmailChannelWithContext(ctx aws.Context, input *GetEmailChannelInput, opts ...request.Option) (*GetEmailChannelOutput, error) {
4964	req, out := c.GetEmailChannelRequest(input)
4965	req.SetContext(ctx)
4966	req.ApplyOptions(opts...)
4967	return out, req.Send()
4968}
4969
4970const opGetEmailTemplate = "GetEmailTemplate"
4971
4972// GetEmailTemplateRequest generates a "aws/request.Request" representing the
4973// client's request for the GetEmailTemplate operation. The "output" return
4974// value will be populated with the request's response once the request completes
4975// successfully.
4976//
4977// Use "Send" method on the returned Request to send the API call to the service.
4978// the "output" return value is not valid until after Send returns without error.
4979//
4980// See GetEmailTemplate for more information on using the GetEmailTemplate
4981// API call, and error handling.
4982//
4983// This method is useful when you want to inject custom logic or configuration
4984// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4985//
4986//
4987//    // Example sending a request using the GetEmailTemplateRequest method.
4988//    req, resp := client.GetEmailTemplateRequest(params)
4989//
4990//    err := req.Send()
4991//    if err == nil { // resp is now filled
4992//        fmt.Println(resp)
4993//    }
4994//
4995// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailTemplate
4996func (c *Pinpoint) GetEmailTemplateRequest(input *GetEmailTemplateInput) (req *request.Request, output *GetEmailTemplateOutput) {
4997	op := &request.Operation{
4998		Name:       opGetEmailTemplate,
4999		HTTPMethod: "GET",
5000		HTTPPath:   "/v1/templates/{template-name}/email",
5001	}
5002
5003	if input == nil {
5004		input = &GetEmailTemplateInput{}
5005	}
5006
5007	output = &GetEmailTemplateOutput{}
5008	req = c.newRequest(op, input, output)
5009	return
5010}
5011
5012// GetEmailTemplate API operation for Amazon Pinpoint.
5013//
5014// Retrieves the content and settings of a message template for messages that
5015// are sent through the email channel.
5016//
5017// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5018// with awserr.Error's Code and Message methods to get detailed information about
5019// the error.
5020//
5021// See the AWS API reference guide for Amazon Pinpoint's
5022// API operation GetEmailTemplate for usage and error information.
5023//
5024// Returned Error Types:
5025//   * BadRequestException
5026//   Provides information about an API request or response.
5027//
5028//   * InternalServerErrorException
5029//   Provides information about an API request or response.
5030//
5031//   * PayloadTooLargeException
5032//   Provides information about an API request or response.
5033//
5034//   * ForbiddenException
5035//   Provides information about an API request or response.
5036//
5037//   * NotFoundException
5038//   Provides information about an API request or response.
5039//
5040//   * MethodNotAllowedException
5041//   Provides information about an API request or response.
5042//
5043//   * TooManyRequestsException
5044//   Provides information about an API request or response.
5045//
5046// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailTemplate
5047func (c *Pinpoint) GetEmailTemplate(input *GetEmailTemplateInput) (*GetEmailTemplateOutput, error) {
5048	req, out := c.GetEmailTemplateRequest(input)
5049	return out, req.Send()
5050}
5051
5052// GetEmailTemplateWithContext is the same as GetEmailTemplate with the addition of
5053// the ability to pass a context and additional request options.
5054//
5055// See GetEmailTemplate for details on how to use this API operation.
5056//
5057// The context must be non-nil and will be used for request cancellation. If
5058// the context is nil a panic will occur. In the future the SDK may create
5059// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5060// for more information on using Contexts.
5061func (c *Pinpoint) GetEmailTemplateWithContext(ctx aws.Context, input *GetEmailTemplateInput, opts ...request.Option) (*GetEmailTemplateOutput, error) {
5062	req, out := c.GetEmailTemplateRequest(input)
5063	req.SetContext(ctx)
5064	req.ApplyOptions(opts...)
5065	return out, req.Send()
5066}
5067
5068const opGetEndpoint = "GetEndpoint"
5069
5070// GetEndpointRequest generates a "aws/request.Request" representing the
5071// client's request for the GetEndpoint operation. The "output" return
5072// value will be populated with the request's response once the request completes
5073// successfully.
5074//
5075// Use "Send" method on the returned Request to send the API call to the service.
5076// the "output" return value is not valid until after Send returns without error.
5077//
5078// See GetEndpoint for more information on using the GetEndpoint
5079// API call, and error handling.
5080//
5081// This method is useful when you want to inject custom logic or configuration
5082// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5083//
5084//
5085//    // Example sending a request using the GetEndpointRequest method.
5086//    req, resp := client.GetEndpointRequest(params)
5087//
5088//    err := req.Send()
5089//    if err == nil { // resp is now filled
5090//        fmt.Println(resp)
5091//    }
5092//
5093// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpoint
5094func (c *Pinpoint) GetEndpointRequest(input *GetEndpointInput) (req *request.Request, output *GetEndpointOutput) {
5095	op := &request.Operation{
5096		Name:       opGetEndpoint,
5097		HTTPMethod: "GET",
5098		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
5099	}
5100
5101	if input == nil {
5102		input = &GetEndpointInput{}
5103	}
5104
5105	output = &GetEndpointOutput{}
5106	req = c.newRequest(op, input, output)
5107	return
5108}
5109
5110// GetEndpoint API operation for Amazon Pinpoint.
5111//
5112// Retrieves information about the settings and attributes of a specific endpoint
5113// for an application.
5114//
5115// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5116// with awserr.Error's Code and Message methods to get detailed information about
5117// the error.
5118//
5119// See the AWS API reference guide for Amazon Pinpoint's
5120// API operation GetEndpoint for usage and error information.
5121//
5122// Returned Error Types:
5123//   * BadRequestException
5124//   Provides information about an API request or response.
5125//
5126//   * InternalServerErrorException
5127//   Provides information about an API request or response.
5128//
5129//   * PayloadTooLargeException
5130//   Provides information about an API request or response.
5131//
5132//   * ForbiddenException
5133//   Provides information about an API request or response.
5134//
5135//   * NotFoundException
5136//   Provides information about an API request or response.
5137//
5138//   * MethodNotAllowedException
5139//   Provides information about an API request or response.
5140//
5141//   * TooManyRequestsException
5142//   Provides information about an API request or response.
5143//
5144// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpoint
5145func (c *Pinpoint) GetEndpoint(input *GetEndpointInput) (*GetEndpointOutput, error) {
5146	req, out := c.GetEndpointRequest(input)
5147	return out, req.Send()
5148}
5149
5150// GetEndpointWithContext is the same as GetEndpoint with the addition of
5151// the ability to pass a context and additional request options.
5152//
5153// See GetEndpoint for details on how to use this API operation.
5154//
5155// The context must be non-nil and will be used for request cancellation. If
5156// the context is nil a panic will occur. In the future the SDK may create
5157// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5158// for more information on using Contexts.
5159func (c *Pinpoint) GetEndpointWithContext(ctx aws.Context, input *GetEndpointInput, opts ...request.Option) (*GetEndpointOutput, error) {
5160	req, out := c.GetEndpointRequest(input)
5161	req.SetContext(ctx)
5162	req.ApplyOptions(opts...)
5163	return out, req.Send()
5164}
5165
5166const opGetEventStream = "GetEventStream"
5167
5168// GetEventStreamRequest generates a "aws/request.Request" representing the
5169// client's request for the GetEventStream operation. The "output" return
5170// value will be populated with the request's response once the request completes
5171// successfully.
5172//
5173// Use "Send" method on the returned Request to send the API call to the service.
5174// the "output" return value is not valid until after Send returns without error.
5175//
5176// See GetEventStream for more information on using the GetEventStream
5177// API call, and error handling.
5178//
5179// This method is useful when you want to inject custom logic or configuration
5180// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5181//
5182//
5183//    // Example sending a request using the GetEventStreamRequest method.
5184//    req, resp := client.GetEventStreamRequest(params)
5185//
5186//    err := req.Send()
5187//    if err == nil { // resp is now filled
5188//        fmt.Println(resp)
5189//    }
5190//
5191// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEventStream
5192func (c *Pinpoint) GetEventStreamRequest(input *GetEventStreamInput) (req *request.Request, output *GetEventStreamOutput) {
5193	op := &request.Operation{
5194		Name:       opGetEventStream,
5195		HTTPMethod: "GET",
5196		HTTPPath:   "/v1/apps/{application-id}/eventstream",
5197	}
5198
5199	if input == nil {
5200		input = &GetEventStreamInput{}
5201	}
5202
5203	output = &GetEventStreamOutput{}
5204	req = c.newRequest(op, input, output)
5205	return
5206}
5207
5208// GetEventStream API operation for Amazon Pinpoint.
5209//
5210// Retrieves information about the event stream settings for an application.
5211//
5212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5213// with awserr.Error's Code and Message methods to get detailed information about
5214// the error.
5215//
5216// See the AWS API reference guide for Amazon Pinpoint's
5217// API operation GetEventStream for usage and error information.
5218//
5219// Returned Error Types:
5220//   * BadRequestException
5221//   Provides information about an API request or response.
5222//
5223//   * InternalServerErrorException
5224//   Provides information about an API request or response.
5225//
5226//   * PayloadTooLargeException
5227//   Provides information about an API request or response.
5228//
5229//   * ForbiddenException
5230//   Provides information about an API request or response.
5231//
5232//   * NotFoundException
5233//   Provides information about an API request or response.
5234//
5235//   * MethodNotAllowedException
5236//   Provides information about an API request or response.
5237//
5238//   * TooManyRequestsException
5239//   Provides information about an API request or response.
5240//
5241// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEventStream
5242func (c *Pinpoint) GetEventStream(input *GetEventStreamInput) (*GetEventStreamOutput, error) {
5243	req, out := c.GetEventStreamRequest(input)
5244	return out, req.Send()
5245}
5246
5247// GetEventStreamWithContext is the same as GetEventStream with the addition of
5248// the ability to pass a context and additional request options.
5249//
5250// See GetEventStream for details on how to use this API operation.
5251//
5252// The context must be non-nil and will be used for request cancellation. If
5253// the context is nil a panic will occur. In the future the SDK may create
5254// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5255// for more information on using Contexts.
5256func (c *Pinpoint) GetEventStreamWithContext(ctx aws.Context, input *GetEventStreamInput, opts ...request.Option) (*GetEventStreamOutput, error) {
5257	req, out := c.GetEventStreamRequest(input)
5258	req.SetContext(ctx)
5259	req.ApplyOptions(opts...)
5260	return out, req.Send()
5261}
5262
5263const opGetExportJob = "GetExportJob"
5264
5265// GetExportJobRequest generates a "aws/request.Request" representing the
5266// client's request for the GetExportJob operation. The "output" return
5267// value will be populated with the request's response once the request completes
5268// successfully.
5269//
5270// Use "Send" method on the returned Request to send the API call to the service.
5271// the "output" return value is not valid until after Send returns without error.
5272//
5273// See GetExportJob for more information on using the GetExportJob
5274// API call, and error handling.
5275//
5276// This method is useful when you want to inject custom logic or configuration
5277// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5278//
5279//
5280//    // Example sending a request using the GetExportJobRequest method.
5281//    req, resp := client.GetExportJobRequest(params)
5282//
5283//    err := req.Send()
5284//    if err == nil { // resp is now filled
5285//        fmt.Println(resp)
5286//    }
5287//
5288// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJob
5289func (c *Pinpoint) GetExportJobRequest(input *GetExportJobInput) (req *request.Request, output *GetExportJobOutput) {
5290	op := &request.Operation{
5291		Name:       opGetExportJob,
5292		HTTPMethod: "GET",
5293		HTTPPath:   "/v1/apps/{application-id}/jobs/export/{job-id}",
5294	}
5295
5296	if input == nil {
5297		input = &GetExportJobInput{}
5298	}
5299
5300	output = &GetExportJobOutput{}
5301	req = c.newRequest(op, input, output)
5302	return
5303}
5304
5305// GetExportJob API operation for Amazon Pinpoint.
5306//
5307// Retrieves information about the status and settings of a specific export
5308// job for an application.
5309//
5310// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5311// with awserr.Error's Code and Message methods to get detailed information about
5312// the error.
5313//
5314// See the AWS API reference guide for Amazon Pinpoint's
5315// API operation GetExportJob for usage and error information.
5316//
5317// Returned Error Types:
5318//   * BadRequestException
5319//   Provides information about an API request or response.
5320//
5321//   * InternalServerErrorException
5322//   Provides information about an API request or response.
5323//
5324//   * PayloadTooLargeException
5325//   Provides information about an API request or response.
5326//
5327//   * ForbiddenException
5328//   Provides information about an API request or response.
5329//
5330//   * NotFoundException
5331//   Provides information about an API request or response.
5332//
5333//   * MethodNotAllowedException
5334//   Provides information about an API request or response.
5335//
5336//   * TooManyRequestsException
5337//   Provides information about an API request or response.
5338//
5339// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJob
5340func (c *Pinpoint) GetExportJob(input *GetExportJobInput) (*GetExportJobOutput, error) {
5341	req, out := c.GetExportJobRequest(input)
5342	return out, req.Send()
5343}
5344
5345// GetExportJobWithContext is the same as GetExportJob with the addition of
5346// the ability to pass a context and additional request options.
5347//
5348// See GetExportJob for details on how to use this API operation.
5349//
5350// The context must be non-nil and will be used for request cancellation. If
5351// the context is nil a panic will occur. In the future the SDK may create
5352// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5353// for more information on using Contexts.
5354func (c *Pinpoint) GetExportJobWithContext(ctx aws.Context, input *GetExportJobInput, opts ...request.Option) (*GetExportJobOutput, error) {
5355	req, out := c.GetExportJobRequest(input)
5356	req.SetContext(ctx)
5357	req.ApplyOptions(opts...)
5358	return out, req.Send()
5359}
5360
5361const opGetExportJobs = "GetExportJobs"
5362
5363// GetExportJobsRequest generates a "aws/request.Request" representing the
5364// client's request for the GetExportJobs operation. The "output" return
5365// value will be populated with the request's response once the request completes
5366// successfully.
5367//
5368// Use "Send" method on the returned Request to send the API call to the service.
5369// the "output" return value is not valid until after Send returns without error.
5370//
5371// See GetExportJobs for more information on using the GetExportJobs
5372// API call, and error handling.
5373//
5374// This method is useful when you want to inject custom logic or configuration
5375// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5376//
5377//
5378//    // Example sending a request using the GetExportJobsRequest method.
5379//    req, resp := client.GetExportJobsRequest(params)
5380//
5381//    err := req.Send()
5382//    if err == nil { // resp is now filled
5383//        fmt.Println(resp)
5384//    }
5385//
5386// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJobs
5387func (c *Pinpoint) GetExportJobsRequest(input *GetExportJobsInput) (req *request.Request, output *GetExportJobsOutput) {
5388	op := &request.Operation{
5389		Name:       opGetExportJobs,
5390		HTTPMethod: "GET",
5391		HTTPPath:   "/v1/apps/{application-id}/jobs/export",
5392	}
5393
5394	if input == nil {
5395		input = &GetExportJobsInput{}
5396	}
5397
5398	output = &GetExportJobsOutput{}
5399	req = c.newRequest(op, input, output)
5400	return
5401}
5402
5403// GetExportJobs API operation for Amazon Pinpoint.
5404//
5405// Retrieves information about the status and settings of all the export jobs
5406// for an application.
5407//
5408// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5409// with awserr.Error's Code and Message methods to get detailed information about
5410// the error.
5411//
5412// See the AWS API reference guide for Amazon Pinpoint's
5413// API operation GetExportJobs for usage and error information.
5414//
5415// Returned Error Types:
5416//   * BadRequestException
5417//   Provides information about an API request or response.
5418//
5419//   * InternalServerErrorException
5420//   Provides information about an API request or response.
5421//
5422//   * PayloadTooLargeException
5423//   Provides information about an API request or response.
5424//
5425//   * ForbiddenException
5426//   Provides information about an API request or response.
5427//
5428//   * NotFoundException
5429//   Provides information about an API request or response.
5430//
5431//   * MethodNotAllowedException
5432//   Provides information about an API request or response.
5433//
5434//   * TooManyRequestsException
5435//   Provides information about an API request or response.
5436//
5437// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJobs
5438func (c *Pinpoint) GetExportJobs(input *GetExportJobsInput) (*GetExportJobsOutput, error) {
5439	req, out := c.GetExportJobsRequest(input)
5440	return out, req.Send()
5441}
5442
5443// GetExportJobsWithContext is the same as GetExportJobs with the addition of
5444// the ability to pass a context and additional request options.
5445//
5446// See GetExportJobs for details on how to use this API operation.
5447//
5448// The context must be non-nil and will be used for request cancellation. If
5449// the context is nil a panic will occur. In the future the SDK may create
5450// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5451// for more information on using Contexts.
5452func (c *Pinpoint) GetExportJobsWithContext(ctx aws.Context, input *GetExportJobsInput, opts ...request.Option) (*GetExportJobsOutput, error) {
5453	req, out := c.GetExportJobsRequest(input)
5454	req.SetContext(ctx)
5455	req.ApplyOptions(opts...)
5456	return out, req.Send()
5457}
5458
5459const opGetGcmChannel = "GetGcmChannel"
5460
5461// GetGcmChannelRequest generates a "aws/request.Request" representing the
5462// client's request for the GetGcmChannel operation. The "output" return
5463// value will be populated with the request's response once the request completes
5464// successfully.
5465//
5466// Use "Send" method on the returned Request to send the API call to the service.
5467// the "output" return value is not valid until after Send returns without error.
5468//
5469// See GetGcmChannel for more information on using the GetGcmChannel
5470// API call, and error handling.
5471//
5472// This method is useful when you want to inject custom logic or configuration
5473// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5474//
5475//
5476//    // Example sending a request using the GetGcmChannelRequest method.
5477//    req, resp := client.GetGcmChannelRequest(params)
5478//
5479//    err := req.Send()
5480//    if err == nil { // resp is now filled
5481//        fmt.Println(resp)
5482//    }
5483//
5484// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetGcmChannel
5485func (c *Pinpoint) GetGcmChannelRequest(input *GetGcmChannelInput) (req *request.Request, output *GetGcmChannelOutput) {
5486	op := &request.Operation{
5487		Name:       opGetGcmChannel,
5488		HTTPMethod: "GET",
5489		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
5490	}
5491
5492	if input == nil {
5493		input = &GetGcmChannelInput{}
5494	}
5495
5496	output = &GetGcmChannelOutput{}
5497	req = c.newRequest(op, input, output)
5498	return
5499}
5500
5501// GetGcmChannel API operation for Amazon Pinpoint.
5502//
5503// Retrieves information about the status and settings of the GCM channel for
5504// an application.
5505//
5506// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5507// with awserr.Error's Code and Message methods to get detailed information about
5508// the error.
5509//
5510// See the AWS API reference guide for Amazon Pinpoint's
5511// API operation GetGcmChannel for usage and error information.
5512//
5513// Returned Error Types:
5514//   * BadRequestException
5515//   Provides information about an API request or response.
5516//
5517//   * InternalServerErrorException
5518//   Provides information about an API request or response.
5519//
5520//   * PayloadTooLargeException
5521//   Provides information about an API request or response.
5522//
5523//   * ForbiddenException
5524//   Provides information about an API request or response.
5525//
5526//   * NotFoundException
5527//   Provides information about an API request or response.
5528//
5529//   * MethodNotAllowedException
5530//   Provides information about an API request or response.
5531//
5532//   * TooManyRequestsException
5533//   Provides information about an API request or response.
5534//
5535// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetGcmChannel
5536func (c *Pinpoint) GetGcmChannel(input *GetGcmChannelInput) (*GetGcmChannelOutput, error) {
5537	req, out := c.GetGcmChannelRequest(input)
5538	return out, req.Send()
5539}
5540
5541// GetGcmChannelWithContext is the same as GetGcmChannel with the addition of
5542// the ability to pass a context and additional request options.
5543//
5544// See GetGcmChannel for details on how to use this API operation.
5545//
5546// The context must be non-nil and will be used for request cancellation. If
5547// the context is nil a panic will occur. In the future the SDK may create
5548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5549// for more information on using Contexts.
5550func (c *Pinpoint) GetGcmChannelWithContext(ctx aws.Context, input *GetGcmChannelInput, opts ...request.Option) (*GetGcmChannelOutput, error) {
5551	req, out := c.GetGcmChannelRequest(input)
5552	req.SetContext(ctx)
5553	req.ApplyOptions(opts...)
5554	return out, req.Send()
5555}
5556
5557const opGetImportJob = "GetImportJob"
5558
5559// GetImportJobRequest generates a "aws/request.Request" representing the
5560// client's request for the GetImportJob operation. The "output" return
5561// value will be populated with the request's response once the request completes
5562// successfully.
5563//
5564// Use "Send" method on the returned Request to send the API call to the service.
5565// the "output" return value is not valid until after Send returns without error.
5566//
5567// See GetImportJob for more information on using the GetImportJob
5568// API call, and error handling.
5569//
5570// This method is useful when you want to inject custom logic or configuration
5571// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5572//
5573//
5574//    // Example sending a request using the GetImportJobRequest method.
5575//    req, resp := client.GetImportJobRequest(params)
5576//
5577//    err := req.Send()
5578//    if err == nil { // resp is now filled
5579//        fmt.Println(resp)
5580//    }
5581//
5582// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJob
5583func (c *Pinpoint) GetImportJobRequest(input *GetImportJobInput) (req *request.Request, output *GetImportJobOutput) {
5584	op := &request.Operation{
5585		Name:       opGetImportJob,
5586		HTTPMethod: "GET",
5587		HTTPPath:   "/v1/apps/{application-id}/jobs/import/{job-id}",
5588	}
5589
5590	if input == nil {
5591		input = &GetImportJobInput{}
5592	}
5593
5594	output = &GetImportJobOutput{}
5595	req = c.newRequest(op, input, output)
5596	return
5597}
5598
5599// GetImportJob API operation for Amazon Pinpoint.
5600//
5601// Retrieves information about the status and settings of a specific import
5602// job for an application.
5603//
5604// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5605// with awserr.Error's Code and Message methods to get detailed information about
5606// the error.
5607//
5608// See the AWS API reference guide for Amazon Pinpoint's
5609// API operation GetImportJob for usage and error information.
5610//
5611// Returned Error Types:
5612//   * BadRequestException
5613//   Provides information about an API request or response.
5614//
5615//   * InternalServerErrorException
5616//   Provides information about an API request or response.
5617//
5618//   * PayloadTooLargeException
5619//   Provides information about an API request or response.
5620//
5621//   * ForbiddenException
5622//   Provides information about an API request or response.
5623//
5624//   * NotFoundException
5625//   Provides information about an API request or response.
5626//
5627//   * MethodNotAllowedException
5628//   Provides information about an API request or response.
5629//
5630//   * TooManyRequestsException
5631//   Provides information about an API request or response.
5632//
5633// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJob
5634func (c *Pinpoint) GetImportJob(input *GetImportJobInput) (*GetImportJobOutput, error) {
5635	req, out := c.GetImportJobRequest(input)
5636	return out, req.Send()
5637}
5638
5639// GetImportJobWithContext is the same as GetImportJob with the addition of
5640// the ability to pass a context and additional request options.
5641//
5642// See GetImportJob for details on how to use this API operation.
5643//
5644// The context must be non-nil and will be used for request cancellation. If
5645// the context is nil a panic will occur. In the future the SDK may create
5646// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5647// for more information on using Contexts.
5648func (c *Pinpoint) GetImportJobWithContext(ctx aws.Context, input *GetImportJobInput, opts ...request.Option) (*GetImportJobOutput, error) {
5649	req, out := c.GetImportJobRequest(input)
5650	req.SetContext(ctx)
5651	req.ApplyOptions(opts...)
5652	return out, req.Send()
5653}
5654
5655const opGetImportJobs = "GetImportJobs"
5656
5657// GetImportJobsRequest generates a "aws/request.Request" representing the
5658// client's request for the GetImportJobs operation. The "output" return
5659// value will be populated with the request's response once the request completes
5660// successfully.
5661//
5662// Use "Send" method on the returned Request to send the API call to the service.
5663// the "output" return value is not valid until after Send returns without error.
5664//
5665// See GetImportJobs for more information on using the GetImportJobs
5666// API call, and error handling.
5667//
5668// This method is useful when you want to inject custom logic or configuration
5669// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5670//
5671//
5672//    // Example sending a request using the GetImportJobsRequest method.
5673//    req, resp := client.GetImportJobsRequest(params)
5674//
5675//    err := req.Send()
5676//    if err == nil { // resp is now filled
5677//        fmt.Println(resp)
5678//    }
5679//
5680// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobs
5681func (c *Pinpoint) GetImportJobsRequest(input *GetImportJobsInput) (req *request.Request, output *GetImportJobsOutput) {
5682	op := &request.Operation{
5683		Name:       opGetImportJobs,
5684		HTTPMethod: "GET",
5685		HTTPPath:   "/v1/apps/{application-id}/jobs/import",
5686	}
5687
5688	if input == nil {
5689		input = &GetImportJobsInput{}
5690	}
5691
5692	output = &GetImportJobsOutput{}
5693	req = c.newRequest(op, input, output)
5694	return
5695}
5696
5697// GetImportJobs API operation for Amazon Pinpoint.
5698//
5699// Retrieves information about the status and settings of all the import jobs
5700// for an application.
5701//
5702// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5703// with awserr.Error's Code and Message methods to get detailed information about
5704// the error.
5705//
5706// See the AWS API reference guide for Amazon Pinpoint's
5707// API operation GetImportJobs for usage and error information.
5708//
5709// Returned Error Types:
5710//   * BadRequestException
5711//   Provides information about an API request or response.
5712//
5713//   * InternalServerErrorException
5714//   Provides information about an API request or response.
5715//
5716//   * PayloadTooLargeException
5717//   Provides information about an API request or response.
5718//
5719//   * ForbiddenException
5720//   Provides information about an API request or response.
5721//
5722//   * NotFoundException
5723//   Provides information about an API request or response.
5724//
5725//   * MethodNotAllowedException
5726//   Provides information about an API request or response.
5727//
5728//   * TooManyRequestsException
5729//   Provides information about an API request or response.
5730//
5731// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobs
5732func (c *Pinpoint) GetImportJobs(input *GetImportJobsInput) (*GetImportJobsOutput, error) {
5733	req, out := c.GetImportJobsRequest(input)
5734	return out, req.Send()
5735}
5736
5737// GetImportJobsWithContext is the same as GetImportJobs with the addition of
5738// the ability to pass a context and additional request options.
5739//
5740// See GetImportJobs for details on how to use this API operation.
5741//
5742// The context must be non-nil and will be used for request cancellation. If
5743// the context is nil a panic will occur. In the future the SDK may create
5744// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5745// for more information on using Contexts.
5746func (c *Pinpoint) GetImportJobsWithContext(ctx aws.Context, input *GetImportJobsInput, opts ...request.Option) (*GetImportJobsOutput, error) {
5747	req, out := c.GetImportJobsRequest(input)
5748	req.SetContext(ctx)
5749	req.ApplyOptions(opts...)
5750	return out, req.Send()
5751}
5752
5753const opGetJourney = "GetJourney"
5754
5755// GetJourneyRequest generates a "aws/request.Request" representing the
5756// client's request for the GetJourney operation. The "output" return
5757// value will be populated with the request's response once the request completes
5758// successfully.
5759//
5760// Use "Send" method on the returned Request to send the API call to the service.
5761// the "output" return value is not valid until after Send returns without error.
5762//
5763// See GetJourney for more information on using the GetJourney
5764// API call, and error handling.
5765//
5766// This method is useful when you want to inject custom logic or configuration
5767// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5768//
5769//
5770//    // Example sending a request using the GetJourneyRequest method.
5771//    req, resp := client.GetJourneyRequest(params)
5772//
5773//    err := req.Send()
5774//    if err == nil { // resp is now filled
5775//        fmt.Println(resp)
5776//    }
5777//
5778// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourney
5779func (c *Pinpoint) GetJourneyRequest(input *GetJourneyInput) (req *request.Request, output *GetJourneyOutput) {
5780	op := &request.Operation{
5781		Name:       opGetJourney,
5782		HTTPMethod: "GET",
5783		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}",
5784	}
5785
5786	if input == nil {
5787		input = &GetJourneyInput{}
5788	}
5789
5790	output = &GetJourneyOutput{}
5791	req = c.newRequest(op, input, output)
5792	return
5793}
5794
5795// GetJourney API operation for Amazon Pinpoint.
5796//
5797// Retrieves information about the status, configuration, and other settings
5798// for a journey.
5799//
5800// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5801// with awserr.Error's Code and Message methods to get detailed information about
5802// the error.
5803//
5804// See the AWS API reference guide for Amazon Pinpoint's
5805// API operation GetJourney for usage and error information.
5806//
5807// Returned Error Types:
5808//   * BadRequestException
5809//   Provides information about an API request or response.
5810//
5811//   * InternalServerErrorException
5812//   Provides information about an API request or response.
5813//
5814//   * PayloadTooLargeException
5815//   Provides information about an API request or response.
5816//
5817//   * ForbiddenException
5818//   Provides information about an API request or response.
5819//
5820//   * NotFoundException
5821//   Provides information about an API request or response.
5822//
5823//   * MethodNotAllowedException
5824//   Provides information about an API request or response.
5825//
5826//   * TooManyRequestsException
5827//   Provides information about an API request or response.
5828//
5829// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourney
5830func (c *Pinpoint) GetJourney(input *GetJourneyInput) (*GetJourneyOutput, error) {
5831	req, out := c.GetJourneyRequest(input)
5832	return out, req.Send()
5833}
5834
5835// GetJourneyWithContext is the same as GetJourney with the addition of
5836// the ability to pass a context and additional request options.
5837//
5838// See GetJourney for details on how to use this API operation.
5839//
5840// The context must be non-nil and will be used for request cancellation. If
5841// the context is nil a panic will occur. In the future the SDK may create
5842// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5843// for more information on using Contexts.
5844func (c *Pinpoint) GetJourneyWithContext(ctx aws.Context, input *GetJourneyInput, opts ...request.Option) (*GetJourneyOutput, error) {
5845	req, out := c.GetJourneyRequest(input)
5846	req.SetContext(ctx)
5847	req.ApplyOptions(opts...)
5848	return out, req.Send()
5849}
5850
5851const opGetJourneyDateRangeKpi = "GetJourneyDateRangeKpi"
5852
5853// GetJourneyDateRangeKpiRequest generates a "aws/request.Request" representing the
5854// client's request for the GetJourneyDateRangeKpi operation. The "output" return
5855// value will be populated with the request's response once the request completes
5856// successfully.
5857//
5858// Use "Send" method on the returned Request to send the API call to the service.
5859// the "output" return value is not valid until after Send returns without error.
5860//
5861// See GetJourneyDateRangeKpi for more information on using the GetJourneyDateRangeKpi
5862// API call, and error handling.
5863//
5864// This method is useful when you want to inject custom logic or configuration
5865// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5866//
5867//
5868//    // Example sending a request using the GetJourneyDateRangeKpiRequest method.
5869//    req, resp := client.GetJourneyDateRangeKpiRequest(params)
5870//
5871//    err := req.Send()
5872//    if err == nil { // resp is now filled
5873//        fmt.Println(resp)
5874//    }
5875//
5876// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyDateRangeKpi
5877func (c *Pinpoint) GetJourneyDateRangeKpiRequest(input *GetJourneyDateRangeKpiInput) (req *request.Request, output *GetJourneyDateRangeKpiOutput) {
5878	op := &request.Operation{
5879		Name:       opGetJourneyDateRangeKpi,
5880		HTTPMethod: "GET",
5881		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}/kpis/daterange/{kpi-name}",
5882	}
5883
5884	if input == nil {
5885		input = &GetJourneyDateRangeKpiInput{}
5886	}
5887
5888	output = &GetJourneyDateRangeKpiOutput{}
5889	req = c.newRequest(op, input, output)
5890	return
5891}
5892
5893// GetJourneyDateRangeKpi API operation for Amazon Pinpoint.
5894//
5895// Retrieves (queries) pre-aggregated data for a standard engagement metric
5896// that applies to a journey.
5897//
5898// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5899// with awserr.Error's Code and Message methods to get detailed information about
5900// the error.
5901//
5902// See the AWS API reference guide for Amazon Pinpoint's
5903// API operation GetJourneyDateRangeKpi for usage and error information.
5904//
5905// Returned Error Types:
5906//   * BadRequestException
5907//   Provides information about an API request or response.
5908//
5909//   * InternalServerErrorException
5910//   Provides information about an API request or response.
5911//
5912//   * PayloadTooLargeException
5913//   Provides information about an API request or response.
5914//
5915//   * ForbiddenException
5916//   Provides information about an API request or response.
5917//
5918//   * NotFoundException
5919//   Provides information about an API request or response.
5920//
5921//   * MethodNotAllowedException
5922//   Provides information about an API request or response.
5923//
5924//   * TooManyRequestsException
5925//   Provides information about an API request or response.
5926//
5927// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyDateRangeKpi
5928func (c *Pinpoint) GetJourneyDateRangeKpi(input *GetJourneyDateRangeKpiInput) (*GetJourneyDateRangeKpiOutput, error) {
5929	req, out := c.GetJourneyDateRangeKpiRequest(input)
5930	return out, req.Send()
5931}
5932
5933// GetJourneyDateRangeKpiWithContext is the same as GetJourneyDateRangeKpi with the addition of
5934// the ability to pass a context and additional request options.
5935//
5936// See GetJourneyDateRangeKpi for details on how to use this API operation.
5937//
5938// The context must be non-nil and will be used for request cancellation. If
5939// the context is nil a panic will occur. In the future the SDK may create
5940// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5941// for more information on using Contexts.
5942func (c *Pinpoint) GetJourneyDateRangeKpiWithContext(ctx aws.Context, input *GetJourneyDateRangeKpiInput, opts ...request.Option) (*GetJourneyDateRangeKpiOutput, error) {
5943	req, out := c.GetJourneyDateRangeKpiRequest(input)
5944	req.SetContext(ctx)
5945	req.ApplyOptions(opts...)
5946	return out, req.Send()
5947}
5948
5949const opGetJourneyExecutionActivityMetrics = "GetJourneyExecutionActivityMetrics"
5950
5951// GetJourneyExecutionActivityMetricsRequest generates a "aws/request.Request" representing the
5952// client's request for the GetJourneyExecutionActivityMetrics operation. The "output" return
5953// value will be populated with the request's response once the request completes
5954// successfully.
5955//
5956// Use "Send" method on the returned Request to send the API call to the service.
5957// the "output" return value is not valid until after Send returns without error.
5958//
5959// See GetJourneyExecutionActivityMetrics for more information on using the GetJourneyExecutionActivityMetrics
5960// API call, and error handling.
5961//
5962// This method is useful when you want to inject custom logic or configuration
5963// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5964//
5965//
5966//    // Example sending a request using the GetJourneyExecutionActivityMetricsRequest method.
5967//    req, resp := client.GetJourneyExecutionActivityMetricsRequest(params)
5968//
5969//    err := req.Send()
5970//    if err == nil { // resp is now filled
5971//        fmt.Println(resp)
5972//    }
5973//
5974// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionActivityMetrics
5975func (c *Pinpoint) GetJourneyExecutionActivityMetricsRequest(input *GetJourneyExecutionActivityMetricsInput) (req *request.Request, output *GetJourneyExecutionActivityMetricsOutput) {
5976	op := &request.Operation{
5977		Name:       opGetJourneyExecutionActivityMetrics,
5978		HTTPMethod: "GET",
5979		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}/activities/{journey-activity-id}/execution-metrics",
5980	}
5981
5982	if input == nil {
5983		input = &GetJourneyExecutionActivityMetricsInput{}
5984	}
5985
5986	output = &GetJourneyExecutionActivityMetricsOutput{}
5987	req = c.newRequest(op, input, output)
5988	return
5989}
5990
5991// GetJourneyExecutionActivityMetrics API operation for Amazon Pinpoint.
5992//
5993// Retrieves (queries) pre-aggregated data for a standard execution metric that
5994// applies to a journey activity.
5995//
5996// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5997// with awserr.Error's Code and Message methods to get detailed information about
5998// the error.
5999//
6000// See the AWS API reference guide for Amazon Pinpoint's
6001// API operation GetJourneyExecutionActivityMetrics for usage and error information.
6002//
6003// Returned Error Types:
6004//   * BadRequestException
6005//   Provides information about an API request or response.
6006//
6007//   * InternalServerErrorException
6008//   Provides information about an API request or response.
6009//
6010//   * PayloadTooLargeException
6011//   Provides information about an API request or response.
6012//
6013//   * ForbiddenException
6014//   Provides information about an API request or response.
6015//
6016//   * NotFoundException
6017//   Provides information about an API request or response.
6018//
6019//   * MethodNotAllowedException
6020//   Provides information about an API request or response.
6021//
6022//   * TooManyRequestsException
6023//   Provides information about an API request or response.
6024//
6025// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionActivityMetrics
6026func (c *Pinpoint) GetJourneyExecutionActivityMetrics(input *GetJourneyExecutionActivityMetricsInput) (*GetJourneyExecutionActivityMetricsOutput, error) {
6027	req, out := c.GetJourneyExecutionActivityMetricsRequest(input)
6028	return out, req.Send()
6029}
6030
6031// GetJourneyExecutionActivityMetricsWithContext is the same as GetJourneyExecutionActivityMetrics with the addition of
6032// the ability to pass a context and additional request options.
6033//
6034// See GetJourneyExecutionActivityMetrics for details on how to use this API operation.
6035//
6036// The context must be non-nil and will be used for request cancellation. If
6037// the context is nil a panic will occur. In the future the SDK may create
6038// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6039// for more information on using Contexts.
6040func (c *Pinpoint) GetJourneyExecutionActivityMetricsWithContext(ctx aws.Context, input *GetJourneyExecutionActivityMetricsInput, opts ...request.Option) (*GetJourneyExecutionActivityMetricsOutput, error) {
6041	req, out := c.GetJourneyExecutionActivityMetricsRequest(input)
6042	req.SetContext(ctx)
6043	req.ApplyOptions(opts...)
6044	return out, req.Send()
6045}
6046
6047const opGetJourneyExecutionMetrics = "GetJourneyExecutionMetrics"
6048
6049// GetJourneyExecutionMetricsRequest generates a "aws/request.Request" representing the
6050// client's request for the GetJourneyExecutionMetrics operation. The "output" return
6051// value will be populated with the request's response once the request completes
6052// successfully.
6053//
6054// Use "Send" method on the returned Request to send the API call to the service.
6055// the "output" return value is not valid until after Send returns without error.
6056//
6057// See GetJourneyExecutionMetrics for more information on using the GetJourneyExecutionMetrics
6058// API call, and error handling.
6059//
6060// This method is useful when you want to inject custom logic or configuration
6061// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6062//
6063//
6064//    // Example sending a request using the GetJourneyExecutionMetricsRequest method.
6065//    req, resp := client.GetJourneyExecutionMetricsRequest(params)
6066//
6067//    err := req.Send()
6068//    if err == nil { // resp is now filled
6069//        fmt.Println(resp)
6070//    }
6071//
6072// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionMetrics
6073func (c *Pinpoint) GetJourneyExecutionMetricsRequest(input *GetJourneyExecutionMetricsInput) (req *request.Request, output *GetJourneyExecutionMetricsOutput) {
6074	op := &request.Operation{
6075		Name:       opGetJourneyExecutionMetrics,
6076		HTTPMethod: "GET",
6077		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}/execution-metrics",
6078	}
6079
6080	if input == nil {
6081		input = &GetJourneyExecutionMetricsInput{}
6082	}
6083
6084	output = &GetJourneyExecutionMetricsOutput{}
6085	req = c.newRequest(op, input, output)
6086	return
6087}
6088
6089// GetJourneyExecutionMetrics API operation for Amazon Pinpoint.
6090//
6091// Retrieves (queries) pre-aggregated data for a standard execution metric that
6092// applies to a journey.
6093//
6094// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6095// with awserr.Error's Code and Message methods to get detailed information about
6096// the error.
6097//
6098// See the AWS API reference guide for Amazon Pinpoint's
6099// API operation GetJourneyExecutionMetrics for usage and error information.
6100//
6101// Returned Error Types:
6102//   * BadRequestException
6103//   Provides information about an API request or response.
6104//
6105//   * InternalServerErrorException
6106//   Provides information about an API request or response.
6107//
6108//   * PayloadTooLargeException
6109//   Provides information about an API request or response.
6110//
6111//   * ForbiddenException
6112//   Provides information about an API request or response.
6113//
6114//   * NotFoundException
6115//   Provides information about an API request or response.
6116//
6117//   * MethodNotAllowedException
6118//   Provides information about an API request or response.
6119//
6120//   * TooManyRequestsException
6121//   Provides information about an API request or response.
6122//
6123// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionMetrics
6124func (c *Pinpoint) GetJourneyExecutionMetrics(input *GetJourneyExecutionMetricsInput) (*GetJourneyExecutionMetricsOutput, error) {
6125	req, out := c.GetJourneyExecutionMetricsRequest(input)
6126	return out, req.Send()
6127}
6128
6129// GetJourneyExecutionMetricsWithContext is the same as GetJourneyExecutionMetrics with the addition of
6130// the ability to pass a context and additional request options.
6131//
6132// See GetJourneyExecutionMetrics for details on how to use this API operation.
6133//
6134// The context must be non-nil and will be used for request cancellation. If
6135// the context is nil a panic will occur. In the future the SDK may create
6136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6137// for more information on using Contexts.
6138func (c *Pinpoint) GetJourneyExecutionMetricsWithContext(ctx aws.Context, input *GetJourneyExecutionMetricsInput, opts ...request.Option) (*GetJourneyExecutionMetricsOutput, error) {
6139	req, out := c.GetJourneyExecutionMetricsRequest(input)
6140	req.SetContext(ctx)
6141	req.ApplyOptions(opts...)
6142	return out, req.Send()
6143}
6144
6145const opGetPushTemplate = "GetPushTemplate"
6146
6147// GetPushTemplateRequest generates a "aws/request.Request" representing the
6148// client's request for the GetPushTemplate operation. The "output" return
6149// value will be populated with the request's response once the request completes
6150// successfully.
6151//
6152// Use "Send" method on the returned Request to send the API call to the service.
6153// the "output" return value is not valid until after Send returns without error.
6154//
6155// See GetPushTemplate for more information on using the GetPushTemplate
6156// API call, and error handling.
6157//
6158// This method is useful when you want to inject custom logic or configuration
6159// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6160//
6161//
6162//    // Example sending a request using the GetPushTemplateRequest method.
6163//    req, resp := client.GetPushTemplateRequest(params)
6164//
6165//    err := req.Send()
6166//    if err == nil { // resp is now filled
6167//        fmt.Println(resp)
6168//    }
6169//
6170// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetPushTemplate
6171func (c *Pinpoint) GetPushTemplateRequest(input *GetPushTemplateInput) (req *request.Request, output *GetPushTemplateOutput) {
6172	op := &request.Operation{
6173		Name:       opGetPushTemplate,
6174		HTTPMethod: "GET",
6175		HTTPPath:   "/v1/templates/{template-name}/push",
6176	}
6177
6178	if input == nil {
6179		input = &GetPushTemplateInput{}
6180	}
6181
6182	output = &GetPushTemplateOutput{}
6183	req = c.newRequest(op, input, output)
6184	return
6185}
6186
6187// GetPushTemplate API operation for Amazon Pinpoint.
6188//
6189// Retrieves the content and settings of a message template for messages that
6190// are sent through a push notification channel.
6191//
6192// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6193// with awserr.Error's Code and Message methods to get detailed information about
6194// the error.
6195//
6196// See the AWS API reference guide for Amazon Pinpoint's
6197// API operation GetPushTemplate for usage and error information.
6198//
6199// Returned Error Types:
6200//   * BadRequestException
6201//   Provides information about an API request or response.
6202//
6203//   * InternalServerErrorException
6204//   Provides information about an API request or response.
6205//
6206//   * PayloadTooLargeException
6207//   Provides information about an API request or response.
6208//
6209//   * ForbiddenException
6210//   Provides information about an API request or response.
6211//
6212//   * NotFoundException
6213//   Provides information about an API request or response.
6214//
6215//   * MethodNotAllowedException
6216//   Provides information about an API request or response.
6217//
6218//   * TooManyRequestsException
6219//   Provides information about an API request or response.
6220//
6221// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetPushTemplate
6222func (c *Pinpoint) GetPushTemplate(input *GetPushTemplateInput) (*GetPushTemplateOutput, error) {
6223	req, out := c.GetPushTemplateRequest(input)
6224	return out, req.Send()
6225}
6226
6227// GetPushTemplateWithContext is the same as GetPushTemplate with the addition of
6228// the ability to pass a context and additional request options.
6229//
6230// See GetPushTemplate for details on how to use this API operation.
6231//
6232// The context must be non-nil and will be used for request cancellation. If
6233// the context is nil a panic will occur. In the future the SDK may create
6234// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6235// for more information on using Contexts.
6236func (c *Pinpoint) GetPushTemplateWithContext(ctx aws.Context, input *GetPushTemplateInput, opts ...request.Option) (*GetPushTemplateOutput, error) {
6237	req, out := c.GetPushTemplateRequest(input)
6238	req.SetContext(ctx)
6239	req.ApplyOptions(opts...)
6240	return out, req.Send()
6241}
6242
6243const opGetRecommenderConfiguration = "GetRecommenderConfiguration"
6244
6245// GetRecommenderConfigurationRequest generates a "aws/request.Request" representing the
6246// client's request for the GetRecommenderConfiguration operation. The "output" return
6247// value will be populated with the request's response once the request completes
6248// successfully.
6249//
6250// Use "Send" method on the returned Request to send the API call to the service.
6251// the "output" return value is not valid until after Send returns without error.
6252//
6253// See GetRecommenderConfiguration for more information on using the GetRecommenderConfiguration
6254// API call, and error handling.
6255//
6256// This method is useful when you want to inject custom logic or configuration
6257// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6258//
6259//
6260//    // Example sending a request using the GetRecommenderConfigurationRequest method.
6261//    req, resp := client.GetRecommenderConfigurationRequest(params)
6262//
6263//    err := req.Send()
6264//    if err == nil { // resp is now filled
6265//        fmt.Println(resp)
6266//    }
6267//
6268// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfiguration
6269func (c *Pinpoint) GetRecommenderConfigurationRequest(input *GetRecommenderConfigurationInput) (req *request.Request, output *GetRecommenderConfigurationOutput) {
6270	op := &request.Operation{
6271		Name:       opGetRecommenderConfiguration,
6272		HTTPMethod: "GET",
6273		HTTPPath:   "/v1/recommenders/{recommender-id}",
6274	}
6275
6276	if input == nil {
6277		input = &GetRecommenderConfigurationInput{}
6278	}
6279
6280	output = &GetRecommenderConfigurationOutput{}
6281	req = c.newRequest(op, input, output)
6282	return
6283}
6284
6285// GetRecommenderConfiguration API operation for Amazon Pinpoint.
6286//
6287// Retrieves information about an Amazon Pinpoint configuration for a recommender
6288// model.
6289//
6290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6291// with awserr.Error's Code and Message methods to get detailed information about
6292// the error.
6293//
6294// See the AWS API reference guide for Amazon Pinpoint's
6295// API operation GetRecommenderConfiguration for usage and error information.
6296//
6297// Returned Error Types:
6298//   * BadRequestException
6299//   Provides information about an API request or response.
6300//
6301//   * InternalServerErrorException
6302//   Provides information about an API request or response.
6303//
6304//   * PayloadTooLargeException
6305//   Provides information about an API request or response.
6306//
6307//   * ForbiddenException
6308//   Provides information about an API request or response.
6309//
6310//   * NotFoundException
6311//   Provides information about an API request or response.
6312//
6313//   * MethodNotAllowedException
6314//   Provides information about an API request or response.
6315//
6316//   * TooManyRequestsException
6317//   Provides information about an API request or response.
6318//
6319// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfiguration
6320func (c *Pinpoint) GetRecommenderConfiguration(input *GetRecommenderConfigurationInput) (*GetRecommenderConfigurationOutput, error) {
6321	req, out := c.GetRecommenderConfigurationRequest(input)
6322	return out, req.Send()
6323}
6324
6325// GetRecommenderConfigurationWithContext is the same as GetRecommenderConfiguration with the addition of
6326// the ability to pass a context and additional request options.
6327//
6328// See GetRecommenderConfiguration for details on how to use this API operation.
6329//
6330// The context must be non-nil and will be used for request cancellation. If
6331// the context is nil a panic will occur. In the future the SDK may create
6332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6333// for more information on using Contexts.
6334func (c *Pinpoint) GetRecommenderConfigurationWithContext(ctx aws.Context, input *GetRecommenderConfigurationInput, opts ...request.Option) (*GetRecommenderConfigurationOutput, error) {
6335	req, out := c.GetRecommenderConfigurationRequest(input)
6336	req.SetContext(ctx)
6337	req.ApplyOptions(opts...)
6338	return out, req.Send()
6339}
6340
6341const opGetRecommenderConfigurations = "GetRecommenderConfigurations"
6342
6343// GetRecommenderConfigurationsRequest generates a "aws/request.Request" representing the
6344// client's request for the GetRecommenderConfigurations operation. The "output" return
6345// value will be populated with the request's response once the request completes
6346// successfully.
6347//
6348// Use "Send" method on the returned Request to send the API call to the service.
6349// the "output" return value is not valid until after Send returns without error.
6350//
6351// See GetRecommenderConfigurations for more information on using the GetRecommenderConfigurations
6352// API call, and error handling.
6353//
6354// This method is useful when you want to inject custom logic or configuration
6355// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6356//
6357//
6358//    // Example sending a request using the GetRecommenderConfigurationsRequest method.
6359//    req, resp := client.GetRecommenderConfigurationsRequest(params)
6360//
6361//    err := req.Send()
6362//    if err == nil { // resp is now filled
6363//        fmt.Println(resp)
6364//    }
6365//
6366// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfigurations
6367func (c *Pinpoint) GetRecommenderConfigurationsRequest(input *GetRecommenderConfigurationsInput) (req *request.Request, output *GetRecommenderConfigurationsOutput) {
6368	op := &request.Operation{
6369		Name:       opGetRecommenderConfigurations,
6370		HTTPMethod: "GET",
6371		HTTPPath:   "/v1/recommenders",
6372	}
6373
6374	if input == nil {
6375		input = &GetRecommenderConfigurationsInput{}
6376	}
6377
6378	output = &GetRecommenderConfigurationsOutput{}
6379	req = c.newRequest(op, input, output)
6380	return
6381}
6382
6383// GetRecommenderConfigurations API operation for Amazon Pinpoint.
6384//
6385// Retrieves information about all the recommender model configurations that
6386// are associated with your Amazon Pinpoint account.
6387//
6388// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6389// with awserr.Error's Code and Message methods to get detailed information about
6390// the error.
6391//
6392// See the AWS API reference guide for Amazon Pinpoint's
6393// API operation GetRecommenderConfigurations for usage and error information.
6394//
6395// Returned Error Types:
6396//   * BadRequestException
6397//   Provides information about an API request or response.
6398//
6399//   * InternalServerErrorException
6400//   Provides information about an API request or response.
6401//
6402//   * PayloadTooLargeException
6403//   Provides information about an API request or response.
6404//
6405//   * ForbiddenException
6406//   Provides information about an API request or response.
6407//
6408//   * NotFoundException
6409//   Provides information about an API request or response.
6410//
6411//   * MethodNotAllowedException
6412//   Provides information about an API request or response.
6413//
6414//   * TooManyRequestsException
6415//   Provides information about an API request or response.
6416//
6417// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfigurations
6418func (c *Pinpoint) GetRecommenderConfigurations(input *GetRecommenderConfigurationsInput) (*GetRecommenderConfigurationsOutput, error) {
6419	req, out := c.GetRecommenderConfigurationsRequest(input)
6420	return out, req.Send()
6421}
6422
6423// GetRecommenderConfigurationsWithContext is the same as GetRecommenderConfigurations with the addition of
6424// the ability to pass a context and additional request options.
6425//
6426// See GetRecommenderConfigurations for details on how to use this API operation.
6427//
6428// The context must be non-nil and will be used for request cancellation. If
6429// the context is nil a panic will occur. In the future the SDK may create
6430// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6431// for more information on using Contexts.
6432func (c *Pinpoint) GetRecommenderConfigurationsWithContext(ctx aws.Context, input *GetRecommenderConfigurationsInput, opts ...request.Option) (*GetRecommenderConfigurationsOutput, error) {
6433	req, out := c.GetRecommenderConfigurationsRequest(input)
6434	req.SetContext(ctx)
6435	req.ApplyOptions(opts...)
6436	return out, req.Send()
6437}
6438
6439const opGetSegment = "GetSegment"
6440
6441// GetSegmentRequest generates a "aws/request.Request" representing the
6442// client's request for the GetSegment operation. The "output" return
6443// value will be populated with the request's response once the request completes
6444// successfully.
6445//
6446// Use "Send" method on the returned Request to send the API call to the service.
6447// the "output" return value is not valid until after Send returns without error.
6448//
6449// See GetSegment for more information on using the GetSegment
6450// API call, and error handling.
6451//
6452// This method is useful when you want to inject custom logic or configuration
6453// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6454//
6455//
6456//    // Example sending a request using the GetSegmentRequest method.
6457//    req, resp := client.GetSegmentRequest(params)
6458//
6459//    err := req.Send()
6460//    if err == nil { // resp is now filled
6461//        fmt.Println(resp)
6462//    }
6463//
6464// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment
6465func (c *Pinpoint) GetSegmentRequest(input *GetSegmentInput) (req *request.Request, output *GetSegmentOutput) {
6466	op := &request.Operation{
6467		Name:       opGetSegment,
6468		HTTPMethod: "GET",
6469		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
6470	}
6471
6472	if input == nil {
6473		input = &GetSegmentInput{}
6474	}
6475
6476	output = &GetSegmentOutput{}
6477	req = c.newRequest(op, input, output)
6478	return
6479}
6480
6481// GetSegment API operation for Amazon Pinpoint.
6482//
6483// Retrieves information about the configuration, dimension, and other settings
6484// for a specific segment that's associated with an application.
6485//
6486// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6487// with awserr.Error's Code and Message methods to get detailed information about
6488// the error.
6489//
6490// See the AWS API reference guide for Amazon Pinpoint's
6491// API operation GetSegment for usage and error information.
6492//
6493// Returned Error Types:
6494//   * BadRequestException
6495//   Provides information about an API request or response.
6496//
6497//   * InternalServerErrorException
6498//   Provides information about an API request or response.
6499//
6500//   * PayloadTooLargeException
6501//   Provides information about an API request or response.
6502//
6503//   * ForbiddenException
6504//   Provides information about an API request or response.
6505//
6506//   * NotFoundException
6507//   Provides information about an API request or response.
6508//
6509//   * MethodNotAllowedException
6510//   Provides information about an API request or response.
6511//
6512//   * TooManyRequestsException
6513//   Provides information about an API request or response.
6514//
6515// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment
6516func (c *Pinpoint) GetSegment(input *GetSegmentInput) (*GetSegmentOutput, error) {
6517	req, out := c.GetSegmentRequest(input)
6518	return out, req.Send()
6519}
6520
6521// GetSegmentWithContext is the same as GetSegment with the addition of
6522// the ability to pass a context and additional request options.
6523//
6524// See GetSegment for details on how to use this API operation.
6525//
6526// The context must be non-nil and will be used for request cancellation. If
6527// the context is nil a panic will occur. In the future the SDK may create
6528// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6529// for more information on using Contexts.
6530func (c *Pinpoint) GetSegmentWithContext(ctx aws.Context, input *GetSegmentInput, opts ...request.Option) (*GetSegmentOutput, error) {
6531	req, out := c.GetSegmentRequest(input)
6532	req.SetContext(ctx)
6533	req.ApplyOptions(opts...)
6534	return out, req.Send()
6535}
6536
6537const opGetSegmentExportJobs = "GetSegmentExportJobs"
6538
6539// GetSegmentExportJobsRequest generates a "aws/request.Request" representing the
6540// client's request for the GetSegmentExportJobs operation. The "output" return
6541// value will be populated with the request's response once the request completes
6542// successfully.
6543//
6544// Use "Send" method on the returned Request to send the API call to the service.
6545// the "output" return value is not valid until after Send returns without error.
6546//
6547// See GetSegmentExportJobs for more information on using the GetSegmentExportJobs
6548// API call, and error handling.
6549//
6550// This method is useful when you want to inject custom logic or configuration
6551// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6552//
6553//
6554//    // Example sending a request using the GetSegmentExportJobsRequest method.
6555//    req, resp := client.GetSegmentExportJobsRequest(params)
6556//
6557//    err := req.Send()
6558//    if err == nil { // resp is now filled
6559//        fmt.Println(resp)
6560//    }
6561//
6562// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs
6563func (c *Pinpoint) GetSegmentExportJobsRequest(input *GetSegmentExportJobsInput) (req *request.Request, output *GetSegmentExportJobsOutput) {
6564	op := &request.Operation{
6565		Name:       opGetSegmentExportJobs,
6566		HTTPMethod: "GET",
6567		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/jobs/export",
6568	}
6569
6570	if input == nil {
6571		input = &GetSegmentExportJobsInput{}
6572	}
6573
6574	output = &GetSegmentExportJobsOutput{}
6575	req = c.newRequest(op, input, output)
6576	return
6577}
6578
6579// GetSegmentExportJobs API operation for Amazon Pinpoint.
6580//
6581// Retrieves information about the status and settings of the export jobs for
6582// a segment.
6583//
6584// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6585// with awserr.Error's Code and Message methods to get detailed information about
6586// the error.
6587//
6588// See the AWS API reference guide for Amazon Pinpoint's
6589// API operation GetSegmentExportJobs for usage and error information.
6590//
6591// Returned Error Types:
6592//   * BadRequestException
6593//   Provides information about an API request or response.
6594//
6595//   * InternalServerErrorException
6596//   Provides information about an API request or response.
6597//
6598//   * PayloadTooLargeException
6599//   Provides information about an API request or response.
6600//
6601//   * ForbiddenException
6602//   Provides information about an API request or response.
6603//
6604//   * NotFoundException
6605//   Provides information about an API request or response.
6606//
6607//   * MethodNotAllowedException
6608//   Provides information about an API request or response.
6609//
6610//   * TooManyRequestsException
6611//   Provides information about an API request or response.
6612//
6613// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs
6614func (c *Pinpoint) GetSegmentExportJobs(input *GetSegmentExportJobsInput) (*GetSegmentExportJobsOutput, error) {
6615	req, out := c.GetSegmentExportJobsRequest(input)
6616	return out, req.Send()
6617}
6618
6619// GetSegmentExportJobsWithContext is the same as GetSegmentExportJobs with the addition of
6620// the ability to pass a context and additional request options.
6621//
6622// See GetSegmentExportJobs for details on how to use this API operation.
6623//
6624// The context must be non-nil and will be used for request cancellation. If
6625// the context is nil a panic will occur. In the future the SDK may create
6626// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6627// for more information on using Contexts.
6628func (c *Pinpoint) GetSegmentExportJobsWithContext(ctx aws.Context, input *GetSegmentExportJobsInput, opts ...request.Option) (*GetSegmentExportJobsOutput, error) {
6629	req, out := c.GetSegmentExportJobsRequest(input)
6630	req.SetContext(ctx)
6631	req.ApplyOptions(opts...)
6632	return out, req.Send()
6633}
6634
6635const opGetSegmentImportJobs = "GetSegmentImportJobs"
6636
6637// GetSegmentImportJobsRequest generates a "aws/request.Request" representing the
6638// client's request for the GetSegmentImportJobs operation. The "output" return
6639// value will be populated with the request's response once the request completes
6640// successfully.
6641//
6642// Use "Send" method on the returned Request to send the API call to the service.
6643// the "output" return value is not valid until after Send returns without error.
6644//
6645// See GetSegmentImportJobs for more information on using the GetSegmentImportJobs
6646// API call, and error handling.
6647//
6648// This method is useful when you want to inject custom logic or configuration
6649// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6650//
6651//
6652//    // Example sending a request using the GetSegmentImportJobsRequest method.
6653//    req, resp := client.GetSegmentImportJobsRequest(params)
6654//
6655//    err := req.Send()
6656//    if err == nil { // resp is now filled
6657//        fmt.Println(resp)
6658//    }
6659//
6660// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs
6661func (c *Pinpoint) GetSegmentImportJobsRequest(input *GetSegmentImportJobsInput) (req *request.Request, output *GetSegmentImportJobsOutput) {
6662	op := &request.Operation{
6663		Name:       opGetSegmentImportJobs,
6664		HTTPMethod: "GET",
6665		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/jobs/import",
6666	}
6667
6668	if input == nil {
6669		input = &GetSegmentImportJobsInput{}
6670	}
6671
6672	output = &GetSegmentImportJobsOutput{}
6673	req = c.newRequest(op, input, output)
6674	return
6675}
6676
6677// GetSegmentImportJobs API operation for Amazon Pinpoint.
6678//
6679// Retrieves information about the status and settings of the import jobs for
6680// a segment.
6681//
6682// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6683// with awserr.Error's Code and Message methods to get detailed information about
6684// the error.
6685//
6686// See the AWS API reference guide for Amazon Pinpoint's
6687// API operation GetSegmentImportJobs for usage and error information.
6688//
6689// Returned Error Types:
6690//   * BadRequestException
6691//   Provides information about an API request or response.
6692//
6693//   * InternalServerErrorException
6694//   Provides information about an API request or response.
6695//
6696//   * PayloadTooLargeException
6697//   Provides information about an API request or response.
6698//
6699//   * ForbiddenException
6700//   Provides information about an API request or response.
6701//
6702//   * NotFoundException
6703//   Provides information about an API request or response.
6704//
6705//   * MethodNotAllowedException
6706//   Provides information about an API request or response.
6707//
6708//   * TooManyRequestsException
6709//   Provides information about an API request or response.
6710//
6711// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs
6712func (c *Pinpoint) GetSegmentImportJobs(input *GetSegmentImportJobsInput) (*GetSegmentImportJobsOutput, error) {
6713	req, out := c.GetSegmentImportJobsRequest(input)
6714	return out, req.Send()
6715}
6716
6717// GetSegmentImportJobsWithContext is the same as GetSegmentImportJobs with the addition of
6718// the ability to pass a context and additional request options.
6719//
6720// See GetSegmentImportJobs for details on how to use this API operation.
6721//
6722// The context must be non-nil and will be used for request cancellation. If
6723// the context is nil a panic will occur. In the future the SDK may create
6724// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6725// for more information on using Contexts.
6726func (c *Pinpoint) GetSegmentImportJobsWithContext(ctx aws.Context, input *GetSegmentImportJobsInput, opts ...request.Option) (*GetSegmentImportJobsOutput, error) {
6727	req, out := c.GetSegmentImportJobsRequest(input)
6728	req.SetContext(ctx)
6729	req.ApplyOptions(opts...)
6730	return out, req.Send()
6731}
6732
6733const opGetSegmentVersion = "GetSegmentVersion"
6734
6735// GetSegmentVersionRequest generates a "aws/request.Request" representing the
6736// client's request for the GetSegmentVersion operation. The "output" return
6737// value will be populated with the request's response once the request completes
6738// successfully.
6739//
6740// Use "Send" method on the returned Request to send the API call to the service.
6741// the "output" return value is not valid until after Send returns without error.
6742//
6743// See GetSegmentVersion for more information on using the GetSegmentVersion
6744// API call, and error handling.
6745//
6746// This method is useful when you want to inject custom logic or configuration
6747// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6748//
6749//
6750//    // Example sending a request using the GetSegmentVersionRequest method.
6751//    req, resp := client.GetSegmentVersionRequest(params)
6752//
6753//    err := req.Send()
6754//    if err == nil { // resp is now filled
6755//        fmt.Println(resp)
6756//    }
6757//
6758// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion
6759func (c *Pinpoint) GetSegmentVersionRequest(input *GetSegmentVersionInput) (req *request.Request, output *GetSegmentVersionOutput) {
6760	op := &request.Operation{
6761		Name:       opGetSegmentVersion,
6762		HTTPMethod: "GET",
6763		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/versions/{version}",
6764	}
6765
6766	if input == nil {
6767		input = &GetSegmentVersionInput{}
6768	}
6769
6770	output = &GetSegmentVersionOutput{}
6771	req = c.newRequest(op, input, output)
6772	return
6773}
6774
6775// GetSegmentVersion API operation for Amazon Pinpoint.
6776//
6777// Retrieves information about the configuration, dimension, and other settings
6778// for a specific version of a segment that's associated with an application.
6779//
6780// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6781// with awserr.Error's Code and Message methods to get detailed information about
6782// the error.
6783//
6784// See the AWS API reference guide for Amazon Pinpoint's
6785// API operation GetSegmentVersion for usage and error information.
6786//
6787// Returned Error Types:
6788//   * BadRequestException
6789//   Provides information about an API request or response.
6790//
6791//   * InternalServerErrorException
6792//   Provides information about an API request or response.
6793//
6794//   * PayloadTooLargeException
6795//   Provides information about an API request or response.
6796//
6797//   * ForbiddenException
6798//   Provides information about an API request or response.
6799//
6800//   * NotFoundException
6801//   Provides information about an API request or response.
6802//
6803//   * MethodNotAllowedException
6804//   Provides information about an API request or response.
6805//
6806//   * TooManyRequestsException
6807//   Provides information about an API request or response.
6808//
6809// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion
6810func (c *Pinpoint) GetSegmentVersion(input *GetSegmentVersionInput) (*GetSegmentVersionOutput, error) {
6811	req, out := c.GetSegmentVersionRequest(input)
6812	return out, req.Send()
6813}
6814
6815// GetSegmentVersionWithContext is the same as GetSegmentVersion with the addition of
6816// the ability to pass a context and additional request options.
6817//
6818// See GetSegmentVersion for details on how to use this API operation.
6819//
6820// The context must be non-nil and will be used for request cancellation. If
6821// the context is nil a panic will occur. In the future the SDK may create
6822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6823// for more information on using Contexts.
6824func (c *Pinpoint) GetSegmentVersionWithContext(ctx aws.Context, input *GetSegmentVersionInput, opts ...request.Option) (*GetSegmentVersionOutput, error) {
6825	req, out := c.GetSegmentVersionRequest(input)
6826	req.SetContext(ctx)
6827	req.ApplyOptions(opts...)
6828	return out, req.Send()
6829}
6830
6831const opGetSegmentVersions = "GetSegmentVersions"
6832
6833// GetSegmentVersionsRequest generates a "aws/request.Request" representing the
6834// client's request for the GetSegmentVersions operation. The "output" return
6835// value will be populated with the request's response once the request completes
6836// successfully.
6837//
6838// Use "Send" method on the returned Request to send the API call to the service.
6839// the "output" return value is not valid until after Send returns without error.
6840//
6841// See GetSegmentVersions for more information on using the GetSegmentVersions
6842// API call, and error handling.
6843//
6844// This method is useful when you want to inject custom logic or configuration
6845// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6846//
6847//
6848//    // Example sending a request using the GetSegmentVersionsRequest method.
6849//    req, resp := client.GetSegmentVersionsRequest(params)
6850//
6851//    err := req.Send()
6852//    if err == nil { // resp is now filled
6853//        fmt.Println(resp)
6854//    }
6855//
6856// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions
6857func (c *Pinpoint) GetSegmentVersionsRequest(input *GetSegmentVersionsInput) (req *request.Request, output *GetSegmentVersionsOutput) {
6858	op := &request.Operation{
6859		Name:       opGetSegmentVersions,
6860		HTTPMethod: "GET",
6861		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/versions",
6862	}
6863
6864	if input == nil {
6865		input = &GetSegmentVersionsInput{}
6866	}
6867
6868	output = &GetSegmentVersionsOutput{}
6869	req = c.newRequest(op, input, output)
6870	return
6871}
6872
6873// GetSegmentVersions API operation for Amazon Pinpoint.
6874//
6875// Retrieves information about the configuration, dimension, and other settings
6876// for all the versions of a specific segment that's associated with an application.
6877//
6878// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6879// with awserr.Error's Code and Message methods to get detailed information about
6880// the error.
6881//
6882// See the AWS API reference guide for Amazon Pinpoint's
6883// API operation GetSegmentVersions for usage and error information.
6884//
6885// Returned Error Types:
6886//   * BadRequestException
6887//   Provides information about an API request or response.
6888//
6889//   * InternalServerErrorException
6890//   Provides information about an API request or response.
6891//
6892//   * PayloadTooLargeException
6893//   Provides information about an API request or response.
6894//
6895//   * ForbiddenException
6896//   Provides information about an API request or response.
6897//
6898//   * NotFoundException
6899//   Provides information about an API request or response.
6900//
6901//   * MethodNotAllowedException
6902//   Provides information about an API request or response.
6903//
6904//   * TooManyRequestsException
6905//   Provides information about an API request or response.
6906//
6907// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions
6908func (c *Pinpoint) GetSegmentVersions(input *GetSegmentVersionsInput) (*GetSegmentVersionsOutput, error) {
6909	req, out := c.GetSegmentVersionsRequest(input)
6910	return out, req.Send()
6911}
6912
6913// GetSegmentVersionsWithContext is the same as GetSegmentVersions with the addition of
6914// the ability to pass a context and additional request options.
6915//
6916// See GetSegmentVersions for details on how to use this API operation.
6917//
6918// The context must be non-nil and will be used for request cancellation. If
6919// the context is nil a panic will occur. In the future the SDK may create
6920// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6921// for more information on using Contexts.
6922func (c *Pinpoint) GetSegmentVersionsWithContext(ctx aws.Context, input *GetSegmentVersionsInput, opts ...request.Option) (*GetSegmentVersionsOutput, error) {
6923	req, out := c.GetSegmentVersionsRequest(input)
6924	req.SetContext(ctx)
6925	req.ApplyOptions(opts...)
6926	return out, req.Send()
6927}
6928
6929const opGetSegments = "GetSegments"
6930
6931// GetSegmentsRequest generates a "aws/request.Request" representing the
6932// client's request for the GetSegments operation. The "output" return
6933// value will be populated with the request's response once the request completes
6934// successfully.
6935//
6936// Use "Send" method on the returned Request to send the API call to the service.
6937// the "output" return value is not valid until after Send returns without error.
6938//
6939// See GetSegments for more information on using the GetSegments
6940// API call, and error handling.
6941//
6942// This method is useful when you want to inject custom logic or configuration
6943// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6944//
6945//
6946//    // Example sending a request using the GetSegmentsRequest method.
6947//    req, resp := client.GetSegmentsRequest(params)
6948//
6949//    err := req.Send()
6950//    if err == nil { // resp is now filled
6951//        fmt.Println(resp)
6952//    }
6953//
6954// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments
6955func (c *Pinpoint) GetSegmentsRequest(input *GetSegmentsInput) (req *request.Request, output *GetSegmentsOutput) {
6956	op := &request.Operation{
6957		Name:       opGetSegments,
6958		HTTPMethod: "GET",
6959		HTTPPath:   "/v1/apps/{application-id}/segments",
6960	}
6961
6962	if input == nil {
6963		input = &GetSegmentsInput{}
6964	}
6965
6966	output = &GetSegmentsOutput{}
6967	req = c.newRequest(op, input, output)
6968	return
6969}
6970
6971// GetSegments API operation for Amazon Pinpoint.
6972//
6973// Retrieves information about the configuration, dimension, and other settings
6974// for all the segments that are associated with an application.
6975//
6976// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6977// with awserr.Error's Code and Message methods to get detailed information about
6978// the error.
6979//
6980// See the AWS API reference guide for Amazon Pinpoint's
6981// API operation GetSegments for usage and error information.
6982//
6983// Returned Error Types:
6984//   * BadRequestException
6985//   Provides information about an API request or response.
6986//
6987//   * InternalServerErrorException
6988//   Provides information about an API request or response.
6989//
6990//   * PayloadTooLargeException
6991//   Provides information about an API request or response.
6992//
6993//   * ForbiddenException
6994//   Provides information about an API request or response.
6995//
6996//   * NotFoundException
6997//   Provides information about an API request or response.
6998//
6999//   * MethodNotAllowedException
7000//   Provides information about an API request or response.
7001//
7002//   * TooManyRequestsException
7003//   Provides information about an API request or response.
7004//
7005// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments
7006func (c *Pinpoint) GetSegments(input *GetSegmentsInput) (*GetSegmentsOutput, error) {
7007	req, out := c.GetSegmentsRequest(input)
7008	return out, req.Send()
7009}
7010
7011// GetSegmentsWithContext is the same as GetSegments with the addition of
7012// the ability to pass a context and additional request options.
7013//
7014// See GetSegments for details on how to use this API operation.
7015//
7016// The context must be non-nil and will be used for request cancellation. If
7017// the context is nil a panic will occur. In the future the SDK may create
7018// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7019// for more information on using Contexts.
7020func (c *Pinpoint) GetSegmentsWithContext(ctx aws.Context, input *GetSegmentsInput, opts ...request.Option) (*GetSegmentsOutput, error) {
7021	req, out := c.GetSegmentsRequest(input)
7022	req.SetContext(ctx)
7023	req.ApplyOptions(opts...)
7024	return out, req.Send()
7025}
7026
7027const opGetSmsChannel = "GetSmsChannel"
7028
7029// GetSmsChannelRequest generates a "aws/request.Request" representing the
7030// client's request for the GetSmsChannel operation. The "output" return
7031// value will be populated with the request's response once the request completes
7032// successfully.
7033//
7034// Use "Send" method on the returned Request to send the API call to the service.
7035// the "output" return value is not valid until after Send returns without error.
7036//
7037// See GetSmsChannel for more information on using the GetSmsChannel
7038// API call, and error handling.
7039//
7040// This method is useful when you want to inject custom logic or configuration
7041// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7042//
7043//
7044//    // Example sending a request using the GetSmsChannelRequest method.
7045//    req, resp := client.GetSmsChannelRequest(params)
7046//
7047//    err := req.Send()
7048//    if err == nil { // resp is now filled
7049//        fmt.Println(resp)
7050//    }
7051//
7052// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel
7053func (c *Pinpoint) GetSmsChannelRequest(input *GetSmsChannelInput) (req *request.Request, output *GetSmsChannelOutput) {
7054	op := &request.Operation{
7055		Name:       opGetSmsChannel,
7056		HTTPMethod: "GET",
7057		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
7058	}
7059
7060	if input == nil {
7061		input = &GetSmsChannelInput{}
7062	}
7063
7064	output = &GetSmsChannelOutput{}
7065	req = c.newRequest(op, input, output)
7066	return
7067}
7068
7069// GetSmsChannel API operation for Amazon Pinpoint.
7070//
7071// Retrieves information about the status and settings of the SMS channel for
7072// an application.
7073//
7074// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7075// with awserr.Error's Code and Message methods to get detailed information about
7076// the error.
7077//
7078// See the AWS API reference guide for Amazon Pinpoint's
7079// API operation GetSmsChannel for usage and error information.
7080//
7081// Returned Error Types:
7082//   * BadRequestException
7083//   Provides information about an API request or response.
7084//
7085//   * InternalServerErrorException
7086//   Provides information about an API request or response.
7087//
7088//   * PayloadTooLargeException
7089//   Provides information about an API request or response.
7090//
7091//   * ForbiddenException
7092//   Provides information about an API request or response.
7093//
7094//   * NotFoundException
7095//   Provides information about an API request or response.
7096//
7097//   * MethodNotAllowedException
7098//   Provides information about an API request or response.
7099//
7100//   * TooManyRequestsException
7101//   Provides information about an API request or response.
7102//
7103// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel
7104func (c *Pinpoint) GetSmsChannel(input *GetSmsChannelInput) (*GetSmsChannelOutput, error) {
7105	req, out := c.GetSmsChannelRequest(input)
7106	return out, req.Send()
7107}
7108
7109// GetSmsChannelWithContext is the same as GetSmsChannel with the addition of
7110// the ability to pass a context and additional request options.
7111//
7112// See GetSmsChannel for details on how to use this API operation.
7113//
7114// The context must be non-nil and will be used for request cancellation. If
7115// the context is nil a panic will occur. In the future the SDK may create
7116// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7117// for more information on using Contexts.
7118func (c *Pinpoint) GetSmsChannelWithContext(ctx aws.Context, input *GetSmsChannelInput, opts ...request.Option) (*GetSmsChannelOutput, error) {
7119	req, out := c.GetSmsChannelRequest(input)
7120	req.SetContext(ctx)
7121	req.ApplyOptions(opts...)
7122	return out, req.Send()
7123}
7124
7125const opGetSmsTemplate = "GetSmsTemplate"
7126
7127// GetSmsTemplateRequest generates a "aws/request.Request" representing the
7128// client's request for the GetSmsTemplate operation. The "output" return
7129// value will be populated with the request's response once the request completes
7130// successfully.
7131//
7132// Use "Send" method on the returned Request to send the API call to the service.
7133// the "output" return value is not valid until after Send returns without error.
7134//
7135// See GetSmsTemplate for more information on using the GetSmsTemplate
7136// API call, and error handling.
7137//
7138// This method is useful when you want to inject custom logic or configuration
7139// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7140//
7141//
7142//    // Example sending a request using the GetSmsTemplateRequest method.
7143//    req, resp := client.GetSmsTemplateRequest(params)
7144//
7145//    err := req.Send()
7146//    if err == nil { // resp is now filled
7147//        fmt.Println(resp)
7148//    }
7149//
7150// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsTemplate
7151func (c *Pinpoint) GetSmsTemplateRequest(input *GetSmsTemplateInput) (req *request.Request, output *GetSmsTemplateOutput) {
7152	op := &request.Operation{
7153		Name:       opGetSmsTemplate,
7154		HTTPMethod: "GET",
7155		HTTPPath:   "/v1/templates/{template-name}/sms",
7156	}
7157
7158	if input == nil {
7159		input = &GetSmsTemplateInput{}
7160	}
7161
7162	output = &GetSmsTemplateOutput{}
7163	req = c.newRequest(op, input, output)
7164	return
7165}
7166
7167// GetSmsTemplate API operation for Amazon Pinpoint.
7168//
7169// Retrieves the content and settings of a message template for messages that
7170// are sent through the SMS channel.
7171//
7172// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7173// with awserr.Error's Code and Message methods to get detailed information about
7174// the error.
7175//
7176// See the AWS API reference guide for Amazon Pinpoint's
7177// API operation GetSmsTemplate for usage and error information.
7178//
7179// Returned Error Types:
7180//   * BadRequestException
7181//   Provides information about an API request or response.
7182//
7183//   * InternalServerErrorException
7184//   Provides information about an API request or response.
7185//
7186//   * PayloadTooLargeException
7187//   Provides information about an API request or response.
7188//
7189//   * ForbiddenException
7190//   Provides information about an API request or response.
7191//
7192//   * NotFoundException
7193//   Provides information about an API request or response.
7194//
7195//   * MethodNotAllowedException
7196//   Provides information about an API request or response.
7197//
7198//   * TooManyRequestsException
7199//   Provides information about an API request or response.
7200//
7201// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsTemplate
7202func (c *Pinpoint) GetSmsTemplate(input *GetSmsTemplateInput) (*GetSmsTemplateOutput, error) {
7203	req, out := c.GetSmsTemplateRequest(input)
7204	return out, req.Send()
7205}
7206
7207// GetSmsTemplateWithContext is the same as GetSmsTemplate with the addition of
7208// the ability to pass a context and additional request options.
7209//
7210// See GetSmsTemplate for details on how to use this API operation.
7211//
7212// The context must be non-nil and will be used for request cancellation. If
7213// the context is nil a panic will occur. In the future the SDK may create
7214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7215// for more information on using Contexts.
7216func (c *Pinpoint) GetSmsTemplateWithContext(ctx aws.Context, input *GetSmsTemplateInput, opts ...request.Option) (*GetSmsTemplateOutput, error) {
7217	req, out := c.GetSmsTemplateRequest(input)
7218	req.SetContext(ctx)
7219	req.ApplyOptions(opts...)
7220	return out, req.Send()
7221}
7222
7223const opGetUserEndpoints = "GetUserEndpoints"
7224
7225// GetUserEndpointsRequest generates a "aws/request.Request" representing the
7226// client's request for the GetUserEndpoints operation. The "output" return
7227// value will be populated with the request's response once the request completes
7228// successfully.
7229//
7230// Use "Send" method on the returned Request to send the API call to the service.
7231// the "output" return value is not valid until after Send returns without error.
7232//
7233// See GetUserEndpoints for more information on using the GetUserEndpoints
7234// API call, and error handling.
7235//
7236// This method is useful when you want to inject custom logic or configuration
7237// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7238//
7239//
7240//    // Example sending a request using the GetUserEndpointsRequest method.
7241//    req, resp := client.GetUserEndpointsRequest(params)
7242//
7243//    err := req.Send()
7244//    if err == nil { // resp is now filled
7245//        fmt.Println(resp)
7246//    }
7247//
7248// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints
7249func (c *Pinpoint) GetUserEndpointsRequest(input *GetUserEndpointsInput) (req *request.Request, output *GetUserEndpointsOutput) {
7250	op := &request.Operation{
7251		Name:       opGetUserEndpoints,
7252		HTTPMethod: "GET",
7253		HTTPPath:   "/v1/apps/{application-id}/users/{user-id}",
7254	}
7255
7256	if input == nil {
7257		input = &GetUserEndpointsInput{}
7258	}
7259
7260	output = &GetUserEndpointsOutput{}
7261	req = c.newRequest(op, input, output)
7262	return
7263}
7264
7265// GetUserEndpoints API operation for Amazon Pinpoint.
7266//
7267// Retrieves information about all the endpoints that are associated with a
7268// specific user ID.
7269//
7270// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7271// with awserr.Error's Code and Message methods to get detailed information about
7272// the error.
7273//
7274// See the AWS API reference guide for Amazon Pinpoint's
7275// API operation GetUserEndpoints for usage and error information.
7276//
7277// Returned Error Types:
7278//   * BadRequestException
7279//   Provides information about an API request or response.
7280//
7281//   * InternalServerErrorException
7282//   Provides information about an API request or response.
7283//
7284//   * PayloadTooLargeException
7285//   Provides information about an API request or response.
7286//
7287//   * ForbiddenException
7288//   Provides information about an API request or response.
7289//
7290//   * NotFoundException
7291//   Provides information about an API request or response.
7292//
7293//   * MethodNotAllowedException
7294//   Provides information about an API request or response.
7295//
7296//   * TooManyRequestsException
7297//   Provides information about an API request or response.
7298//
7299// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints
7300func (c *Pinpoint) GetUserEndpoints(input *GetUserEndpointsInput) (*GetUserEndpointsOutput, error) {
7301	req, out := c.GetUserEndpointsRequest(input)
7302	return out, req.Send()
7303}
7304
7305// GetUserEndpointsWithContext is the same as GetUserEndpoints with the addition of
7306// the ability to pass a context and additional request options.
7307//
7308// See GetUserEndpoints for details on how to use this API operation.
7309//
7310// The context must be non-nil and will be used for request cancellation. If
7311// the context is nil a panic will occur. In the future the SDK may create
7312// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7313// for more information on using Contexts.
7314func (c *Pinpoint) GetUserEndpointsWithContext(ctx aws.Context, input *GetUserEndpointsInput, opts ...request.Option) (*GetUserEndpointsOutput, error) {
7315	req, out := c.GetUserEndpointsRequest(input)
7316	req.SetContext(ctx)
7317	req.ApplyOptions(opts...)
7318	return out, req.Send()
7319}
7320
7321const opGetVoiceChannel = "GetVoiceChannel"
7322
7323// GetVoiceChannelRequest generates a "aws/request.Request" representing the
7324// client's request for the GetVoiceChannel operation. The "output" return
7325// value will be populated with the request's response once the request completes
7326// successfully.
7327//
7328// Use "Send" method on the returned Request to send the API call to the service.
7329// the "output" return value is not valid until after Send returns without error.
7330//
7331// See GetVoiceChannel for more information on using the GetVoiceChannel
7332// API call, and error handling.
7333//
7334// This method is useful when you want to inject custom logic or configuration
7335// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7336//
7337//
7338//    // Example sending a request using the GetVoiceChannelRequest method.
7339//    req, resp := client.GetVoiceChannelRequest(params)
7340//
7341//    err := req.Send()
7342//    if err == nil { // resp is now filled
7343//        fmt.Println(resp)
7344//    }
7345//
7346// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel
7347func (c *Pinpoint) GetVoiceChannelRequest(input *GetVoiceChannelInput) (req *request.Request, output *GetVoiceChannelOutput) {
7348	op := &request.Operation{
7349		Name:       opGetVoiceChannel,
7350		HTTPMethod: "GET",
7351		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
7352	}
7353
7354	if input == nil {
7355		input = &GetVoiceChannelInput{}
7356	}
7357
7358	output = &GetVoiceChannelOutput{}
7359	req = c.newRequest(op, input, output)
7360	return
7361}
7362
7363// GetVoiceChannel API operation for Amazon Pinpoint.
7364//
7365// Retrieves information about the status and settings of the voice channel
7366// for an application.
7367//
7368// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7369// with awserr.Error's Code and Message methods to get detailed information about
7370// the error.
7371//
7372// See the AWS API reference guide for Amazon Pinpoint's
7373// API operation GetVoiceChannel for usage and error information.
7374//
7375// Returned Error Types:
7376//   * BadRequestException
7377//   Provides information about an API request or response.
7378//
7379//   * InternalServerErrorException
7380//   Provides information about an API request or response.
7381//
7382//   * PayloadTooLargeException
7383//   Provides information about an API request or response.
7384//
7385//   * ForbiddenException
7386//   Provides information about an API request or response.
7387//
7388//   * NotFoundException
7389//   Provides information about an API request or response.
7390//
7391//   * MethodNotAllowedException
7392//   Provides information about an API request or response.
7393//
7394//   * TooManyRequestsException
7395//   Provides information about an API request or response.
7396//
7397// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel
7398func (c *Pinpoint) GetVoiceChannel(input *GetVoiceChannelInput) (*GetVoiceChannelOutput, error) {
7399	req, out := c.GetVoiceChannelRequest(input)
7400	return out, req.Send()
7401}
7402
7403// GetVoiceChannelWithContext is the same as GetVoiceChannel with the addition of
7404// the ability to pass a context and additional request options.
7405//
7406// See GetVoiceChannel for details on how to use this API operation.
7407//
7408// The context must be non-nil and will be used for request cancellation. If
7409// the context is nil a panic will occur. In the future the SDK may create
7410// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7411// for more information on using Contexts.
7412func (c *Pinpoint) GetVoiceChannelWithContext(ctx aws.Context, input *GetVoiceChannelInput, opts ...request.Option) (*GetVoiceChannelOutput, error) {
7413	req, out := c.GetVoiceChannelRequest(input)
7414	req.SetContext(ctx)
7415	req.ApplyOptions(opts...)
7416	return out, req.Send()
7417}
7418
7419const opGetVoiceTemplate = "GetVoiceTemplate"
7420
7421// GetVoiceTemplateRequest generates a "aws/request.Request" representing the
7422// client's request for the GetVoiceTemplate operation. The "output" return
7423// value will be populated with the request's response once the request completes
7424// successfully.
7425//
7426// Use "Send" method on the returned Request to send the API call to the service.
7427// the "output" return value is not valid until after Send returns without error.
7428//
7429// See GetVoiceTemplate for more information on using the GetVoiceTemplate
7430// API call, and error handling.
7431//
7432// This method is useful when you want to inject custom logic or configuration
7433// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7434//
7435//
7436//    // Example sending a request using the GetVoiceTemplateRequest method.
7437//    req, resp := client.GetVoiceTemplateRequest(params)
7438//
7439//    err := req.Send()
7440//    if err == nil { // resp is now filled
7441//        fmt.Println(resp)
7442//    }
7443//
7444// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceTemplate
7445func (c *Pinpoint) GetVoiceTemplateRequest(input *GetVoiceTemplateInput) (req *request.Request, output *GetVoiceTemplateOutput) {
7446	op := &request.Operation{
7447		Name:       opGetVoiceTemplate,
7448		HTTPMethod: "GET",
7449		HTTPPath:   "/v1/templates/{template-name}/voice",
7450	}
7451
7452	if input == nil {
7453		input = &GetVoiceTemplateInput{}
7454	}
7455
7456	output = &GetVoiceTemplateOutput{}
7457	req = c.newRequest(op, input, output)
7458	return
7459}
7460
7461// GetVoiceTemplate API operation for Amazon Pinpoint.
7462//
7463// Retrieves the content and settings of a message template for messages that
7464// are sent through the voice channel.
7465//
7466// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7467// with awserr.Error's Code and Message methods to get detailed information about
7468// the error.
7469//
7470// See the AWS API reference guide for Amazon Pinpoint's
7471// API operation GetVoiceTemplate for usage and error information.
7472//
7473// Returned Error Types:
7474//   * BadRequestException
7475//   Provides information about an API request or response.
7476//
7477//   * InternalServerErrorException
7478//   Provides information about an API request or response.
7479//
7480//   * PayloadTooLargeException
7481//   Provides information about an API request or response.
7482//
7483//   * ForbiddenException
7484//   Provides information about an API request or response.
7485//
7486//   * NotFoundException
7487//   Provides information about an API request or response.
7488//
7489//   * MethodNotAllowedException
7490//   Provides information about an API request or response.
7491//
7492//   * TooManyRequestsException
7493//   Provides information about an API request or response.
7494//
7495// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceTemplate
7496func (c *Pinpoint) GetVoiceTemplate(input *GetVoiceTemplateInput) (*GetVoiceTemplateOutput, error) {
7497	req, out := c.GetVoiceTemplateRequest(input)
7498	return out, req.Send()
7499}
7500
7501// GetVoiceTemplateWithContext is the same as GetVoiceTemplate with the addition of
7502// the ability to pass a context and additional request options.
7503//
7504// See GetVoiceTemplate for details on how to use this API operation.
7505//
7506// The context must be non-nil and will be used for request cancellation. If
7507// the context is nil a panic will occur. In the future the SDK may create
7508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7509// for more information on using Contexts.
7510func (c *Pinpoint) GetVoiceTemplateWithContext(ctx aws.Context, input *GetVoiceTemplateInput, opts ...request.Option) (*GetVoiceTemplateOutput, error) {
7511	req, out := c.GetVoiceTemplateRequest(input)
7512	req.SetContext(ctx)
7513	req.ApplyOptions(opts...)
7514	return out, req.Send()
7515}
7516
7517const opListJourneys = "ListJourneys"
7518
7519// ListJourneysRequest generates a "aws/request.Request" representing the
7520// client's request for the ListJourneys operation. The "output" return
7521// value will be populated with the request's response once the request completes
7522// successfully.
7523//
7524// Use "Send" method on the returned Request to send the API call to the service.
7525// the "output" return value is not valid until after Send returns without error.
7526//
7527// See ListJourneys for more information on using the ListJourneys
7528// API call, and error handling.
7529//
7530// This method is useful when you want to inject custom logic or configuration
7531// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7532//
7533//
7534//    // Example sending a request using the ListJourneysRequest method.
7535//    req, resp := client.ListJourneysRequest(params)
7536//
7537//    err := req.Send()
7538//    if err == nil { // resp is now filled
7539//        fmt.Println(resp)
7540//    }
7541//
7542// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListJourneys
7543func (c *Pinpoint) ListJourneysRequest(input *ListJourneysInput) (req *request.Request, output *ListJourneysOutput) {
7544	op := &request.Operation{
7545		Name:       opListJourneys,
7546		HTTPMethod: "GET",
7547		HTTPPath:   "/v1/apps/{application-id}/journeys",
7548	}
7549
7550	if input == nil {
7551		input = &ListJourneysInput{}
7552	}
7553
7554	output = &ListJourneysOutput{}
7555	req = c.newRequest(op, input, output)
7556	return
7557}
7558
7559// ListJourneys API operation for Amazon Pinpoint.
7560//
7561// Retrieves information about the status, configuration, and other settings
7562// for all the journeys that are associated with an application.
7563//
7564// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7565// with awserr.Error's Code and Message methods to get detailed information about
7566// the error.
7567//
7568// See the AWS API reference guide for Amazon Pinpoint's
7569// API operation ListJourneys for usage and error information.
7570//
7571// Returned Error Types:
7572//   * BadRequestException
7573//   Provides information about an API request or response.
7574//
7575//   * InternalServerErrorException
7576//   Provides information about an API request or response.
7577//
7578//   * PayloadTooLargeException
7579//   Provides information about an API request or response.
7580//
7581//   * ForbiddenException
7582//   Provides information about an API request or response.
7583//
7584//   * NotFoundException
7585//   Provides information about an API request or response.
7586//
7587//   * MethodNotAllowedException
7588//   Provides information about an API request or response.
7589//
7590//   * TooManyRequestsException
7591//   Provides information about an API request or response.
7592//
7593// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListJourneys
7594func (c *Pinpoint) ListJourneys(input *ListJourneysInput) (*ListJourneysOutput, error) {
7595	req, out := c.ListJourneysRequest(input)
7596	return out, req.Send()
7597}
7598
7599// ListJourneysWithContext is the same as ListJourneys with the addition of
7600// the ability to pass a context and additional request options.
7601//
7602// See ListJourneys for details on how to use this API operation.
7603//
7604// The context must be non-nil and will be used for request cancellation. If
7605// the context is nil a panic will occur. In the future the SDK may create
7606// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7607// for more information on using Contexts.
7608func (c *Pinpoint) ListJourneysWithContext(ctx aws.Context, input *ListJourneysInput, opts ...request.Option) (*ListJourneysOutput, error) {
7609	req, out := c.ListJourneysRequest(input)
7610	req.SetContext(ctx)
7611	req.ApplyOptions(opts...)
7612	return out, req.Send()
7613}
7614
7615const opListTagsForResource = "ListTagsForResource"
7616
7617// ListTagsForResourceRequest generates a "aws/request.Request" representing the
7618// client's request for the ListTagsForResource operation. The "output" return
7619// value will be populated with the request's response once the request completes
7620// successfully.
7621//
7622// Use "Send" method on the returned Request to send the API call to the service.
7623// the "output" return value is not valid until after Send returns without error.
7624//
7625// See ListTagsForResource for more information on using the ListTagsForResource
7626// API call, and error handling.
7627//
7628// This method is useful when you want to inject custom logic or configuration
7629// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7630//
7631//
7632//    // Example sending a request using the ListTagsForResourceRequest method.
7633//    req, resp := client.ListTagsForResourceRequest(params)
7634//
7635//    err := req.Send()
7636//    if err == nil { // resp is now filled
7637//        fmt.Println(resp)
7638//    }
7639//
7640// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTagsForResource
7641func (c *Pinpoint) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
7642	op := &request.Operation{
7643		Name:       opListTagsForResource,
7644		HTTPMethod: "GET",
7645		HTTPPath:   "/v1/tags/{resource-arn}",
7646	}
7647
7648	if input == nil {
7649		input = &ListTagsForResourceInput{}
7650	}
7651
7652	output = &ListTagsForResourceOutput{}
7653	req = c.newRequest(op, input, output)
7654	return
7655}
7656
7657// ListTagsForResource API operation for Amazon Pinpoint.
7658//
7659// Retrieves all the tags (keys and values) that are associated with an application,
7660// campaign, message template, or segment.
7661//
7662// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7663// with awserr.Error's Code and Message methods to get detailed information about
7664// the error.
7665//
7666// See the AWS API reference guide for Amazon Pinpoint's
7667// API operation ListTagsForResource for usage and error information.
7668// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTagsForResource
7669func (c *Pinpoint) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
7670	req, out := c.ListTagsForResourceRequest(input)
7671	return out, req.Send()
7672}
7673
7674// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
7675// the ability to pass a context and additional request options.
7676//
7677// See ListTagsForResource for details on how to use this API operation.
7678//
7679// The context must be non-nil and will be used for request cancellation. If
7680// the context is nil a panic will occur. In the future the SDK may create
7681// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7682// for more information on using Contexts.
7683func (c *Pinpoint) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
7684	req, out := c.ListTagsForResourceRequest(input)
7685	req.SetContext(ctx)
7686	req.ApplyOptions(opts...)
7687	return out, req.Send()
7688}
7689
7690const opListTemplateVersions = "ListTemplateVersions"
7691
7692// ListTemplateVersionsRequest generates a "aws/request.Request" representing the
7693// client's request for the ListTemplateVersions operation. The "output" return
7694// value will be populated with the request's response once the request completes
7695// successfully.
7696//
7697// Use "Send" method on the returned Request to send the API call to the service.
7698// the "output" return value is not valid until after Send returns without error.
7699//
7700// See ListTemplateVersions for more information on using the ListTemplateVersions
7701// API call, and error handling.
7702//
7703// This method is useful when you want to inject custom logic or configuration
7704// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7705//
7706//
7707//    // Example sending a request using the ListTemplateVersionsRequest method.
7708//    req, resp := client.ListTemplateVersionsRequest(params)
7709//
7710//    err := req.Send()
7711//    if err == nil { // resp is now filled
7712//        fmt.Println(resp)
7713//    }
7714//
7715// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplateVersions
7716func (c *Pinpoint) ListTemplateVersionsRequest(input *ListTemplateVersionsInput) (req *request.Request, output *ListTemplateVersionsOutput) {
7717	op := &request.Operation{
7718		Name:       opListTemplateVersions,
7719		HTTPMethod: "GET",
7720		HTTPPath:   "/v1/templates/{template-name}/{template-type}/versions",
7721	}
7722
7723	if input == nil {
7724		input = &ListTemplateVersionsInput{}
7725	}
7726
7727	output = &ListTemplateVersionsOutput{}
7728	req = c.newRequest(op, input, output)
7729	return
7730}
7731
7732// ListTemplateVersions API operation for Amazon Pinpoint.
7733//
7734// Retrieves information about all the versions of a specific message template.
7735//
7736// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7737// with awserr.Error's Code and Message methods to get detailed information about
7738// the error.
7739//
7740// See the AWS API reference guide for Amazon Pinpoint's
7741// API operation ListTemplateVersions for usage and error information.
7742//
7743// Returned Error Types:
7744//   * BadRequestException
7745//   Provides information about an API request or response.
7746//
7747//   * InternalServerErrorException
7748//   Provides information about an API request or response.
7749//
7750//   * PayloadTooLargeException
7751//   Provides information about an API request or response.
7752//
7753//   * ForbiddenException
7754//   Provides information about an API request or response.
7755//
7756//   * NotFoundException
7757//   Provides information about an API request or response.
7758//
7759//   * MethodNotAllowedException
7760//   Provides information about an API request or response.
7761//
7762//   * TooManyRequestsException
7763//   Provides information about an API request or response.
7764//
7765// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplateVersions
7766func (c *Pinpoint) ListTemplateVersions(input *ListTemplateVersionsInput) (*ListTemplateVersionsOutput, error) {
7767	req, out := c.ListTemplateVersionsRequest(input)
7768	return out, req.Send()
7769}
7770
7771// ListTemplateVersionsWithContext is the same as ListTemplateVersions with the addition of
7772// the ability to pass a context and additional request options.
7773//
7774// See ListTemplateVersions for details on how to use this API operation.
7775//
7776// The context must be non-nil and will be used for request cancellation. If
7777// the context is nil a panic will occur. In the future the SDK may create
7778// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7779// for more information on using Contexts.
7780func (c *Pinpoint) ListTemplateVersionsWithContext(ctx aws.Context, input *ListTemplateVersionsInput, opts ...request.Option) (*ListTemplateVersionsOutput, error) {
7781	req, out := c.ListTemplateVersionsRequest(input)
7782	req.SetContext(ctx)
7783	req.ApplyOptions(opts...)
7784	return out, req.Send()
7785}
7786
7787const opListTemplates = "ListTemplates"
7788
7789// ListTemplatesRequest generates a "aws/request.Request" representing the
7790// client's request for the ListTemplates operation. The "output" return
7791// value will be populated with the request's response once the request completes
7792// successfully.
7793//
7794// Use "Send" method on the returned Request to send the API call to the service.
7795// the "output" return value is not valid until after Send returns without error.
7796//
7797// See ListTemplates for more information on using the ListTemplates
7798// API call, and error handling.
7799//
7800// This method is useful when you want to inject custom logic or configuration
7801// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7802//
7803//
7804//    // Example sending a request using the ListTemplatesRequest method.
7805//    req, resp := client.ListTemplatesRequest(params)
7806//
7807//    err := req.Send()
7808//    if err == nil { // resp is now filled
7809//        fmt.Println(resp)
7810//    }
7811//
7812// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplates
7813func (c *Pinpoint) ListTemplatesRequest(input *ListTemplatesInput) (req *request.Request, output *ListTemplatesOutput) {
7814	op := &request.Operation{
7815		Name:       opListTemplates,
7816		HTTPMethod: "GET",
7817		HTTPPath:   "/v1/templates",
7818	}
7819
7820	if input == nil {
7821		input = &ListTemplatesInput{}
7822	}
7823
7824	output = &ListTemplatesOutput{}
7825	req = c.newRequest(op, input, output)
7826	return
7827}
7828
7829// ListTemplates API operation for Amazon Pinpoint.
7830//
7831// Retrieves information about all the message templates that are associated
7832// with your Amazon Pinpoint account.
7833//
7834// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7835// with awserr.Error's Code and Message methods to get detailed information about
7836// the error.
7837//
7838// See the AWS API reference guide for Amazon Pinpoint's
7839// API operation ListTemplates for usage and error information.
7840//
7841// Returned Error Types:
7842//   * MethodNotAllowedException
7843//   Provides information about an API request or response.
7844//
7845//   * TooManyRequestsException
7846//   Provides information about an API request or response.
7847//
7848//   * BadRequestException
7849//   Provides information about an API request or response.
7850//
7851//   * InternalServerErrorException
7852//   Provides information about an API request or response.
7853//
7854//   * ForbiddenException
7855//   Provides information about an API request or response.
7856//
7857// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplates
7858func (c *Pinpoint) ListTemplates(input *ListTemplatesInput) (*ListTemplatesOutput, error) {
7859	req, out := c.ListTemplatesRequest(input)
7860	return out, req.Send()
7861}
7862
7863// ListTemplatesWithContext is the same as ListTemplates with the addition of
7864// the ability to pass a context and additional request options.
7865//
7866// See ListTemplates for details on how to use this API operation.
7867//
7868// The context must be non-nil and will be used for request cancellation. If
7869// the context is nil a panic will occur. In the future the SDK may create
7870// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7871// for more information on using Contexts.
7872func (c *Pinpoint) ListTemplatesWithContext(ctx aws.Context, input *ListTemplatesInput, opts ...request.Option) (*ListTemplatesOutput, error) {
7873	req, out := c.ListTemplatesRequest(input)
7874	req.SetContext(ctx)
7875	req.ApplyOptions(opts...)
7876	return out, req.Send()
7877}
7878
7879const opPhoneNumberValidate = "PhoneNumberValidate"
7880
7881// PhoneNumberValidateRequest generates a "aws/request.Request" representing the
7882// client's request for the PhoneNumberValidate operation. The "output" return
7883// value will be populated with the request's response once the request completes
7884// successfully.
7885//
7886// Use "Send" method on the returned Request to send the API call to the service.
7887// the "output" return value is not valid until after Send returns without error.
7888//
7889// See PhoneNumberValidate for more information on using the PhoneNumberValidate
7890// API call, and error handling.
7891//
7892// This method is useful when you want to inject custom logic or configuration
7893// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7894//
7895//
7896//    // Example sending a request using the PhoneNumberValidateRequest method.
7897//    req, resp := client.PhoneNumberValidateRequest(params)
7898//
7899//    err := req.Send()
7900//    if err == nil { // resp is now filled
7901//        fmt.Println(resp)
7902//    }
7903//
7904// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PhoneNumberValidate
7905func (c *Pinpoint) PhoneNumberValidateRequest(input *PhoneNumberValidateInput) (req *request.Request, output *PhoneNumberValidateOutput) {
7906	op := &request.Operation{
7907		Name:       opPhoneNumberValidate,
7908		HTTPMethod: "POST",
7909		HTTPPath:   "/v1/phone/number/validate",
7910	}
7911
7912	if input == nil {
7913		input = &PhoneNumberValidateInput{}
7914	}
7915
7916	output = &PhoneNumberValidateOutput{}
7917	req = c.newRequest(op, input, output)
7918	return
7919}
7920
7921// PhoneNumberValidate API operation for Amazon Pinpoint.
7922//
7923// Retrieves information about a phone number.
7924//
7925// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7926// with awserr.Error's Code and Message methods to get detailed information about
7927// the error.
7928//
7929// See the AWS API reference guide for Amazon Pinpoint's
7930// API operation PhoneNumberValidate for usage and error information.
7931//
7932// Returned Error Types:
7933//   * BadRequestException
7934//   Provides information about an API request or response.
7935//
7936//   * InternalServerErrorException
7937//   Provides information about an API request or response.
7938//
7939//   * PayloadTooLargeException
7940//   Provides information about an API request or response.
7941//
7942//   * ForbiddenException
7943//   Provides information about an API request or response.
7944//
7945//   * NotFoundException
7946//   Provides information about an API request or response.
7947//
7948//   * MethodNotAllowedException
7949//   Provides information about an API request or response.
7950//
7951//   * TooManyRequestsException
7952//   Provides information about an API request or response.
7953//
7954// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PhoneNumberValidate
7955func (c *Pinpoint) PhoneNumberValidate(input *PhoneNumberValidateInput) (*PhoneNumberValidateOutput, error) {
7956	req, out := c.PhoneNumberValidateRequest(input)
7957	return out, req.Send()
7958}
7959
7960// PhoneNumberValidateWithContext is the same as PhoneNumberValidate with the addition of
7961// the ability to pass a context and additional request options.
7962//
7963// See PhoneNumberValidate for details on how to use this API operation.
7964//
7965// The context must be non-nil and will be used for request cancellation. If
7966// the context is nil a panic will occur. In the future the SDK may create
7967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7968// for more information on using Contexts.
7969func (c *Pinpoint) PhoneNumberValidateWithContext(ctx aws.Context, input *PhoneNumberValidateInput, opts ...request.Option) (*PhoneNumberValidateOutput, error) {
7970	req, out := c.PhoneNumberValidateRequest(input)
7971	req.SetContext(ctx)
7972	req.ApplyOptions(opts...)
7973	return out, req.Send()
7974}
7975
7976const opPutEventStream = "PutEventStream"
7977
7978// PutEventStreamRequest generates a "aws/request.Request" representing the
7979// client's request for the PutEventStream operation. The "output" return
7980// value will be populated with the request's response once the request completes
7981// successfully.
7982//
7983// Use "Send" method on the returned Request to send the API call to the service.
7984// the "output" return value is not valid until after Send returns without error.
7985//
7986// See PutEventStream for more information on using the PutEventStream
7987// API call, and error handling.
7988//
7989// This method is useful when you want to inject custom logic or configuration
7990// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7991//
7992//
7993//    // Example sending a request using the PutEventStreamRequest method.
7994//    req, resp := client.PutEventStreamRequest(params)
7995//
7996//    err := req.Send()
7997//    if err == nil { // resp is now filled
7998//        fmt.Println(resp)
7999//    }
8000//
8001// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStream
8002func (c *Pinpoint) PutEventStreamRequest(input *PutEventStreamInput) (req *request.Request, output *PutEventStreamOutput) {
8003	op := &request.Operation{
8004		Name:       opPutEventStream,
8005		HTTPMethod: "POST",
8006		HTTPPath:   "/v1/apps/{application-id}/eventstream",
8007	}
8008
8009	if input == nil {
8010		input = &PutEventStreamInput{}
8011	}
8012
8013	output = &PutEventStreamOutput{}
8014	req = c.newRequest(op, input, output)
8015	return
8016}
8017
8018// PutEventStream API operation for Amazon Pinpoint.
8019//
8020// Creates a new event stream for an application or updates the settings of
8021// an existing event stream for an application.
8022//
8023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8024// with awserr.Error's Code and Message methods to get detailed information about
8025// the error.
8026//
8027// See the AWS API reference guide for Amazon Pinpoint's
8028// API operation PutEventStream for usage and error information.
8029//
8030// Returned Error Types:
8031//   * BadRequestException
8032//   Provides information about an API request or response.
8033//
8034//   * InternalServerErrorException
8035//   Provides information about an API request or response.
8036//
8037//   * PayloadTooLargeException
8038//   Provides information about an API request or response.
8039//
8040//   * ForbiddenException
8041//   Provides information about an API request or response.
8042//
8043//   * NotFoundException
8044//   Provides information about an API request or response.
8045//
8046//   * MethodNotAllowedException
8047//   Provides information about an API request or response.
8048//
8049//   * TooManyRequestsException
8050//   Provides information about an API request or response.
8051//
8052// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStream
8053func (c *Pinpoint) PutEventStream(input *PutEventStreamInput) (*PutEventStreamOutput, error) {
8054	req, out := c.PutEventStreamRequest(input)
8055	return out, req.Send()
8056}
8057
8058// PutEventStreamWithContext is the same as PutEventStream with the addition of
8059// the ability to pass a context and additional request options.
8060//
8061// See PutEventStream for details on how to use this API operation.
8062//
8063// The context must be non-nil and will be used for request cancellation. If
8064// the context is nil a panic will occur. In the future the SDK may create
8065// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8066// for more information on using Contexts.
8067func (c *Pinpoint) PutEventStreamWithContext(ctx aws.Context, input *PutEventStreamInput, opts ...request.Option) (*PutEventStreamOutput, error) {
8068	req, out := c.PutEventStreamRequest(input)
8069	req.SetContext(ctx)
8070	req.ApplyOptions(opts...)
8071	return out, req.Send()
8072}
8073
8074const opPutEvents = "PutEvents"
8075
8076// PutEventsRequest generates a "aws/request.Request" representing the
8077// client's request for the PutEvents operation. The "output" return
8078// value will be populated with the request's response once the request completes
8079// successfully.
8080//
8081// Use "Send" method on the returned Request to send the API call to the service.
8082// the "output" return value is not valid until after Send returns without error.
8083//
8084// See PutEvents for more information on using the PutEvents
8085// API call, and error handling.
8086//
8087// This method is useful when you want to inject custom logic or configuration
8088// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8089//
8090//
8091//    // Example sending a request using the PutEventsRequest method.
8092//    req, resp := client.PutEventsRequest(params)
8093//
8094//    err := req.Send()
8095//    if err == nil { // resp is now filled
8096//        fmt.Println(resp)
8097//    }
8098//
8099// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEvents
8100func (c *Pinpoint) PutEventsRequest(input *PutEventsInput) (req *request.Request, output *PutEventsOutput) {
8101	op := &request.Operation{
8102		Name:       opPutEvents,
8103		HTTPMethod: "POST",
8104		HTTPPath:   "/v1/apps/{application-id}/events",
8105	}
8106
8107	if input == nil {
8108		input = &PutEventsInput{}
8109	}
8110
8111	output = &PutEventsOutput{}
8112	req = c.newRequest(op, input, output)
8113	return
8114}
8115
8116// PutEvents API operation for Amazon Pinpoint.
8117//
8118// Creates a new event to record for endpoints, or creates or updates endpoint
8119// data that existing events are associated with.
8120//
8121// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8122// with awserr.Error's Code and Message methods to get detailed information about
8123// the error.
8124//
8125// See the AWS API reference guide for Amazon Pinpoint's
8126// API operation PutEvents for usage and error information.
8127//
8128// Returned Error Types:
8129//   * BadRequestException
8130//   Provides information about an API request or response.
8131//
8132//   * InternalServerErrorException
8133//   Provides information about an API request or response.
8134//
8135//   * PayloadTooLargeException
8136//   Provides information about an API request or response.
8137//
8138//   * ForbiddenException
8139//   Provides information about an API request or response.
8140//
8141//   * NotFoundException
8142//   Provides information about an API request or response.
8143//
8144//   * MethodNotAllowedException
8145//   Provides information about an API request or response.
8146//
8147//   * TooManyRequestsException
8148//   Provides information about an API request or response.
8149//
8150// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEvents
8151func (c *Pinpoint) PutEvents(input *PutEventsInput) (*PutEventsOutput, error) {
8152	req, out := c.PutEventsRequest(input)
8153	return out, req.Send()
8154}
8155
8156// PutEventsWithContext is the same as PutEvents with the addition of
8157// the ability to pass a context and additional request options.
8158//
8159// See PutEvents for details on how to use this API operation.
8160//
8161// The context must be non-nil and will be used for request cancellation. If
8162// the context is nil a panic will occur. In the future the SDK may create
8163// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8164// for more information on using Contexts.
8165func (c *Pinpoint) PutEventsWithContext(ctx aws.Context, input *PutEventsInput, opts ...request.Option) (*PutEventsOutput, error) {
8166	req, out := c.PutEventsRequest(input)
8167	req.SetContext(ctx)
8168	req.ApplyOptions(opts...)
8169	return out, req.Send()
8170}
8171
8172const opRemoveAttributes = "RemoveAttributes"
8173
8174// RemoveAttributesRequest generates a "aws/request.Request" representing the
8175// client's request for the RemoveAttributes operation. The "output" return
8176// value will be populated with the request's response once the request completes
8177// successfully.
8178//
8179// Use "Send" method on the returned Request to send the API call to the service.
8180// the "output" return value is not valid until after Send returns without error.
8181//
8182// See RemoveAttributes for more information on using the RemoveAttributes
8183// API call, and error handling.
8184//
8185// This method is useful when you want to inject custom logic or configuration
8186// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8187//
8188//
8189//    // Example sending a request using the RemoveAttributesRequest method.
8190//    req, resp := client.RemoveAttributesRequest(params)
8191//
8192//    err := req.Send()
8193//    if err == nil { // resp is now filled
8194//        fmt.Println(resp)
8195//    }
8196//
8197// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/RemoveAttributes
8198func (c *Pinpoint) RemoveAttributesRequest(input *RemoveAttributesInput) (req *request.Request, output *RemoveAttributesOutput) {
8199	op := &request.Operation{
8200		Name:       opRemoveAttributes,
8201		HTTPMethod: "PUT",
8202		HTTPPath:   "/v1/apps/{application-id}/attributes/{attribute-type}",
8203	}
8204
8205	if input == nil {
8206		input = &RemoveAttributesInput{}
8207	}
8208
8209	output = &RemoveAttributesOutput{}
8210	req = c.newRequest(op, input, output)
8211	return
8212}
8213
8214// RemoveAttributes API operation for Amazon Pinpoint.
8215//
8216// Removes one or more attributes, of the same attribute type, from all the
8217// endpoints that are associated with an application.
8218//
8219// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8220// with awserr.Error's Code and Message methods to get detailed information about
8221// the error.
8222//
8223// See the AWS API reference guide for Amazon Pinpoint's
8224// API operation RemoveAttributes for usage and error information.
8225//
8226// Returned Error Types:
8227//   * BadRequestException
8228//   Provides information about an API request or response.
8229//
8230//   * InternalServerErrorException
8231//   Provides information about an API request or response.
8232//
8233//   * PayloadTooLargeException
8234//   Provides information about an API request or response.
8235//
8236//   * ForbiddenException
8237//   Provides information about an API request or response.
8238//
8239//   * NotFoundException
8240//   Provides information about an API request or response.
8241//
8242//   * MethodNotAllowedException
8243//   Provides information about an API request or response.
8244//
8245//   * TooManyRequestsException
8246//   Provides information about an API request or response.
8247//
8248// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/RemoveAttributes
8249func (c *Pinpoint) RemoveAttributes(input *RemoveAttributesInput) (*RemoveAttributesOutput, error) {
8250	req, out := c.RemoveAttributesRequest(input)
8251	return out, req.Send()
8252}
8253
8254// RemoveAttributesWithContext is the same as RemoveAttributes with the addition of
8255// the ability to pass a context and additional request options.
8256//
8257// See RemoveAttributes for details on how to use this API operation.
8258//
8259// The context must be non-nil and will be used for request cancellation. If
8260// the context is nil a panic will occur. In the future the SDK may create
8261// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8262// for more information on using Contexts.
8263func (c *Pinpoint) RemoveAttributesWithContext(ctx aws.Context, input *RemoveAttributesInput, opts ...request.Option) (*RemoveAttributesOutput, error) {
8264	req, out := c.RemoveAttributesRequest(input)
8265	req.SetContext(ctx)
8266	req.ApplyOptions(opts...)
8267	return out, req.Send()
8268}
8269
8270const opSendMessages = "SendMessages"
8271
8272// SendMessagesRequest generates a "aws/request.Request" representing the
8273// client's request for the SendMessages operation. The "output" return
8274// value will be populated with the request's response once the request completes
8275// successfully.
8276//
8277// Use "Send" method on the returned Request to send the API call to the service.
8278// the "output" return value is not valid until after Send returns without error.
8279//
8280// See SendMessages for more information on using the SendMessages
8281// API call, and error handling.
8282//
8283// This method is useful when you want to inject custom logic or configuration
8284// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8285//
8286//
8287//    // Example sending a request using the SendMessagesRequest method.
8288//    req, resp := client.SendMessagesRequest(params)
8289//
8290//    err := req.Send()
8291//    if err == nil { // resp is now filled
8292//        fmt.Println(resp)
8293//    }
8294//
8295// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages
8296func (c *Pinpoint) SendMessagesRequest(input *SendMessagesInput) (req *request.Request, output *SendMessagesOutput) {
8297	op := &request.Operation{
8298		Name:       opSendMessages,
8299		HTTPMethod: "POST",
8300		HTTPPath:   "/v1/apps/{application-id}/messages",
8301	}
8302
8303	if input == nil {
8304		input = &SendMessagesInput{}
8305	}
8306
8307	output = &SendMessagesOutput{}
8308	req = c.newRequest(op, input, output)
8309	return
8310}
8311
8312// SendMessages API operation for Amazon Pinpoint.
8313//
8314// Creates and sends a direct message.
8315//
8316// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8317// with awserr.Error's Code and Message methods to get detailed information about
8318// the error.
8319//
8320// See the AWS API reference guide for Amazon Pinpoint's
8321// API operation SendMessages for usage and error information.
8322//
8323// Returned Error Types:
8324//   * BadRequestException
8325//   Provides information about an API request or response.
8326//
8327//   * InternalServerErrorException
8328//   Provides information about an API request or response.
8329//
8330//   * PayloadTooLargeException
8331//   Provides information about an API request or response.
8332//
8333//   * ForbiddenException
8334//   Provides information about an API request or response.
8335//
8336//   * NotFoundException
8337//   Provides information about an API request or response.
8338//
8339//   * MethodNotAllowedException
8340//   Provides information about an API request or response.
8341//
8342//   * TooManyRequestsException
8343//   Provides information about an API request or response.
8344//
8345// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages
8346func (c *Pinpoint) SendMessages(input *SendMessagesInput) (*SendMessagesOutput, error) {
8347	req, out := c.SendMessagesRequest(input)
8348	return out, req.Send()
8349}
8350
8351// SendMessagesWithContext is the same as SendMessages with the addition of
8352// the ability to pass a context and additional request options.
8353//
8354// See SendMessages for details on how to use this API operation.
8355//
8356// The context must be non-nil and will be used for request cancellation. If
8357// the context is nil a panic will occur. In the future the SDK may create
8358// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8359// for more information on using Contexts.
8360func (c *Pinpoint) SendMessagesWithContext(ctx aws.Context, input *SendMessagesInput, opts ...request.Option) (*SendMessagesOutput, error) {
8361	req, out := c.SendMessagesRequest(input)
8362	req.SetContext(ctx)
8363	req.ApplyOptions(opts...)
8364	return out, req.Send()
8365}
8366
8367const opSendUsersMessages = "SendUsersMessages"
8368
8369// SendUsersMessagesRequest generates a "aws/request.Request" representing the
8370// client's request for the SendUsersMessages operation. The "output" return
8371// value will be populated with the request's response once the request completes
8372// successfully.
8373//
8374// Use "Send" method on the returned Request to send the API call to the service.
8375// the "output" return value is not valid until after Send returns without error.
8376//
8377// See SendUsersMessages for more information on using the SendUsersMessages
8378// API call, and error handling.
8379//
8380// This method is useful when you want to inject custom logic or configuration
8381// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8382//
8383//
8384//    // Example sending a request using the SendUsersMessagesRequest method.
8385//    req, resp := client.SendUsersMessagesRequest(params)
8386//
8387//    err := req.Send()
8388//    if err == nil { // resp is now filled
8389//        fmt.Println(resp)
8390//    }
8391//
8392// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages
8393func (c *Pinpoint) SendUsersMessagesRequest(input *SendUsersMessagesInput) (req *request.Request, output *SendUsersMessagesOutput) {
8394	op := &request.Operation{
8395		Name:       opSendUsersMessages,
8396		HTTPMethod: "POST",
8397		HTTPPath:   "/v1/apps/{application-id}/users-messages",
8398	}
8399
8400	if input == nil {
8401		input = &SendUsersMessagesInput{}
8402	}
8403
8404	output = &SendUsersMessagesOutput{}
8405	req = c.newRequest(op, input, output)
8406	return
8407}
8408
8409// SendUsersMessages API operation for Amazon Pinpoint.
8410//
8411// Creates and sends a message to a list of users.
8412//
8413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8414// with awserr.Error's Code and Message methods to get detailed information about
8415// the error.
8416//
8417// See the AWS API reference guide for Amazon Pinpoint's
8418// API operation SendUsersMessages for usage and error information.
8419//
8420// Returned Error Types:
8421//   * BadRequestException
8422//   Provides information about an API request or response.
8423//
8424//   * InternalServerErrorException
8425//   Provides information about an API request or response.
8426//
8427//   * PayloadTooLargeException
8428//   Provides information about an API request or response.
8429//
8430//   * ForbiddenException
8431//   Provides information about an API request or response.
8432//
8433//   * NotFoundException
8434//   Provides information about an API request or response.
8435//
8436//   * MethodNotAllowedException
8437//   Provides information about an API request or response.
8438//
8439//   * TooManyRequestsException
8440//   Provides information about an API request or response.
8441//
8442// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages
8443func (c *Pinpoint) SendUsersMessages(input *SendUsersMessagesInput) (*SendUsersMessagesOutput, error) {
8444	req, out := c.SendUsersMessagesRequest(input)
8445	return out, req.Send()
8446}
8447
8448// SendUsersMessagesWithContext is the same as SendUsersMessages with the addition of
8449// the ability to pass a context and additional request options.
8450//
8451// See SendUsersMessages for details on how to use this API operation.
8452//
8453// The context must be non-nil and will be used for request cancellation. If
8454// the context is nil a panic will occur. In the future the SDK may create
8455// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8456// for more information on using Contexts.
8457func (c *Pinpoint) SendUsersMessagesWithContext(ctx aws.Context, input *SendUsersMessagesInput, opts ...request.Option) (*SendUsersMessagesOutput, error) {
8458	req, out := c.SendUsersMessagesRequest(input)
8459	req.SetContext(ctx)
8460	req.ApplyOptions(opts...)
8461	return out, req.Send()
8462}
8463
8464const opTagResource = "TagResource"
8465
8466// TagResourceRequest generates a "aws/request.Request" representing the
8467// client's request for the TagResource operation. The "output" return
8468// value will be populated with the request's response once the request completes
8469// successfully.
8470//
8471// Use "Send" method on the returned Request to send the API call to the service.
8472// the "output" return value is not valid until after Send returns without error.
8473//
8474// See TagResource for more information on using the TagResource
8475// API call, and error handling.
8476//
8477// This method is useful when you want to inject custom logic or configuration
8478// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8479//
8480//
8481//    // Example sending a request using the TagResourceRequest method.
8482//    req, resp := client.TagResourceRequest(params)
8483//
8484//    err := req.Send()
8485//    if err == nil { // resp is now filled
8486//        fmt.Println(resp)
8487//    }
8488//
8489// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource
8490func (c *Pinpoint) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
8491	op := &request.Operation{
8492		Name:       opTagResource,
8493		HTTPMethod: "POST",
8494		HTTPPath:   "/v1/tags/{resource-arn}",
8495	}
8496
8497	if input == nil {
8498		input = &TagResourceInput{}
8499	}
8500
8501	output = &TagResourceOutput{}
8502	req = c.newRequest(op, input, output)
8503	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8504	return
8505}
8506
8507// TagResource API operation for Amazon Pinpoint.
8508//
8509// Adds one or more tags (keys and values) to an application, campaign, message
8510// template, or segment.
8511//
8512// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8513// with awserr.Error's Code and Message methods to get detailed information about
8514// the error.
8515//
8516// See the AWS API reference guide for Amazon Pinpoint's
8517// API operation TagResource for usage and error information.
8518// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource
8519func (c *Pinpoint) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
8520	req, out := c.TagResourceRequest(input)
8521	return out, req.Send()
8522}
8523
8524// TagResourceWithContext is the same as TagResource with the addition of
8525// the ability to pass a context and additional request options.
8526//
8527// See TagResource for details on how to use this API operation.
8528//
8529// The context must be non-nil and will be used for request cancellation. If
8530// the context is nil a panic will occur. In the future the SDK may create
8531// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8532// for more information on using Contexts.
8533func (c *Pinpoint) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
8534	req, out := c.TagResourceRequest(input)
8535	req.SetContext(ctx)
8536	req.ApplyOptions(opts...)
8537	return out, req.Send()
8538}
8539
8540const opUntagResource = "UntagResource"
8541
8542// UntagResourceRequest generates a "aws/request.Request" representing the
8543// client's request for the UntagResource operation. The "output" return
8544// value will be populated with the request's response once the request completes
8545// successfully.
8546//
8547// Use "Send" method on the returned Request to send the API call to the service.
8548// the "output" return value is not valid until after Send returns without error.
8549//
8550// See UntagResource for more information on using the UntagResource
8551// API call, and error handling.
8552//
8553// This method is useful when you want to inject custom logic or configuration
8554// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8555//
8556//
8557//    // Example sending a request using the UntagResourceRequest method.
8558//    req, resp := client.UntagResourceRequest(params)
8559//
8560//    err := req.Send()
8561//    if err == nil { // resp is now filled
8562//        fmt.Println(resp)
8563//    }
8564//
8565// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource
8566func (c *Pinpoint) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
8567	op := &request.Operation{
8568		Name:       opUntagResource,
8569		HTTPMethod: "DELETE",
8570		HTTPPath:   "/v1/tags/{resource-arn}",
8571	}
8572
8573	if input == nil {
8574		input = &UntagResourceInput{}
8575	}
8576
8577	output = &UntagResourceOutput{}
8578	req = c.newRequest(op, input, output)
8579	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8580	return
8581}
8582
8583// UntagResource API operation for Amazon Pinpoint.
8584//
8585// Removes one or more tags (keys and values) from an application, campaign,
8586// message template, or segment.
8587//
8588// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8589// with awserr.Error's Code and Message methods to get detailed information about
8590// the error.
8591//
8592// See the AWS API reference guide for Amazon Pinpoint's
8593// API operation UntagResource for usage and error information.
8594// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource
8595func (c *Pinpoint) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
8596	req, out := c.UntagResourceRequest(input)
8597	return out, req.Send()
8598}
8599
8600// UntagResourceWithContext is the same as UntagResource with the addition of
8601// the ability to pass a context and additional request options.
8602//
8603// See UntagResource for details on how to use this API operation.
8604//
8605// The context must be non-nil and will be used for request cancellation. If
8606// the context is nil a panic will occur. In the future the SDK may create
8607// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8608// for more information on using Contexts.
8609func (c *Pinpoint) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
8610	req, out := c.UntagResourceRequest(input)
8611	req.SetContext(ctx)
8612	req.ApplyOptions(opts...)
8613	return out, req.Send()
8614}
8615
8616const opUpdateAdmChannel = "UpdateAdmChannel"
8617
8618// UpdateAdmChannelRequest generates a "aws/request.Request" representing the
8619// client's request for the UpdateAdmChannel operation. The "output" return
8620// value will be populated with the request's response once the request completes
8621// successfully.
8622//
8623// Use "Send" method on the returned Request to send the API call to the service.
8624// the "output" return value is not valid until after Send returns without error.
8625//
8626// See UpdateAdmChannel for more information on using the UpdateAdmChannel
8627// API call, and error handling.
8628//
8629// This method is useful when you want to inject custom logic or configuration
8630// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8631//
8632//
8633//    // Example sending a request using the UpdateAdmChannelRequest method.
8634//    req, resp := client.UpdateAdmChannelRequest(params)
8635//
8636//    err := req.Send()
8637//    if err == nil { // resp is now filled
8638//        fmt.Println(resp)
8639//    }
8640//
8641// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel
8642func (c *Pinpoint) UpdateAdmChannelRequest(input *UpdateAdmChannelInput) (req *request.Request, output *UpdateAdmChannelOutput) {
8643	op := &request.Operation{
8644		Name:       opUpdateAdmChannel,
8645		HTTPMethod: "PUT",
8646		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
8647	}
8648
8649	if input == nil {
8650		input = &UpdateAdmChannelInput{}
8651	}
8652
8653	output = &UpdateAdmChannelOutput{}
8654	req = c.newRequest(op, input, output)
8655	return
8656}
8657
8658// UpdateAdmChannel API operation for Amazon Pinpoint.
8659//
8660// Enables the ADM channel for an application or updates the status and settings
8661// of the ADM channel for an application.
8662//
8663// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8664// with awserr.Error's Code and Message methods to get detailed information about
8665// the error.
8666//
8667// See the AWS API reference guide for Amazon Pinpoint's
8668// API operation UpdateAdmChannel for usage and error information.
8669//
8670// Returned Error Types:
8671//   * BadRequestException
8672//   Provides information about an API request or response.
8673//
8674//   * InternalServerErrorException
8675//   Provides information about an API request or response.
8676//
8677//   * PayloadTooLargeException
8678//   Provides information about an API request or response.
8679//
8680//   * ForbiddenException
8681//   Provides information about an API request or response.
8682//
8683//   * NotFoundException
8684//   Provides information about an API request or response.
8685//
8686//   * MethodNotAllowedException
8687//   Provides information about an API request or response.
8688//
8689//   * TooManyRequestsException
8690//   Provides information about an API request or response.
8691//
8692// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel
8693func (c *Pinpoint) UpdateAdmChannel(input *UpdateAdmChannelInput) (*UpdateAdmChannelOutput, error) {
8694	req, out := c.UpdateAdmChannelRequest(input)
8695	return out, req.Send()
8696}
8697
8698// UpdateAdmChannelWithContext is the same as UpdateAdmChannel with the addition of
8699// the ability to pass a context and additional request options.
8700//
8701// See UpdateAdmChannel for details on how to use this API operation.
8702//
8703// The context must be non-nil and will be used for request cancellation. If
8704// the context is nil a panic will occur. In the future the SDK may create
8705// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8706// for more information on using Contexts.
8707func (c *Pinpoint) UpdateAdmChannelWithContext(ctx aws.Context, input *UpdateAdmChannelInput, opts ...request.Option) (*UpdateAdmChannelOutput, error) {
8708	req, out := c.UpdateAdmChannelRequest(input)
8709	req.SetContext(ctx)
8710	req.ApplyOptions(opts...)
8711	return out, req.Send()
8712}
8713
8714const opUpdateApnsChannel = "UpdateApnsChannel"
8715
8716// UpdateApnsChannelRequest generates a "aws/request.Request" representing the
8717// client's request for the UpdateApnsChannel operation. The "output" return
8718// value will be populated with the request's response once the request completes
8719// successfully.
8720//
8721// Use "Send" method on the returned Request to send the API call to the service.
8722// the "output" return value is not valid until after Send returns without error.
8723//
8724// See UpdateApnsChannel for more information on using the UpdateApnsChannel
8725// API call, and error handling.
8726//
8727// This method is useful when you want to inject custom logic or configuration
8728// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8729//
8730//
8731//    // Example sending a request using the UpdateApnsChannelRequest method.
8732//    req, resp := client.UpdateApnsChannelRequest(params)
8733//
8734//    err := req.Send()
8735//    if err == nil { // resp is now filled
8736//        fmt.Println(resp)
8737//    }
8738//
8739// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel
8740func (c *Pinpoint) UpdateApnsChannelRequest(input *UpdateApnsChannelInput) (req *request.Request, output *UpdateApnsChannelOutput) {
8741	op := &request.Operation{
8742		Name:       opUpdateApnsChannel,
8743		HTTPMethod: "PUT",
8744		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
8745	}
8746
8747	if input == nil {
8748		input = &UpdateApnsChannelInput{}
8749	}
8750
8751	output = &UpdateApnsChannelOutput{}
8752	req = c.newRequest(op, input, output)
8753	return
8754}
8755
8756// UpdateApnsChannel API operation for Amazon Pinpoint.
8757//
8758// Enables the APNs channel for an application or updates the status and settings
8759// of the APNs channel for an application.
8760//
8761// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8762// with awserr.Error's Code and Message methods to get detailed information about
8763// the error.
8764//
8765// See the AWS API reference guide for Amazon Pinpoint's
8766// API operation UpdateApnsChannel for usage and error information.
8767//
8768// Returned Error Types:
8769//   * BadRequestException
8770//   Provides information about an API request or response.
8771//
8772//   * InternalServerErrorException
8773//   Provides information about an API request or response.
8774//
8775//   * PayloadTooLargeException
8776//   Provides information about an API request or response.
8777//
8778//   * ForbiddenException
8779//   Provides information about an API request or response.
8780//
8781//   * NotFoundException
8782//   Provides information about an API request or response.
8783//
8784//   * MethodNotAllowedException
8785//   Provides information about an API request or response.
8786//
8787//   * TooManyRequestsException
8788//   Provides information about an API request or response.
8789//
8790// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel
8791func (c *Pinpoint) UpdateApnsChannel(input *UpdateApnsChannelInput) (*UpdateApnsChannelOutput, error) {
8792	req, out := c.UpdateApnsChannelRequest(input)
8793	return out, req.Send()
8794}
8795
8796// UpdateApnsChannelWithContext is the same as UpdateApnsChannel with the addition of
8797// the ability to pass a context and additional request options.
8798//
8799// See UpdateApnsChannel for details on how to use this API operation.
8800//
8801// The context must be non-nil and will be used for request cancellation. If
8802// the context is nil a panic will occur. In the future the SDK may create
8803// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8804// for more information on using Contexts.
8805func (c *Pinpoint) UpdateApnsChannelWithContext(ctx aws.Context, input *UpdateApnsChannelInput, opts ...request.Option) (*UpdateApnsChannelOutput, error) {
8806	req, out := c.UpdateApnsChannelRequest(input)
8807	req.SetContext(ctx)
8808	req.ApplyOptions(opts...)
8809	return out, req.Send()
8810}
8811
8812const opUpdateApnsSandboxChannel = "UpdateApnsSandboxChannel"
8813
8814// UpdateApnsSandboxChannelRequest generates a "aws/request.Request" representing the
8815// client's request for the UpdateApnsSandboxChannel operation. The "output" return
8816// value will be populated with the request's response once the request completes
8817// successfully.
8818//
8819// Use "Send" method on the returned Request to send the API call to the service.
8820// the "output" return value is not valid until after Send returns without error.
8821//
8822// See UpdateApnsSandboxChannel for more information on using the UpdateApnsSandboxChannel
8823// API call, and error handling.
8824//
8825// This method is useful when you want to inject custom logic or configuration
8826// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8827//
8828//
8829//    // Example sending a request using the UpdateApnsSandboxChannelRequest method.
8830//    req, resp := client.UpdateApnsSandboxChannelRequest(params)
8831//
8832//    err := req.Send()
8833//    if err == nil { // resp is now filled
8834//        fmt.Println(resp)
8835//    }
8836//
8837// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel
8838func (c *Pinpoint) UpdateApnsSandboxChannelRequest(input *UpdateApnsSandboxChannelInput) (req *request.Request, output *UpdateApnsSandboxChannelOutput) {
8839	op := &request.Operation{
8840		Name:       opUpdateApnsSandboxChannel,
8841		HTTPMethod: "PUT",
8842		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
8843	}
8844
8845	if input == nil {
8846		input = &UpdateApnsSandboxChannelInput{}
8847	}
8848
8849	output = &UpdateApnsSandboxChannelOutput{}
8850	req = c.newRequest(op, input, output)
8851	return
8852}
8853
8854// UpdateApnsSandboxChannel API operation for Amazon Pinpoint.
8855//
8856// Enables the APNs sandbox channel for an application or updates the status
8857// and settings of the APNs sandbox channel for an application.
8858//
8859// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8860// with awserr.Error's Code and Message methods to get detailed information about
8861// the error.
8862//
8863// See the AWS API reference guide for Amazon Pinpoint's
8864// API operation UpdateApnsSandboxChannel for usage and error information.
8865//
8866// Returned Error Types:
8867//   * BadRequestException
8868//   Provides information about an API request or response.
8869//
8870//   * InternalServerErrorException
8871//   Provides information about an API request or response.
8872//
8873//   * PayloadTooLargeException
8874//   Provides information about an API request or response.
8875//
8876//   * ForbiddenException
8877//   Provides information about an API request or response.
8878//
8879//   * NotFoundException
8880//   Provides information about an API request or response.
8881//
8882//   * MethodNotAllowedException
8883//   Provides information about an API request or response.
8884//
8885//   * TooManyRequestsException
8886//   Provides information about an API request or response.
8887//
8888// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel
8889func (c *Pinpoint) UpdateApnsSandboxChannel(input *UpdateApnsSandboxChannelInput) (*UpdateApnsSandboxChannelOutput, error) {
8890	req, out := c.UpdateApnsSandboxChannelRequest(input)
8891	return out, req.Send()
8892}
8893
8894// UpdateApnsSandboxChannelWithContext is the same as UpdateApnsSandboxChannel with the addition of
8895// the ability to pass a context and additional request options.
8896//
8897// See UpdateApnsSandboxChannel for details on how to use this API operation.
8898//
8899// The context must be non-nil and will be used for request cancellation. If
8900// the context is nil a panic will occur. In the future the SDK may create
8901// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8902// for more information on using Contexts.
8903func (c *Pinpoint) UpdateApnsSandboxChannelWithContext(ctx aws.Context, input *UpdateApnsSandboxChannelInput, opts ...request.Option) (*UpdateApnsSandboxChannelOutput, error) {
8904	req, out := c.UpdateApnsSandboxChannelRequest(input)
8905	req.SetContext(ctx)
8906	req.ApplyOptions(opts...)
8907	return out, req.Send()
8908}
8909
8910const opUpdateApnsVoipChannel = "UpdateApnsVoipChannel"
8911
8912// UpdateApnsVoipChannelRequest generates a "aws/request.Request" representing the
8913// client's request for the UpdateApnsVoipChannel operation. The "output" return
8914// value will be populated with the request's response once the request completes
8915// successfully.
8916//
8917// Use "Send" method on the returned Request to send the API call to the service.
8918// the "output" return value is not valid until after Send returns without error.
8919//
8920// See UpdateApnsVoipChannel for more information on using the UpdateApnsVoipChannel
8921// API call, and error handling.
8922//
8923// This method is useful when you want to inject custom logic or configuration
8924// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8925//
8926//
8927//    // Example sending a request using the UpdateApnsVoipChannelRequest method.
8928//    req, resp := client.UpdateApnsVoipChannelRequest(params)
8929//
8930//    err := req.Send()
8931//    if err == nil { // resp is now filled
8932//        fmt.Println(resp)
8933//    }
8934//
8935// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipChannel
8936func (c *Pinpoint) UpdateApnsVoipChannelRequest(input *UpdateApnsVoipChannelInput) (req *request.Request, output *UpdateApnsVoipChannelOutput) {
8937	op := &request.Operation{
8938		Name:       opUpdateApnsVoipChannel,
8939		HTTPMethod: "PUT",
8940		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
8941	}
8942
8943	if input == nil {
8944		input = &UpdateApnsVoipChannelInput{}
8945	}
8946
8947	output = &UpdateApnsVoipChannelOutput{}
8948	req = c.newRequest(op, input, output)
8949	return
8950}
8951
8952// UpdateApnsVoipChannel API operation for Amazon Pinpoint.
8953//
8954// Enables the APNs VoIP channel for an application or updates the status and
8955// settings of the APNs VoIP channel for an application.
8956//
8957// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8958// with awserr.Error's Code and Message methods to get detailed information about
8959// the error.
8960//
8961// See the AWS API reference guide for Amazon Pinpoint's
8962// API operation UpdateApnsVoipChannel for usage and error information.
8963//
8964// Returned Error Types:
8965//   * BadRequestException
8966//   Provides information about an API request or response.
8967//
8968//   * InternalServerErrorException
8969//   Provides information about an API request or response.
8970//
8971//   * PayloadTooLargeException
8972//   Provides information about an API request or response.
8973//
8974//   * ForbiddenException
8975//   Provides information about an API request or response.
8976//
8977//   * NotFoundException
8978//   Provides information about an API request or response.
8979//
8980//   * MethodNotAllowedException
8981//   Provides information about an API request or response.
8982//
8983//   * TooManyRequestsException
8984//   Provides information about an API request or response.
8985//
8986// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipChannel
8987func (c *Pinpoint) UpdateApnsVoipChannel(input *UpdateApnsVoipChannelInput) (*UpdateApnsVoipChannelOutput, error) {
8988	req, out := c.UpdateApnsVoipChannelRequest(input)
8989	return out, req.Send()
8990}
8991
8992// UpdateApnsVoipChannelWithContext is the same as UpdateApnsVoipChannel with the addition of
8993// the ability to pass a context and additional request options.
8994//
8995// See UpdateApnsVoipChannel for details on how to use this API operation.
8996//
8997// The context must be non-nil and will be used for request cancellation. If
8998// the context is nil a panic will occur. In the future the SDK may create
8999// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9000// for more information on using Contexts.
9001func (c *Pinpoint) UpdateApnsVoipChannelWithContext(ctx aws.Context, input *UpdateApnsVoipChannelInput, opts ...request.Option) (*UpdateApnsVoipChannelOutput, error) {
9002	req, out := c.UpdateApnsVoipChannelRequest(input)
9003	req.SetContext(ctx)
9004	req.ApplyOptions(opts...)
9005	return out, req.Send()
9006}
9007
9008const opUpdateApnsVoipSandboxChannel = "UpdateApnsVoipSandboxChannel"
9009
9010// UpdateApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
9011// client's request for the UpdateApnsVoipSandboxChannel operation. The "output" return
9012// value will be populated with the request's response once the request completes
9013// successfully.
9014//
9015// Use "Send" method on the returned Request to send the API call to the service.
9016// the "output" return value is not valid until after Send returns without error.
9017//
9018// See UpdateApnsVoipSandboxChannel for more information on using the UpdateApnsVoipSandboxChannel
9019// API call, and error handling.
9020//
9021// This method is useful when you want to inject custom logic or configuration
9022// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9023//
9024//
9025//    // Example sending a request using the UpdateApnsVoipSandboxChannelRequest method.
9026//    req, resp := client.UpdateApnsVoipSandboxChannelRequest(params)
9027//
9028//    err := req.Send()
9029//    if err == nil { // resp is now filled
9030//        fmt.Println(resp)
9031//    }
9032//
9033// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipSandboxChannel
9034func (c *Pinpoint) UpdateApnsVoipSandboxChannelRequest(input *UpdateApnsVoipSandboxChannelInput) (req *request.Request, output *UpdateApnsVoipSandboxChannelOutput) {
9035	op := &request.Operation{
9036		Name:       opUpdateApnsVoipSandboxChannel,
9037		HTTPMethod: "PUT",
9038		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
9039	}
9040
9041	if input == nil {
9042		input = &UpdateApnsVoipSandboxChannelInput{}
9043	}
9044
9045	output = &UpdateApnsVoipSandboxChannelOutput{}
9046	req = c.newRequest(op, input, output)
9047	return
9048}
9049
9050// UpdateApnsVoipSandboxChannel API operation for Amazon Pinpoint.
9051//
9052// Enables the APNs VoIP sandbox channel for an application or updates the status
9053// and settings of the APNs VoIP sandbox channel for an application.
9054//
9055// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9056// with awserr.Error's Code and Message methods to get detailed information about
9057// the error.
9058//
9059// See the AWS API reference guide for Amazon Pinpoint's
9060// API operation UpdateApnsVoipSandboxChannel for usage and error information.
9061//
9062// Returned Error Types:
9063//   * BadRequestException
9064//   Provides information about an API request or response.
9065//
9066//   * InternalServerErrorException
9067//   Provides information about an API request or response.
9068//
9069//   * PayloadTooLargeException
9070//   Provides information about an API request or response.
9071//
9072//   * ForbiddenException
9073//   Provides information about an API request or response.
9074//
9075//   * NotFoundException
9076//   Provides information about an API request or response.
9077//
9078//   * MethodNotAllowedException
9079//   Provides information about an API request or response.
9080//
9081//   * TooManyRequestsException
9082//   Provides information about an API request or response.
9083//
9084// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipSandboxChannel
9085func (c *Pinpoint) UpdateApnsVoipSandboxChannel(input *UpdateApnsVoipSandboxChannelInput) (*UpdateApnsVoipSandboxChannelOutput, error) {
9086	req, out := c.UpdateApnsVoipSandboxChannelRequest(input)
9087	return out, req.Send()
9088}
9089
9090// UpdateApnsVoipSandboxChannelWithContext is the same as UpdateApnsVoipSandboxChannel with the addition of
9091// the ability to pass a context and additional request options.
9092//
9093// See UpdateApnsVoipSandboxChannel for details on how to use this API operation.
9094//
9095// The context must be non-nil and will be used for request cancellation. If
9096// the context is nil a panic will occur. In the future the SDK may create
9097// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9098// for more information on using Contexts.
9099func (c *Pinpoint) UpdateApnsVoipSandboxChannelWithContext(ctx aws.Context, input *UpdateApnsVoipSandboxChannelInput, opts ...request.Option) (*UpdateApnsVoipSandboxChannelOutput, error) {
9100	req, out := c.UpdateApnsVoipSandboxChannelRequest(input)
9101	req.SetContext(ctx)
9102	req.ApplyOptions(opts...)
9103	return out, req.Send()
9104}
9105
9106const opUpdateApplicationSettings = "UpdateApplicationSettings"
9107
9108// UpdateApplicationSettingsRequest generates a "aws/request.Request" representing the
9109// client's request for the UpdateApplicationSettings operation. The "output" return
9110// value will be populated with the request's response once the request completes
9111// successfully.
9112//
9113// Use "Send" method on the returned Request to send the API call to the service.
9114// the "output" return value is not valid until after Send returns without error.
9115//
9116// See UpdateApplicationSettings for more information on using the UpdateApplicationSettings
9117// API call, and error handling.
9118//
9119// This method is useful when you want to inject custom logic or configuration
9120// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9121//
9122//
9123//    // Example sending a request using the UpdateApplicationSettingsRequest method.
9124//    req, resp := client.UpdateApplicationSettingsRequest(params)
9125//
9126//    err := req.Send()
9127//    if err == nil { // resp is now filled
9128//        fmt.Println(resp)
9129//    }
9130//
9131// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettings
9132func (c *Pinpoint) UpdateApplicationSettingsRequest(input *UpdateApplicationSettingsInput) (req *request.Request, output *UpdateApplicationSettingsOutput) {
9133	op := &request.Operation{
9134		Name:       opUpdateApplicationSettings,
9135		HTTPMethod: "PUT",
9136		HTTPPath:   "/v1/apps/{application-id}/settings",
9137	}
9138
9139	if input == nil {
9140		input = &UpdateApplicationSettingsInput{}
9141	}
9142
9143	output = &UpdateApplicationSettingsOutput{}
9144	req = c.newRequest(op, input, output)
9145	return
9146}
9147
9148// UpdateApplicationSettings API operation for Amazon Pinpoint.
9149//
9150// Updates the settings for an application.
9151//
9152// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9153// with awserr.Error's Code and Message methods to get detailed information about
9154// the error.
9155//
9156// See the AWS API reference guide for Amazon Pinpoint's
9157// API operation UpdateApplicationSettings for usage and error information.
9158//
9159// Returned Error Types:
9160//   * BadRequestException
9161//   Provides information about an API request or response.
9162//
9163//   * InternalServerErrorException
9164//   Provides information about an API request or response.
9165//
9166//   * PayloadTooLargeException
9167//   Provides information about an API request or response.
9168//
9169//   * ForbiddenException
9170//   Provides information about an API request or response.
9171//
9172//   * NotFoundException
9173//   Provides information about an API request or response.
9174//
9175//   * MethodNotAllowedException
9176//   Provides information about an API request or response.
9177//
9178//   * TooManyRequestsException
9179//   Provides information about an API request or response.
9180//
9181// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettings
9182func (c *Pinpoint) UpdateApplicationSettings(input *UpdateApplicationSettingsInput) (*UpdateApplicationSettingsOutput, error) {
9183	req, out := c.UpdateApplicationSettingsRequest(input)
9184	return out, req.Send()
9185}
9186
9187// UpdateApplicationSettingsWithContext is the same as UpdateApplicationSettings with the addition of
9188// the ability to pass a context and additional request options.
9189//
9190// See UpdateApplicationSettings for details on how to use this API operation.
9191//
9192// The context must be non-nil and will be used for request cancellation. If
9193// the context is nil a panic will occur. In the future the SDK may create
9194// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9195// for more information on using Contexts.
9196func (c *Pinpoint) UpdateApplicationSettingsWithContext(ctx aws.Context, input *UpdateApplicationSettingsInput, opts ...request.Option) (*UpdateApplicationSettingsOutput, error) {
9197	req, out := c.UpdateApplicationSettingsRequest(input)
9198	req.SetContext(ctx)
9199	req.ApplyOptions(opts...)
9200	return out, req.Send()
9201}
9202
9203const opUpdateBaiduChannel = "UpdateBaiduChannel"
9204
9205// UpdateBaiduChannelRequest generates a "aws/request.Request" representing the
9206// client's request for the UpdateBaiduChannel operation. The "output" return
9207// value will be populated with the request's response once the request completes
9208// successfully.
9209//
9210// Use "Send" method on the returned Request to send the API call to the service.
9211// the "output" return value is not valid until after Send returns without error.
9212//
9213// See UpdateBaiduChannel for more information on using the UpdateBaiduChannel
9214// API call, and error handling.
9215//
9216// This method is useful when you want to inject custom logic or configuration
9217// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9218//
9219//
9220//    // Example sending a request using the UpdateBaiduChannelRequest method.
9221//    req, resp := client.UpdateBaiduChannelRequest(params)
9222//
9223//    err := req.Send()
9224//    if err == nil { // resp is now filled
9225//        fmt.Println(resp)
9226//    }
9227//
9228// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel
9229func (c *Pinpoint) UpdateBaiduChannelRequest(input *UpdateBaiduChannelInput) (req *request.Request, output *UpdateBaiduChannelOutput) {
9230	op := &request.Operation{
9231		Name:       opUpdateBaiduChannel,
9232		HTTPMethod: "PUT",
9233		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
9234	}
9235
9236	if input == nil {
9237		input = &UpdateBaiduChannelInput{}
9238	}
9239
9240	output = &UpdateBaiduChannelOutput{}
9241	req = c.newRequest(op, input, output)
9242	return
9243}
9244
9245// UpdateBaiduChannel API operation for Amazon Pinpoint.
9246//
9247// Enables the Baidu channel for an application or updates the status and settings
9248// of the Baidu channel for an application.
9249//
9250// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9251// with awserr.Error's Code and Message methods to get detailed information about
9252// the error.
9253//
9254// See the AWS API reference guide for Amazon Pinpoint's
9255// API operation UpdateBaiduChannel for usage and error information.
9256//
9257// Returned Error Types:
9258//   * BadRequestException
9259//   Provides information about an API request or response.
9260//
9261//   * InternalServerErrorException
9262//   Provides information about an API request or response.
9263//
9264//   * PayloadTooLargeException
9265//   Provides information about an API request or response.
9266//
9267//   * ForbiddenException
9268//   Provides information about an API request or response.
9269//
9270//   * NotFoundException
9271//   Provides information about an API request or response.
9272//
9273//   * MethodNotAllowedException
9274//   Provides information about an API request or response.
9275//
9276//   * TooManyRequestsException
9277//   Provides information about an API request or response.
9278//
9279// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel
9280func (c *Pinpoint) UpdateBaiduChannel(input *UpdateBaiduChannelInput) (*UpdateBaiduChannelOutput, error) {
9281	req, out := c.UpdateBaiduChannelRequest(input)
9282	return out, req.Send()
9283}
9284
9285// UpdateBaiduChannelWithContext is the same as UpdateBaiduChannel with the addition of
9286// the ability to pass a context and additional request options.
9287//
9288// See UpdateBaiduChannel for details on how to use this API operation.
9289//
9290// The context must be non-nil and will be used for request cancellation. If
9291// the context is nil a panic will occur. In the future the SDK may create
9292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9293// for more information on using Contexts.
9294func (c *Pinpoint) UpdateBaiduChannelWithContext(ctx aws.Context, input *UpdateBaiduChannelInput, opts ...request.Option) (*UpdateBaiduChannelOutput, error) {
9295	req, out := c.UpdateBaiduChannelRequest(input)
9296	req.SetContext(ctx)
9297	req.ApplyOptions(opts...)
9298	return out, req.Send()
9299}
9300
9301const opUpdateCampaign = "UpdateCampaign"
9302
9303// UpdateCampaignRequest generates a "aws/request.Request" representing the
9304// client's request for the UpdateCampaign operation. The "output" return
9305// value will be populated with the request's response once the request completes
9306// successfully.
9307//
9308// Use "Send" method on the returned Request to send the API call to the service.
9309// the "output" return value is not valid until after Send returns without error.
9310//
9311// See UpdateCampaign for more information on using the UpdateCampaign
9312// API call, and error handling.
9313//
9314// This method is useful when you want to inject custom logic or configuration
9315// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9316//
9317//
9318//    // Example sending a request using the UpdateCampaignRequest method.
9319//    req, resp := client.UpdateCampaignRequest(params)
9320//
9321//    err := req.Send()
9322//    if err == nil { // resp is now filled
9323//        fmt.Println(resp)
9324//    }
9325//
9326// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaign
9327func (c *Pinpoint) UpdateCampaignRequest(input *UpdateCampaignInput) (req *request.Request, output *UpdateCampaignOutput) {
9328	op := &request.Operation{
9329		Name:       opUpdateCampaign,
9330		HTTPMethod: "PUT",
9331		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
9332	}
9333
9334	if input == nil {
9335		input = &UpdateCampaignInput{}
9336	}
9337
9338	output = &UpdateCampaignOutput{}
9339	req = c.newRequest(op, input, output)
9340	return
9341}
9342
9343// UpdateCampaign API operation for Amazon Pinpoint.
9344//
9345// Updates the configuration and other settings for a campaign.
9346//
9347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9348// with awserr.Error's Code and Message methods to get detailed information about
9349// the error.
9350//
9351// See the AWS API reference guide for Amazon Pinpoint's
9352// API operation UpdateCampaign for usage and error information.
9353//
9354// Returned Error Types:
9355//   * BadRequestException
9356//   Provides information about an API request or response.
9357//
9358//   * InternalServerErrorException
9359//   Provides information about an API request or response.
9360//
9361//   * PayloadTooLargeException
9362//   Provides information about an API request or response.
9363//
9364//   * ForbiddenException
9365//   Provides information about an API request or response.
9366//
9367//   * NotFoundException
9368//   Provides information about an API request or response.
9369//
9370//   * MethodNotAllowedException
9371//   Provides information about an API request or response.
9372//
9373//   * TooManyRequestsException
9374//   Provides information about an API request or response.
9375//
9376// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaign
9377func (c *Pinpoint) UpdateCampaign(input *UpdateCampaignInput) (*UpdateCampaignOutput, error) {
9378	req, out := c.UpdateCampaignRequest(input)
9379	return out, req.Send()
9380}
9381
9382// UpdateCampaignWithContext is the same as UpdateCampaign with the addition of
9383// the ability to pass a context and additional request options.
9384//
9385// See UpdateCampaign for details on how to use this API operation.
9386//
9387// The context must be non-nil and will be used for request cancellation. If
9388// the context is nil a panic will occur. In the future the SDK may create
9389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9390// for more information on using Contexts.
9391func (c *Pinpoint) UpdateCampaignWithContext(ctx aws.Context, input *UpdateCampaignInput, opts ...request.Option) (*UpdateCampaignOutput, error) {
9392	req, out := c.UpdateCampaignRequest(input)
9393	req.SetContext(ctx)
9394	req.ApplyOptions(opts...)
9395	return out, req.Send()
9396}
9397
9398const opUpdateEmailChannel = "UpdateEmailChannel"
9399
9400// UpdateEmailChannelRequest generates a "aws/request.Request" representing the
9401// client's request for the UpdateEmailChannel operation. The "output" return
9402// value will be populated with the request's response once the request completes
9403// successfully.
9404//
9405// Use "Send" method on the returned Request to send the API call to the service.
9406// the "output" return value is not valid until after Send returns without error.
9407//
9408// See UpdateEmailChannel for more information on using the UpdateEmailChannel
9409// API call, and error handling.
9410//
9411// This method is useful when you want to inject custom logic or configuration
9412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9413//
9414//
9415//    // Example sending a request using the UpdateEmailChannelRequest method.
9416//    req, resp := client.UpdateEmailChannelRequest(params)
9417//
9418//    err := req.Send()
9419//    if err == nil { // resp is now filled
9420//        fmt.Println(resp)
9421//    }
9422//
9423// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel
9424func (c *Pinpoint) UpdateEmailChannelRequest(input *UpdateEmailChannelInput) (req *request.Request, output *UpdateEmailChannelOutput) {
9425	op := &request.Operation{
9426		Name:       opUpdateEmailChannel,
9427		HTTPMethod: "PUT",
9428		HTTPPath:   "/v1/apps/{application-id}/channels/email",
9429	}
9430
9431	if input == nil {
9432		input = &UpdateEmailChannelInput{}
9433	}
9434
9435	output = &UpdateEmailChannelOutput{}
9436	req = c.newRequest(op, input, output)
9437	return
9438}
9439
9440// UpdateEmailChannel API operation for Amazon Pinpoint.
9441//
9442// Enables the email channel for an application or updates the status and settings
9443// of the email channel for an application.
9444//
9445// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9446// with awserr.Error's Code and Message methods to get detailed information about
9447// the error.
9448//
9449// See the AWS API reference guide for Amazon Pinpoint's
9450// API operation UpdateEmailChannel for usage and error information.
9451//
9452// Returned Error Types:
9453//   * BadRequestException
9454//   Provides information about an API request or response.
9455//
9456//   * InternalServerErrorException
9457//   Provides information about an API request or response.
9458//
9459//   * PayloadTooLargeException
9460//   Provides information about an API request or response.
9461//
9462//   * ForbiddenException
9463//   Provides information about an API request or response.
9464//
9465//   * NotFoundException
9466//   Provides information about an API request or response.
9467//
9468//   * MethodNotAllowedException
9469//   Provides information about an API request or response.
9470//
9471//   * TooManyRequestsException
9472//   Provides information about an API request or response.
9473//
9474// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel
9475func (c *Pinpoint) UpdateEmailChannel(input *UpdateEmailChannelInput) (*UpdateEmailChannelOutput, error) {
9476	req, out := c.UpdateEmailChannelRequest(input)
9477	return out, req.Send()
9478}
9479
9480// UpdateEmailChannelWithContext is the same as UpdateEmailChannel with the addition of
9481// the ability to pass a context and additional request options.
9482//
9483// See UpdateEmailChannel for details on how to use this API operation.
9484//
9485// The context must be non-nil and will be used for request cancellation. If
9486// the context is nil a panic will occur. In the future the SDK may create
9487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9488// for more information on using Contexts.
9489func (c *Pinpoint) UpdateEmailChannelWithContext(ctx aws.Context, input *UpdateEmailChannelInput, opts ...request.Option) (*UpdateEmailChannelOutput, error) {
9490	req, out := c.UpdateEmailChannelRequest(input)
9491	req.SetContext(ctx)
9492	req.ApplyOptions(opts...)
9493	return out, req.Send()
9494}
9495
9496const opUpdateEmailTemplate = "UpdateEmailTemplate"
9497
9498// UpdateEmailTemplateRequest generates a "aws/request.Request" representing the
9499// client's request for the UpdateEmailTemplate operation. The "output" return
9500// value will be populated with the request's response once the request completes
9501// successfully.
9502//
9503// Use "Send" method on the returned Request to send the API call to the service.
9504// the "output" return value is not valid until after Send returns without error.
9505//
9506// See UpdateEmailTemplate for more information on using the UpdateEmailTemplate
9507// API call, and error handling.
9508//
9509// This method is useful when you want to inject custom logic or configuration
9510// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9511//
9512//
9513//    // Example sending a request using the UpdateEmailTemplateRequest method.
9514//    req, resp := client.UpdateEmailTemplateRequest(params)
9515//
9516//    err := req.Send()
9517//    if err == nil { // resp is now filled
9518//        fmt.Println(resp)
9519//    }
9520//
9521// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailTemplate
9522func (c *Pinpoint) UpdateEmailTemplateRequest(input *UpdateEmailTemplateInput) (req *request.Request, output *UpdateEmailTemplateOutput) {
9523	op := &request.Operation{
9524		Name:       opUpdateEmailTemplate,
9525		HTTPMethod: "PUT",
9526		HTTPPath:   "/v1/templates/{template-name}/email",
9527	}
9528
9529	if input == nil {
9530		input = &UpdateEmailTemplateInput{}
9531	}
9532
9533	output = &UpdateEmailTemplateOutput{}
9534	req = c.newRequest(op, input, output)
9535	return
9536}
9537
9538// UpdateEmailTemplate API operation for Amazon Pinpoint.
9539//
9540// Updates an existing message template for messages that are sent through the
9541// email channel.
9542//
9543// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9544// with awserr.Error's Code and Message methods to get detailed information about
9545// the error.
9546//
9547// See the AWS API reference guide for Amazon Pinpoint's
9548// API operation UpdateEmailTemplate for usage and error information.
9549//
9550// Returned Error Types:
9551//   * BadRequestException
9552//   Provides information about an API request or response.
9553//
9554//   * InternalServerErrorException
9555//   Provides information about an API request or response.
9556//
9557//   * PayloadTooLargeException
9558//   Provides information about an API request or response.
9559//
9560//   * ForbiddenException
9561//   Provides information about an API request or response.
9562//
9563//   * NotFoundException
9564//   Provides information about an API request or response.
9565//
9566//   * MethodNotAllowedException
9567//   Provides information about an API request or response.
9568//
9569//   * TooManyRequestsException
9570//   Provides information about an API request or response.
9571//
9572// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailTemplate
9573func (c *Pinpoint) UpdateEmailTemplate(input *UpdateEmailTemplateInput) (*UpdateEmailTemplateOutput, error) {
9574	req, out := c.UpdateEmailTemplateRequest(input)
9575	return out, req.Send()
9576}
9577
9578// UpdateEmailTemplateWithContext is the same as UpdateEmailTemplate with the addition of
9579// the ability to pass a context and additional request options.
9580//
9581// See UpdateEmailTemplate for details on how to use this API operation.
9582//
9583// The context must be non-nil and will be used for request cancellation. If
9584// the context is nil a panic will occur. In the future the SDK may create
9585// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9586// for more information on using Contexts.
9587func (c *Pinpoint) UpdateEmailTemplateWithContext(ctx aws.Context, input *UpdateEmailTemplateInput, opts ...request.Option) (*UpdateEmailTemplateOutput, error) {
9588	req, out := c.UpdateEmailTemplateRequest(input)
9589	req.SetContext(ctx)
9590	req.ApplyOptions(opts...)
9591	return out, req.Send()
9592}
9593
9594const opUpdateEndpoint = "UpdateEndpoint"
9595
9596// UpdateEndpointRequest generates a "aws/request.Request" representing the
9597// client's request for the UpdateEndpoint operation. The "output" return
9598// value will be populated with the request's response once the request completes
9599// successfully.
9600//
9601// Use "Send" method on the returned Request to send the API call to the service.
9602// the "output" return value is not valid until after Send returns without error.
9603//
9604// See UpdateEndpoint for more information on using the UpdateEndpoint
9605// API call, and error handling.
9606//
9607// This method is useful when you want to inject custom logic or configuration
9608// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9609//
9610//
9611//    // Example sending a request using the UpdateEndpointRequest method.
9612//    req, resp := client.UpdateEndpointRequest(params)
9613//
9614//    err := req.Send()
9615//    if err == nil { // resp is now filled
9616//        fmt.Println(resp)
9617//    }
9618//
9619// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpoint
9620func (c *Pinpoint) UpdateEndpointRequest(input *UpdateEndpointInput) (req *request.Request, output *UpdateEndpointOutput) {
9621	op := &request.Operation{
9622		Name:       opUpdateEndpoint,
9623		HTTPMethod: "PUT",
9624		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
9625	}
9626
9627	if input == nil {
9628		input = &UpdateEndpointInput{}
9629	}
9630
9631	output = &UpdateEndpointOutput{}
9632	req = c.newRequest(op, input, output)
9633	return
9634}
9635
9636// UpdateEndpoint API operation for Amazon Pinpoint.
9637//
9638// Creates a new endpoint for an application or updates the settings and attributes
9639// of an existing endpoint for an application. You can also use this operation
9640// to define custom attributes for an endpoint. If an update includes one or
9641// more values for a custom attribute, Amazon Pinpoint replaces (overwrites)
9642// any existing values with the new values.
9643//
9644// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9645// with awserr.Error's Code and Message methods to get detailed information about
9646// the error.
9647//
9648// See the AWS API reference guide for Amazon Pinpoint's
9649// API operation UpdateEndpoint for usage and error information.
9650//
9651// Returned Error Types:
9652//   * BadRequestException
9653//   Provides information about an API request or response.
9654//
9655//   * InternalServerErrorException
9656//   Provides information about an API request or response.
9657//
9658//   * PayloadTooLargeException
9659//   Provides information about an API request or response.
9660//
9661//   * ForbiddenException
9662//   Provides information about an API request or response.
9663//
9664//   * NotFoundException
9665//   Provides information about an API request or response.
9666//
9667//   * MethodNotAllowedException
9668//   Provides information about an API request or response.
9669//
9670//   * TooManyRequestsException
9671//   Provides information about an API request or response.
9672//
9673// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpoint
9674func (c *Pinpoint) UpdateEndpoint(input *UpdateEndpointInput) (*UpdateEndpointOutput, error) {
9675	req, out := c.UpdateEndpointRequest(input)
9676	return out, req.Send()
9677}
9678
9679// UpdateEndpointWithContext is the same as UpdateEndpoint with the addition of
9680// the ability to pass a context and additional request options.
9681//
9682// See UpdateEndpoint for details on how to use this API operation.
9683//
9684// The context must be non-nil and will be used for request cancellation. If
9685// the context is nil a panic will occur. In the future the SDK may create
9686// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9687// for more information on using Contexts.
9688func (c *Pinpoint) UpdateEndpointWithContext(ctx aws.Context, input *UpdateEndpointInput, opts ...request.Option) (*UpdateEndpointOutput, error) {
9689	req, out := c.UpdateEndpointRequest(input)
9690	req.SetContext(ctx)
9691	req.ApplyOptions(opts...)
9692	return out, req.Send()
9693}
9694
9695const opUpdateEndpointsBatch = "UpdateEndpointsBatch"
9696
9697// UpdateEndpointsBatchRequest generates a "aws/request.Request" representing the
9698// client's request for the UpdateEndpointsBatch operation. The "output" return
9699// value will be populated with the request's response once the request completes
9700// successfully.
9701//
9702// Use "Send" method on the returned Request to send the API call to the service.
9703// the "output" return value is not valid until after Send returns without error.
9704//
9705// See UpdateEndpointsBatch for more information on using the UpdateEndpointsBatch
9706// API call, and error handling.
9707//
9708// This method is useful when you want to inject custom logic or configuration
9709// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9710//
9711//
9712//    // Example sending a request using the UpdateEndpointsBatchRequest method.
9713//    req, resp := client.UpdateEndpointsBatchRequest(params)
9714//
9715//    err := req.Send()
9716//    if err == nil { // resp is now filled
9717//        fmt.Println(resp)
9718//    }
9719//
9720// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatch
9721func (c *Pinpoint) UpdateEndpointsBatchRequest(input *UpdateEndpointsBatchInput) (req *request.Request, output *UpdateEndpointsBatchOutput) {
9722	op := &request.Operation{
9723		Name:       opUpdateEndpointsBatch,
9724		HTTPMethod: "PUT",
9725		HTTPPath:   "/v1/apps/{application-id}/endpoints",
9726	}
9727
9728	if input == nil {
9729		input = &UpdateEndpointsBatchInput{}
9730	}
9731
9732	output = &UpdateEndpointsBatchOutput{}
9733	req = c.newRequest(op, input, output)
9734	return
9735}
9736
9737// UpdateEndpointsBatch API operation for Amazon Pinpoint.
9738//
9739// Creates a new batch of endpoints for an application or updates the settings
9740// and attributes of a batch of existing endpoints for an application. You can
9741// also use this operation to define custom attributes for a batch of endpoints.
9742// If an update includes one or more values for a custom attribute, Amazon Pinpoint
9743// replaces (overwrites) any existing values with the new values.
9744//
9745// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9746// with awserr.Error's Code and Message methods to get detailed information about
9747// the error.
9748//
9749// See the AWS API reference guide for Amazon Pinpoint's
9750// API operation UpdateEndpointsBatch for usage and error information.
9751//
9752// Returned Error Types:
9753//   * BadRequestException
9754//   Provides information about an API request or response.
9755//
9756//   * InternalServerErrorException
9757//   Provides information about an API request or response.
9758//
9759//   * PayloadTooLargeException
9760//   Provides information about an API request or response.
9761//
9762//   * ForbiddenException
9763//   Provides information about an API request or response.
9764//
9765//   * NotFoundException
9766//   Provides information about an API request or response.
9767//
9768//   * MethodNotAllowedException
9769//   Provides information about an API request or response.
9770//
9771//   * TooManyRequestsException
9772//   Provides information about an API request or response.
9773//
9774// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatch
9775func (c *Pinpoint) UpdateEndpointsBatch(input *UpdateEndpointsBatchInput) (*UpdateEndpointsBatchOutput, error) {
9776	req, out := c.UpdateEndpointsBatchRequest(input)
9777	return out, req.Send()
9778}
9779
9780// UpdateEndpointsBatchWithContext is the same as UpdateEndpointsBatch with the addition of
9781// the ability to pass a context and additional request options.
9782//
9783// See UpdateEndpointsBatch for details on how to use this API operation.
9784//
9785// The context must be non-nil and will be used for request cancellation. If
9786// the context is nil a panic will occur. In the future the SDK may create
9787// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9788// for more information on using Contexts.
9789func (c *Pinpoint) UpdateEndpointsBatchWithContext(ctx aws.Context, input *UpdateEndpointsBatchInput, opts ...request.Option) (*UpdateEndpointsBatchOutput, error) {
9790	req, out := c.UpdateEndpointsBatchRequest(input)
9791	req.SetContext(ctx)
9792	req.ApplyOptions(opts...)
9793	return out, req.Send()
9794}
9795
9796const opUpdateGcmChannel = "UpdateGcmChannel"
9797
9798// UpdateGcmChannelRequest generates a "aws/request.Request" representing the
9799// client's request for the UpdateGcmChannel operation. The "output" return
9800// value will be populated with the request's response once the request completes
9801// successfully.
9802//
9803// Use "Send" method on the returned Request to send the API call to the service.
9804// the "output" return value is not valid until after Send returns without error.
9805//
9806// See UpdateGcmChannel for more information on using the UpdateGcmChannel
9807// API call, and error handling.
9808//
9809// This method is useful when you want to inject custom logic or configuration
9810// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9811//
9812//
9813//    // Example sending a request using the UpdateGcmChannelRequest method.
9814//    req, resp := client.UpdateGcmChannelRequest(params)
9815//
9816//    err := req.Send()
9817//    if err == nil { // resp is now filled
9818//        fmt.Println(resp)
9819//    }
9820//
9821// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannel
9822func (c *Pinpoint) UpdateGcmChannelRequest(input *UpdateGcmChannelInput) (req *request.Request, output *UpdateGcmChannelOutput) {
9823	op := &request.Operation{
9824		Name:       opUpdateGcmChannel,
9825		HTTPMethod: "PUT",
9826		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
9827	}
9828
9829	if input == nil {
9830		input = &UpdateGcmChannelInput{}
9831	}
9832
9833	output = &UpdateGcmChannelOutput{}
9834	req = c.newRequest(op, input, output)
9835	return
9836}
9837
9838// UpdateGcmChannel API operation for Amazon Pinpoint.
9839//
9840// Enables the GCM channel for an application or updates the status and settings
9841// of the GCM channel for an application.
9842//
9843// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9844// with awserr.Error's Code and Message methods to get detailed information about
9845// the error.
9846//
9847// See the AWS API reference guide for Amazon Pinpoint's
9848// API operation UpdateGcmChannel for usage and error information.
9849//
9850// Returned Error Types:
9851//   * BadRequestException
9852//   Provides information about an API request or response.
9853//
9854//   * InternalServerErrorException
9855//   Provides information about an API request or response.
9856//
9857//   * PayloadTooLargeException
9858//   Provides information about an API request or response.
9859//
9860//   * ForbiddenException
9861//   Provides information about an API request or response.
9862//
9863//   * NotFoundException
9864//   Provides information about an API request or response.
9865//
9866//   * MethodNotAllowedException
9867//   Provides information about an API request or response.
9868//
9869//   * TooManyRequestsException
9870//   Provides information about an API request or response.
9871//
9872// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannel
9873func (c *Pinpoint) UpdateGcmChannel(input *UpdateGcmChannelInput) (*UpdateGcmChannelOutput, error) {
9874	req, out := c.UpdateGcmChannelRequest(input)
9875	return out, req.Send()
9876}
9877
9878// UpdateGcmChannelWithContext is the same as UpdateGcmChannel with the addition of
9879// the ability to pass a context and additional request options.
9880//
9881// See UpdateGcmChannel for details on how to use this API operation.
9882//
9883// The context must be non-nil and will be used for request cancellation. If
9884// the context is nil a panic will occur. In the future the SDK may create
9885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9886// for more information on using Contexts.
9887func (c *Pinpoint) UpdateGcmChannelWithContext(ctx aws.Context, input *UpdateGcmChannelInput, opts ...request.Option) (*UpdateGcmChannelOutput, error) {
9888	req, out := c.UpdateGcmChannelRequest(input)
9889	req.SetContext(ctx)
9890	req.ApplyOptions(opts...)
9891	return out, req.Send()
9892}
9893
9894const opUpdateJourney = "UpdateJourney"
9895
9896// UpdateJourneyRequest generates a "aws/request.Request" representing the
9897// client's request for the UpdateJourney operation. The "output" return
9898// value will be populated with the request's response once the request completes
9899// successfully.
9900//
9901// Use "Send" method on the returned Request to send the API call to the service.
9902// the "output" return value is not valid until after Send returns without error.
9903//
9904// See UpdateJourney for more information on using the UpdateJourney
9905// API call, and error handling.
9906//
9907// This method is useful when you want to inject custom logic or configuration
9908// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9909//
9910//
9911//    // Example sending a request using the UpdateJourneyRequest method.
9912//    req, resp := client.UpdateJourneyRequest(params)
9913//
9914//    err := req.Send()
9915//    if err == nil { // resp is now filled
9916//        fmt.Println(resp)
9917//    }
9918//
9919// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateJourney
9920func (c *Pinpoint) UpdateJourneyRequest(input *UpdateJourneyInput) (req *request.Request, output *UpdateJourneyOutput) {
9921	op := &request.Operation{
9922		Name:       opUpdateJourney,
9923		HTTPMethod: "PUT",
9924		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}",
9925	}
9926
9927	if input == nil {
9928		input = &UpdateJourneyInput{}
9929	}
9930
9931	output = &UpdateJourneyOutput{}
9932	req = c.newRequest(op, input, output)
9933	return
9934}
9935
9936// UpdateJourney API operation for Amazon Pinpoint.
9937//
9938// Updates the configuration and other settings for a journey.
9939//
9940// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9941// with awserr.Error's Code and Message methods to get detailed information about
9942// the error.
9943//
9944// See the AWS API reference guide for Amazon Pinpoint's
9945// API operation UpdateJourney for usage and error information.
9946//
9947// Returned Error Types:
9948//   * BadRequestException
9949//   Provides information about an API request or response.
9950//
9951//   * InternalServerErrorException
9952//   Provides information about an API request or response.
9953//
9954//   * PayloadTooLargeException
9955//   Provides information about an API request or response.
9956//
9957//   * ForbiddenException
9958//   Provides information about an API request or response.
9959//
9960//   * NotFoundException
9961//   Provides information about an API request or response.
9962//
9963//   * MethodNotAllowedException
9964//   Provides information about an API request or response.
9965//
9966//   * TooManyRequestsException
9967//   Provides information about an API request or response.
9968//
9969//   * ConflictException
9970//   Provides information about an API request or response.
9971//
9972// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateJourney
9973func (c *Pinpoint) UpdateJourney(input *UpdateJourneyInput) (*UpdateJourneyOutput, error) {
9974	req, out := c.UpdateJourneyRequest(input)
9975	return out, req.Send()
9976}
9977
9978// UpdateJourneyWithContext is the same as UpdateJourney with the addition of
9979// the ability to pass a context and additional request options.
9980//
9981// See UpdateJourney for details on how to use this API operation.
9982//
9983// The context must be non-nil and will be used for request cancellation. If
9984// the context is nil a panic will occur. In the future the SDK may create
9985// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9986// for more information on using Contexts.
9987func (c *Pinpoint) UpdateJourneyWithContext(ctx aws.Context, input *UpdateJourneyInput, opts ...request.Option) (*UpdateJourneyOutput, error) {
9988	req, out := c.UpdateJourneyRequest(input)
9989	req.SetContext(ctx)
9990	req.ApplyOptions(opts...)
9991	return out, req.Send()
9992}
9993
9994const opUpdateJourneyState = "UpdateJourneyState"
9995
9996// UpdateJourneyStateRequest generates a "aws/request.Request" representing the
9997// client's request for the UpdateJourneyState operation. The "output" return
9998// value will be populated with the request's response once the request completes
9999// successfully.
10000//
10001// Use "Send" method on the returned Request to send the API call to the service.
10002// the "output" return value is not valid until after Send returns without error.
10003//
10004// See UpdateJourneyState for more information on using the UpdateJourneyState
10005// API call, and error handling.
10006//
10007// This method is useful when you want to inject custom logic or configuration
10008// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10009//
10010//
10011//    // Example sending a request using the UpdateJourneyStateRequest method.
10012//    req, resp := client.UpdateJourneyStateRequest(params)
10013//
10014//    err := req.Send()
10015//    if err == nil { // resp is now filled
10016//        fmt.Println(resp)
10017//    }
10018//
10019// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateJourneyState
10020func (c *Pinpoint) UpdateJourneyStateRequest(input *UpdateJourneyStateInput) (req *request.Request, output *UpdateJourneyStateOutput) {
10021	op := &request.Operation{
10022		Name:       opUpdateJourneyState,
10023		HTTPMethod: "PUT",
10024		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}/state",
10025	}
10026
10027	if input == nil {
10028		input = &UpdateJourneyStateInput{}
10029	}
10030
10031	output = &UpdateJourneyStateOutput{}
10032	req = c.newRequest(op, input, output)
10033	return
10034}
10035
10036// UpdateJourneyState API operation for Amazon Pinpoint.
10037//
10038// Cancels (stops) an active journey.
10039//
10040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10041// with awserr.Error's Code and Message methods to get detailed information about
10042// the error.
10043//
10044// See the AWS API reference guide for Amazon Pinpoint's
10045// API operation UpdateJourneyState for usage and error information.
10046//
10047// Returned Error Types:
10048//   * BadRequestException
10049//   Provides information about an API request or response.
10050//
10051//   * InternalServerErrorException
10052//   Provides information about an API request or response.
10053//
10054//   * PayloadTooLargeException
10055//   Provides information about an API request or response.
10056//
10057//   * ForbiddenException
10058//   Provides information about an API request or response.
10059//
10060//   * NotFoundException
10061//   Provides information about an API request or response.
10062//
10063//   * MethodNotAllowedException
10064//   Provides information about an API request or response.
10065//
10066//   * TooManyRequestsException
10067//   Provides information about an API request or response.
10068//
10069// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateJourneyState
10070func (c *Pinpoint) UpdateJourneyState(input *UpdateJourneyStateInput) (*UpdateJourneyStateOutput, error) {
10071	req, out := c.UpdateJourneyStateRequest(input)
10072	return out, req.Send()
10073}
10074
10075// UpdateJourneyStateWithContext is the same as UpdateJourneyState with the addition of
10076// the ability to pass a context and additional request options.
10077//
10078// See UpdateJourneyState for details on how to use this API operation.
10079//
10080// The context must be non-nil and will be used for request cancellation. If
10081// the context is nil a panic will occur. In the future the SDK may create
10082// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10083// for more information on using Contexts.
10084func (c *Pinpoint) UpdateJourneyStateWithContext(ctx aws.Context, input *UpdateJourneyStateInput, opts ...request.Option) (*UpdateJourneyStateOutput, error) {
10085	req, out := c.UpdateJourneyStateRequest(input)
10086	req.SetContext(ctx)
10087	req.ApplyOptions(opts...)
10088	return out, req.Send()
10089}
10090
10091const opUpdatePushTemplate = "UpdatePushTemplate"
10092
10093// UpdatePushTemplateRequest generates a "aws/request.Request" representing the
10094// client's request for the UpdatePushTemplate operation. The "output" return
10095// value will be populated with the request's response once the request completes
10096// successfully.
10097//
10098// Use "Send" method on the returned Request to send the API call to the service.
10099// the "output" return value is not valid until after Send returns without error.
10100//
10101// See UpdatePushTemplate for more information on using the UpdatePushTemplate
10102// API call, and error handling.
10103//
10104// This method is useful when you want to inject custom logic or configuration
10105// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10106//
10107//
10108//    // Example sending a request using the UpdatePushTemplateRequest method.
10109//    req, resp := client.UpdatePushTemplateRequest(params)
10110//
10111//    err := req.Send()
10112//    if err == nil { // resp is now filled
10113//        fmt.Println(resp)
10114//    }
10115//
10116// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdatePushTemplate
10117func (c *Pinpoint) UpdatePushTemplateRequest(input *UpdatePushTemplateInput) (req *request.Request, output *UpdatePushTemplateOutput) {
10118	op := &request.Operation{
10119		Name:       opUpdatePushTemplate,
10120		HTTPMethod: "PUT",
10121		HTTPPath:   "/v1/templates/{template-name}/push",
10122	}
10123
10124	if input == nil {
10125		input = &UpdatePushTemplateInput{}
10126	}
10127
10128	output = &UpdatePushTemplateOutput{}
10129	req = c.newRequest(op, input, output)
10130	return
10131}
10132
10133// UpdatePushTemplate API operation for Amazon Pinpoint.
10134//
10135// Updates an existing message template for messages that are sent through a
10136// push notification channel.
10137//
10138// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10139// with awserr.Error's Code and Message methods to get detailed information about
10140// the error.
10141//
10142// See the AWS API reference guide for Amazon Pinpoint's
10143// API operation UpdatePushTemplate for usage and error information.
10144//
10145// Returned Error Types:
10146//   * BadRequestException
10147//   Provides information about an API request or response.
10148//
10149//   * InternalServerErrorException
10150//   Provides information about an API request or response.
10151//
10152//   * PayloadTooLargeException
10153//   Provides information about an API request or response.
10154//
10155//   * ForbiddenException
10156//   Provides information about an API request or response.
10157//
10158//   * NotFoundException
10159//   Provides information about an API request or response.
10160//
10161//   * MethodNotAllowedException
10162//   Provides information about an API request or response.
10163//
10164//   * TooManyRequestsException
10165//   Provides information about an API request or response.
10166//
10167// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdatePushTemplate
10168func (c *Pinpoint) UpdatePushTemplate(input *UpdatePushTemplateInput) (*UpdatePushTemplateOutput, error) {
10169	req, out := c.UpdatePushTemplateRequest(input)
10170	return out, req.Send()
10171}
10172
10173// UpdatePushTemplateWithContext is the same as UpdatePushTemplate with the addition of
10174// the ability to pass a context and additional request options.
10175//
10176// See UpdatePushTemplate for details on how to use this API operation.
10177//
10178// The context must be non-nil and will be used for request cancellation. If
10179// the context is nil a panic will occur. In the future the SDK may create
10180// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10181// for more information on using Contexts.
10182func (c *Pinpoint) UpdatePushTemplateWithContext(ctx aws.Context, input *UpdatePushTemplateInput, opts ...request.Option) (*UpdatePushTemplateOutput, error) {
10183	req, out := c.UpdatePushTemplateRequest(input)
10184	req.SetContext(ctx)
10185	req.ApplyOptions(opts...)
10186	return out, req.Send()
10187}
10188
10189const opUpdateRecommenderConfiguration = "UpdateRecommenderConfiguration"
10190
10191// UpdateRecommenderConfigurationRequest generates a "aws/request.Request" representing the
10192// client's request for the UpdateRecommenderConfiguration operation. The "output" return
10193// value will be populated with the request's response once the request completes
10194// successfully.
10195//
10196// Use "Send" method on the returned Request to send the API call to the service.
10197// the "output" return value is not valid until after Send returns without error.
10198//
10199// See UpdateRecommenderConfiguration for more information on using the UpdateRecommenderConfiguration
10200// API call, and error handling.
10201//
10202// This method is useful when you want to inject custom logic or configuration
10203// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10204//
10205//
10206//    // Example sending a request using the UpdateRecommenderConfigurationRequest method.
10207//    req, resp := client.UpdateRecommenderConfigurationRequest(params)
10208//
10209//    err := req.Send()
10210//    if err == nil { // resp is now filled
10211//        fmt.Println(resp)
10212//    }
10213//
10214// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateRecommenderConfiguration
10215func (c *Pinpoint) UpdateRecommenderConfigurationRequest(input *UpdateRecommenderConfigurationInput) (req *request.Request, output *UpdateRecommenderConfigurationOutput) {
10216	op := &request.Operation{
10217		Name:       opUpdateRecommenderConfiguration,
10218		HTTPMethod: "PUT",
10219		HTTPPath:   "/v1/recommenders/{recommender-id}",
10220	}
10221
10222	if input == nil {
10223		input = &UpdateRecommenderConfigurationInput{}
10224	}
10225
10226	output = &UpdateRecommenderConfigurationOutput{}
10227	req = c.newRequest(op, input, output)
10228	return
10229}
10230
10231// UpdateRecommenderConfiguration API operation for Amazon Pinpoint.
10232//
10233// Updates an Amazon Pinpoint configuration for a recommender model.
10234//
10235// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10236// with awserr.Error's Code and Message methods to get detailed information about
10237// the error.
10238//
10239// See the AWS API reference guide for Amazon Pinpoint's
10240// API operation UpdateRecommenderConfiguration for usage and error information.
10241//
10242// Returned Error Types:
10243//   * BadRequestException
10244//   Provides information about an API request or response.
10245//
10246//   * InternalServerErrorException
10247//   Provides information about an API request or response.
10248//
10249//   * PayloadTooLargeException
10250//   Provides information about an API request or response.
10251//
10252//   * ForbiddenException
10253//   Provides information about an API request or response.
10254//
10255//   * NotFoundException
10256//   Provides information about an API request or response.
10257//
10258//   * MethodNotAllowedException
10259//   Provides information about an API request or response.
10260//
10261//   * TooManyRequestsException
10262//   Provides information about an API request or response.
10263//
10264// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateRecommenderConfiguration
10265func (c *Pinpoint) UpdateRecommenderConfiguration(input *UpdateRecommenderConfigurationInput) (*UpdateRecommenderConfigurationOutput, error) {
10266	req, out := c.UpdateRecommenderConfigurationRequest(input)
10267	return out, req.Send()
10268}
10269
10270// UpdateRecommenderConfigurationWithContext is the same as UpdateRecommenderConfiguration with the addition of
10271// the ability to pass a context and additional request options.
10272//
10273// See UpdateRecommenderConfiguration for details on how to use this API operation.
10274//
10275// The context must be non-nil and will be used for request cancellation. If
10276// the context is nil a panic will occur. In the future the SDK may create
10277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10278// for more information on using Contexts.
10279func (c *Pinpoint) UpdateRecommenderConfigurationWithContext(ctx aws.Context, input *UpdateRecommenderConfigurationInput, opts ...request.Option) (*UpdateRecommenderConfigurationOutput, error) {
10280	req, out := c.UpdateRecommenderConfigurationRequest(input)
10281	req.SetContext(ctx)
10282	req.ApplyOptions(opts...)
10283	return out, req.Send()
10284}
10285
10286const opUpdateSegment = "UpdateSegment"
10287
10288// UpdateSegmentRequest generates a "aws/request.Request" representing the
10289// client's request for the UpdateSegment operation. The "output" return
10290// value will be populated with the request's response once the request completes
10291// successfully.
10292//
10293// Use "Send" method on the returned Request to send the API call to the service.
10294// the "output" return value is not valid until after Send returns without error.
10295//
10296// See UpdateSegment for more information on using the UpdateSegment
10297// API call, and error handling.
10298//
10299// This method is useful when you want to inject custom logic or configuration
10300// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10301//
10302//
10303//    // Example sending a request using the UpdateSegmentRequest method.
10304//    req, resp := client.UpdateSegmentRequest(params)
10305//
10306//    err := req.Send()
10307//    if err == nil { // resp is now filled
10308//        fmt.Println(resp)
10309//    }
10310//
10311// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegment
10312func (c *Pinpoint) UpdateSegmentRequest(input *UpdateSegmentInput) (req *request.Request, output *UpdateSegmentOutput) {
10313	op := &request.Operation{
10314		Name:       opUpdateSegment,
10315		HTTPMethod: "PUT",
10316		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
10317	}
10318
10319	if input == nil {
10320		input = &UpdateSegmentInput{}
10321	}
10322
10323	output = &UpdateSegmentOutput{}
10324	req = c.newRequest(op, input, output)
10325	return
10326}
10327
10328// UpdateSegment API operation for Amazon Pinpoint.
10329//
10330// Creates a new segment for an application or updates the configuration, dimension,
10331// and other settings for an existing segment that's associated with an application.
10332//
10333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10334// with awserr.Error's Code and Message methods to get detailed information about
10335// the error.
10336//
10337// See the AWS API reference guide for Amazon Pinpoint's
10338// API operation UpdateSegment for usage and error information.
10339//
10340// Returned Error Types:
10341//   * BadRequestException
10342//   Provides information about an API request or response.
10343//
10344//   * InternalServerErrorException
10345//   Provides information about an API request or response.
10346//
10347//   * PayloadTooLargeException
10348//   Provides information about an API request or response.
10349//
10350//   * ForbiddenException
10351//   Provides information about an API request or response.
10352//
10353//   * NotFoundException
10354//   Provides information about an API request or response.
10355//
10356//   * MethodNotAllowedException
10357//   Provides information about an API request or response.
10358//
10359//   * TooManyRequestsException
10360//   Provides information about an API request or response.
10361//
10362// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegment
10363func (c *Pinpoint) UpdateSegment(input *UpdateSegmentInput) (*UpdateSegmentOutput, error) {
10364	req, out := c.UpdateSegmentRequest(input)
10365	return out, req.Send()
10366}
10367
10368// UpdateSegmentWithContext is the same as UpdateSegment with the addition of
10369// the ability to pass a context and additional request options.
10370//
10371// See UpdateSegment for details on how to use this API operation.
10372//
10373// The context must be non-nil and will be used for request cancellation. If
10374// the context is nil a panic will occur. In the future the SDK may create
10375// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10376// for more information on using Contexts.
10377func (c *Pinpoint) UpdateSegmentWithContext(ctx aws.Context, input *UpdateSegmentInput, opts ...request.Option) (*UpdateSegmentOutput, error) {
10378	req, out := c.UpdateSegmentRequest(input)
10379	req.SetContext(ctx)
10380	req.ApplyOptions(opts...)
10381	return out, req.Send()
10382}
10383
10384const opUpdateSmsChannel = "UpdateSmsChannel"
10385
10386// UpdateSmsChannelRequest generates a "aws/request.Request" representing the
10387// client's request for the UpdateSmsChannel operation. The "output" return
10388// value will be populated with the request's response once the request completes
10389// successfully.
10390//
10391// Use "Send" method on the returned Request to send the API call to the service.
10392// the "output" return value is not valid until after Send returns without error.
10393//
10394// See UpdateSmsChannel for more information on using the UpdateSmsChannel
10395// API call, and error handling.
10396//
10397// This method is useful when you want to inject custom logic or configuration
10398// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10399//
10400//
10401//    // Example sending a request using the UpdateSmsChannelRequest method.
10402//    req, resp := client.UpdateSmsChannelRequest(params)
10403//
10404//    err := req.Send()
10405//    if err == nil { // resp is now filled
10406//        fmt.Println(resp)
10407//    }
10408//
10409// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannel
10410func (c *Pinpoint) UpdateSmsChannelRequest(input *UpdateSmsChannelInput) (req *request.Request, output *UpdateSmsChannelOutput) {
10411	op := &request.Operation{
10412		Name:       opUpdateSmsChannel,
10413		HTTPMethod: "PUT",
10414		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
10415	}
10416
10417	if input == nil {
10418		input = &UpdateSmsChannelInput{}
10419	}
10420
10421	output = &UpdateSmsChannelOutput{}
10422	req = c.newRequest(op, input, output)
10423	return
10424}
10425
10426// UpdateSmsChannel API operation for Amazon Pinpoint.
10427//
10428// Enables the SMS channel for an application or updates the status and settings
10429// of the SMS channel for an application.
10430//
10431// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10432// with awserr.Error's Code and Message methods to get detailed information about
10433// the error.
10434//
10435// See the AWS API reference guide for Amazon Pinpoint's
10436// API operation UpdateSmsChannel for usage and error information.
10437//
10438// Returned Error Types:
10439//   * BadRequestException
10440//   Provides information about an API request or response.
10441//
10442//   * InternalServerErrorException
10443//   Provides information about an API request or response.
10444//
10445//   * PayloadTooLargeException
10446//   Provides information about an API request or response.
10447//
10448//   * ForbiddenException
10449//   Provides information about an API request or response.
10450//
10451//   * NotFoundException
10452//   Provides information about an API request or response.
10453//
10454//   * MethodNotAllowedException
10455//   Provides information about an API request or response.
10456//
10457//   * TooManyRequestsException
10458//   Provides information about an API request or response.
10459//
10460// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannel
10461func (c *Pinpoint) UpdateSmsChannel(input *UpdateSmsChannelInput) (*UpdateSmsChannelOutput, error) {
10462	req, out := c.UpdateSmsChannelRequest(input)
10463	return out, req.Send()
10464}
10465
10466// UpdateSmsChannelWithContext is the same as UpdateSmsChannel with the addition of
10467// the ability to pass a context and additional request options.
10468//
10469// See UpdateSmsChannel for details on how to use this API operation.
10470//
10471// The context must be non-nil and will be used for request cancellation. If
10472// the context is nil a panic will occur. In the future the SDK may create
10473// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10474// for more information on using Contexts.
10475func (c *Pinpoint) UpdateSmsChannelWithContext(ctx aws.Context, input *UpdateSmsChannelInput, opts ...request.Option) (*UpdateSmsChannelOutput, error) {
10476	req, out := c.UpdateSmsChannelRequest(input)
10477	req.SetContext(ctx)
10478	req.ApplyOptions(opts...)
10479	return out, req.Send()
10480}
10481
10482const opUpdateSmsTemplate = "UpdateSmsTemplate"
10483
10484// UpdateSmsTemplateRequest generates a "aws/request.Request" representing the
10485// client's request for the UpdateSmsTemplate operation. The "output" return
10486// value will be populated with the request's response once the request completes
10487// successfully.
10488//
10489// Use "Send" method on the returned Request to send the API call to the service.
10490// the "output" return value is not valid until after Send returns without error.
10491//
10492// See UpdateSmsTemplate for more information on using the UpdateSmsTemplate
10493// API call, and error handling.
10494//
10495// This method is useful when you want to inject custom logic or configuration
10496// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10497//
10498//
10499//    // Example sending a request using the UpdateSmsTemplateRequest method.
10500//    req, resp := client.UpdateSmsTemplateRequest(params)
10501//
10502//    err := req.Send()
10503//    if err == nil { // resp is now filled
10504//        fmt.Println(resp)
10505//    }
10506//
10507// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsTemplate
10508func (c *Pinpoint) UpdateSmsTemplateRequest(input *UpdateSmsTemplateInput) (req *request.Request, output *UpdateSmsTemplateOutput) {
10509	op := &request.Operation{
10510		Name:       opUpdateSmsTemplate,
10511		HTTPMethod: "PUT",
10512		HTTPPath:   "/v1/templates/{template-name}/sms",
10513	}
10514
10515	if input == nil {
10516		input = &UpdateSmsTemplateInput{}
10517	}
10518
10519	output = &UpdateSmsTemplateOutput{}
10520	req = c.newRequest(op, input, output)
10521	return
10522}
10523
10524// UpdateSmsTemplate API operation for Amazon Pinpoint.
10525//
10526// Updates an existing message template for messages that are sent through the
10527// SMS channel.
10528//
10529// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10530// with awserr.Error's Code and Message methods to get detailed information about
10531// the error.
10532//
10533// See the AWS API reference guide for Amazon Pinpoint's
10534// API operation UpdateSmsTemplate for usage and error information.
10535//
10536// Returned Error Types:
10537//   * BadRequestException
10538//   Provides information about an API request or response.
10539//
10540//   * InternalServerErrorException
10541//   Provides information about an API request or response.
10542//
10543//   * PayloadTooLargeException
10544//   Provides information about an API request or response.
10545//
10546//   * ForbiddenException
10547//   Provides information about an API request or response.
10548//
10549//   * NotFoundException
10550//   Provides information about an API request or response.
10551//
10552//   * MethodNotAllowedException
10553//   Provides information about an API request or response.
10554//
10555//   * TooManyRequestsException
10556//   Provides information about an API request or response.
10557//
10558// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsTemplate
10559func (c *Pinpoint) UpdateSmsTemplate(input *UpdateSmsTemplateInput) (*UpdateSmsTemplateOutput, error) {
10560	req, out := c.UpdateSmsTemplateRequest(input)
10561	return out, req.Send()
10562}
10563
10564// UpdateSmsTemplateWithContext is the same as UpdateSmsTemplate with the addition of
10565// the ability to pass a context and additional request options.
10566//
10567// See UpdateSmsTemplate for details on how to use this API operation.
10568//
10569// The context must be non-nil and will be used for request cancellation. If
10570// the context is nil a panic will occur. In the future the SDK may create
10571// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10572// for more information on using Contexts.
10573func (c *Pinpoint) UpdateSmsTemplateWithContext(ctx aws.Context, input *UpdateSmsTemplateInput, opts ...request.Option) (*UpdateSmsTemplateOutput, error) {
10574	req, out := c.UpdateSmsTemplateRequest(input)
10575	req.SetContext(ctx)
10576	req.ApplyOptions(opts...)
10577	return out, req.Send()
10578}
10579
10580const opUpdateTemplateActiveVersion = "UpdateTemplateActiveVersion"
10581
10582// UpdateTemplateActiveVersionRequest generates a "aws/request.Request" representing the
10583// client's request for the UpdateTemplateActiveVersion operation. The "output" return
10584// value will be populated with the request's response once the request completes
10585// successfully.
10586//
10587// Use "Send" method on the returned Request to send the API call to the service.
10588// the "output" return value is not valid until after Send returns without error.
10589//
10590// See UpdateTemplateActiveVersion for more information on using the UpdateTemplateActiveVersion
10591// API call, and error handling.
10592//
10593// This method is useful when you want to inject custom logic or configuration
10594// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10595//
10596//
10597//    // Example sending a request using the UpdateTemplateActiveVersionRequest method.
10598//    req, resp := client.UpdateTemplateActiveVersionRequest(params)
10599//
10600//    err := req.Send()
10601//    if err == nil { // resp is now filled
10602//        fmt.Println(resp)
10603//    }
10604//
10605// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateTemplateActiveVersion
10606func (c *Pinpoint) UpdateTemplateActiveVersionRequest(input *UpdateTemplateActiveVersionInput) (req *request.Request, output *UpdateTemplateActiveVersionOutput) {
10607	op := &request.Operation{
10608		Name:       opUpdateTemplateActiveVersion,
10609		HTTPMethod: "PUT",
10610		HTTPPath:   "/v1/templates/{template-name}/{template-type}/active-version",
10611	}
10612
10613	if input == nil {
10614		input = &UpdateTemplateActiveVersionInput{}
10615	}
10616
10617	output = &UpdateTemplateActiveVersionOutput{}
10618	req = c.newRequest(op, input, output)
10619	return
10620}
10621
10622// UpdateTemplateActiveVersion API operation for Amazon Pinpoint.
10623//
10624// Changes the status of a specific version of a message template to active.
10625//
10626// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10627// with awserr.Error's Code and Message methods to get detailed information about
10628// the error.
10629//
10630// See the AWS API reference guide for Amazon Pinpoint's
10631// API operation UpdateTemplateActiveVersion for usage and error information.
10632//
10633// Returned Error Types:
10634//   * BadRequestException
10635//   Provides information about an API request or response.
10636//
10637//   * InternalServerErrorException
10638//   Provides information about an API request or response.
10639//
10640//   * PayloadTooLargeException
10641//   Provides information about an API request or response.
10642//
10643//   * ForbiddenException
10644//   Provides information about an API request or response.
10645//
10646//   * NotFoundException
10647//   Provides information about an API request or response.
10648//
10649//   * MethodNotAllowedException
10650//   Provides information about an API request or response.
10651//
10652//   * TooManyRequestsException
10653//   Provides information about an API request or response.
10654//
10655// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateTemplateActiveVersion
10656func (c *Pinpoint) UpdateTemplateActiveVersion(input *UpdateTemplateActiveVersionInput) (*UpdateTemplateActiveVersionOutput, error) {
10657	req, out := c.UpdateTemplateActiveVersionRequest(input)
10658	return out, req.Send()
10659}
10660
10661// UpdateTemplateActiveVersionWithContext is the same as UpdateTemplateActiveVersion with the addition of
10662// the ability to pass a context and additional request options.
10663//
10664// See UpdateTemplateActiveVersion for details on how to use this API operation.
10665//
10666// The context must be non-nil and will be used for request cancellation. If
10667// the context is nil a panic will occur. In the future the SDK may create
10668// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10669// for more information on using Contexts.
10670func (c *Pinpoint) UpdateTemplateActiveVersionWithContext(ctx aws.Context, input *UpdateTemplateActiveVersionInput, opts ...request.Option) (*UpdateTemplateActiveVersionOutput, error) {
10671	req, out := c.UpdateTemplateActiveVersionRequest(input)
10672	req.SetContext(ctx)
10673	req.ApplyOptions(opts...)
10674	return out, req.Send()
10675}
10676
10677const opUpdateVoiceChannel = "UpdateVoiceChannel"
10678
10679// UpdateVoiceChannelRequest generates a "aws/request.Request" representing the
10680// client's request for the UpdateVoiceChannel operation. The "output" return
10681// value will be populated with the request's response once the request completes
10682// successfully.
10683//
10684// Use "Send" method on the returned Request to send the API call to the service.
10685// the "output" return value is not valid until after Send returns without error.
10686//
10687// See UpdateVoiceChannel for more information on using the UpdateVoiceChannel
10688// API call, and error handling.
10689//
10690// This method is useful when you want to inject custom logic or configuration
10691// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10692//
10693//
10694//    // Example sending a request using the UpdateVoiceChannelRequest method.
10695//    req, resp := client.UpdateVoiceChannelRequest(params)
10696//
10697//    err := req.Send()
10698//    if err == nil { // resp is now filled
10699//        fmt.Println(resp)
10700//    }
10701//
10702// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceChannel
10703func (c *Pinpoint) UpdateVoiceChannelRequest(input *UpdateVoiceChannelInput) (req *request.Request, output *UpdateVoiceChannelOutput) {
10704	op := &request.Operation{
10705		Name:       opUpdateVoiceChannel,
10706		HTTPMethod: "PUT",
10707		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
10708	}
10709
10710	if input == nil {
10711		input = &UpdateVoiceChannelInput{}
10712	}
10713
10714	output = &UpdateVoiceChannelOutput{}
10715	req = c.newRequest(op, input, output)
10716	return
10717}
10718
10719// UpdateVoiceChannel API operation for Amazon Pinpoint.
10720//
10721// Enables the voice channel for an application or updates the status and settings
10722// of the voice channel for an application.
10723//
10724// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10725// with awserr.Error's Code and Message methods to get detailed information about
10726// the error.
10727//
10728// See the AWS API reference guide for Amazon Pinpoint's
10729// API operation UpdateVoiceChannel for usage and error information.
10730//
10731// Returned Error Types:
10732//   * BadRequestException
10733//   Provides information about an API request or response.
10734//
10735//   * InternalServerErrorException
10736//   Provides information about an API request or response.
10737//
10738//   * PayloadTooLargeException
10739//   Provides information about an API request or response.
10740//
10741//   * ForbiddenException
10742//   Provides information about an API request or response.
10743//
10744//   * NotFoundException
10745//   Provides information about an API request or response.
10746//
10747//   * MethodNotAllowedException
10748//   Provides information about an API request or response.
10749//
10750//   * TooManyRequestsException
10751//   Provides information about an API request or response.
10752//
10753// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceChannel
10754func (c *Pinpoint) UpdateVoiceChannel(input *UpdateVoiceChannelInput) (*UpdateVoiceChannelOutput, error) {
10755	req, out := c.UpdateVoiceChannelRequest(input)
10756	return out, req.Send()
10757}
10758
10759// UpdateVoiceChannelWithContext is the same as UpdateVoiceChannel with the addition of
10760// the ability to pass a context and additional request options.
10761//
10762// See UpdateVoiceChannel for details on how to use this API operation.
10763//
10764// The context must be non-nil and will be used for request cancellation. If
10765// the context is nil a panic will occur. In the future the SDK may create
10766// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10767// for more information on using Contexts.
10768func (c *Pinpoint) UpdateVoiceChannelWithContext(ctx aws.Context, input *UpdateVoiceChannelInput, opts ...request.Option) (*UpdateVoiceChannelOutput, error) {
10769	req, out := c.UpdateVoiceChannelRequest(input)
10770	req.SetContext(ctx)
10771	req.ApplyOptions(opts...)
10772	return out, req.Send()
10773}
10774
10775const opUpdateVoiceTemplate = "UpdateVoiceTemplate"
10776
10777// UpdateVoiceTemplateRequest generates a "aws/request.Request" representing the
10778// client's request for the UpdateVoiceTemplate operation. The "output" return
10779// value will be populated with the request's response once the request completes
10780// successfully.
10781//
10782// Use "Send" method on the returned Request to send the API call to the service.
10783// the "output" return value is not valid until after Send returns without error.
10784//
10785// See UpdateVoiceTemplate for more information on using the UpdateVoiceTemplate
10786// API call, and error handling.
10787//
10788// This method is useful when you want to inject custom logic or configuration
10789// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10790//
10791//
10792//    // Example sending a request using the UpdateVoiceTemplateRequest method.
10793//    req, resp := client.UpdateVoiceTemplateRequest(params)
10794//
10795//    err := req.Send()
10796//    if err == nil { // resp is now filled
10797//        fmt.Println(resp)
10798//    }
10799//
10800// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceTemplate
10801func (c *Pinpoint) UpdateVoiceTemplateRequest(input *UpdateVoiceTemplateInput) (req *request.Request, output *UpdateVoiceTemplateOutput) {
10802	op := &request.Operation{
10803		Name:       opUpdateVoiceTemplate,
10804		HTTPMethod: "PUT",
10805		HTTPPath:   "/v1/templates/{template-name}/voice",
10806	}
10807
10808	if input == nil {
10809		input = &UpdateVoiceTemplateInput{}
10810	}
10811
10812	output = &UpdateVoiceTemplateOutput{}
10813	req = c.newRequest(op, input, output)
10814	return
10815}
10816
10817// UpdateVoiceTemplate API operation for Amazon Pinpoint.
10818//
10819// Updates an existing message template for messages that are sent through the
10820// voice channel.
10821//
10822// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10823// with awserr.Error's Code and Message methods to get detailed information about
10824// the error.
10825//
10826// See the AWS API reference guide for Amazon Pinpoint's
10827// API operation UpdateVoiceTemplate for usage and error information.
10828//
10829// Returned Error Types:
10830//   * BadRequestException
10831//   Provides information about an API request or response.
10832//
10833//   * InternalServerErrorException
10834//   Provides information about an API request or response.
10835//
10836//   * PayloadTooLargeException
10837//   Provides information about an API request or response.
10838//
10839//   * ForbiddenException
10840//   Provides information about an API request or response.
10841//
10842//   * NotFoundException
10843//   Provides information about an API request or response.
10844//
10845//   * MethodNotAllowedException
10846//   Provides information about an API request or response.
10847//
10848//   * TooManyRequestsException
10849//   Provides information about an API request or response.
10850//
10851// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceTemplate
10852func (c *Pinpoint) UpdateVoiceTemplate(input *UpdateVoiceTemplateInput) (*UpdateVoiceTemplateOutput, error) {
10853	req, out := c.UpdateVoiceTemplateRequest(input)
10854	return out, req.Send()
10855}
10856
10857// UpdateVoiceTemplateWithContext is the same as UpdateVoiceTemplate with the addition of
10858// the ability to pass a context and additional request options.
10859//
10860// See UpdateVoiceTemplate for details on how to use this API operation.
10861//
10862// The context must be non-nil and will be used for request cancellation. If
10863// the context is nil a panic will occur. In the future the SDK may create
10864// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10865// for more information on using Contexts.
10866func (c *Pinpoint) UpdateVoiceTemplateWithContext(ctx aws.Context, input *UpdateVoiceTemplateInput, opts ...request.Option) (*UpdateVoiceTemplateOutput, error) {
10867	req, out := c.UpdateVoiceTemplateRequest(input)
10868	req.SetContext(ctx)
10869	req.ApplyOptions(opts...)
10870	return out, req.Send()
10871}
10872
10873// Specifies the status and settings of the ADM (Amazon Device Messaging) channel
10874// for an application.
10875type ADMChannelRequest struct {
10876	_ struct{} `type:"structure"`
10877
10878	// The Client ID that you received from Amazon to send messages by using ADM.
10879	//
10880	// ClientId is a required field
10881	ClientId *string `type:"string" required:"true"`
10882
10883	// The Client Secret that you received from Amazon to send messages by using
10884	// ADM.
10885	//
10886	// ClientSecret is a required field
10887	ClientSecret *string `type:"string" required:"true"`
10888
10889	// Specifies whether to enable the ADM channel for the application.
10890	Enabled *bool `type:"boolean"`
10891}
10892
10893// String returns the string representation
10894func (s ADMChannelRequest) String() string {
10895	return awsutil.Prettify(s)
10896}
10897
10898// GoString returns the string representation
10899func (s ADMChannelRequest) GoString() string {
10900	return s.String()
10901}
10902
10903// Validate inspects the fields of the type to determine if they are valid.
10904func (s *ADMChannelRequest) Validate() error {
10905	invalidParams := request.ErrInvalidParams{Context: "ADMChannelRequest"}
10906	if s.ClientId == nil {
10907		invalidParams.Add(request.NewErrParamRequired("ClientId"))
10908	}
10909	if s.ClientSecret == nil {
10910		invalidParams.Add(request.NewErrParamRequired("ClientSecret"))
10911	}
10912
10913	if invalidParams.Len() > 0 {
10914		return invalidParams
10915	}
10916	return nil
10917}
10918
10919// SetClientId sets the ClientId field's value.
10920func (s *ADMChannelRequest) SetClientId(v string) *ADMChannelRequest {
10921	s.ClientId = &v
10922	return s
10923}
10924
10925// SetClientSecret sets the ClientSecret field's value.
10926func (s *ADMChannelRequest) SetClientSecret(v string) *ADMChannelRequest {
10927	s.ClientSecret = &v
10928	return s
10929}
10930
10931// SetEnabled sets the Enabled field's value.
10932func (s *ADMChannelRequest) SetEnabled(v bool) *ADMChannelRequest {
10933	s.Enabled = &v
10934	return s
10935}
10936
10937// Provides information about the status and settings of the ADM (Amazon Device
10938// Messaging) channel for an application.
10939type ADMChannelResponse struct {
10940	_ struct{} `type:"structure"`
10941
10942	// The unique identifier for the application that the ADM channel applies to.
10943	ApplicationId *string `type:"string"`
10944
10945	// The date and time when the ADM channel was enabled.
10946	CreationDate *string `type:"string"`
10947
10948	// Specifies whether the ADM channel is enabled for the application.
10949	Enabled *bool `type:"boolean"`
10950
10951	// (Not used) This property is retained only for backward compatibility.
10952	HasCredential *bool `type:"boolean"`
10953
10954	// (Deprecated) An identifier for the ADM channel. This property is retained
10955	// only for backward compatibility.
10956	Id *string `type:"string"`
10957
10958	// Specifies whether the ADM channel is archived.
10959	IsArchived *bool `type:"boolean"`
10960
10961	// The user who last modified the ADM channel.
10962	LastModifiedBy *string `type:"string"`
10963
10964	// The date and time when the ADM channel was last modified.
10965	LastModifiedDate *string `type:"string"`
10966
10967	// The type of messaging or notification platform for the channel. For the ADM
10968	// channel, this value is ADM.
10969	//
10970	// Platform is a required field
10971	Platform *string `type:"string" required:"true"`
10972
10973	// The current version of the ADM channel.
10974	Version *int64 `type:"integer"`
10975}
10976
10977// String returns the string representation
10978func (s ADMChannelResponse) String() string {
10979	return awsutil.Prettify(s)
10980}
10981
10982// GoString returns the string representation
10983func (s ADMChannelResponse) GoString() string {
10984	return s.String()
10985}
10986
10987// SetApplicationId sets the ApplicationId field's value.
10988func (s *ADMChannelResponse) SetApplicationId(v string) *ADMChannelResponse {
10989	s.ApplicationId = &v
10990	return s
10991}
10992
10993// SetCreationDate sets the CreationDate field's value.
10994func (s *ADMChannelResponse) SetCreationDate(v string) *ADMChannelResponse {
10995	s.CreationDate = &v
10996	return s
10997}
10998
10999// SetEnabled sets the Enabled field's value.
11000func (s *ADMChannelResponse) SetEnabled(v bool) *ADMChannelResponse {
11001	s.Enabled = &v
11002	return s
11003}
11004
11005// SetHasCredential sets the HasCredential field's value.
11006func (s *ADMChannelResponse) SetHasCredential(v bool) *ADMChannelResponse {
11007	s.HasCredential = &v
11008	return s
11009}
11010
11011// SetId sets the Id field's value.
11012func (s *ADMChannelResponse) SetId(v string) *ADMChannelResponse {
11013	s.Id = &v
11014	return s
11015}
11016
11017// SetIsArchived sets the IsArchived field's value.
11018func (s *ADMChannelResponse) SetIsArchived(v bool) *ADMChannelResponse {
11019	s.IsArchived = &v
11020	return s
11021}
11022
11023// SetLastModifiedBy sets the LastModifiedBy field's value.
11024func (s *ADMChannelResponse) SetLastModifiedBy(v string) *ADMChannelResponse {
11025	s.LastModifiedBy = &v
11026	return s
11027}
11028
11029// SetLastModifiedDate sets the LastModifiedDate field's value.
11030func (s *ADMChannelResponse) SetLastModifiedDate(v string) *ADMChannelResponse {
11031	s.LastModifiedDate = &v
11032	return s
11033}
11034
11035// SetPlatform sets the Platform field's value.
11036func (s *ADMChannelResponse) SetPlatform(v string) *ADMChannelResponse {
11037	s.Platform = &v
11038	return s
11039}
11040
11041// SetVersion sets the Version field's value.
11042func (s *ADMChannelResponse) SetVersion(v int64) *ADMChannelResponse {
11043	s.Version = &v
11044	return s
11045}
11046
11047// Specifies the settings for a one-time message that's sent directly to an
11048// endpoint through the ADM (Amazon Device Messaging) channel.
11049type ADMMessage struct {
11050	_ struct{} `type:"structure"`
11051
11052	// The action to occur if the recipient taps the push notification. Valid values
11053	// are:
11054	//
11055	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
11056	//    sent to the background. This is the default action.
11057	//
11058	//    * DEEP_LINK - Your app opens and displays a designated user interface
11059	//    in the app. This action uses the deep-linking features of the Android
11060	//    platform.
11061	//
11062	//    * URL - The default mobile browser on the recipient's device opens and
11063	//    loads the web page at a URL that you specify.
11064	Action *string `type:"string" enum:"Action"`
11065
11066	// The body of the notification message.
11067	Body *string `type:"string"`
11068
11069	// An arbitrary string that indicates that multiple messages are logically the
11070	// same and that Amazon Device Messaging (ADM) can drop previously enqueued
11071	// messages in favor of this message.
11072	ConsolidationKey *string `type:"string"`
11073
11074	// The JSON data payload to use for the push notification, if the notification
11075	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
11076	// object of the notification.
11077	Data map[string]*string `type:"map"`
11078
11079	// The amount of time, in seconds, that ADM should store the message if the
11080	// recipient's device is offline. Amazon Pinpoint specifies this value in the
11081	// expiresAfter parameter when it sends the notification message to ADM.
11082	ExpiresAfter *string `type:"string"`
11083
11084	// The icon image name of the asset saved in your app.
11085	IconReference *string `type:"string"`
11086
11087	// The URL of the large icon image to display in the content view of the push
11088	// notification.
11089	ImageIconUrl *string `type:"string"`
11090
11091	// The URL of an image to display in the push notification.
11092	ImageUrl *string `type:"string"`
11093
11094	// The base64-encoded, MD5 checksum of the value specified by the Data property.
11095	// ADM uses the MD5 value to verify the integrity of the data.
11096	MD5 *string `type:"string"`
11097
11098	// The raw, JSON-formatted string to use as the payload for the notification
11099	// message. If specified, this value overrides all other content for the message.
11100	RawContent *string `type:"string"`
11101
11102	// Specifies whether the notification is a silent push notification, which is
11103	// a push notification that doesn't display on a recipient's device. Silent
11104	// push notifications can be used for cases such as updating an app's configuration
11105	// or supporting phone home functionality.
11106	SilentPush *bool `type:"boolean"`
11107
11108	// The URL of the small icon image to display in the status bar and the content
11109	// view of the push notification.
11110	SmallImageIconUrl *string `type:"string"`
11111
11112	// The sound to play when the recipient receives the push notification. You
11113	// can use the default stream or specify the file name of a sound resource that's
11114	// bundled in your app. On an Android platform, the sound file must reside in
11115	// /res/raw/.
11116	Sound *string `type:"string"`
11117
11118	// The default message variables to use in the notification message. You can
11119	// override the default variables with individual address variables.
11120	Substitutions map[string][]*string `type:"map"`
11121
11122	// The title to display above the notification message on the recipient's device.
11123	Title *string `type:"string"`
11124
11125	// The URL to open in the recipient's default mobile browser, if a recipient
11126	// taps the push notification and the value of the Action property is URL.
11127	Url *string `type:"string"`
11128}
11129
11130// String returns the string representation
11131func (s ADMMessage) String() string {
11132	return awsutil.Prettify(s)
11133}
11134
11135// GoString returns the string representation
11136func (s ADMMessage) GoString() string {
11137	return s.String()
11138}
11139
11140// SetAction sets the Action field's value.
11141func (s *ADMMessage) SetAction(v string) *ADMMessage {
11142	s.Action = &v
11143	return s
11144}
11145
11146// SetBody sets the Body field's value.
11147func (s *ADMMessage) SetBody(v string) *ADMMessage {
11148	s.Body = &v
11149	return s
11150}
11151
11152// SetConsolidationKey sets the ConsolidationKey field's value.
11153func (s *ADMMessage) SetConsolidationKey(v string) *ADMMessage {
11154	s.ConsolidationKey = &v
11155	return s
11156}
11157
11158// SetData sets the Data field's value.
11159func (s *ADMMessage) SetData(v map[string]*string) *ADMMessage {
11160	s.Data = v
11161	return s
11162}
11163
11164// SetExpiresAfter sets the ExpiresAfter field's value.
11165func (s *ADMMessage) SetExpiresAfter(v string) *ADMMessage {
11166	s.ExpiresAfter = &v
11167	return s
11168}
11169
11170// SetIconReference sets the IconReference field's value.
11171func (s *ADMMessage) SetIconReference(v string) *ADMMessage {
11172	s.IconReference = &v
11173	return s
11174}
11175
11176// SetImageIconUrl sets the ImageIconUrl field's value.
11177func (s *ADMMessage) SetImageIconUrl(v string) *ADMMessage {
11178	s.ImageIconUrl = &v
11179	return s
11180}
11181
11182// SetImageUrl sets the ImageUrl field's value.
11183func (s *ADMMessage) SetImageUrl(v string) *ADMMessage {
11184	s.ImageUrl = &v
11185	return s
11186}
11187
11188// SetMD5 sets the MD5 field's value.
11189func (s *ADMMessage) SetMD5(v string) *ADMMessage {
11190	s.MD5 = &v
11191	return s
11192}
11193
11194// SetRawContent sets the RawContent field's value.
11195func (s *ADMMessage) SetRawContent(v string) *ADMMessage {
11196	s.RawContent = &v
11197	return s
11198}
11199
11200// SetSilentPush sets the SilentPush field's value.
11201func (s *ADMMessage) SetSilentPush(v bool) *ADMMessage {
11202	s.SilentPush = &v
11203	return s
11204}
11205
11206// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
11207func (s *ADMMessage) SetSmallImageIconUrl(v string) *ADMMessage {
11208	s.SmallImageIconUrl = &v
11209	return s
11210}
11211
11212// SetSound sets the Sound field's value.
11213func (s *ADMMessage) SetSound(v string) *ADMMessage {
11214	s.Sound = &v
11215	return s
11216}
11217
11218// SetSubstitutions sets the Substitutions field's value.
11219func (s *ADMMessage) SetSubstitutions(v map[string][]*string) *ADMMessage {
11220	s.Substitutions = v
11221	return s
11222}
11223
11224// SetTitle sets the Title field's value.
11225func (s *ADMMessage) SetTitle(v string) *ADMMessage {
11226	s.Title = &v
11227	return s
11228}
11229
11230// SetUrl sets the Url field's value.
11231func (s *ADMMessage) SetUrl(v string) *ADMMessage {
11232	s.Url = &v
11233	return s
11234}
11235
11236// Specifies the status and settings of the APNs (Apple Push Notification service)
11237// channel for an application.
11238type APNSChannelRequest struct {
11239	_ struct{} `type:"structure"`
11240
11241	// The bundle identifier that's assigned to your iOS app. This identifier is
11242	// used for APNs tokens.
11243	BundleId *string `type:"string"`
11244
11245	// The APNs client certificate that you received from Apple, if you want Amazon
11246	// Pinpoint to communicate with APNs by using an APNs certificate.
11247	Certificate *string `type:"string"`
11248
11249	// The default authentication method that you want Amazon Pinpoint to use when
11250	// authenticating with APNs, key or certificate.
11251	DefaultAuthenticationMethod *string `type:"string"`
11252
11253	// Specifies whether to enable the APNs channel for the application.
11254	Enabled *bool `type:"boolean"`
11255
11256	// The private key for the APNs client certificate that you want Amazon Pinpoint
11257	// to use to communicate with APNs.
11258	PrivateKey *string `type:"string"`
11259
11260	// The identifier that's assigned to your Apple developer account team. This
11261	// identifier is used for APNs tokens.
11262	TeamId *string `type:"string"`
11263
11264	// The authentication key to use for APNs tokens.
11265	TokenKey *string `type:"string"`
11266
11267	// The key identifier that's assigned to your APNs signing key, if you want
11268	// Amazon Pinpoint to communicate with APNs by using APNs tokens.
11269	TokenKeyId *string `type:"string"`
11270}
11271
11272// String returns the string representation
11273func (s APNSChannelRequest) String() string {
11274	return awsutil.Prettify(s)
11275}
11276
11277// GoString returns the string representation
11278func (s APNSChannelRequest) GoString() string {
11279	return s.String()
11280}
11281
11282// SetBundleId sets the BundleId field's value.
11283func (s *APNSChannelRequest) SetBundleId(v string) *APNSChannelRequest {
11284	s.BundleId = &v
11285	return s
11286}
11287
11288// SetCertificate sets the Certificate field's value.
11289func (s *APNSChannelRequest) SetCertificate(v string) *APNSChannelRequest {
11290	s.Certificate = &v
11291	return s
11292}
11293
11294// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
11295func (s *APNSChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSChannelRequest {
11296	s.DefaultAuthenticationMethod = &v
11297	return s
11298}
11299
11300// SetEnabled sets the Enabled field's value.
11301func (s *APNSChannelRequest) SetEnabled(v bool) *APNSChannelRequest {
11302	s.Enabled = &v
11303	return s
11304}
11305
11306// SetPrivateKey sets the PrivateKey field's value.
11307func (s *APNSChannelRequest) SetPrivateKey(v string) *APNSChannelRequest {
11308	s.PrivateKey = &v
11309	return s
11310}
11311
11312// SetTeamId sets the TeamId field's value.
11313func (s *APNSChannelRequest) SetTeamId(v string) *APNSChannelRequest {
11314	s.TeamId = &v
11315	return s
11316}
11317
11318// SetTokenKey sets the TokenKey field's value.
11319func (s *APNSChannelRequest) SetTokenKey(v string) *APNSChannelRequest {
11320	s.TokenKey = &v
11321	return s
11322}
11323
11324// SetTokenKeyId sets the TokenKeyId field's value.
11325func (s *APNSChannelRequest) SetTokenKeyId(v string) *APNSChannelRequest {
11326	s.TokenKeyId = &v
11327	return s
11328}
11329
11330// Provides information about the status and settings of the APNs (Apple Push
11331// Notification service) channel for an application.
11332type APNSChannelResponse struct {
11333	_ struct{} `type:"structure"`
11334
11335	// The unique identifier for the application that the APNs channel applies to.
11336	ApplicationId *string `type:"string"`
11337
11338	// The date and time when the APNs channel was enabled.
11339	CreationDate *string `type:"string"`
11340
11341	// The default authentication method that Amazon Pinpoint uses to authenticate
11342	// with APNs for this channel, key or certificate.
11343	DefaultAuthenticationMethod *string `type:"string"`
11344
11345	// Specifies whether the APNs channel is enabled for the application.
11346	Enabled *bool `type:"boolean"`
11347
11348	// (Not used) This property is retained only for backward compatibility.
11349	HasCredential *bool `type:"boolean"`
11350
11351	// Specifies whether the APNs channel is configured to communicate with APNs
11352	// by using APNs tokens. To provide an authentication key for APNs tokens, set
11353	// the TokenKey property of the channel.
11354	HasTokenKey *bool `type:"boolean"`
11355
11356	// (Deprecated) An identifier for the APNs channel. This property is retained
11357	// only for backward compatibility.
11358	Id *string `type:"string"`
11359
11360	// Specifies whether the APNs channel is archived.
11361	IsArchived *bool `type:"boolean"`
11362
11363	// The user who last modified the APNs channel.
11364	LastModifiedBy *string `type:"string"`
11365
11366	// The date and time when the APNs channel was last modified.
11367	LastModifiedDate *string `type:"string"`
11368
11369	// The type of messaging or notification platform for the channel. For the APNs
11370	// channel, this value is APNS.
11371	//
11372	// Platform is a required field
11373	Platform *string `type:"string" required:"true"`
11374
11375	// The current version of the APNs channel.
11376	Version *int64 `type:"integer"`
11377}
11378
11379// String returns the string representation
11380func (s APNSChannelResponse) String() string {
11381	return awsutil.Prettify(s)
11382}
11383
11384// GoString returns the string representation
11385func (s APNSChannelResponse) GoString() string {
11386	return s.String()
11387}
11388
11389// SetApplicationId sets the ApplicationId field's value.
11390func (s *APNSChannelResponse) SetApplicationId(v string) *APNSChannelResponse {
11391	s.ApplicationId = &v
11392	return s
11393}
11394
11395// SetCreationDate sets the CreationDate field's value.
11396func (s *APNSChannelResponse) SetCreationDate(v string) *APNSChannelResponse {
11397	s.CreationDate = &v
11398	return s
11399}
11400
11401// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
11402func (s *APNSChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSChannelResponse {
11403	s.DefaultAuthenticationMethod = &v
11404	return s
11405}
11406
11407// SetEnabled sets the Enabled field's value.
11408func (s *APNSChannelResponse) SetEnabled(v bool) *APNSChannelResponse {
11409	s.Enabled = &v
11410	return s
11411}
11412
11413// SetHasCredential sets the HasCredential field's value.
11414func (s *APNSChannelResponse) SetHasCredential(v bool) *APNSChannelResponse {
11415	s.HasCredential = &v
11416	return s
11417}
11418
11419// SetHasTokenKey sets the HasTokenKey field's value.
11420func (s *APNSChannelResponse) SetHasTokenKey(v bool) *APNSChannelResponse {
11421	s.HasTokenKey = &v
11422	return s
11423}
11424
11425// SetId sets the Id field's value.
11426func (s *APNSChannelResponse) SetId(v string) *APNSChannelResponse {
11427	s.Id = &v
11428	return s
11429}
11430
11431// SetIsArchived sets the IsArchived field's value.
11432func (s *APNSChannelResponse) SetIsArchived(v bool) *APNSChannelResponse {
11433	s.IsArchived = &v
11434	return s
11435}
11436
11437// SetLastModifiedBy sets the LastModifiedBy field's value.
11438func (s *APNSChannelResponse) SetLastModifiedBy(v string) *APNSChannelResponse {
11439	s.LastModifiedBy = &v
11440	return s
11441}
11442
11443// SetLastModifiedDate sets the LastModifiedDate field's value.
11444func (s *APNSChannelResponse) SetLastModifiedDate(v string) *APNSChannelResponse {
11445	s.LastModifiedDate = &v
11446	return s
11447}
11448
11449// SetPlatform sets the Platform field's value.
11450func (s *APNSChannelResponse) SetPlatform(v string) *APNSChannelResponse {
11451	s.Platform = &v
11452	return s
11453}
11454
11455// SetVersion sets the Version field's value.
11456func (s *APNSChannelResponse) SetVersion(v int64) *APNSChannelResponse {
11457	s.Version = &v
11458	return s
11459}
11460
11461// Specifies the settings for a one-time message that's sent directly to an
11462// endpoint through the APNs (Apple Push Notification service) channel.
11463type APNSMessage struct {
11464	_ struct{} `type:"structure"`
11465
11466	// The type of push notification to send. Valid values are:
11467	//
11468	//    * alert - For a standard notification that's displayed on recipients'
11469	//    devices and prompts a recipient to interact with the notification.
11470	//
11471	//    * background - For a silent notification that delivers content in the
11472	//    background and isn't displayed on recipients' devices.
11473	//
11474	//    * complication - For a notification that contains update information for
11475	//    an app’s complication timeline.
11476	//
11477	//    * fileprovider - For a notification that signals changes to a File Provider
11478	//    extension.
11479	//
11480	//    * mdm - For a notification that tells managed devices to contact the MDM
11481	//    server.
11482	//
11483	//    * voip - For a notification that provides information about an incoming
11484	//    VoIP call.
11485	//
11486	// Amazon Pinpoint specifies this value in the apns-push-type request header
11487	// when it sends the notification message to APNs. If you don't specify a value
11488	// for this property, Amazon Pinpoint sets the value to alert or background
11489	// automatically, based on the value that you specify for the SilentPush or
11490	// RawContent property of the message.
11491	//
11492	// For more information about the apns-push-type request header, see Sending
11493	// Notification Requests to APNs (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns)
11494	// on the Apple Developer website.
11495	APNSPushType *string `type:"string"`
11496
11497	// The action to occur if the recipient taps the push notification. Valid values
11498	// are:
11499	//
11500	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
11501	//    sent to the background. This is the default action.
11502	//
11503	//    * DEEP_LINK - Your app opens and displays a designated user interface
11504	//    in the app. This setting uses the deep-linking features of the iOS platform.
11505	//
11506	//    * URL - The default mobile browser on the recipient's device opens and
11507	//    loads the web page at a URL that you specify.
11508	Action *string `type:"string" enum:"Action"`
11509
11510	// The key that indicates whether and how to modify the badge of your app's
11511	// icon when the recipient receives the push notification. If this key isn't
11512	// included in the dictionary, the badge doesn't change. To remove the badge,
11513	// set this value to 0.
11514	Badge *int64 `type:"integer"`
11515
11516	// The body of the notification message.
11517	Body *string `type:"string"`
11518
11519	// The key that indicates the notification type for the push notification. This
11520	// key is a value that's defined by the identifier property of one of your app's
11521	// registered categories.
11522	Category *string `type:"string"`
11523
11524	// An arbitrary identifier that, if assigned to multiple messages, APNs uses
11525	// to coalesce the messages into a single push notification instead of delivering
11526	// each message individually. This value can't exceed 64 bytes.
11527	//
11528	// Amazon Pinpoint specifies this value in the apns-collapse-id request header
11529	// when it sends the notification message to APNs.
11530	CollapseId *string `type:"string"`
11531
11532	// The JSON payload to use for a silent push notification. This payload is added
11533	// to the data.pinpoint.jsonBody object of the notification.
11534	Data map[string]*string `type:"map"`
11535
11536	// The URL of an image or video to display in the push notification.
11537	MediaUrl *string `type:"string"`
11538
11539	// The authentication method that you want Amazon Pinpoint to use when authenticating
11540	// with APNs, CERTIFICATE or TOKEN.
11541	PreferredAuthenticationMethod *string `type:"string"`
11542
11543	// para>5 - Low priority, the notification might be delayed, delivered as part
11544	// of a group, or throttled.
11545	// /listitem>
11546	// 10 - High priority, the notification is sent immediately. This is the default
11547	// value. A high priority notification should trigger an alert, play a sound,
11548	// or badge your app's icon on the recipient's device.
11549	// /para>
11550	// Amazon Pinpoint specifies this value in the apns-priority request header
11551	// when it sends the notification message to APNs.
11552	//
11553	// The equivalent values for Firebase Cloud Messaging (FCM), formerly Google
11554	// Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you specify
11555	// an FCM value for this property, Amazon Pinpoint accepts and converts the
11556	// value to the corresponding APNs value.
11557	Priority *string `type:"string"`
11558
11559	// The raw, JSON-formatted string to use as the payload for the notification
11560	// message. If specified, this value overrides all other content for the message.
11561	//
11562	// If you specify the raw content of an APNs push notification, the message
11563	// payload has to include the content-available key. The value of the content-available
11564	// key has to be an integer, and can only be 0 or 1. If you're sending a standard
11565	// notification, set the value of content-available to 0. If you're sending
11566	// a silent (background) notification, set the value of content-available to
11567	// 1. Additionally, silent notification payloads can't include the alert, badge,
11568	// or sound keys. For more information, see Generating a Remote Notification
11569	// (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification)
11570	// 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)
11571	// on the Apple Developer website.
11572	RawContent *string `type:"string"`
11573
11574	// Specifies whether the notification is a silent push notification. A silent
11575	// (or background) push notification isn't displayed on recipients' devices.
11576	// You can use silent push notifications to make small updates to your app,
11577	// or to display messages in an in-app message center.
11578	//
11579	// Amazon Pinpoint uses this property to determine the correct value for the
11580	// apns-push-type request header when it sends the notification message to APNs.
11581	// If you specify a value of true for this property, Amazon Pinpoint sets the
11582	// value for the apns-push-type header field to background.
11583	//
11584	// If you specify the raw content of an APNs push notification, the message
11585	// payload has to include the content-available key. For silent (background)
11586	// notifications, set the value of content-available to 1. Additionally, the
11587	// message payload for a silent notification can't include the alert, badge,
11588	// or sound keys. For more information, see Generating a Remote Notification
11589	// (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification)
11590	// 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)
11591	// on the Apple Developer website.
11592	//
11593	// Apple has indicated that they will throttle "excessive" background notifications
11594	// based on current traffic volumes. To prevent your notifications being throttled,
11595	// Apple recommends that you send no more than 3 silent push notifications to
11596	// each recipient per hour.
11597	SilentPush *bool `type:"boolean"`
11598
11599	// The key for the sound to play when the recipient receives the push notification.
11600	// The value for this key is the name of a sound file in your app's main bundle
11601	// or the Library/Sounds folder in your app's data container. If the sound file
11602	// can't be found or you specify default for the value, the system plays the
11603	// default alert sound.
11604	Sound *string `type:"string"`
11605
11606	// The default message variables to use in the notification message. You can
11607	// override these default variables with individual address variables.
11608	Substitutions map[string][]*string `type:"map"`
11609
11610	// The key that represents your app-specific identifier for grouping notifications.
11611	// If you provide a Notification Content app extension, you can use this value
11612	// to group your notifications together.
11613	ThreadId *string `type:"string"`
11614
11615	// The amount of time, in seconds, that APNs should store and attempt to deliver
11616	// the push notification, if the service is unable to deliver the notification
11617	// the first time. If this value is 0, APNs treats the notification as if it
11618	// expires immediately and the service doesn't store or try to deliver the notification
11619	// again.
11620	//
11621	// Amazon Pinpoint specifies this value in the apns-expiration request header
11622	// when it sends the notification message to APNs.
11623	TimeToLive *int64 `type:"integer"`
11624
11625	// The title to display above the notification message on the recipient's device.
11626	Title *string `type:"string"`
11627
11628	// The URL to open in the recipient's default mobile browser, if a recipient
11629	// taps the push notification and the value of the Action property is URL.
11630	Url *string `type:"string"`
11631}
11632
11633// String returns the string representation
11634func (s APNSMessage) String() string {
11635	return awsutil.Prettify(s)
11636}
11637
11638// GoString returns the string representation
11639func (s APNSMessage) GoString() string {
11640	return s.String()
11641}
11642
11643// SetAPNSPushType sets the APNSPushType field's value.
11644func (s *APNSMessage) SetAPNSPushType(v string) *APNSMessage {
11645	s.APNSPushType = &v
11646	return s
11647}
11648
11649// SetAction sets the Action field's value.
11650func (s *APNSMessage) SetAction(v string) *APNSMessage {
11651	s.Action = &v
11652	return s
11653}
11654
11655// SetBadge sets the Badge field's value.
11656func (s *APNSMessage) SetBadge(v int64) *APNSMessage {
11657	s.Badge = &v
11658	return s
11659}
11660
11661// SetBody sets the Body field's value.
11662func (s *APNSMessage) SetBody(v string) *APNSMessage {
11663	s.Body = &v
11664	return s
11665}
11666
11667// SetCategory sets the Category field's value.
11668func (s *APNSMessage) SetCategory(v string) *APNSMessage {
11669	s.Category = &v
11670	return s
11671}
11672
11673// SetCollapseId sets the CollapseId field's value.
11674func (s *APNSMessage) SetCollapseId(v string) *APNSMessage {
11675	s.CollapseId = &v
11676	return s
11677}
11678
11679// SetData sets the Data field's value.
11680func (s *APNSMessage) SetData(v map[string]*string) *APNSMessage {
11681	s.Data = v
11682	return s
11683}
11684
11685// SetMediaUrl sets the MediaUrl field's value.
11686func (s *APNSMessage) SetMediaUrl(v string) *APNSMessage {
11687	s.MediaUrl = &v
11688	return s
11689}
11690
11691// SetPreferredAuthenticationMethod sets the PreferredAuthenticationMethod field's value.
11692func (s *APNSMessage) SetPreferredAuthenticationMethod(v string) *APNSMessage {
11693	s.PreferredAuthenticationMethod = &v
11694	return s
11695}
11696
11697// SetPriority sets the Priority field's value.
11698func (s *APNSMessage) SetPriority(v string) *APNSMessage {
11699	s.Priority = &v
11700	return s
11701}
11702
11703// SetRawContent sets the RawContent field's value.
11704func (s *APNSMessage) SetRawContent(v string) *APNSMessage {
11705	s.RawContent = &v
11706	return s
11707}
11708
11709// SetSilentPush sets the SilentPush field's value.
11710func (s *APNSMessage) SetSilentPush(v bool) *APNSMessage {
11711	s.SilentPush = &v
11712	return s
11713}
11714
11715// SetSound sets the Sound field's value.
11716func (s *APNSMessage) SetSound(v string) *APNSMessage {
11717	s.Sound = &v
11718	return s
11719}
11720
11721// SetSubstitutions sets the Substitutions field's value.
11722func (s *APNSMessage) SetSubstitutions(v map[string][]*string) *APNSMessage {
11723	s.Substitutions = v
11724	return s
11725}
11726
11727// SetThreadId sets the ThreadId field's value.
11728func (s *APNSMessage) SetThreadId(v string) *APNSMessage {
11729	s.ThreadId = &v
11730	return s
11731}
11732
11733// SetTimeToLive sets the TimeToLive field's value.
11734func (s *APNSMessage) SetTimeToLive(v int64) *APNSMessage {
11735	s.TimeToLive = &v
11736	return s
11737}
11738
11739// SetTitle sets the Title field's value.
11740func (s *APNSMessage) SetTitle(v string) *APNSMessage {
11741	s.Title = &v
11742	return s
11743}
11744
11745// SetUrl sets the Url field's value.
11746func (s *APNSMessage) SetUrl(v string) *APNSMessage {
11747	s.Url = &v
11748	return s
11749}
11750
11751// Specifies channel-specific content and settings for a message template that
11752// can be used in push notifications that are sent through the APNs (Apple Push
11753// Notification service) channel.
11754type APNSPushNotificationTemplate struct {
11755	_ struct{} `type:"structure"`
11756
11757	// The action to occur if a recipient taps a push notification that's based
11758	// on the message template. Valid values are:
11759	//
11760	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
11761	//    sent to the background. This is the default action.
11762	//
11763	//    * DEEP_LINK - Your app opens and displays a designated user interface
11764	//    in the app. This setting uses the deep-linking features of the iOS platform.
11765	//
11766	//    * URL - The default mobile browser on the recipient's device opens and
11767	//    loads the web page at a URL that you specify.
11768	Action *string `type:"string" enum:"Action"`
11769
11770	// The message body to use in push notifications that are based on the message
11771	// template.
11772	Body *string `type:"string"`
11773
11774	// The URL of an image or video to display in push notifications that are based
11775	// on the message template.
11776	MediaUrl *string `type:"string"`
11777
11778	// The raw, JSON-formatted string to use as the payload for push notifications
11779	// that are based on the message template. If specified, this value overrides
11780	// all other content for the message template.
11781	RawContent *string `type:"string"`
11782
11783	// The key for the sound to play when the recipient receives a push notification
11784	// that's based on the message template. The value for this key is the name
11785	// of a sound file in your app's main bundle or the Library/Sounds folder in
11786	// your app's data container. If the sound file can't be found or you specify
11787	// default for the value, the system plays the default alert sound.
11788	Sound *string `type:"string"`
11789
11790	// The title to use in push notifications that are based on the message template.
11791	// This title appears above the notification message on a recipient's device.
11792	Title *string `type:"string"`
11793
11794	// The URL to open in the recipient's default mobile browser, if a recipient
11795	// taps a push notification that's based on the message template and the value
11796	// of the Action property is URL.
11797	Url *string `type:"string"`
11798}
11799
11800// String returns the string representation
11801func (s APNSPushNotificationTemplate) String() string {
11802	return awsutil.Prettify(s)
11803}
11804
11805// GoString returns the string representation
11806func (s APNSPushNotificationTemplate) GoString() string {
11807	return s.String()
11808}
11809
11810// SetAction sets the Action field's value.
11811func (s *APNSPushNotificationTemplate) SetAction(v string) *APNSPushNotificationTemplate {
11812	s.Action = &v
11813	return s
11814}
11815
11816// SetBody sets the Body field's value.
11817func (s *APNSPushNotificationTemplate) SetBody(v string) *APNSPushNotificationTemplate {
11818	s.Body = &v
11819	return s
11820}
11821
11822// SetMediaUrl sets the MediaUrl field's value.
11823func (s *APNSPushNotificationTemplate) SetMediaUrl(v string) *APNSPushNotificationTemplate {
11824	s.MediaUrl = &v
11825	return s
11826}
11827
11828// SetRawContent sets the RawContent field's value.
11829func (s *APNSPushNotificationTemplate) SetRawContent(v string) *APNSPushNotificationTemplate {
11830	s.RawContent = &v
11831	return s
11832}
11833
11834// SetSound sets the Sound field's value.
11835func (s *APNSPushNotificationTemplate) SetSound(v string) *APNSPushNotificationTemplate {
11836	s.Sound = &v
11837	return s
11838}
11839
11840// SetTitle sets the Title field's value.
11841func (s *APNSPushNotificationTemplate) SetTitle(v string) *APNSPushNotificationTemplate {
11842	s.Title = &v
11843	return s
11844}
11845
11846// SetUrl sets the Url field's value.
11847func (s *APNSPushNotificationTemplate) SetUrl(v string) *APNSPushNotificationTemplate {
11848	s.Url = &v
11849	return s
11850}
11851
11852// Specifies the status and settings of the APNs (Apple Push Notification service)
11853// sandbox channel for an application.
11854type APNSSandboxChannelRequest struct {
11855	_ struct{} `type:"structure"`
11856
11857	// The bundle identifier that's assigned to your iOS app. This identifier is
11858	// used for APNs tokens.
11859	BundleId *string `type:"string"`
11860
11861	// The APNs client certificate that you received from Apple, if you want Amazon
11862	// Pinpoint to communicate with the APNs sandbox environment by using an APNs
11863	// certificate.
11864	Certificate *string `type:"string"`
11865
11866	// The default authentication method that you want Amazon Pinpoint to use when
11867	// authenticating with the APNs sandbox environment, key or certificate.
11868	DefaultAuthenticationMethod *string `type:"string"`
11869
11870	// Specifies whether to enable the APNs sandbox channel for the application.
11871	Enabled *bool `type:"boolean"`
11872
11873	// The private key for the APNs client certificate that you want Amazon Pinpoint
11874	// to use to communicate with the APNs sandbox environment.
11875	PrivateKey *string `type:"string"`
11876
11877	// The identifier that's assigned to your Apple developer account team. This
11878	// identifier is used for APNs tokens.
11879	TeamId *string `type:"string"`
11880
11881	// The authentication key to use for APNs tokens.
11882	TokenKey *string `type:"string"`
11883
11884	// The key identifier that's assigned to your APNs signing key, if you want
11885	// Amazon Pinpoint to communicate with the APNs sandbox environment by using
11886	// APNs tokens.
11887	TokenKeyId *string `type:"string"`
11888}
11889
11890// String returns the string representation
11891func (s APNSSandboxChannelRequest) String() string {
11892	return awsutil.Prettify(s)
11893}
11894
11895// GoString returns the string representation
11896func (s APNSSandboxChannelRequest) GoString() string {
11897	return s.String()
11898}
11899
11900// SetBundleId sets the BundleId field's value.
11901func (s *APNSSandboxChannelRequest) SetBundleId(v string) *APNSSandboxChannelRequest {
11902	s.BundleId = &v
11903	return s
11904}
11905
11906// SetCertificate sets the Certificate field's value.
11907func (s *APNSSandboxChannelRequest) SetCertificate(v string) *APNSSandboxChannelRequest {
11908	s.Certificate = &v
11909	return s
11910}
11911
11912// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
11913func (s *APNSSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelRequest {
11914	s.DefaultAuthenticationMethod = &v
11915	return s
11916}
11917
11918// SetEnabled sets the Enabled field's value.
11919func (s *APNSSandboxChannelRequest) SetEnabled(v bool) *APNSSandboxChannelRequest {
11920	s.Enabled = &v
11921	return s
11922}
11923
11924// SetPrivateKey sets the PrivateKey field's value.
11925func (s *APNSSandboxChannelRequest) SetPrivateKey(v string) *APNSSandboxChannelRequest {
11926	s.PrivateKey = &v
11927	return s
11928}
11929
11930// SetTeamId sets the TeamId field's value.
11931func (s *APNSSandboxChannelRequest) SetTeamId(v string) *APNSSandboxChannelRequest {
11932	s.TeamId = &v
11933	return s
11934}
11935
11936// SetTokenKey sets the TokenKey field's value.
11937func (s *APNSSandboxChannelRequest) SetTokenKey(v string) *APNSSandboxChannelRequest {
11938	s.TokenKey = &v
11939	return s
11940}
11941
11942// SetTokenKeyId sets the TokenKeyId field's value.
11943func (s *APNSSandboxChannelRequest) SetTokenKeyId(v string) *APNSSandboxChannelRequest {
11944	s.TokenKeyId = &v
11945	return s
11946}
11947
11948// Provides information about the status and settings of the APNs (Apple Push
11949// Notification service) sandbox channel for an application.
11950type APNSSandboxChannelResponse struct {
11951	_ struct{} `type:"structure"`
11952
11953	// The unique identifier for the application that the APNs sandbox channel applies
11954	// to.
11955	ApplicationId *string `type:"string"`
11956
11957	// The date and time when the APNs sandbox channel was enabled.
11958	CreationDate *string `type:"string"`
11959
11960	// The default authentication method that Amazon Pinpoint uses to authenticate
11961	// with the APNs sandbox environment for this channel, key or certificate.
11962	DefaultAuthenticationMethod *string `type:"string"`
11963
11964	// Specifies whether the APNs sandbox channel is enabled for the application.
11965	Enabled *bool `type:"boolean"`
11966
11967	// (Not used) This property is retained only for backward compatibility.
11968	HasCredential *bool `type:"boolean"`
11969
11970	// Specifies whether the APNs sandbox channel is configured to communicate with
11971	// APNs by using APNs tokens. To provide an authentication key for APNs tokens,
11972	// set the TokenKey property of the channel.
11973	HasTokenKey *bool `type:"boolean"`
11974
11975	// (Deprecated) An identifier for the APNs sandbox channel. This property is
11976	// retained only for backward compatibility.
11977	Id *string `type:"string"`
11978
11979	// Specifies whether the APNs sandbox channel is archived.
11980	IsArchived *bool `type:"boolean"`
11981
11982	// The user who last modified the APNs sandbox channel.
11983	LastModifiedBy *string `type:"string"`
11984
11985	// The date and time when the APNs sandbox channel was last modified.
11986	LastModifiedDate *string `type:"string"`
11987
11988	// The type of messaging or notification platform for the channel. For the APNs
11989	// sandbox channel, this value is APNS_SANDBOX.
11990	//
11991	// Platform is a required field
11992	Platform *string `type:"string" required:"true"`
11993
11994	// The current version of the APNs sandbox channel.
11995	Version *int64 `type:"integer"`
11996}
11997
11998// String returns the string representation
11999func (s APNSSandboxChannelResponse) String() string {
12000	return awsutil.Prettify(s)
12001}
12002
12003// GoString returns the string representation
12004func (s APNSSandboxChannelResponse) GoString() string {
12005	return s.String()
12006}
12007
12008// SetApplicationId sets the ApplicationId field's value.
12009func (s *APNSSandboxChannelResponse) SetApplicationId(v string) *APNSSandboxChannelResponse {
12010	s.ApplicationId = &v
12011	return s
12012}
12013
12014// SetCreationDate sets the CreationDate field's value.
12015func (s *APNSSandboxChannelResponse) SetCreationDate(v string) *APNSSandboxChannelResponse {
12016	s.CreationDate = &v
12017	return s
12018}
12019
12020// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
12021func (s *APNSSandboxChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelResponse {
12022	s.DefaultAuthenticationMethod = &v
12023	return s
12024}
12025
12026// SetEnabled sets the Enabled field's value.
12027func (s *APNSSandboxChannelResponse) SetEnabled(v bool) *APNSSandboxChannelResponse {
12028	s.Enabled = &v
12029	return s
12030}
12031
12032// SetHasCredential sets the HasCredential field's value.
12033func (s *APNSSandboxChannelResponse) SetHasCredential(v bool) *APNSSandboxChannelResponse {
12034	s.HasCredential = &v
12035	return s
12036}
12037
12038// SetHasTokenKey sets the HasTokenKey field's value.
12039func (s *APNSSandboxChannelResponse) SetHasTokenKey(v bool) *APNSSandboxChannelResponse {
12040	s.HasTokenKey = &v
12041	return s
12042}
12043
12044// SetId sets the Id field's value.
12045func (s *APNSSandboxChannelResponse) SetId(v string) *APNSSandboxChannelResponse {
12046	s.Id = &v
12047	return s
12048}
12049
12050// SetIsArchived sets the IsArchived field's value.
12051func (s *APNSSandboxChannelResponse) SetIsArchived(v bool) *APNSSandboxChannelResponse {
12052	s.IsArchived = &v
12053	return s
12054}
12055
12056// SetLastModifiedBy sets the LastModifiedBy field's value.
12057func (s *APNSSandboxChannelResponse) SetLastModifiedBy(v string) *APNSSandboxChannelResponse {
12058	s.LastModifiedBy = &v
12059	return s
12060}
12061
12062// SetLastModifiedDate sets the LastModifiedDate field's value.
12063func (s *APNSSandboxChannelResponse) SetLastModifiedDate(v string) *APNSSandboxChannelResponse {
12064	s.LastModifiedDate = &v
12065	return s
12066}
12067
12068// SetPlatform sets the Platform field's value.
12069func (s *APNSSandboxChannelResponse) SetPlatform(v string) *APNSSandboxChannelResponse {
12070	s.Platform = &v
12071	return s
12072}
12073
12074// SetVersion sets the Version field's value.
12075func (s *APNSSandboxChannelResponse) SetVersion(v int64) *APNSSandboxChannelResponse {
12076	s.Version = &v
12077	return s
12078}
12079
12080// Specifies the status and settings of the APNs (Apple Push Notification service)
12081// VoIP channel for an application.
12082type APNSVoipChannelRequest struct {
12083	_ struct{} `type:"structure"`
12084
12085	// The bundle identifier that's assigned to your iOS app. This identifier is
12086	// used for APNs tokens.
12087	BundleId *string `type:"string"`
12088
12089	// The APNs client certificate that you received from Apple, if you want Amazon
12090	// Pinpoint to communicate with APNs by using an APNs certificate.
12091	Certificate *string `type:"string"`
12092
12093	// The default authentication method that you want Amazon Pinpoint to use when
12094	// authenticating with APNs, key or certificate.
12095	DefaultAuthenticationMethod *string `type:"string"`
12096
12097	// Specifies whether to enable the APNs VoIP channel for the application.
12098	Enabled *bool `type:"boolean"`
12099
12100	// The private key for the APNs client certificate that you want Amazon Pinpoint
12101	// to use to communicate with APNs.
12102	PrivateKey *string `type:"string"`
12103
12104	// The identifier that's assigned to your Apple developer account team. This
12105	// identifier is used for APNs tokens.
12106	TeamId *string `type:"string"`
12107
12108	// The authentication key to use for APNs tokens.
12109	TokenKey *string `type:"string"`
12110
12111	// The key identifier that's assigned to your APNs signing key, if you want
12112	// Amazon Pinpoint to communicate with APNs by using APNs tokens.
12113	TokenKeyId *string `type:"string"`
12114}
12115
12116// String returns the string representation
12117func (s APNSVoipChannelRequest) String() string {
12118	return awsutil.Prettify(s)
12119}
12120
12121// GoString returns the string representation
12122func (s APNSVoipChannelRequest) GoString() string {
12123	return s.String()
12124}
12125
12126// SetBundleId sets the BundleId field's value.
12127func (s *APNSVoipChannelRequest) SetBundleId(v string) *APNSVoipChannelRequest {
12128	s.BundleId = &v
12129	return s
12130}
12131
12132// SetCertificate sets the Certificate field's value.
12133func (s *APNSVoipChannelRequest) SetCertificate(v string) *APNSVoipChannelRequest {
12134	s.Certificate = &v
12135	return s
12136}
12137
12138// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
12139func (s *APNSVoipChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSVoipChannelRequest {
12140	s.DefaultAuthenticationMethod = &v
12141	return s
12142}
12143
12144// SetEnabled sets the Enabled field's value.
12145func (s *APNSVoipChannelRequest) SetEnabled(v bool) *APNSVoipChannelRequest {
12146	s.Enabled = &v
12147	return s
12148}
12149
12150// SetPrivateKey sets the PrivateKey field's value.
12151func (s *APNSVoipChannelRequest) SetPrivateKey(v string) *APNSVoipChannelRequest {
12152	s.PrivateKey = &v
12153	return s
12154}
12155
12156// SetTeamId sets the TeamId field's value.
12157func (s *APNSVoipChannelRequest) SetTeamId(v string) *APNSVoipChannelRequest {
12158	s.TeamId = &v
12159	return s
12160}
12161
12162// SetTokenKey sets the TokenKey field's value.
12163func (s *APNSVoipChannelRequest) SetTokenKey(v string) *APNSVoipChannelRequest {
12164	s.TokenKey = &v
12165	return s
12166}
12167
12168// SetTokenKeyId sets the TokenKeyId field's value.
12169func (s *APNSVoipChannelRequest) SetTokenKeyId(v string) *APNSVoipChannelRequest {
12170	s.TokenKeyId = &v
12171	return s
12172}
12173
12174// Provides information about the status and settings of the APNs (Apple Push
12175// Notification service) VoIP channel for an application.
12176type APNSVoipChannelResponse struct {
12177	_ struct{} `type:"structure"`
12178
12179	// The unique identifier for the application that the APNs VoIP channel applies
12180	// to.
12181	ApplicationId *string `type:"string"`
12182
12183	// The date and time when the APNs VoIP channel was enabled.
12184	CreationDate *string `type:"string"`
12185
12186	// The default authentication method that Amazon Pinpoint uses to authenticate
12187	// with APNs for this channel, key or certificate.
12188	DefaultAuthenticationMethod *string `type:"string"`
12189
12190	// Specifies whether the APNs VoIP channel is enabled for the application.
12191	Enabled *bool `type:"boolean"`
12192
12193	// (Not used) This property is retained only for backward compatibility.
12194	HasCredential *bool `type:"boolean"`
12195
12196	// Specifies whether the APNs VoIP channel is configured to communicate with
12197	// APNs by using APNs tokens. To provide an authentication key for APNs tokens,
12198	// set the TokenKey property of the channel.
12199	HasTokenKey *bool `type:"boolean"`
12200
12201	// (Deprecated) An identifier for the APNs VoIP channel. This property is retained
12202	// only for backward compatibility.
12203	Id *string `type:"string"`
12204
12205	// Specifies whether the APNs VoIP channel is archived.
12206	IsArchived *bool `type:"boolean"`
12207
12208	// The user who last modified the APNs VoIP channel.
12209	LastModifiedBy *string `type:"string"`
12210
12211	// The date and time when the APNs VoIP channel was last modified.
12212	LastModifiedDate *string `type:"string"`
12213
12214	// The type of messaging or notification platform for the channel. For the APNs
12215	// VoIP channel, this value is APNS_VOIP.
12216	//
12217	// Platform is a required field
12218	Platform *string `type:"string" required:"true"`
12219
12220	// The current version of the APNs VoIP channel.
12221	Version *int64 `type:"integer"`
12222}
12223
12224// String returns the string representation
12225func (s APNSVoipChannelResponse) String() string {
12226	return awsutil.Prettify(s)
12227}
12228
12229// GoString returns the string representation
12230func (s APNSVoipChannelResponse) GoString() string {
12231	return s.String()
12232}
12233
12234// SetApplicationId sets the ApplicationId field's value.
12235func (s *APNSVoipChannelResponse) SetApplicationId(v string) *APNSVoipChannelResponse {
12236	s.ApplicationId = &v
12237	return s
12238}
12239
12240// SetCreationDate sets the CreationDate field's value.
12241func (s *APNSVoipChannelResponse) SetCreationDate(v string) *APNSVoipChannelResponse {
12242	s.CreationDate = &v
12243	return s
12244}
12245
12246// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
12247func (s *APNSVoipChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSVoipChannelResponse {
12248	s.DefaultAuthenticationMethod = &v
12249	return s
12250}
12251
12252// SetEnabled sets the Enabled field's value.
12253func (s *APNSVoipChannelResponse) SetEnabled(v bool) *APNSVoipChannelResponse {
12254	s.Enabled = &v
12255	return s
12256}
12257
12258// SetHasCredential sets the HasCredential field's value.
12259func (s *APNSVoipChannelResponse) SetHasCredential(v bool) *APNSVoipChannelResponse {
12260	s.HasCredential = &v
12261	return s
12262}
12263
12264// SetHasTokenKey sets the HasTokenKey field's value.
12265func (s *APNSVoipChannelResponse) SetHasTokenKey(v bool) *APNSVoipChannelResponse {
12266	s.HasTokenKey = &v
12267	return s
12268}
12269
12270// SetId sets the Id field's value.
12271func (s *APNSVoipChannelResponse) SetId(v string) *APNSVoipChannelResponse {
12272	s.Id = &v
12273	return s
12274}
12275
12276// SetIsArchived sets the IsArchived field's value.
12277func (s *APNSVoipChannelResponse) SetIsArchived(v bool) *APNSVoipChannelResponse {
12278	s.IsArchived = &v
12279	return s
12280}
12281
12282// SetLastModifiedBy sets the LastModifiedBy field's value.
12283func (s *APNSVoipChannelResponse) SetLastModifiedBy(v string) *APNSVoipChannelResponse {
12284	s.LastModifiedBy = &v
12285	return s
12286}
12287
12288// SetLastModifiedDate sets the LastModifiedDate field's value.
12289func (s *APNSVoipChannelResponse) SetLastModifiedDate(v string) *APNSVoipChannelResponse {
12290	s.LastModifiedDate = &v
12291	return s
12292}
12293
12294// SetPlatform sets the Platform field's value.
12295func (s *APNSVoipChannelResponse) SetPlatform(v string) *APNSVoipChannelResponse {
12296	s.Platform = &v
12297	return s
12298}
12299
12300// SetVersion sets the Version field's value.
12301func (s *APNSVoipChannelResponse) SetVersion(v int64) *APNSVoipChannelResponse {
12302	s.Version = &v
12303	return s
12304}
12305
12306// Specifies the status and settings of the APNs (Apple Push Notification service)
12307// VoIP sandbox channel for an application.
12308type APNSVoipSandboxChannelRequest struct {
12309	_ struct{} `type:"structure"`
12310
12311	// The bundle identifier that's assigned to your iOS app. This identifier is
12312	// used for APNs tokens.
12313	BundleId *string `type:"string"`
12314
12315	// The APNs client certificate that you received from Apple, if you want Amazon
12316	// Pinpoint to communicate with the APNs sandbox environment by using an APNs
12317	// certificate.
12318	Certificate *string `type:"string"`
12319
12320	// The default authentication method that you want Amazon Pinpoint to use when
12321	// authenticating with the APNs sandbox environment for this channel, key or
12322	// certificate.
12323	DefaultAuthenticationMethod *string `type:"string"`
12324
12325	// Specifies whether the APNs VoIP sandbox channel is enabled for the application.
12326	Enabled *bool `type:"boolean"`
12327
12328	// The private key for the APNs client certificate that you want Amazon Pinpoint
12329	// to use to communicate with the APNs sandbox environment.
12330	PrivateKey *string `type:"string"`
12331
12332	// The identifier that's assigned to your Apple developer account team. This
12333	// identifier is used for APNs tokens.
12334	TeamId *string `type:"string"`
12335
12336	// The authentication key to use for APNs tokens.
12337	TokenKey *string `type:"string"`
12338
12339	// The key identifier that's assigned to your APNs signing key, if you want
12340	// Amazon Pinpoint to communicate with the APNs sandbox environment by using
12341	// APNs tokens.
12342	TokenKeyId *string `type:"string"`
12343}
12344
12345// String returns the string representation
12346func (s APNSVoipSandboxChannelRequest) String() string {
12347	return awsutil.Prettify(s)
12348}
12349
12350// GoString returns the string representation
12351func (s APNSVoipSandboxChannelRequest) GoString() string {
12352	return s.String()
12353}
12354
12355// SetBundleId sets the BundleId field's value.
12356func (s *APNSVoipSandboxChannelRequest) SetBundleId(v string) *APNSVoipSandboxChannelRequest {
12357	s.BundleId = &v
12358	return s
12359}
12360
12361// SetCertificate sets the Certificate field's value.
12362func (s *APNSVoipSandboxChannelRequest) SetCertificate(v string) *APNSVoipSandboxChannelRequest {
12363	s.Certificate = &v
12364	return s
12365}
12366
12367// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
12368func (s *APNSVoipSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSVoipSandboxChannelRequest {
12369	s.DefaultAuthenticationMethod = &v
12370	return s
12371}
12372
12373// SetEnabled sets the Enabled field's value.
12374func (s *APNSVoipSandboxChannelRequest) SetEnabled(v bool) *APNSVoipSandboxChannelRequest {
12375	s.Enabled = &v
12376	return s
12377}
12378
12379// SetPrivateKey sets the PrivateKey field's value.
12380func (s *APNSVoipSandboxChannelRequest) SetPrivateKey(v string) *APNSVoipSandboxChannelRequest {
12381	s.PrivateKey = &v
12382	return s
12383}
12384
12385// SetTeamId sets the TeamId field's value.
12386func (s *APNSVoipSandboxChannelRequest) SetTeamId(v string) *APNSVoipSandboxChannelRequest {
12387	s.TeamId = &v
12388	return s
12389}
12390
12391// SetTokenKey sets the TokenKey field's value.
12392func (s *APNSVoipSandboxChannelRequest) SetTokenKey(v string) *APNSVoipSandboxChannelRequest {
12393	s.TokenKey = &v
12394	return s
12395}
12396
12397// SetTokenKeyId sets the TokenKeyId field's value.
12398func (s *APNSVoipSandboxChannelRequest) SetTokenKeyId(v string) *APNSVoipSandboxChannelRequest {
12399	s.TokenKeyId = &v
12400	return s
12401}
12402
12403// Provides information about the status and settings of the APNs (Apple Push
12404// Notification service) VoIP sandbox channel for an application.
12405type APNSVoipSandboxChannelResponse struct {
12406	_ struct{} `type:"structure"`
12407
12408	// The unique identifier for the application that the APNs VoIP sandbox channel
12409	// applies to.
12410	ApplicationId *string `type:"string"`
12411
12412	// The date and time when the APNs VoIP sandbox channel was enabled.
12413	CreationDate *string `type:"string"`
12414
12415	// The default authentication method that Amazon Pinpoint uses to authenticate
12416	// with the APNs sandbox environment for this channel, key or certificate.
12417	DefaultAuthenticationMethod *string `type:"string"`
12418
12419	// Specifies whether the APNs VoIP sandbox channel is enabled for the application.
12420	Enabled *bool `type:"boolean"`
12421
12422	// (Not used) This property is retained only for backward compatibility.
12423	HasCredential *bool `type:"boolean"`
12424
12425	// Specifies whether the APNs VoIP sandbox channel is configured to communicate
12426	// with APNs by using APNs tokens. To provide an authentication key for APNs
12427	// tokens, set the TokenKey property of the channel.
12428	HasTokenKey *bool `type:"boolean"`
12429
12430	// (Deprecated) An identifier for the APNs VoIP sandbox channel. This property
12431	// is retained only for backward compatibility.
12432	Id *string `type:"string"`
12433
12434	// Specifies whether the APNs VoIP sandbox channel is archived.
12435	IsArchived *bool `type:"boolean"`
12436
12437	// The user who last modified the APNs VoIP sandbox channel.
12438	LastModifiedBy *string `type:"string"`
12439
12440	// The date and time when the APNs VoIP sandbox channel was last modified.
12441	LastModifiedDate *string `type:"string"`
12442
12443	// The type of messaging or notification platform for the channel. For the APNs
12444	// VoIP sandbox channel, this value is APNS_VOIP_SANDBOX.
12445	//
12446	// Platform is a required field
12447	Platform *string `type:"string" required:"true"`
12448
12449	// The current version of the APNs VoIP sandbox channel.
12450	Version *int64 `type:"integer"`
12451}
12452
12453// String returns the string representation
12454func (s APNSVoipSandboxChannelResponse) String() string {
12455	return awsutil.Prettify(s)
12456}
12457
12458// GoString returns the string representation
12459func (s APNSVoipSandboxChannelResponse) GoString() string {
12460	return s.String()
12461}
12462
12463// SetApplicationId sets the ApplicationId field's value.
12464func (s *APNSVoipSandboxChannelResponse) SetApplicationId(v string) *APNSVoipSandboxChannelResponse {
12465	s.ApplicationId = &v
12466	return s
12467}
12468
12469// SetCreationDate sets the CreationDate field's value.
12470func (s *APNSVoipSandboxChannelResponse) SetCreationDate(v string) *APNSVoipSandboxChannelResponse {
12471	s.CreationDate = &v
12472	return s
12473}
12474
12475// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
12476func (s *APNSVoipSandboxChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSVoipSandboxChannelResponse {
12477	s.DefaultAuthenticationMethod = &v
12478	return s
12479}
12480
12481// SetEnabled sets the Enabled field's value.
12482func (s *APNSVoipSandboxChannelResponse) SetEnabled(v bool) *APNSVoipSandboxChannelResponse {
12483	s.Enabled = &v
12484	return s
12485}
12486
12487// SetHasCredential sets the HasCredential field's value.
12488func (s *APNSVoipSandboxChannelResponse) SetHasCredential(v bool) *APNSVoipSandboxChannelResponse {
12489	s.HasCredential = &v
12490	return s
12491}
12492
12493// SetHasTokenKey sets the HasTokenKey field's value.
12494func (s *APNSVoipSandboxChannelResponse) SetHasTokenKey(v bool) *APNSVoipSandboxChannelResponse {
12495	s.HasTokenKey = &v
12496	return s
12497}
12498
12499// SetId sets the Id field's value.
12500func (s *APNSVoipSandboxChannelResponse) SetId(v string) *APNSVoipSandboxChannelResponse {
12501	s.Id = &v
12502	return s
12503}
12504
12505// SetIsArchived sets the IsArchived field's value.
12506func (s *APNSVoipSandboxChannelResponse) SetIsArchived(v bool) *APNSVoipSandboxChannelResponse {
12507	s.IsArchived = &v
12508	return s
12509}
12510
12511// SetLastModifiedBy sets the LastModifiedBy field's value.
12512func (s *APNSVoipSandboxChannelResponse) SetLastModifiedBy(v string) *APNSVoipSandboxChannelResponse {
12513	s.LastModifiedBy = &v
12514	return s
12515}
12516
12517// SetLastModifiedDate sets the LastModifiedDate field's value.
12518func (s *APNSVoipSandboxChannelResponse) SetLastModifiedDate(v string) *APNSVoipSandboxChannelResponse {
12519	s.LastModifiedDate = &v
12520	return s
12521}
12522
12523// SetPlatform sets the Platform field's value.
12524func (s *APNSVoipSandboxChannelResponse) SetPlatform(v string) *APNSVoipSandboxChannelResponse {
12525	s.Platform = &v
12526	return s
12527}
12528
12529// SetVersion sets the Version field's value.
12530func (s *APNSVoipSandboxChannelResponse) SetVersion(v int64) *APNSVoipSandboxChannelResponse {
12531	s.Version = &v
12532	return s
12533}
12534
12535// Provides information about the activities that were performed by a campaign.
12536type ActivitiesResponse struct {
12537	_ struct{} `type:"structure"`
12538
12539	// An array of responses, one for each activity that was performed by the campaign.
12540	//
12541	// Item is a required field
12542	Item []*ActivityResponse `type:"list" required:"true"`
12543
12544	// The string to use in a subsequent request to get the next page of results
12545	// in a paginated response. This value is null if there are no additional pages.
12546	NextToken *string `type:"string"`
12547}
12548
12549// String returns the string representation
12550func (s ActivitiesResponse) String() string {
12551	return awsutil.Prettify(s)
12552}
12553
12554// GoString returns the string representation
12555func (s ActivitiesResponse) GoString() string {
12556	return s.String()
12557}
12558
12559// SetItem sets the Item field's value.
12560func (s *ActivitiesResponse) SetItem(v []*ActivityResponse) *ActivitiesResponse {
12561	s.Item = v
12562	return s
12563}
12564
12565// SetNextToken sets the NextToken field's value.
12566func (s *ActivitiesResponse) SetNextToken(v string) *ActivitiesResponse {
12567	s.NextToken = &v
12568	return s
12569}
12570
12571// Specifies the configuration and other settings for an activity in a journey.
12572type Activity struct {
12573	_ struct{} `type:"structure"`
12574
12575	// The settings for a custom message activity. This type of activity calls an
12576	// AWS Lambda function or web hook that sends messages to participants.
12577	CUSTOM *CustomMessageActivity `type:"structure"`
12578
12579	// The settings for a yes/no split activity. This type of activity sends participants
12580	// down one of two paths in a journey, based on conditions that you specify.
12581	ConditionalSplit *ConditionalSplitActivity `type:"structure"`
12582
12583	// The custom description of the activity.
12584	Description *string `type:"string"`
12585
12586	// The settings for an email activity. This type of activity sends an email
12587	// message to participants.
12588	EMAIL *EmailMessageActivity `type:"structure"`
12589
12590	// The settings for a holdout activity. This type of activity stops a journey
12591	// for a specified percentage of participants.
12592	Holdout *HoldoutActivity `type:"structure"`
12593
12594	// The settings for a multivariate split activity. This type of activity sends
12595	// participants down one of as many as five paths (including a default Else
12596	// path) in a journey, based on conditions that you specify.
12597	MultiCondition *MultiConditionalSplitActivity `type:"structure"`
12598
12599	// The settings for a push notification activity. This type of activity sends
12600	// a push notification to participants.
12601	PUSH *PushMessageActivity `type:"structure"`
12602
12603	// The settings for a random split activity. This type of activity randomly
12604	// sends specified percentages of participants down one of as many as five paths
12605	// in a journey, based on conditions that you specify.
12606	RandomSplit *RandomSplitActivity `type:"structure"`
12607
12608	// The settings for an SMS activity. This type of activity sends a text message
12609	// to participants.
12610	SMS *SMSMessageActivity `type:"structure"`
12611
12612	// The settings for a wait activity. This type of activity waits for a certain
12613	// amount of time or until a specific date and time before moving participants
12614	// to the next activity in a journey.
12615	Wait *WaitActivity `type:"structure"`
12616}
12617
12618// String returns the string representation
12619func (s Activity) String() string {
12620	return awsutil.Prettify(s)
12621}
12622
12623// GoString returns the string representation
12624func (s Activity) GoString() string {
12625	return s.String()
12626}
12627
12628// Validate inspects the fields of the type to determine if they are valid.
12629func (s *Activity) Validate() error {
12630	invalidParams := request.ErrInvalidParams{Context: "Activity"}
12631	if s.ConditionalSplit != nil {
12632		if err := s.ConditionalSplit.Validate(); err != nil {
12633			invalidParams.AddNested("ConditionalSplit", err.(request.ErrInvalidParams))
12634		}
12635	}
12636	if s.Holdout != nil {
12637		if err := s.Holdout.Validate(); err != nil {
12638			invalidParams.AddNested("Holdout", err.(request.ErrInvalidParams))
12639		}
12640	}
12641	if s.MultiCondition != nil {
12642		if err := s.MultiCondition.Validate(); err != nil {
12643			invalidParams.AddNested("MultiCondition", err.(request.ErrInvalidParams))
12644		}
12645	}
12646
12647	if invalidParams.Len() > 0 {
12648		return invalidParams
12649	}
12650	return nil
12651}
12652
12653// SetCUSTOM sets the CUSTOM field's value.
12654func (s *Activity) SetCUSTOM(v *CustomMessageActivity) *Activity {
12655	s.CUSTOM = v
12656	return s
12657}
12658
12659// SetConditionalSplit sets the ConditionalSplit field's value.
12660func (s *Activity) SetConditionalSplit(v *ConditionalSplitActivity) *Activity {
12661	s.ConditionalSplit = v
12662	return s
12663}
12664
12665// SetDescription sets the Description field's value.
12666func (s *Activity) SetDescription(v string) *Activity {
12667	s.Description = &v
12668	return s
12669}
12670
12671// SetEMAIL sets the EMAIL field's value.
12672func (s *Activity) SetEMAIL(v *EmailMessageActivity) *Activity {
12673	s.EMAIL = v
12674	return s
12675}
12676
12677// SetHoldout sets the Holdout field's value.
12678func (s *Activity) SetHoldout(v *HoldoutActivity) *Activity {
12679	s.Holdout = v
12680	return s
12681}
12682
12683// SetMultiCondition sets the MultiCondition field's value.
12684func (s *Activity) SetMultiCondition(v *MultiConditionalSplitActivity) *Activity {
12685	s.MultiCondition = v
12686	return s
12687}
12688
12689// SetPUSH sets the PUSH field's value.
12690func (s *Activity) SetPUSH(v *PushMessageActivity) *Activity {
12691	s.PUSH = v
12692	return s
12693}
12694
12695// SetRandomSplit sets the RandomSplit field's value.
12696func (s *Activity) SetRandomSplit(v *RandomSplitActivity) *Activity {
12697	s.RandomSplit = v
12698	return s
12699}
12700
12701// SetSMS sets the SMS field's value.
12702func (s *Activity) SetSMS(v *SMSMessageActivity) *Activity {
12703	s.SMS = v
12704	return s
12705}
12706
12707// SetWait sets the Wait field's value.
12708func (s *Activity) SetWait(v *WaitActivity) *Activity {
12709	s.Wait = v
12710	return s
12711}
12712
12713// Provides information about an activity that was performed by a campaign.
12714type ActivityResponse struct {
12715	_ struct{} `type:"structure"`
12716
12717	// The unique identifier for the application that the campaign applies to.
12718	//
12719	// ApplicationId is a required field
12720	ApplicationId *string `type:"string" required:"true"`
12721
12722	// The unique identifier for the campaign that the activity applies to.
12723	//
12724	// CampaignId is a required field
12725	CampaignId *string `type:"string" required:"true"`
12726
12727	// The actual time, in ISO 8601 format, when the activity was marked CANCELLED
12728	// or COMPLETED.
12729	End *string `type:"string"`
12730
12731	// The unique identifier for the activity.
12732	//
12733	// Id is a required field
12734	Id *string `type:"string" required:"true"`
12735
12736	// Specifies whether the activity succeeded. Possible values are SUCCESS and
12737	// FAIL.
12738	Result *string `type:"string"`
12739
12740	// The scheduled start time, in ISO 8601 format, for the activity.
12741	ScheduledStart *string `type:"string"`
12742
12743	// The actual start time, in ISO 8601 format, of the activity.
12744	Start *string `type:"string"`
12745
12746	// The current status of the activity. Possible values are: PENDING, INITIALIZING,
12747	// RUNNING, PAUSED, CANCELLED, and COMPLETED.
12748	State *string `type:"string"`
12749
12750	// The total number of endpoints that the campaign successfully delivered messages
12751	// to.
12752	SuccessfulEndpointCount *int64 `type:"integer"`
12753
12754	// The total number of time zones that were completed.
12755	TimezonesCompletedCount *int64 `type:"integer"`
12756
12757	// The total number of unique time zones that are in the segment for the campaign.
12758	TimezonesTotalCount *int64 `type:"integer"`
12759
12760	// The total number of endpoints that the campaign attempted to deliver messages
12761	// to.
12762	TotalEndpointCount *int64 `type:"integer"`
12763
12764	// The unique identifier for the campaign treatment that the activity applies
12765	// to. A treatment is a variation of a campaign that's used for A/B testing
12766	// of a campaign.
12767	TreatmentId *string `type:"string"`
12768}
12769
12770// String returns the string representation
12771func (s ActivityResponse) String() string {
12772	return awsutil.Prettify(s)
12773}
12774
12775// GoString returns the string representation
12776func (s ActivityResponse) GoString() string {
12777	return s.String()
12778}
12779
12780// SetApplicationId sets the ApplicationId field's value.
12781func (s *ActivityResponse) SetApplicationId(v string) *ActivityResponse {
12782	s.ApplicationId = &v
12783	return s
12784}
12785
12786// SetCampaignId sets the CampaignId field's value.
12787func (s *ActivityResponse) SetCampaignId(v string) *ActivityResponse {
12788	s.CampaignId = &v
12789	return s
12790}
12791
12792// SetEnd sets the End field's value.
12793func (s *ActivityResponse) SetEnd(v string) *ActivityResponse {
12794	s.End = &v
12795	return s
12796}
12797
12798// SetId sets the Id field's value.
12799func (s *ActivityResponse) SetId(v string) *ActivityResponse {
12800	s.Id = &v
12801	return s
12802}
12803
12804// SetResult sets the Result field's value.
12805func (s *ActivityResponse) SetResult(v string) *ActivityResponse {
12806	s.Result = &v
12807	return s
12808}
12809
12810// SetScheduledStart sets the ScheduledStart field's value.
12811func (s *ActivityResponse) SetScheduledStart(v string) *ActivityResponse {
12812	s.ScheduledStart = &v
12813	return s
12814}
12815
12816// SetStart sets the Start field's value.
12817func (s *ActivityResponse) SetStart(v string) *ActivityResponse {
12818	s.Start = &v
12819	return s
12820}
12821
12822// SetState sets the State field's value.
12823func (s *ActivityResponse) SetState(v string) *ActivityResponse {
12824	s.State = &v
12825	return s
12826}
12827
12828// SetSuccessfulEndpointCount sets the SuccessfulEndpointCount field's value.
12829func (s *ActivityResponse) SetSuccessfulEndpointCount(v int64) *ActivityResponse {
12830	s.SuccessfulEndpointCount = &v
12831	return s
12832}
12833
12834// SetTimezonesCompletedCount sets the TimezonesCompletedCount field's value.
12835func (s *ActivityResponse) SetTimezonesCompletedCount(v int64) *ActivityResponse {
12836	s.TimezonesCompletedCount = &v
12837	return s
12838}
12839
12840// SetTimezonesTotalCount sets the TimezonesTotalCount field's value.
12841func (s *ActivityResponse) SetTimezonesTotalCount(v int64) *ActivityResponse {
12842	s.TimezonesTotalCount = &v
12843	return s
12844}
12845
12846// SetTotalEndpointCount sets the TotalEndpointCount field's value.
12847func (s *ActivityResponse) SetTotalEndpointCount(v int64) *ActivityResponse {
12848	s.TotalEndpointCount = &v
12849	return s
12850}
12851
12852// SetTreatmentId sets the TreatmentId field's value.
12853func (s *ActivityResponse) SetTreatmentId(v string) *ActivityResponse {
12854	s.TreatmentId = &v
12855	return s
12856}
12857
12858// Specifies address-based configuration settings for a message that's sent
12859// directly to an endpoint.
12860type AddressConfiguration struct {
12861	_ struct{} `type:"structure"`
12862
12863	// The message body to use instead of the default message body. This value overrides
12864	// the default message body.
12865	BodyOverride *string `type:"string"`
12866
12867	// The channel to use when sending the message.
12868	ChannelType *string `type:"string" enum:"ChannelType"`
12869
12870	// An object that maps custom attributes to attributes for the address and is
12871	// attached to the message. Attribute names are case sensitive.
12872	//
12873	// For a push notification, this payload is added to the data.pinpoint object.
12874	// For an email or text message, this payload is added to email/SMS delivery
12875	// receipt event attributes.
12876	Context map[string]*string `type:"map"`
12877
12878	// The raw, JSON-formatted string to use as the payload for the message. If
12879	// specified, this value overrides all other values for the message.
12880	RawContent *string `type:"string"`
12881
12882	// A map of the message variables to merge with the variables specified by properties
12883	// of the DefaultMessage object. The variables specified in this map take precedence
12884	// over all other variables.
12885	Substitutions map[string][]*string `type:"map"`
12886
12887	// The message title to use instead of the default message title. This value
12888	// overrides the default message title.
12889	TitleOverride *string `type:"string"`
12890}
12891
12892// String returns the string representation
12893func (s AddressConfiguration) String() string {
12894	return awsutil.Prettify(s)
12895}
12896
12897// GoString returns the string representation
12898func (s AddressConfiguration) GoString() string {
12899	return s.String()
12900}
12901
12902// SetBodyOverride sets the BodyOverride field's value.
12903func (s *AddressConfiguration) SetBodyOverride(v string) *AddressConfiguration {
12904	s.BodyOverride = &v
12905	return s
12906}
12907
12908// SetChannelType sets the ChannelType field's value.
12909func (s *AddressConfiguration) SetChannelType(v string) *AddressConfiguration {
12910	s.ChannelType = &v
12911	return s
12912}
12913
12914// SetContext sets the Context field's value.
12915func (s *AddressConfiguration) SetContext(v map[string]*string) *AddressConfiguration {
12916	s.Context = v
12917	return s
12918}
12919
12920// SetRawContent sets the RawContent field's value.
12921func (s *AddressConfiguration) SetRawContent(v string) *AddressConfiguration {
12922	s.RawContent = &v
12923	return s
12924}
12925
12926// SetSubstitutions sets the Substitutions field's value.
12927func (s *AddressConfiguration) SetSubstitutions(v map[string][]*string) *AddressConfiguration {
12928	s.Substitutions = v
12929	return s
12930}
12931
12932// SetTitleOverride sets the TitleOverride field's value.
12933func (s *AddressConfiguration) SetTitleOverride(v string) *AddressConfiguration {
12934	s.TitleOverride = &v
12935	return s
12936}
12937
12938// Specifies channel-specific content and settings for a message template that
12939// can be used in push notifications that are sent through the ADM (Amazon Device
12940// Messaging), Baidu (Baidu Cloud Push), or GCM (Firebase Cloud Messaging, formerly
12941// Google Cloud Messaging) channel.
12942type AndroidPushNotificationTemplate struct {
12943	_ struct{} `type:"structure"`
12944
12945	// The action to occur if a recipient taps a push notification that's based
12946	// on the message template. Valid values are:
12947	//
12948	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
12949	//    sent to the background. This is the default action.
12950	//
12951	//    * DEEP_LINK - Your app opens and displays a designated user interface
12952	//    in the app. This action uses the deep-linking features of the Android
12953	//    platform.
12954	//
12955	//    * URL - The default mobile browser on the recipient's device opens and
12956	//    loads the web page at a URL that you specify.
12957	Action *string `type:"string" enum:"Action"`
12958
12959	// The message body to use in a push notification that's based on the message
12960	// template.
12961	Body *string `type:"string"`
12962
12963	// The URL of the large icon image to display in the content view of a push
12964	// notification that's based on the message template.
12965	ImageIconUrl *string `type:"string"`
12966
12967	// The URL of an image to display in a push notification that's based on the
12968	// message template.
12969	ImageUrl *string `type:"string"`
12970
12971	// The raw, JSON-formatted string to use as the payload for a push notification
12972	// that's based on the message template. If specified, this value overrides
12973	// all other content for the message template.
12974	RawContent *string `type:"string"`
12975
12976	// The URL of the small icon image to display in the status bar and the content
12977	// view of a push notification that's based on the message template.
12978	SmallImageIconUrl *string `type:"string"`
12979
12980	// The sound to play when a recipient receives a push notification that's based
12981	// on the message template. You can use the default stream or specify the file
12982	// name of a sound resource that's bundled in your app. On an Android platform,
12983	// the sound file must reside in /res/raw/.
12984	Sound *string `type:"string"`
12985
12986	// The title to use in a push notification that's based on the message template.
12987	// This title appears above the notification message on a recipient's device.
12988	Title *string `type:"string"`
12989
12990	// The URL to open in a recipient's default mobile browser, if a recipient taps
12991	// a push notification that's based on the message template and the value of
12992	// the Action property is URL.
12993	Url *string `type:"string"`
12994}
12995
12996// String returns the string representation
12997func (s AndroidPushNotificationTemplate) String() string {
12998	return awsutil.Prettify(s)
12999}
13000
13001// GoString returns the string representation
13002func (s AndroidPushNotificationTemplate) GoString() string {
13003	return s.String()
13004}
13005
13006// SetAction sets the Action field's value.
13007func (s *AndroidPushNotificationTemplate) SetAction(v string) *AndroidPushNotificationTemplate {
13008	s.Action = &v
13009	return s
13010}
13011
13012// SetBody sets the Body field's value.
13013func (s *AndroidPushNotificationTemplate) SetBody(v string) *AndroidPushNotificationTemplate {
13014	s.Body = &v
13015	return s
13016}
13017
13018// SetImageIconUrl sets the ImageIconUrl field's value.
13019func (s *AndroidPushNotificationTemplate) SetImageIconUrl(v string) *AndroidPushNotificationTemplate {
13020	s.ImageIconUrl = &v
13021	return s
13022}
13023
13024// SetImageUrl sets the ImageUrl field's value.
13025func (s *AndroidPushNotificationTemplate) SetImageUrl(v string) *AndroidPushNotificationTemplate {
13026	s.ImageUrl = &v
13027	return s
13028}
13029
13030// SetRawContent sets the RawContent field's value.
13031func (s *AndroidPushNotificationTemplate) SetRawContent(v string) *AndroidPushNotificationTemplate {
13032	s.RawContent = &v
13033	return s
13034}
13035
13036// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
13037func (s *AndroidPushNotificationTemplate) SetSmallImageIconUrl(v string) *AndroidPushNotificationTemplate {
13038	s.SmallImageIconUrl = &v
13039	return s
13040}
13041
13042// SetSound sets the Sound field's value.
13043func (s *AndroidPushNotificationTemplate) SetSound(v string) *AndroidPushNotificationTemplate {
13044	s.Sound = &v
13045	return s
13046}
13047
13048// SetTitle sets the Title field's value.
13049func (s *AndroidPushNotificationTemplate) SetTitle(v string) *AndroidPushNotificationTemplate {
13050	s.Title = &v
13051	return s
13052}
13053
13054// SetUrl sets the Url field's value.
13055func (s *AndroidPushNotificationTemplate) SetUrl(v string) *AndroidPushNotificationTemplate {
13056	s.Url = &v
13057	return s
13058}
13059
13060// Provides the results of a query that retrieved the data for a standard metric
13061// that applies to an application, and provides information about that query.
13062type ApplicationDateRangeKpiResponse struct {
13063	_ struct{} `type:"structure"`
13064
13065	// The unique identifier for the application that the metric applies to.
13066	//
13067	// ApplicationId is a required field
13068	ApplicationId *string `type:"string" required:"true"`
13069
13070	// EndTime is a required field
13071	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
13072
13073	// The name of the metric, also referred to as a key performance indicator (KPI),
13074	// that the data was retrieved for. This value describes the associated metric
13075	// and consists of two or more terms, which are comprised of lowercase alphanumeric
13076	// characters, separated by a hyphen. For a list of possible values, see the
13077	// Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html).
13078	//
13079	// KpiName is a required field
13080	KpiName *string `type:"string" required:"true"`
13081
13082	// An array of objects that contains the results of the query. Each object contains
13083	// the value for the metric and metadata about that value.
13084	//
13085	// KpiResult is a required field
13086	KpiResult *BaseKpiResult `type:"structure" required:"true"`
13087
13088	// The string to use in a subsequent request to get the next page of results
13089	// in a paginated response. This value is null for the Application Metrics resource
13090	// because the resource returns all results in a single page.
13091	NextToken *string `type:"string"`
13092
13093	// StartTime is a required field
13094	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
13095}
13096
13097// String returns the string representation
13098func (s ApplicationDateRangeKpiResponse) String() string {
13099	return awsutil.Prettify(s)
13100}
13101
13102// GoString returns the string representation
13103func (s ApplicationDateRangeKpiResponse) GoString() string {
13104	return s.String()
13105}
13106
13107// SetApplicationId sets the ApplicationId field's value.
13108func (s *ApplicationDateRangeKpiResponse) SetApplicationId(v string) *ApplicationDateRangeKpiResponse {
13109	s.ApplicationId = &v
13110	return s
13111}
13112
13113// SetEndTime sets the EndTime field's value.
13114func (s *ApplicationDateRangeKpiResponse) SetEndTime(v time.Time) *ApplicationDateRangeKpiResponse {
13115	s.EndTime = &v
13116	return s
13117}
13118
13119// SetKpiName sets the KpiName field's value.
13120func (s *ApplicationDateRangeKpiResponse) SetKpiName(v string) *ApplicationDateRangeKpiResponse {
13121	s.KpiName = &v
13122	return s
13123}
13124
13125// SetKpiResult sets the KpiResult field's value.
13126func (s *ApplicationDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *ApplicationDateRangeKpiResponse {
13127	s.KpiResult = v
13128	return s
13129}
13130
13131// SetNextToken sets the NextToken field's value.
13132func (s *ApplicationDateRangeKpiResponse) SetNextToken(v string) *ApplicationDateRangeKpiResponse {
13133	s.NextToken = &v
13134	return s
13135}
13136
13137// SetStartTime sets the StartTime field's value.
13138func (s *ApplicationDateRangeKpiResponse) SetStartTime(v time.Time) *ApplicationDateRangeKpiResponse {
13139	s.StartTime = &v
13140	return s
13141}
13142
13143// Provides information about an application.
13144type ApplicationResponse struct {
13145	_ struct{} `type:"structure"`
13146
13147	// The Amazon Resource Name (ARN) of the application.
13148	//
13149	// Arn is a required field
13150	Arn *string `type:"string" required:"true"`
13151
13152	// The unique identifier for the application. This identifier is displayed as
13153	// the Project ID on the Amazon Pinpoint console.
13154	//
13155	// Id is a required field
13156	Id *string `type:"string" required:"true"`
13157
13158	// The display name of the application. This name is displayed as the Project
13159	// name on the Amazon Pinpoint console.
13160	//
13161	// Name is a required field
13162	Name *string `type:"string" required:"true"`
13163
13164	// A string-to-string map of key-value pairs that identifies the tags that are
13165	// associated with the application. Each tag consists of a required tag key
13166	// and an associated tag value.
13167	Tags map[string]*string `locationName:"tags" type:"map"`
13168}
13169
13170// String returns the string representation
13171func (s ApplicationResponse) String() string {
13172	return awsutil.Prettify(s)
13173}
13174
13175// GoString returns the string representation
13176func (s ApplicationResponse) GoString() string {
13177	return s.String()
13178}
13179
13180// SetArn sets the Arn field's value.
13181func (s *ApplicationResponse) SetArn(v string) *ApplicationResponse {
13182	s.Arn = &v
13183	return s
13184}
13185
13186// SetId sets the Id field's value.
13187func (s *ApplicationResponse) SetId(v string) *ApplicationResponse {
13188	s.Id = &v
13189	return s
13190}
13191
13192// SetName sets the Name field's value.
13193func (s *ApplicationResponse) SetName(v string) *ApplicationResponse {
13194	s.Name = &v
13195	return s
13196}
13197
13198// SetTags sets the Tags field's value.
13199func (s *ApplicationResponse) SetTags(v map[string]*string) *ApplicationResponse {
13200	s.Tags = v
13201	return s
13202}
13203
13204// Provides information about an application, including the default settings
13205// for an application.
13206type ApplicationSettingsResource struct {
13207	_ struct{} `type:"structure"`
13208
13209	// The unique identifier for the application. This identifier is displayed as
13210	// the Project ID on the Amazon Pinpoint console.
13211	//
13212	// ApplicationId is a required field
13213	ApplicationId *string `type:"string" required:"true"`
13214
13215	// The settings for the AWS Lambda function to invoke by default as a code hook
13216	// for campaigns in the application. You can use this hook to customize segments
13217	// that are used by campaigns in the application.
13218	CampaignHook *CampaignHook `type:"structure"`
13219
13220	// The date and time, in ISO 8601 format, when the application's settings were
13221	// last modified.
13222	LastModifiedDate *string `type:"string"`
13223
13224	// The default sending limits for campaigns in the application.
13225	Limits *CampaignLimits `type:"structure"`
13226
13227	// The default quiet time for campaigns in the application. Quiet time is a
13228	// specific time range when messages aren't sent to endpoints, if all the following
13229	// conditions are met:
13230	//
13231	//    * The EndpointDemographic.Timezone property of the endpoint is set to
13232	//    a valid value.
13233	//
13234	//    * The current time in the endpoint's time zone is later than or equal
13235	//    to the time specified by the QuietTime.Start property for the application
13236	//    (or a campaign or journey that has custom quiet time settings).
13237	//
13238	//    * The current time in the endpoint's time zone is earlier than or equal
13239	//    to the time specified by the QuietTime.End property for the application
13240	//    (or a campaign or journey that has custom quiet time settings).
13241	//
13242	// If any of the preceding conditions isn't met, the endpoint will receive messages
13243	// from a campaign or journey, even if quiet time is enabled.
13244	QuietTime *QuietTime `type:"structure"`
13245}
13246
13247// String returns the string representation
13248func (s ApplicationSettingsResource) String() string {
13249	return awsutil.Prettify(s)
13250}
13251
13252// GoString returns the string representation
13253func (s ApplicationSettingsResource) GoString() string {
13254	return s.String()
13255}
13256
13257// SetApplicationId sets the ApplicationId field's value.
13258func (s *ApplicationSettingsResource) SetApplicationId(v string) *ApplicationSettingsResource {
13259	s.ApplicationId = &v
13260	return s
13261}
13262
13263// SetCampaignHook sets the CampaignHook field's value.
13264func (s *ApplicationSettingsResource) SetCampaignHook(v *CampaignHook) *ApplicationSettingsResource {
13265	s.CampaignHook = v
13266	return s
13267}
13268
13269// SetLastModifiedDate sets the LastModifiedDate field's value.
13270func (s *ApplicationSettingsResource) SetLastModifiedDate(v string) *ApplicationSettingsResource {
13271	s.LastModifiedDate = &v
13272	return s
13273}
13274
13275// SetLimits sets the Limits field's value.
13276func (s *ApplicationSettingsResource) SetLimits(v *CampaignLimits) *ApplicationSettingsResource {
13277	s.Limits = v
13278	return s
13279}
13280
13281// SetQuietTime sets the QuietTime field's value.
13282func (s *ApplicationSettingsResource) SetQuietTime(v *QuietTime) *ApplicationSettingsResource {
13283	s.QuietTime = v
13284	return s
13285}
13286
13287// Provides information about all of your applications.
13288type ApplicationsResponse struct {
13289	_ struct{} `type:"structure"`
13290
13291	// An array of responses, one for each application that was returned.
13292	Item []*ApplicationResponse `type:"list"`
13293
13294	// The string to use in a subsequent request to get the next page of results
13295	// in a paginated response. This value is null if there are no additional pages.
13296	NextToken *string `type:"string"`
13297}
13298
13299// String returns the string representation
13300func (s ApplicationsResponse) String() string {
13301	return awsutil.Prettify(s)
13302}
13303
13304// GoString returns the string representation
13305func (s ApplicationsResponse) GoString() string {
13306	return s.String()
13307}
13308
13309// SetItem sets the Item field's value.
13310func (s *ApplicationsResponse) SetItem(v []*ApplicationResponse) *ApplicationsResponse {
13311	s.Item = v
13312	return s
13313}
13314
13315// SetNextToken sets the NextToken field's value.
13316func (s *ApplicationsResponse) SetNextToken(v string) *ApplicationsResponse {
13317	s.NextToken = &v
13318	return s
13319}
13320
13321// Specifies attribute-based criteria for including or excluding endpoints from
13322// a segment.
13323type AttributeDimension struct {
13324	_ struct{} `type:"structure"`
13325
13326	AttributeType *string `type:"string" enum:"AttributeType"`
13327
13328	// The criteria values to use for the segment dimension. Depending on the value
13329	// of the AttributeType property, endpoints are included or excluded from the
13330	// segment if their attribute values match the criteria values.
13331	//
13332	// Values is a required field
13333	Values []*string `type:"list" required:"true"`
13334}
13335
13336// String returns the string representation
13337func (s AttributeDimension) String() string {
13338	return awsutil.Prettify(s)
13339}
13340
13341// GoString returns the string representation
13342func (s AttributeDimension) GoString() string {
13343	return s.String()
13344}
13345
13346// Validate inspects the fields of the type to determine if they are valid.
13347func (s *AttributeDimension) Validate() error {
13348	invalidParams := request.ErrInvalidParams{Context: "AttributeDimension"}
13349	if s.Values == nil {
13350		invalidParams.Add(request.NewErrParamRequired("Values"))
13351	}
13352
13353	if invalidParams.Len() > 0 {
13354		return invalidParams
13355	}
13356	return nil
13357}
13358
13359// SetAttributeType sets the AttributeType field's value.
13360func (s *AttributeDimension) SetAttributeType(v string) *AttributeDimension {
13361	s.AttributeType = &v
13362	return s
13363}
13364
13365// SetValues sets the Values field's value.
13366func (s *AttributeDimension) SetValues(v []*string) *AttributeDimension {
13367	s.Values = v
13368	return s
13369}
13370
13371// Provides information about the type and the names of attributes that were
13372// removed from all the endpoints that are associated with an application.
13373type AttributesResource struct {
13374	_ struct{} `type:"structure"`
13375
13376	// The unique identifier for the application.
13377	//
13378	// ApplicationId is a required field
13379	ApplicationId *string `type:"string" required:"true"`
13380
13381	// The type of attribute or attributes that were removed from the endpoints.
13382	// Valid values are:
13383	//
13384	//    * endpoint-custom-attributes - Custom attributes that describe endpoints.
13385	//
13386	//    * endpoint-metric-attributes - Custom metrics that your app reports to
13387	//    Amazon Pinpoint for endpoints.
13388	//
13389	//    * endpoint-user-attributes - Custom attributes that describe users.
13390	//
13391	// AttributeType is a required field
13392	AttributeType *string `type:"string" required:"true"`
13393
13394	// An array that specifies the names of the attributes that were removed from
13395	// the endpoints.
13396	Attributes []*string `type:"list"`
13397}
13398
13399// String returns the string representation
13400func (s AttributesResource) String() string {
13401	return awsutil.Prettify(s)
13402}
13403
13404// GoString returns the string representation
13405func (s AttributesResource) GoString() string {
13406	return s.String()
13407}
13408
13409// SetApplicationId sets the ApplicationId field's value.
13410func (s *AttributesResource) SetApplicationId(v string) *AttributesResource {
13411	s.ApplicationId = &v
13412	return s
13413}
13414
13415// SetAttributeType sets the AttributeType field's value.
13416func (s *AttributesResource) SetAttributeType(v string) *AttributesResource {
13417	s.AttributeType = &v
13418	return s
13419}
13420
13421// SetAttributes sets the Attributes field's value.
13422func (s *AttributesResource) SetAttributes(v []*string) *AttributesResource {
13423	s.Attributes = v
13424	return s
13425}
13426
13427// Provides information about an API request or response.
13428type BadRequestException struct {
13429	_            struct{}                  `type:"structure"`
13430	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13431
13432	Message_ *string `locationName:"Message" type:"string"`
13433
13434	RequestID_ *string `locationName:"RequestID" type:"string"`
13435}
13436
13437// String returns the string representation
13438func (s BadRequestException) String() string {
13439	return awsutil.Prettify(s)
13440}
13441
13442// GoString returns the string representation
13443func (s BadRequestException) GoString() string {
13444	return s.String()
13445}
13446
13447func newErrorBadRequestException(v protocol.ResponseMetadata) error {
13448	return &BadRequestException{
13449		RespMetadata: v,
13450	}
13451}
13452
13453// Code returns the exception type name.
13454func (s *BadRequestException) Code() string {
13455	return "BadRequestException"
13456}
13457
13458// Message returns the exception's message.
13459func (s *BadRequestException) Message() string {
13460	if s.Message_ != nil {
13461		return *s.Message_
13462	}
13463	return ""
13464}
13465
13466// OrigErr always returns nil, satisfies awserr.Error interface.
13467func (s *BadRequestException) OrigErr() error {
13468	return nil
13469}
13470
13471func (s *BadRequestException) Error() string {
13472	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13473}
13474
13475// Status code returns the HTTP status code for the request's response error.
13476func (s *BadRequestException) StatusCode() int {
13477	return s.RespMetadata.StatusCode
13478}
13479
13480// RequestID returns the service's response RequestID for request.
13481func (s *BadRequestException) RequestID() string {
13482	return s.RespMetadata.RequestID
13483}
13484
13485// Specifies the status and settings of the Baidu (Baidu Cloud Push) channel
13486// for an application.
13487type BaiduChannelRequest struct {
13488	_ struct{} `type:"structure"`
13489
13490	// The API key that you received from the Baidu Cloud Push service to communicate
13491	// with the service.
13492	//
13493	// ApiKey is a required field
13494	ApiKey *string `type:"string" required:"true"`
13495
13496	// Specifies whether to enable the Baidu channel for the application.
13497	Enabled *bool `type:"boolean"`
13498
13499	// The secret key that you received from the Baidu Cloud Push service to communicate
13500	// with the service.
13501	//
13502	// SecretKey is a required field
13503	SecretKey *string `type:"string" required:"true"`
13504}
13505
13506// String returns the string representation
13507func (s BaiduChannelRequest) String() string {
13508	return awsutil.Prettify(s)
13509}
13510
13511// GoString returns the string representation
13512func (s BaiduChannelRequest) GoString() string {
13513	return s.String()
13514}
13515
13516// Validate inspects the fields of the type to determine if they are valid.
13517func (s *BaiduChannelRequest) Validate() error {
13518	invalidParams := request.ErrInvalidParams{Context: "BaiduChannelRequest"}
13519	if s.ApiKey == nil {
13520		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
13521	}
13522	if s.SecretKey == nil {
13523		invalidParams.Add(request.NewErrParamRequired("SecretKey"))
13524	}
13525
13526	if invalidParams.Len() > 0 {
13527		return invalidParams
13528	}
13529	return nil
13530}
13531
13532// SetApiKey sets the ApiKey field's value.
13533func (s *BaiduChannelRequest) SetApiKey(v string) *BaiduChannelRequest {
13534	s.ApiKey = &v
13535	return s
13536}
13537
13538// SetEnabled sets the Enabled field's value.
13539func (s *BaiduChannelRequest) SetEnabled(v bool) *BaiduChannelRequest {
13540	s.Enabled = &v
13541	return s
13542}
13543
13544// SetSecretKey sets the SecretKey field's value.
13545func (s *BaiduChannelRequest) SetSecretKey(v string) *BaiduChannelRequest {
13546	s.SecretKey = &v
13547	return s
13548}
13549
13550// Provides information about the status and settings of the Baidu (Baidu Cloud
13551// Push) channel for an application.
13552type BaiduChannelResponse struct {
13553	_ struct{} `type:"structure"`
13554
13555	// The unique identifier for the application that the Baidu channel applies
13556	// to.
13557	ApplicationId *string `type:"string"`
13558
13559	// The date and time when the Baidu channel was enabled.
13560	CreationDate *string `type:"string"`
13561
13562	// The API key that you received from the Baidu Cloud Push service to communicate
13563	// with the service.
13564	//
13565	// Credential is a required field
13566	Credential *string `type:"string" required:"true"`
13567
13568	// Specifies whether the Baidu channel is enabled for the application.
13569	Enabled *bool `type:"boolean"`
13570
13571	// (Not used) This property is retained only for backward compatibility.
13572	HasCredential *bool `type:"boolean"`
13573
13574	// (Deprecated) An identifier for the Baidu channel. This property is retained
13575	// only for backward compatibility.
13576	Id *string `type:"string"`
13577
13578	// Specifies whether the Baidu channel is archived.
13579	IsArchived *bool `type:"boolean"`
13580
13581	// The user who last modified the Baidu channel.
13582	LastModifiedBy *string `type:"string"`
13583
13584	// The date and time when the Baidu channel was last modified.
13585	LastModifiedDate *string `type:"string"`
13586
13587	// The type of messaging or notification platform for the channel. For the Baidu
13588	// channel, this value is BAIDU.
13589	//
13590	// Platform is a required field
13591	Platform *string `type:"string" required:"true"`
13592
13593	// The current version of the Baidu channel.
13594	Version *int64 `type:"integer"`
13595}
13596
13597// String returns the string representation
13598func (s BaiduChannelResponse) String() string {
13599	return awsutil.Prettify(s)
13600}
13601
13602// GoString returns the string representation
13603func (s BaiduChannelResponse) GoString() string {
13604	return s.String()
13605}
13606
13607// SetApplicationId sets the ApplicationId field's value.
13608func (s *BaiduChannelResponse) SetApplicationId(v string) *BaiduChannelResponse {
13609	s.ApplicationId = &v
13610	return s
13611}
13612
13613// SetCreationDate sets the CreationDate field's value.
13614func (s *BaiduChannelResponse) SetCreationDate(v string) *BaiduChannelResponse {
13615	s.CreationDate = &v
13616	return s
13617}
13618
13619// SetCredential sets the Credential field's value.
13620func (s *BaiduChannelResponse) SetCredential(v string) *BaiduChannelResponse {
13621	s.Credential = &v
13622	return s
13623}
13624
13625// SetEnabled sets the Enabled field's value.
13626func (s *BaiduChannelResponse) SetEnabled(v bool) *BaiduChannelResponse {
13627	s.Enabled = &v
13628	return s
13629}
13630
13631// SetHasCredential sets the HasCredential field's value.
13632func (s *BaiduChannelResponse) SetHasCredential(v bool) *BaiduChannelResponse {
13633	s.HasCredential = &v
13634	return s
13635}
13636
13637// SetId sets the Id field's value.
13638func (s *BaiduChannelResponse) SetId(v string) *BaiduChannelResponse {
13639	s.Id = &v
13640	return s
13641}
13642
13643// SetIsArchived sets the IsArchived field's value.
13644func (s *BaiduChannelResponse) SetIsArchived(v bool) *BaiduChannelResponse {
13645	s.IsArchived = &v
13646	return s
13647}
13648
13649// SetLastModifiedBy sets the LastModifiedBy field's value.
13650func (s *BaiduChannelResponse) SetLastModifiedBy(v string) *BaiduChannelResponse {
13651	s.LastModifiedBy = &v
13652	return s
13653}
13654
13655// SetLastModifiedDate sets the LastModifiedDate field's value.
13656func (s *BaiduChannelResponse) SetLastModifiedDate(v string) *BaiduChannelResponse {
13657	s.LastModifiedDate = &v
13658	return s
13659}
13660
13661// SetPlatform sets the Platform field's value.
13662func (s *BaiduChannelResponse) SetPlatform(v string) *BaiduChannelResponse {
13663	s.Platform = &v
13664	return s
13665}
13666
13667// SetVersion sets the Version field's value.
13668func (s *BaiduChannelResponse) SetVersion(v int64) *BaiduChannelResponse {
13669	s.Version = &v
13670	return s
13671}
13672
13673// Specifies the settings for a one-time message that's sent directly to an
13674// endpoint through the Baidu (Baidu Cloud Push) channel.
13675type BaiduMessage struct {
13676	_ struct{} `type:"structure"`
13677
13678	// The action to occur if the recipient taps the push notification. Valid values
13679	// are:
13680	//
13681	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
13682	//    sent to the background. This is the default action.
13683	//
13684	//    * DEEP_LINK - Your app opens and displays a designated user interface
13685	//    in the app. This action uses the deep-linking features of the Android
13686	//    platform.
13687	//
13688	//    * URL - The default mobile browser on the recipient's device opens and
13689	//    loads the web page at a URL that you specify.
13690	Action *string `type:"string" enum:"Action"`
13691
13692	// The body of the notification message.
13693	Body *string `type:"string"`
13694
13695	// The JSON data payload to use for the push notification, if the notification
13696	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
13697	// object of the notification.
13698	Data map[string]*string `type:"map"`
13699
13700	// The icon image name of the asset saved in your app.
13701	IconReference *string `type:"string"`
13702
13703	// The URL of the large icon image to display in the content view of the push
13704	// notification.
13705	ImageIconUrl *string `type:"string"`
13706
13707	// The URL of an image to display in the push notification.
13708	ImageUrl *string `type:"string"`
13709
13710	// The raw, JSON-formatted string to use as the payload for the notification
13711	// message. If specified, this value overrides all other content for the message.
13712	RawContent *string `type:"string"`
13713
13714	// Specifies whether the notification is a silent push notification, which is
13715	// a push notification that doesn't display on a recipient's device. Silent
13716	// push notifications can be used for cases such as updating an app's configuration
13717	// or supporting phone home functionality.
13718	SilentPush *bool `type:"boolean"`
13719
13720	// The URL of the small icon image to display in the status bar and the content
13721	// view of the push notification.
13722	SmallImageIconUrl *string `type:"string"`
13723
13724	// The sound to play when the recipient receives the push notification. You
13725	// can use the default stream or specify the file name of a sound resource that's
13726	// bundled in your app. On an Android platform, the sound file must reside in
13727	// /res/raw/.
13728	Sound *string `type:"string"`
13729
13730	// The default message variables to use in the notification message. You can
13731	// override the default variables with individual address variables.
13732	Substitutions map[string][]*string `type:"map"`
13733
13734	// The amount of time, in seconds, that the Baidu Cloud Push service should
13735	// store the message if the recipient's device is offline. The default value
13736	// and maximum supported time is 604,800 seconds (7 days).
13737	TimeToLive *int64 `type:"integer"`
13738
13739	// The title to display above the notification message on the recipient's device.
13740	Title *string `type:"string"`
13741
13742	// The URL to open in the recipient's default mobile browser, if a recipient
13743	// taps the push notification and the value of the Action property is URL.
13744	Url *string `type:"string"`
13745}
13746
13747// String returns the string representation
13748func (s BaiduMessage) String() string {
13749	return awsutil.Prettify(s)
13750}
13751
13752// GoString returns the string representation
13753func (s BaiduMessage) GoString() string {
13754	return s.String()
13755}
13756
13757// SetAction sets the Action field's value.
13758func (s *BaiduMessage) SetAction(v string) *BaiduMessage {
13759	s.Action = &v
13760	return s
13761}
13762
13763// SetBody sets the Body field's value.
13764func (s *BaiduMessage) SetBody(v string) *BaiduMessage {
13765	s.Body = &v
13766	return s
13767}
13768
13769// SetData sets the Data field's value.
13770func (s *BaiduMessage) SetData(v map[string]*string) *BaiduMessage {
13771	s.Data = v
13772	return s
13773}
13774
13775// SetIconReference sets the IconReference field's value.
13776func (s *BaiduMessage) SetIconReference(v string) *BaiduMessage {
13777	s.IconReference = &v
13778	return s
13779}
13780
13781// SetImageIconUrl sets the ImageIconUrl field's value.
13782func (s *BaiduMessage) SetImageIconUrl(v string) *BaiduMessage {
13783	s.ImageIconUrl = &v
13784	return s
13785}
13786
13787// SetImageUrl sets the ImageUrl field's value.
13788func (s *BaiduMessage) SetImageUrl(v string) *BaiduMessage {
13789	s.ImageUrl = &v
13790	return s
13791}
13792
13793// SetRawContent sets the RawContent field's value.
13794func (s *BaiduMessage) SetRawContent(v string) *BaiduMessage {
13795	s.RawContent = &v
13796	return s
13797}
13798
13799// SetSilentPush sets the SilentPush field's value.
13800func (s *BaiduMessage) SetSilentPush(v bool) *BaiduMessage {
13801	s.SilentPush = &v
13802	return s
13803}
13804
13805// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
13806func (s *BaiduMessage) SetSmallImageIconUrl(v string) *BaiduMessage {
13807	s.SmallImageIconUrl = &v
13808	return s
13809}
13810
13811// SetSound sets the Sound field's value.
13812func (s *BaiduMessage) SetSound(v string) *BaiduMessage {
13813	s.Sound = &v
13814	return s
13815}
13816
13817// SetSubstitutions sets the Substitutions field's value.
13818func (s *BaiduMessage) SetSubstitutions(v map[string][]*string) *BaiduMessage {
13819	s.Substitutions = v
13820	return s
13821}
13822
13823// SetTimeToLive sets the TimeToLive field's value.
13824func (s *BaiduMessage) SetTimeToLive(v int64) *BaiduMessage {
13825	s.TimeToLive = &v
13826	return s
13827}
13828
13829// SetTitle sets the Title field's value.
13830func (s *BaiduMessage) SetTitle(v string) *BaiduMessage {
13831	s.Title = &v
13832	return s
13833}
13834
13835// SetUrl sets the Url field's value.
13836func (s *BaiduMessage) SetUrl(v string) *BaiduMessage {
13837	s.Url = &v
13838	return s
13839}
13840
13841// Provides the results of a query that retrieved the data for a standard metric
13842// that applies to an application, campaign, or journey.
13843type BaseKpiResult struct {
13844	_ struct{} `type:"structure"`
13845
13846	// An array of objects that provides the results of a query that retrieved the
13847	// data for a standard metric that applies to an application, campaign, or journey.
13848	//
13849	// Rows is a required field
13850	Rows []*ResultRow `type:"list" required:"true"`
13851}
13852
13853// String returns the string representation
13854func (s BaseKpiResult) String() string {
13855	return awsutil.Prettify(s)
13856}
13857
13858// GoString returns the string representation
13859func (s BaseKpiResult) GoString() string {
13860	return s.String()
13861}
13862
13863// SetRows sets the Rows field's value.
13864func (s *BaseKpiResult) SetRows(v []*ResultRow) *BaseKpiResult {
13865	s.Rows = v
13866	return s
13867}
13868
13869// Specifies the contents of a message that's sent through a custom channel
13870// to recipients of a campaign.
13871type CampaignCustomMessage struct {
13872	_ struct{} `type:"structure"`
13873
13874	// The raw, JSON-formatted string to use as the payload for the message. The
13875	// maximum size is 5 KB.
13876	Data *string `type:"string"`
13877}
13878
13879// String returns the string representation
13880func (s CampaignCustomMessage) String() string {
13881	return awsutil.Prettify(s)
13882}
13883
13884// GoString returns the string representation
13885func (s CampaignCustomMessage) GoString() string {
13886	return s.String()
13887}
13888
13889// SetData sets the Data field's value.
13890func (s *CampaignCustomMessage) SetData(v string) *CampaignCustomMessage {
13891	s.Data = &v
13892	return s
13893}
13894
13895// Provides the results of a query that retrieved the data for a standard metric
13896// that applies to a campaign, and provides information about that query.
13897type CampaignDateRangeKpiResponse struct {
13898	_ struct{} `type:"structure"`
13899
13900	// The unique identifier for the application that the metric applies to.
13901	//
13902	// ApplicationId is a required field
13903	ApplicationId *string `type:"string" required:"true"`
13904
13905	// The unique identifier for the campaign that the metric applies to.
13906	//
13907	// CampaignId is a required field
13908	CampaignId *string `type:"string" required:"true"`
13909
13910	// EndTime is a required field
13911	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
13912
13913	// The name of the metric, also referred to as a key performance indicator (KPI),
13914	// that the data was retrieved for. This value describes the associated metric
13915	// and consists of two or more terms, which are comprised of lowercase alphanumeric
13916	// characters, separated by a hyphen. For a list of possible values, see the
13917	// Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html).
13918	//
13919	// KpiName is a required field
13920	KpiName *string `type:"string" required:"true"`
13921
13922	// An array of objects that contains the results of the query. Each object contains
13923	// the value for the metric and metadata about that value.
13924	//
13925	// KpiResult is a required field
13926	KpiResult *BaseKpiResult `type:"structure" required:"true"`
13927
13928	// The string to use in a subsequent request to get the next page of results
13929	// in a paginated response. This value is null for the Campaign Metrics resource
13930	// because the resource returns all results in a single page.
13931	NextToken *string `type:"string"`
13932
13933	// StartTime is a required field
13934	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
13935}
13936
13937// String returns the string representation
13938func (s CampaignDateRangeKpiResponse) String() string {
13939	return awsutil.Prettify(s)
13940}
13941
13942// GoString returns the string representation
13943func (s CampaignDateRangeKpiResponse) GoString() string {
13944	return s.String()
13945}
13946
13947// SetApplicationId sets the ApplicationId field's value.
13948func (s *CampaignDateRangeKpiResponse) SetApplicationId(v string) *CampaignDateRangeKpiResponse {
13949	s.ApplicationId = &v
13950	return s
13951}
13952
13953// SetCampaignId sets the CampaignId field's value.
13954func (s *CampaignDateRangeKpiResponse) SetCampaignId(v string) *CampaignDateRangeKpiResponse {
13955	s.CampaignId = &v
13956	return s
13957}
13958
13959// SetEndTime sets the EndTime field's value.
13960func (s *CampaignDateRangeKpiResponse) SetEndTime(v time.Time) *CampaignDateRangeKpiResponse {
13961	s.EndTime = &v
13962	return s
13963}
13964
13965// SetKpiName sets the KpiName field's value.
13966func (s *CampaignDateRangeKpiResponse) SetKpiName(v string) *CampaignDateRangeKpiResponse {
13967	s.KpiName = &v
13968	return s
13969}
13970
13971// SetKpiResult sets the KpiResult field's value.
13972func (s *CampaignDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *CampaignDateRangeKpiResponse {
13973	s.KpiResult = v
13974	return s
13975}
13976
13977// SetNextToken sets the NextToken field's value.
13978func (s *CampaignDateRangeKpiResponse) SetNextToken(v string) *CampaignDateRangeKpiResponse {
13979	s.NextToken = &v
13980	return s
13981}
13982
13983// SetStartTime sets the StartTime field's value.
13984func (s *CampaignDateRangeKpiResponse) SetStartTime(v time.Time) *CampaignDateRangeKpiResponse {
13985	s.StartTime = &v
13986	return s
13987}
13988
13989// Specifies the content and "From" address for an email message that's sent
13990// to recipients of a campaign.
13991type CampaignEmailMessage struct {
13992	_ struct{} `type:"structure"`
13993
13994	// The body of the email for recipients whose email clients don't render HTML
13995	// content.
13996	Body *string `type:"string"`
13997
13998	// The verified email address to send the email from. The default address is
13999	// the FromAddress specified for the email channel for the application.
14000	FromAddress *string `type:"string"`
14001
14002	// The body of the email, in HTML format, for recipients whose email clients
14003	// render HTML content.
14004	HtmlBody *string `type:"string"`
14005
14006	// The subject line, or title, of the email.
14007	Title *string `type:"string"`
14008}
14009
14010// String returns the string representation
14011func (s CampaignEmailMessage) String() string {
14012	return awsutil.Prettify(s)
14013}
14014
14015// GoString returns the string representation
14016func (s CampaignEmailMessage) GoString() string {
14017	return s.String()
14018}
14019
14020// SetBody sets the Body field's value.
14021func (s *CampaignEmailMessage) SetBody(v string) *CampaignEmailMessage {
14022	s.Body = &v
14023	return s
14024}
14025
14026// SetFromAddress sets the FromAddress field's value.
14027func (s *CampaignEmailMessage) SetFromAddress(v string) *CampaignEmailMessage {
14028	s.FromAddress = &v
14029	return s
14030}
14031
14032// SetHtmlBody sets the HtmlBody field's value.
14033func (s *CampaignEmailMessage) SetHtmlBody(v string) *CampaignEmailMessage {
14034	s.HtmlBody = &v
14035	return s
14036}
14037
14038// SetTitle sets the Title field's value.
14039func (s *CampaignEmailMessage) SetTitle(v string) *CampaignEmailMessage {
14040	s.Title = &v
14041	return s
14042}
14043
14044// Specifies the settings for events that cause a campaign to be sent.
14045type CampaignEventFilter struct {
14046	_ struct{} `type:"structure"`
14047
14048	// The dimension settings of the event filter for the campaign.
14049	//
14050	// Dimensions is a required field
14051	Dimensions *EventDimensions `type:"structure" required:"true"`
14052
14053	// The type of event that causes the campaign to be sent. Valid values are:
14054	// SYSTEM, sends the campaign when a system event occurs; and, ENDPOINT, sends
14055	// the campaign when an endpoint event (Events resource) occurs.
14056	//
14057	// FilterType is a required field
14058	FilterType *string `type:"string" required:"true" enum:"FilterType"`
14059}
14060
14061// String returns the string representation
14062func (s CampaignEventFilter) String() string {
14063	return awsutil.Prettify(s)
14064}
14065
14066// GoString returns the string representation
14067func (s CampaignEventFilter) GoString() string {
14068	return s.String()
14069}
14070
14071// Validate inspects the fields of the type to determine if they are valid.
14072func (s *CampaignEventFilter) Validate() error {
14073	invalidParams := request.ErrInvalidParams{Context: "CampaignEventFilter"}
14074	if s.Dimensions == nil {
14075		invalidParams.Add(request.NewErrParamRequired("Dimensions"))
14076	}
14077	if s.FilterType == nil {
14078		invalidParams.Add(request.NewErrParamRequired("FilterType"))
14079	}
14080	if s.Dimensions != nil {
14081		if err := s.Dimensions.Validate(); err != nil {
14082			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
14083		}
14084	}
14085
14086	if invalidParams.Len() > 0 {
14087		return invalidParams
14088	}
14089	return nil
14090}
14091
14092// SetDimensions sets the Dimensions field's value.
14093func (s *CampaignEventFilter) SetDimensions(v *EventDimensions) *CampaignEventFilter {
14094	s.Dimensions = v
14095	return s
14096}
14097
14098// SetFilterType sets the FilterType field's value.
14099func (s *CampaignEventFilter) SetFilterType(v string) *CampaignEventFilter {
14100	s.FilterType = &v
14101	return s
14102}
14103
14104// Specifies settings for invoking an AWS Lambda function that customizes a
14105// segment for a campaign.
14106type CampaignHook struct {
14107	_ struct{} `type:"structure"`
14108
14109	// The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
14110	// Pinpoint invokes to customize a segment for a campaign.
14111	LambdaFunctionName *string `type:"string"`
14112
14113	// The mode that Amazon Pinpoint uses to invoke the AWS Lambda function. Possible
14114	// values are:
14115	//
14116	//    * FILTER - Invoke the function to customize the segment that's used by
14117	//    a campaign.
14118	//
14119	//    * DELIVERY - (Deprecated) Previously, invoked the function to send a campaign
14120	//    through a custom channel. This functionality is not supported anymore.
14121	//    To send a campaign through a custom channel, use the CustomDeliveryConfiguration
14122	//    and CampaignCustomMessage objects of the campaign.
14123	Mode *string `type:"string" enum:"Mode"`
14124
14125	// The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function
14126	// over HTTPS.
14127	WebUrl *string `type:"string"`
14128}
14129
14130// String returns the string representation
14131func (s CampaignHook) String() string {
14132	return awsutil.Prettify(s)
14133}
14134
14135// GoString returns the string representation
14136func (s CampaignHook) GoString() string {
14137	return s.String()
14138}
14139
14140// SetLambdaFunctionName sets the LambdaFunctionName field's value.
14141func (s *CampaignHook) SetLambdaFunctionName(v string) *CampaignHook {
14142	s.LambdaFunctionName = &v
14143	return s
14144}
14145
14146// SetMode sets the Mode field's value.
14147func (s *CampaignHook) SetMode(v string) *CampaignHook {
14148	s.Mode = &v
14149	return s
14150}
14151
14152// SetWebUrl sets the WebUrl field's value.
14153func (s *CampaignHook) SetWebUrl(v string) *CampaignHook {
14154	s.WebUrl = &v
14155	return s
14156}
14157
14158// For a campaign, specifies limits on the messages that the campaign can send.
14159// For an application, specifies the default limits for messages that campaigns
14160// in the application can send.
14161type CampaignLimits struct {
14162	_ struct{} `type:"structure"`
14163
14164	// The maximum number of messages that a campaign can send to a single endpoint
14165	// during a 24-hour period. For an application, this value specifies the default
14166	// limit for the number of messages that campaigns and journeys can send to
14167	// a single endpoint during a 24-hour period. The maximum value is 100.
14168	Daily *int64 `type:"integer"`
14169
14170	// The maximum amount of time, in seconds, that a campaign can attempt to deliver
14171	// a message after the scheduled start time for the campaign. The minimum value
14172	// is 60 seconds.
14173	MaximumDuration *int64 `type:"integer"`
14174
14175	// The maximum number of messages that a campaign can send each second. For
14176	// an application, this value specifies the default limit for the number of
14177	// messages that campaigns can send each second. The minimum value is 50. The
14178	// maximum value is 20,000.
14179	MessagesPerSecond *int64 `type:"integer"`
14180
14181	// The maximum number of messages that a campaign can send to a single endpoint
14182	// during the course of the campaign. If a campaign recurs, this setting applies
14183	// to all runs of the campaign. The maximum value is 100.
14184	Total *int64 `type:"integer"`
14185}
14186
14187// String returns the string representation
14188func (s CampaignLimits) String() string {
14189	return awsutil.Prettify(s)
14190}
14191
14192// GoString returns the string representation
14193func (s CampaignLimits) GoString() string {
14194	return s.String()
14195}
14196
14197// SetDaily sets the Daily field's value.
14198func (s *CampaignLimits) SetDaily(v int64) *CampaignLimits {
14199	s.Daily = &v
14200	return s
14201}
14202
14203// SetMaximumDuration sets the MaximumDuration field's value.
14204func (s *CampaignLimits) SetMaximumDuration(v int64) *CampaignLimits {
14205	s.MaximumDuration = &v
14206	return s
14207}
14208
14209// SetMessagesPerSecond sets the MessagesPerSecond field's value.
14210func (s *CampaignLimits) SetMessagesPerSecond(v int64) *CampaignLimits {
14211	s.MessagesPerSecond = &v
14212	return s
14213}
14214
14215// SetTotal sets the Total field's value.
14216func (s *CampaignLimits) SetTotal(v int64) *CampaignLimits {
14217	s.Total = &v
14218	return s
14219}
14220
14221// Provides information about the status, configuration, and other settings
14222// for a campaign.
14223type CampaignResponse struct {
14224	_ struct{} `type:"structure"`
14225
14226	// An array of responses, one for each treatment that you defined for the campaign,
14227	// in addition to the default treatment.
14228	AdditionalTreatments []*TreatmentResource `type:"list"`
14229
14230	// The unique identifier for the application that the campaign applies to.
14231	//
14232	// ApplicationId is a required field
14233	ApplicationId *string `type:"string" required:"true"`
14234
14235	// The Amazon Resource Name (ARN) of the campaign.
14236	//
14237	// Arn is a required field
14238	Arn *string `type:"string" required:"true"`
14239
14240	// The date, in ISO 8601 format, when the campaign was created.
14241	//
14242	// CreationDate is a required field
14243	CreationDate *string `type:"string" required:"true"`
14244
14245	// The delivery configuration settings for sending the campaign through a custom
14246	// channel.
14247	CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"`
14248
14249	// The current status of the campaign's default treatment. This value exists
14250	// only for campaigns that have more than one treatment.
14251	DefaultState *CampaignState `type:"structure"`
14252
14253	// The custom description of the campaign.
14254	Description *string `type:"string"`
14255
14256	// The allocated percentage of users (segment members) who shouldn't receive
14257	// messages from the campaign.
14258	HoldoutPercent *int64 `type:"integer"`
14259
14260	// The settings for the AWS Lambda function to use as a code hook for the campaign.
14261	// You can use this hook to customize the segment that's used by the campaign.
14262	Hook *CampaignHook `type:"structure"`
14263
14264	// The unique identifier for the campaign.
14265	//
14266	// Id is a required field
14267	Id *string `type:"string" required:"true"`
14268
14269	// Specifies whether the campaign is paused. A paused campaign doesn't run unless
14270	// you resume it by changing this value to false.
14271	IsPaused *bool `type:"boolean"`
14272
14273	// The date, in ISO 8601 format, when the campaign was last modified.
14274	//
14275	// LastModifiedDate is a required field
14276	LastModifiedDate *string `type:"string" required:"true"`
14277
14278	// The messaging limits for the campaign.
14279	Limits *CampaignLimits `type:"structure"`
14280
14281	// The message configuration settings for the campaign.
14282	MessageConfiguration *MessageConfiguration `type:"structure"`
14283
14284	// The name of the campaign.
14285	Name *string `type:"string"`
14286
14287	// The schedule settings for the campaign.
14288	Schedule *Schedule `type:"structure"`
14289
14290	// The unique identifier for the segment that's associated with the campaign.
14291	//
14292	// SegmentId is a required field
14293	SegmentId *string `type:"string" required:"true"`
14294
14295	// The version number of the segment that's associated with the campaign.
14296	//
14297	// SegmentVersion is a required field
14298	SegmentVersion *int64 `type:"integer" required:"true"`
14299
14300	// The current status of the campaign.
14301	State *CampaignState `type:"structure"`
14302
14303	// A string-to-string map of key-value pairs that identifies the tags that are
14304	// associated with the campaign. Each tag consists of a required tag key and
14305	// an associated tag value.
14306	Tags map[string]*string `locationName:"tags" type:"map"`
14307
14308	// The message template that’s used for the campaign.
14309	TemplateConfiguration *TemplateConfiguration `type:"structure"`
14310
14311	// The custom description of the default treatment for the campaign.
14312	TreatmentDescription *string `type:"string"`
14313
14314	// The custom name of the default treatment for the campaign, if the campaign
14315	// has multiple treatments. A treatment is a variation of a campaign that's
14316	// used for A/B testing.
14317	TreatmentName *string `type:"string"`
14318
14319	// The version number of the campaign.
14320	Version *int64 `type:"integer"`
14321}
14322
14323// String returns the string representation
14324func (s CampaignResponse) String() string {
14325	return awsutil.Prettify(s)
14326}
14327
14328// GoString returns the string representation
14329func (s CampaignResponse) GoString() string {
14330	return s.String()
14331}
14332
14333// SetAdditionalTreatments sets the AdditionalTreatments field's value.
14334func (s *CampaignResponse) SetAdditionalTreatments(v []*TreatmentResource) *CampaignResponse {
14335	s.AdditionalTreatments = v
14336	return s
14337}
14338
14339// SetApplicationId sets the ApplicationId field's value.
14340func (s *CampaignResponse) SetApplicationId(v string) *CampaignResponse {
14341	s.ApplicationId = &v
14342	return s
14343}
14344
14345// SetArn sets the Arn field's value.
14346func (s *CampaignResponse) SetArn(v string) *CampaignResponse {
14347	s.Arn = &v
14348	return s
14349}
14350
14351// SetCreationDate sets the CreationDate field's value.
14352func (s *CampaignResponse) SetCreationDate(v string) *CampaignResponse {
14353	s.CreationDate = &v
14354	return s
14355}
14356
14357// SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value.
14358func (s *CampaignResponse) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *CampaignResponse {
14359	s.CustomDeliveryConfiguration = v
14360	return s
14361}
14362
14363// SetDefaultState sets the DefaultState field's value.
14364func (s *CampaignResponse) SetDefaultState(v *CampaignState) *CampaignResponse {
14365	s.DefaultState = v
14366	return s
14367}
14368
14369// SetDescription sets the Description field's value.
14370func (s *CampaignResponse) SetDescription(v string) *CampaignResponse {
14371	s.Description = &v
14372	return s
14373}
14374
14375// SetHoldoutPercent sets the HoldoutPercent field's value.
14376func (s *CampaignResponse) SetHoldoutPercent(v int64) *CampaignResponse {
14377	s.HoldoutPercent = &v
14378	return s
14379}
14380
14381// SetHook sets the Hook field's value.
14382func (s *CampaignResponse) SetHook(v *CampaignHook) *CampaignResponse {
14383	s.Hook = v
14384	return s
14385}
14386
14387// SetId sets the Id field's value.
14388func (s *CampaignResponse) SetId(v string) *CampaignResponse {
14389	s.Id = &v
14390	return s
14391}
14392
14393// SetIsPaused sets the IsPaused field's value.
14394func (s *CampaignResponse) SetIsPaused(v bool) *CampaignResponse {
14395	s.IsPaused = &v
14396	return s
14397}
14398
14399// SetLastModifiedDate sets the LastModifiedDate field's value.
14400func (s *CampaignResponse) SetLastModifiedDate(v string) *CampaignResponse {
14401	s.LastModifiedDate = &v
14402	return s
14403}
14404
14405// SetLimits sets the Limits field's value.
14406func (s *CampaignResponse) SetLimits(v *CampaignLimits) *CampaignResponse {
14407	s.Limits = v
14408	return s
14409}
14410
14411// SetMessageConfiguration sets the MessageConfiguration field's value.
14412func (s *CampaignResponse) SetMessageConfiguration(v *MessageConfiguration) *CampaignResponse {
14413	s.MessageConfiguration = v
14414	return s
14415}
14416
14417// SetName sets the Name field's value.
14418func (s *CampaignResponse) SetName(v string) *CampaignResponse {
14419	s.Name = &v
14420	return s
14421}
14422
14423// SetSchedule sets the Schedule field's value.
14424func (s *CampaignResponse) SetSchedule(v *Schedule) *CampaignResponse {
14425	s.Schedule = v
14426	return s
14427}
14428
14429// SetSegmentId sets the SegmentId field's value.
14430func (s *CampaignResponse) SetSegmentId(v string) *CampaignResponse {
14431	s.SegmentId = &v
14432	return s
14433}
14434
14435// SetSegmentVersion sets the SegmentVersion field's value.
14436func (s *CampaignResponse) SetSegmentVersion(v int64) *CampaignResponse {
14437	s.SegmentVersion = &v
14438	return s
14439}
14440
14441// SetState sets the State field's value.
14442func (s *CampaignResponse) SetState(v *CampaignState) *CampaignResponse {
14443	s.State = v
14444	return s
14445}
14446
14447// SetTags sets the Tags field's value.
14448func (s *CampaignResponse) SetTags(v map[string]*string) *CampaignResponse {
14449	s.Tags = v
14450	return s
14451}
14452
14453// SetTemplateConfiguration sets the TemplateConfiguration field's value.
14454func (s *CampaignResponse) SetTemplateConfiguration(v *TemplateConfiguration) *CampaignResponse {
14455	s.TemplateConfiguration = v
14456	return s
14457}
14458
14459// SetTreatmentDescription sets the TreatmentDescription field's value.
14460func (s *CampaignResponse) SetTreatmentDescription(v string) *CampaignResponse {
14461	s.TreatmentDescription = &v
14462	return s
14463}
14464
14465// SetTreatmentName sets the TreatmentName field's value.
14466func (s *CampaignResponse) SetTreatmentName(v string) *CampaignResponse {
14467	s.TreatmentName = &v
14468	return s
14469}
14470
14471// SetVersion sets the Version field's value.
14472func (s *CampaignResponse) SetVersion(v int64) *CampaignResponse {
14473	s.Version = &v
14474	return s
14475}
14476
14477// Specifies the content and settings for an SMS message that's sent to recipients
14478// of a campaign.
14479type CampaignSmsMessage struct {
14480	_ struct{} `type:"structure"`
14481
14482	// The body of the SMS message.
14483	Body *string `type:"string"`
14484
14485	// The SMS message type. Valid values are TRANSACTIONAL (for messages that are
14486	// critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL
14487	// (for messsages that aren't critical or time-sensitive, such as marketing
14488	// messages).
14489	MessageType *string `type:"string" enum:"MessageType"`
14490
14491	// The sender ID to display on recipients' devices when they receive the SMS
14492	// message.
14493	SenderId *string `type:"string"`
14494}
14495
14496// String returns the string representation
14497func (s CampaignSmsMessage) String() string {
14498	return awsutil.Prettify(s)
14499}
14500
14501// GoString returns the string representation
14502func (s CampaignSmsMessage) GoString() string {
14503	return s.String()
14504}
14505
14506// SetBody sets the Body field's value.
14507func (s *CampaignSmsMessage) SetBody(v string) *CampaignSmsMessage {
14508	s.Body = &v
14509	return s
14510}
14511
14512// SetMessageType sets the MessageType field's value.
14513func (s *CampaignSmsMessage) SetMessageType(v string) *CampaignSmsMessage {
14514	s.MessageType = &v
14515	return s
14516}
14517
14518// SetSenderId sets the SenderId field's value.
14519func (s *CampaignSmsMessage) SetSenderId(v string) *CampaignSmsMessage {
14520	s.SenderId = &v
14521	return s
14522}
14523
14524// Provides information about the status of a campaign.
14525type CampaignState struct {
14526	_ struct{} `type:"structure"`
14527
14528	// The current status of the campaign, or the current status of a treatment
14529	// that belongs to an A/B test campaign.
14530	//
14531	// If a campaign uses A/B testing, the campaign has a status of COMPLETED only
14532	// if all campaign treatments have a status of COMPLETED. If you delete the
14533	// segment that's associated with a campaign, the campaign fails and has a status
14534	// of DELETED.
14535	CampaignStatus *string `type:"string" enum:"CampaignStatus"`
14536}
14537
14538// String returns the string representation
14539func (s CampaignState) String() string {
14540	return awsutil.Prettify(s)
14541}
14542
14543// GoString returns the string representation
14544func (s CampaignState) GoString() string {
14545	return s.String()
14546}
14547
14548// SetCampaignStatus sets the CampaignStatus field's value.
14549func (s *CampaignState) SetCampaignStatus(v string) *CampaignState {
14550	s.CampaignStatus = &v
14551	return s
14552}
14553
14554// Provides information about the configuration and other settings for all the
14555// campaigns that are associated with an application.
14556type CampaignsResponse struct {
14557	_ struct{} `type:"structure"`
14558
14559	// An array of responses, one for each campaign that's associated with the application.
14560	//
14561	// Item is a required field
14562	Item []*CampaignResponse `type:"list" required:"true"`
14563
14564	// The string to use in a subsequent request to get the next page of results
14565	// in a paginated response. This value is null if there are no additional pages.
14566	NextToken *string `type:"string"`
14567}
14568
14569// String returns the string representation
14570func (s CampaignsResponse) String() string {
14571	return awsutil.Prettify(s)
14572}
14573
14574// GoString returns the string representation
14575func (s CampaignsResponse) GoString() string {
14576	return s.String()
14577}
14578
14579// SetItem sets the Item field's value.
14580func (s *CampaignsResponse) SetItem(v []*CampaignResponse) *CampaignsResponse {
14581	s.Item = v
14582	return s
14583}
14584
14585// SetNextToken sets the NextToken field's value.
14586func (s *CampaignsResponse) SetNextToken(v string) *CampaignsResponse {
14587	s.NextToken = &v
14588	return s
14589}
14590
14591// Provides information about the general settings and status of a channel for
14592// an application.
14593type ChannelResponse struct {
14594	_ struct{} `type:"structure"`
14595
14596	// The unique identifier for the application.
14597	ApplicationId *string `type:"string"`
14598
14599	// The date and time, in ISO 8601 format, when the channel was enabled.
14600	CreationDate *string `type:"string"`
14601
14602	// Specifies whether the channel is enabled for the application.
14603	Enabled *bool `type:"boolean"`
14604
14605	// (Not used) This property is retained only for backward compatibility.
14606	HasCredential *bool `type:"boolean"`
14607
14608	// (Deprecated) An identifier for the channel. This property is retained only
14609	// for backward compatibility.
14610	Id *string `type:"string"`
14611
14612	// Specifies whether the channel is archived.
14613	IsArchived *bool `type:"boolean"`
14614
14615	// The user who last modified the channel.
14616	LastModifiedBy *string `type:"string"`
14617
14618	// The date and time, in ISO 8601 format, when the channel was last modified.
14619	LastModifiedDate *string `type:"string"`
14620
14621	// The current version of the channel.
14622	Version *int64 `type:"integer"`
14623}
14624
14625// String returns the string representation
14626func (s ChannelResponse) String() string {
14627	return awsutil.Prettify(s)
14628}
14629
14630// GoString returns the string representation
14631func (s ChannelResponse) GoString() string {
14632	return s.String()
14633}
14634
14635// SetApplicationId sets the ApplicationId field's value.
14636func (s *ChannelResponse) SetApplicationId(v string) *ChannelResponse {
14637	s.ApplicationId = &v
14638	return s
14639}
14640
14641// SetCreationDate sets the CreationDate field's value.
14642func (s *ChannelResponse) SetCreationDate(v string) *ChannelResponse {
14643	s.CreationDate = &v
14644	return s
14645}
14646
14647// SetEnabled sets the Enabled field's value.
14648func (s *ChannelResponse) SetEnabled(v bool) *ChannelResponse {
14649	s.Enabled = &v
14650	return s
14651}
14652
14653// SetHasCredential sets the HasCredential field's value.
14654func (s *ChannelResponse) SetHasCredential(v bool) *ChannelResponse {
14655	s.HasCredential = &v
14656	return s
14657}
14658
14659// SetId sets the Id field's value.
14660func (s *ChannelResponse) SetId(v string) *ChannelResponse {
14661	s.Id = &v
14662	return s
14663}
14664
14665// SetIsArchived sets the IsArchived field's value.
14666func (s *ChannelResponse) SetIsArchived(v bool) *ChannelResponse {
14667	s.IsArchived = &v
14668	return s
14669}
14670
14671// SetLastModifiedBy sets the LastModifiedBy field's value.
14672func (s *ChannelResponse) SetLastModifiedBy(v string) *ChannelResponse {
14673	s.LastModifiedBy = &v
14674	return s
14675}
14676
14677// SetLastModifiedDate sets the LastModifiedDate field's value.
14678func (s *ChannelResponse) SetLastModifiedDate(v string) *ChannelResponse {
14679	s.LastModifiedDate = &v
14680	return s
14681}
14682
14683// SetVersion sets the Version field's value.
14684func (s *ChannelResponse) SetVersion(v int64) *ChannelResponse {
14685	s.Version = &v
14686	return s
14687}
14688
14689// Provides information about the general settings and status of all channels
14690// for an application, including channels that aren't enabled for the application.
14691type ChannelsResponse struct {
14692	_ struct{} `type:"structure"`
14693
14694	// A map that contains a multipart response for each channel. For each item
14695	// in this object, the ChannelType is the key and the Channel is the value.
14696	//
14697	// Channels is a required field
14698	Channels map[string]*ChannelResponse `type:"map" required:"true"`
14699}
14700
14701// String returns the string representation
14702func (s ChannelsResponse) String() string {
14703	return awsutil.Prettify(s)
14704}
14705
14706// GoString returns the string representation
14707func (s ChannelsResponse) GoString() string {
14708	return s.String()
14709}
14710
14711// SetChannels sets the Channels field's value.
14712func (s *ChannelsResponse) SetChannels(v map[string]*ChannelResponse) *ChannelsResponse {
14713	s.Channels = v
14714	return s
14715}
14716
14717// Specifies the conditions to evaluate for an activity in a journey, and how
14718// to evaluate those conditions.
14719type Condition struct {
14720	_ struct{} `type:"structure"`
14721
14722	// The conditions to evaluate for the activity.
14723	Conditions []*SimpleCondition `type:"list"`
14724
14725	// Specifies how to handle multiple conditions for the activity. For example,
14726	// if you specify two conditions for an activity, whether both or only one of
14727	// the conditions must be met for the activity to be performed.
14728	Operator *string `type:"string" enum:"Operator"`
14729}
14730
14731// String returns the string representation
14732func (s Condition) String() string {
14733	return awsutil.Prettify(s)
14734}
14735
14736// GoString returns the string representation
14737func (s Condition) GoString() string {
14738	return s.String()
14739}
14740
14741// Validate inspects the fields of the type to determine if they are valid.
14742func (s *Condition) Validate() error {
14743	invalidParams := request.ErrInvalidParams{Context: "Condition"}
14744	if s.Conditions != nil {
14745		for i, v := range s.Conditions {
14746			if v == nil {
14747				continue
14748			}
14749			if err := v.Validate(); err != nil {
14750				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Conditions", i), err.(request.ErrInvalidParams))
14751			}
14752		}
14753	}
14754
14755	if invalidParams.Len() > 0 {
14756		return invalidParams
14757	}
14758	return nil
14759}
14760
14761// SetConditions sets the Conditions field's value.
14762func (s *Condition) SetConditions(v []*SimpleCondition) *Condition {
14763	s.Conditions = v
14764	return s
14765}
14766
14767// SetOperator sets the Operator field's value.
14768func (s *Condition) SetOperator(v string) *Condition {
14769	s.Operator = &v
14770	return s
14771}
14772
14773// Specifies the settings for a yes/no split activity in a journey. This type
14774// of activity sends participants down one of two paths in a journey, based
14775// on conditions that you specify.
14776//
14777// To create yes/no split activities that send participants down different paths
14778// based on push notification events (such as Open or Received events), your
14779// mobile app has to specify the User ID and Endpoint ID values. For more information,
14780// see Integrating Amazon Pinpoint with your application (https://docs.aws.amazon.com/pinpoint/latest/developerguide/integrate.html)
14781// in the Amazon Pinpoint Developer Guide.
14782type ConditionalSplitActivity struct {
14783	_ struct{} `type:"structure"`
14784
14785	// The conditions that define the paths for the activity, and the relationship
14786	// between the conditions.
14787	Condition *Condition `type:"structure"`
14788
14789	// The amount of time to wait before determining whether the conditions are
14790	// met, or the date and time when Amazon Pinpoint determines whether the conditions
14791	// are met.
14792	EvaluationWaitTime *WaitTime `type:"structure"`
14793
14794	// The unique identifier for the activity to perform if the conditions aren't
14795	// met.
14796	FalseActivity *string `type:"string"`
14797
14798	// The unique identifier for the activity to perform if the conditions are met.
14799	TrueActivity *string `type:"string"`
14800}
14801
14802// String returns the string representation
14803func (s ConditionalSplitActivity) String() string {
14804	return awsutil.Prettify(s)
14805}
14806
14807// GoString returns the string representation
14808func (s ConditionalSplitActivity) GoString() string {
14809	return s.String()
14810}
14811
14812// Validate inspects the fields of the type to determine if they are valid.
14813func (s *ConditionalSplitActivity) Validate() error {
14814	invalidParams := request.ErrInvalidParams{Context: "ConditionalSplitActivity"}
14815	if s.Condition != nil {
14816		if err := s.Condition.Validate(); err != nil {
14817			invalidParams.AddNested("Condition", err.(request.ErrInvalidParams))
14818		}
14819	}
14820
14821	if invalidParams.Len() > 0 {
14822		return invalidParams
14823	}
14824	return nil
14825}
14826
14827// SetCondition sets the Condition field's value.
14828func (s *ConditionalSplitActivity) SetCondition(v *Condition) *ConditionalSplitActivity {
14829	s.Condition = v
14830	return s
14831}
14832
14833// SetEvaluationWaitTime sets the EvaluationWaitTime field's value.
14834func (s *ConditionalSplitActivity) SetEvaluationWaitTime(v *WaitTime) *ConditionalSplitActivity {
14835	s.EvaluationWaitTime = v
14836	return s
14837}
14838
14839// SetFalseActivity sets the FalseActivity field's value.
14840func (s *ConditionalSplitActivity) SetFalseActivity(v string) *ConditionalSplitActivity {
14841	s.FalseActivity = &v
14842	return s
14843}
14844
14845// SetTrueActivity sets the TrueActivity field's value.
14846func (s *ConditionalSplitActivity) SetTrueActivity(v string) *ConditionalSplitActivity {
14847	s.TrueActivity = &v
14848	return s
14849}
14850
14851// Provides information about an API request or response.
14852type ConflictException struct {
14853	_            struct{}                  `type:"structure"`
14854	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14855
14856	Message_ *string `locationName:"Message" type:"string"`
14857
14858	RequestID_ *string `locationName:"RequestID" type:"string"`
14859}
14860
14861// String returns the string representation
14862func (s ConflictException) String() string {
14863	return awsutil.Prettify(s)
14864}
14865
14866// GoString returns the string representation
14867func (s ConflictException) GoString() string {
14868	return s.String()
14869}
14870
14871func newErrorConflictException(v protocol.ResponseMetadata) error {
14872	return &ConflictException{
14873		RespMetadata: v,
14874	}
14875}
14876
14877// Code returns the exception type name.
14878func (s *ConflictException) Code() string {
14879	return "ConflictException"
14880}
14881
14882// Message returns the exception's message.
14883func (s *ConflictException) Message() string {
14884	if s.Message_ != nil {
14885		return *s.Message_
14886	}
14887	return ""
14888}
14889
14890// OrigErr always returns nil, satisfies awserr.Error interface.
14891func (s *ConflictException) OrigErr() error {
14892	return nil
14893}
14894
14895func (s *ConflictException) Error() string {
14896	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
14897}
14898
14899// Status code returns the HTTP status code for the request's response error.
14900func (s *ConflictException) StatusCode() int {
14901	return s.RespMetadata.StatusCode
14902}
14903
14904// RequestID returns the service's response RequestID for request.
14905func (s *ConflictException) RequestID() string {
14906	return s.RespMetadata.RequestID
14907}
14908
14909type CreateAppInput struct {
14910	_ struct{} `type:"structure" payload:"CreateApplicationRequest"`
14911
14912	// Specifies the display name of an application and the tags to associate with
14913	// the application.
14914	//
14915	// CreateApplicationRequest is a required field
14916	CreateApplicationRequest *CreateApplicationRequest `type:"structure" required:"true"`
14917}
14918
14919// String returns the string representation
14920func (s CreateAppInput) String() string {
14921	return awsutil.Prettify(s)
14922}
14923
14924// GoString returns the string representation
14925func (s CreateAppInput) GoString() string {
14926	return s.String()
14927}
14928
14929// Validate inspects the fields of the type to determine if they are valid.
14930func (s *CreateAppInput) Validate() error {
14931	invalidParams := request.ErrInvalidParams{Context: "CreateAppInput"}
14932	if s.CreateApplicationRequest == nil {
14933		invalidParams.Add(request.NewErrParamRequired("CreateApplicationRequest"))
14934	}
14935	if s.CreateApplicationRequest != nil {
14936		if err := s.CreateApplicationRequest.Validate(); err != nil {
14937			invalidParams.AddNested("CreateApplicationRequest", err.(request.ErrInvalidParams))
14938		}
14939	}
14940
14941	if invalidParams.Len() > 0 {
14942		return invalidParams
14943	}
14944	return nil
14945}
14946
14947// SetCreateApplicationRequest sets the CreateApplicationRequest field's value.
14948func (s *CreateAppInput) SetCreateApplicationRequest(v *CreateApplicationRequest) *CreateAppInput {
14949	s.CreateApplicationRequest = v
14950	return s
14951}
14952
14953type CreateAppOutput struct {
14954	_ struct{} `type:"structure" payload:"ApplicationResponse"`
14955
14956	// Provides information about an application.
14957	//
14958	// ApplicationResponse is a required field
14959	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
14960}
14961
14962// String returns the string representation
14963func (s CreateAppOutput) String() string {
14964	return awsutil.Prettify(s)
14965}
14966
14967// GoString returns the string representation
14968func (s CreateAppOutput) GoString() string {
14969	return s.String()
14970}
14971
14972// SetApplicationResponse sets the ApplicationResponse field's value.
14973func (s *CreateAppOutput) SetApplicationResponse(v *ApplicationResponse) *CreateAppOutput {
14974	s.ApplicationResponse = v
14975	return s
14976}
14977
14978// Specifies the display name of an application and the tags to associate with
14979// the application.
14980type CreateApplicationRequest struct {
14981	_ struct{} `type:"structure"`
14982
14983	// The display name of the application. This name is displayed as the Project
14984	// name on the Amazon Pinpoint console.
14985	//
14986	// Name is a required field
14987	Name *string `type:"string" required:"true"`
14988
14989	// A string-to-string map of key-value pairs that defines the tags to associate
14990	// with the application. Each tag consists of a required tag key and an associated
14991	// tag value.
14992	Tags map[string]*string `locationName:"tags" type:"map"`
14993}
14994
14995// String returns the string representation
14996func (s CreateApplicationRequest) String() string {
14997	return awsutil.Prettify(s)
14998}
14999
15000// GoString returns the string representation
15001func (s CreateApplicationRequest) GoString() string {
15002	return s.String()
15003}
15004
15005// Validate inspects the fields of the type to determine if they are valid.
15006func (s *CreateApplicationRequest) Validate() error {
15007	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationRequest"}
15008	if s.Name == nil {
15009		invalidParams.Add(request.NewErrParamRequired("Name"))
15010	}
15011
15012	if invalidParams.Len() > 0 {
15013		return invalidParams
15014	}
15015	return nil
15016}
15017
15018// SetName sets the Name field's value.
15019func (s *CreateApplicationRequest) SetName(v string) *CreateApplicationRequest {
15020	s.Name = &v
15021	return s
15022}
15023
15024// SetTags sets the Tags field's value.
15025func (s *CreateApplicationRequest) SetTags(v map[string]*string) *CreateApplicationRequest {
15026	s.Tags = v
15027	return s
15028}
15029
15030type CreateCampaignInput struct {
15031	_ struct{} `type:"structure" payload:"WriteCampaignRequest"`
15032
15033	// ApplicationId is a required field
15034	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15035
15036	// Specifies the configuration and other settings for a campaign.
15037	//
15038	// WriteCampaignRequest is a required field
15039	WriteCampaignRequest *WriteCampaignRequest `type:"structure" required:"true"`
15040}
15041
15042// String returns the string representation
15043func (s CreateCampaignInput) String() string {
15044	return awsutil.Prettify(s)
15045}
15046
15047// GoString returns the string representation
15048func (s CreateCampaignInput) GoString() string {
15049	return s.String()
15050}
15051
15052// Validate inspects the fields of the type to determine if they are valid.
15053func (s *CreateCampaignInput) Validate() error {
15054	invalidParams := request.ErrInvalidParams{Context: "CreateCampaignInput"}
15055	if s.ApplicationId == nil {
15056		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15057	}
15058	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15059		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15060	}
15061	if s.WriteCampaignRequest == nil {
15062		invalidParams.Add(request.NewErrParamRequired("WriteCampaignRequest"))
15063	}
15064	if s.WriteCampaignRequest != nil {
15065		if err := s.WriteCampaignRequest.Validate(); err != nil {
15066			invalidParams.AddNested("WriteCampaignRequest", err.(request.ErrInvalidParams))
15067		}
15068	}
15069
15070	if invalidParams.Len() > 0 {
15071		return invalidParams
15072	}
15073	return nil
15074}
15075
15076// SetApplicationId sets the ApplicationId field's value.
15077func (s *CreateCampaignInput) SetApplicationId(v string) *CreateCampaignInput {
15078	s.ApplicationId = &v
15079	return s
15080}
15081
15082// SetWriteCampaignRequest sets the WriteCampaignRequest field's value.
15083func (s *CreateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) *CreateCampaignInput {
15084	s.WriteCampaignRequest = v
15085	return s
15086}
15087
15088type CreateCampaignOutput struct {
15089	_ struct{} `type:"structure" payload:"CampaignResponse"`
15090
15091	// Provides information about the status, configuration, and other settings
15092	// for a campaign.
15093	//
15094	// CampaignResponse is a required field
15095	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
15096}
15097
15098// String returns the string representation
15099func (s CreateCampaignOutput) String() string {
15100	return awsutil.Prettify(s)
15101}
15102
15103// GoString returns the string representation
15104func (s CreateCampaignOutput) GoString() string {
15105	return s.String()
15106}
15107
15108// SetCampaignResponse sets the CampaignResponse field's value.
15109func (s *CreateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *CreateCampaignOutput {
15110	s.CampaignResponse = v
15111	return s
15112}
15113
15114type CreateEmailTemplateInput struct {
15115	_ struct{} `type:"structure" payload:"EmailTemplateRequest"`
15116
15117	// Specifies the content and settings for a message template that can be used
15118	// in messages that are sent through the email channel.
15119	//
15120	// EmailTemplateRequest is a required field
15121	EmailTemplateRequest *EmailTemplateRequest `type:"structure" required:"true"`
15122
15123	// TemplateName is a required field
15124	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
15125}
15126
15127// String returns the string representation
15128func (s CreateEmailTemplateInput) String() string {
15129	return awsutil.Prettify(s)
15130}
15131
15132// GoString returns the string representation
15133func (s CreateEmailTemplateInput) GoString() string {
15134	return s.String()
15135}
15136
15137// Validate inspects the fields of the type to determine if they are valid.
15138func (s *CreateEmailTemplateInput) Validate() error {
15139	invalidParams := request.ErrInvalidParams{Context: "CreateEmailTemplateInput"}
15140	if s.EmailTemplateRequest == nil {
15141		invalidParams.Add(request.NewErrParamRequired("EmailTemplateRequest"))
15142	}
15143	if s.TemplateName == nil {
15144		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
15145	}
15146	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
15147		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
15148	}
15149
15150	if invalidParams.Len() > 0 {
15151		return invalidParams
15152	}
15153	return nil
15154}
15155
15156// SetEmailTemplateRequest sets the EmailTemplateRequest field's value.
15157func (s *CreateEmailTemplateInput) SetEmailTemplateRequest(v *EmailTemplateRequest) *CreateEmailTemplateInput {
15158	s.EmailTemplateRequest = v
15159	return s
15160}
15161
15162// SetTemplateName sets the TemplateName field's value.
15163func (s *CreateEmailTemplateInput) SetTemplateName(v string) *CreateEmailTemplateInput {
15164	s.TemplateName = &v
15165	return s
15166}
15167
15168type CreateEmailTemplateOutput struct {
15169	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
15170
15171	// Provides information about a request to create a message template.
15172	//
15173	// CreateTemplateMessageBody is a required field
15174	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
15175}
15176
15177// String returns the string representation
15178func (s CreateEmailTemplateOutput) String() string {
15179	return awsutil.Prettify(s)
15180}
15181
15182// GoString returns the string representation
15183func (s CreateEmailTemplateOutput) GoString() string {
15184	return s.String()
15185}
15186
15187// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
15188func (s *CreateEmailTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateEmailTemplateOutput {
15189	s.CreateTemplateMessageBody = v
15190	return s
15191}
15192
15193type CreateExportJobInput struct {
15194	_ struct{} `type:"structure" payload:"ExportJobRequest"`
15195
15196	// ApplicationId is a required field
15197	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15198
15199	// Specifies the settings for a job that exports endpoint definitions to an
15200	// Amazon Simple Storage Service (Amazon S3) bucket.
15201	//
15202	// ExportJobRequest is a required field
15203	ExportJobRequest *ExportJobRequest `type:"structure" required:"true"`
15204}
15205
15206// String returns the string representation
15207func (s CreateExportJobInput) String() string {
15208	return awsutil.Prettify(s)
15209}
15210
15211// GoString returns the string representation
15212func (s CreateExportJobInput) GoString() string {
15213	return s.String()
15214}
15215
15216// Validate inspects the fields of the type to determine if they are valid.
15217func (s *CreateExportJobInput) Validate() error {
15218	invalidParams := request.ErrInvalidParams{Context: "CreateExportJobInput"}
15219	if s.ApplicationId == nil {
15220		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15221	}
15222	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15223		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15224	}
15225	if s.ExportJobRequest == nil {
15226		invalidParams.Add(request.NewErrParamRequired("ExportJobRequest"))
15227	}
15228	if s.ExportJobRequest != nil {
15229		if err := s.ExportJobRequest.Validate(); err != nil {
15230			invalidParams.AddNested("ExportJobRequest", err.(request.ErrInvalidParams))
15231		}
15232	}
15233
15234	if invalidParams.Len() > 0 {
15235		return invalidParams
15236	}
15237	return nil
15238}
15239
15240// SetApplicationId sets the ApplicationId field's value.
15241func (s *CreateExportJobInput) SetApplicationId(v string) *CreateExportJobInput {
15242	s.ApplicationId = &v
15243	return s
15244}
15245
15246// SetExportJobRequest sets the ExportJobRequest field's value.
15247func (s *CreateExportJobInput) SetExportJobRequest(v *ExportJobRequest) *CreateExportJobInput {
15248	s.ExportJobRequest = v
15249	return s
15250}
15251
15252type CreateExportJobOutput struct {
15253	_ struct{} `type:"structure" payload:"ExportJobResponse"`
15254
15255	// Provides information about the status and settings of a job that exports
15256	// endpoint definitions to a file. The file can be added directly to an Amazon
15257	// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
15258	// or downloaded directly to a computer by using the Amazon Pinpoint console.
15259	//
15260	// ExportJobResponse is a required field
15261	ExportJobResponse *ExportJobResponse `type:"structure" required:"true"`
15262}
15263
15264// String returns the string representation
15265func (s CreateExportJobOutput) String() string {
15266	return awsutil.Prettify(s)
15267}
15268
15269// GoString returns the string representation
15270func (s CreateExportJobOutput) GoString() string {
15271	return s.String()
15272}
15273
15274// SetExportJobResponse sets the ExportJobResponse field's value.
15275func (s *CreateExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *CreateExportJobOutput {
15276	s.ExportJobResponse = v
15277	return s
15278}
15279
15280type CreateImportJobInput struct {
15281	_ struct{} `type:"structure" payload:"ImportJobRequest"`
15282
15283	// ApplicationId is a required field
15284	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15285
15286	// Specifies the settings for a job that imports endpoint definitions from an
15287	// Amazon Simple Storage Service (Amazon S3) bucket.
15288	//
15289	// ImportJobRequest is a required field
15290	ImportJobRequest *ImportJobRequest `type:"structure" required:"true"`
15291}
15292
15293// String returns the string representation
15294func (s CreateImportJobInput) String() string {
15295	return awsutil.Prettify(s)
15296}
15297
15298// GoString returns the string representation
15299func (s CreateImportJobInput) GoString() string {
15300	return s.String()
15301}
15302
15303// Validate inspects the fields of the type to determine if they are valid.
15304func (s *CreateImportJobInput) Validate() error {
15305	invalidParams := request.ErrInvalidParams{Context: "CreateImportJobInput"}
15306	if s.ApplicationId == nil {
15307		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15308	}
15309	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15310		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15311	}
15312	if s.ImportJobRequest == nil {
15313		invalidParams.Add(request.NewErrParamRequired("ImportJobRequest"))
15314	}
15315	if s.ImportJobRequest != nil {
15316		if err := s.ImportJobRequest.Validate(); err != nil {
15317			invalidParams.AddNested("ImportJobRequest", err.(request.ErrInvalidParams))
15318		}
15319	}
15320
15321	if invalidParams.Len() > 0 {
15322		return invalidParams
15323	}
15324	return nil
15325}
15326
15327// SetApplicationId sets the ApplicationId field's value.
15328func (s *CreateImportJobInput) SetApplicationId(v string) *CreateImportJobInput {
15329	s.ApplicationId = &v
15330	return s
15331}
15332
15333// SetImportJobRequest sets the ImportJobRequest field's value.
15334func (s *CreateImportJobInput) SetImportJobRequest(v *ImportJobRequest) *CreateImportJobInput {
15335	s.ImportJobRequest = v
15336	return s
15337}
15338
15339type CreateImportJobOutput struct {
15340	_ struct{} `type:"structure" payload:"ImportJobResponse"`
15341
15342	// Provides information about the status and settings of a job that imports
15343	// endpoint definitions from one or more files. The files can be stored in an
15344	// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
15345	// a computer by using the Amazon Pinpoint console.
15346	//
15347	// ImportJobResponse is a required field
15348	ImportJobResponse *ImportJobResponse `type:"structure" required:"true"`
15349}
15350
15351// String returns the string representation
15352func (s CreateImportJobOutput) String() string {
15353	return awsutil.Prettify(s)
15354}
15355
15356// GoString returns the string representation
15357func (s CreateImportJobOutput) GoString() string {
15358	return s.String()
15359}
15360
15361// SetImportJobResponse sets the ImportJobResponse field's value.
15362func (s *CreateImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *CreateImportJobOutput {
15363	s.ImportJobResponse = v
15364	return s
15365}
15366
15367type CreateJourneyInput struct {
15368	_ struct{} `type:"structure" payload:"WriteJourneyRequest"`
15369
15370	// ApplicationId is a required field
15371	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15372
15373	// Specifies the configuration and other settings for a journey.
15374	//
15375	// WriteJourneyRequest is a required field
15376	WriteJourneyRequest *WriteJourneyRequest `type:"structure" required:"true"`
15377}
15378
15379// String returns the string representation
15380func (s CreateJourneyInput) String() string {
15381	return awsutil.Prettify(s)
15382}
15383
15384// GoString returns the string representation
15385func (s CreateJourneyInput) GoString() string {
15386	return s.String()
15387}
15388
15389// Validate inspects the fields of the type to determine if they are valid.
15390func (s *CreateJourneyInput) Validate() error {
15391	invalidParams := request.ErrInvalidParams{Context: "CreateJourneyInput"}
15392	if s.ApplicationId == nil {
15393		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15394	}
15395	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15396		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15397	}
15398	if s.WriteJourneyRequest == nil {
15399		invalidParams.Add(request.NewErrParamRequired("WriteJourneyRequest"))
15400	}
15401	if s.WriteJourneyRequest != nil {
15402		if err := s.WriteJourneyRequest.Validate(); err != nil {
15403			invalidParams.AddNested("WriteJourneyRequest", err.(request.ErrInvalidParams))
15404		}
15405	}
15406
15407	if invalidParams.Len() > 0 {
15408		return invalidParams
15409	}
15410	return nil
15411}
15412
15413// SetApplicationId sets the ApplicationId field's value.
15414func (s *CreateJourneyInput) SetApplicationId(v string) *CreateJourneyInput {
15415	s.ApplicationId = &v
15416	return s
15417}
15418
15419// SetWriteJourneyRequest sets the WriteJourneyRequest field's value.
15420func (s *CreateJourneyInput) SetWriteJourneyRequest(v *WriteJourneyRequest) *CreateJourneyInput {
15421	s.WriteJourneyRequest = v
15422	return s
15423}
15424
15425type CreateJourneyOutput struct {
15426	_ struct{} `type:"structure" payload:"JourneyResponse"`
15427
15428	// Provides information about the status, configuration, and other settings
15429	// for a journey.
15430	//
15431	// JourneyResponse is a required field
15432	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
15433}
15434
15435// String returns the string representation
15436func (s CreateJourneyOutput) String() string {
15437	return awsutil.Prettify(s)
15438}
15439
15440// GoString returns the string representation
15441func (s CreateJourneyOutput) GoString() string {
15442	return s.String()
15443}
15444
15445// SetJourneyResponse sets the JourneyResponse field's value.
15446func (s *CreateJourneyOutput) SetJourneyResponse(v *JourneyResponse) *CreateJourneyOutput {
15447	s.JourneyResponse = v
15448	return s
15449}
15450
15451type CreatePushTemplateInput struct {
15452	_ struct{} `type:"structure" payload:"PushNotificationTemplateRequest"`
15453
15454	// Specifies the content and settings for a message template that can be used
15455	// in messages that are sent through a push notification channel.
15456	//
15457	// PushNotificationTemplateRequest is a required field
15458	PushNotificationTemplateRequest *PushNotificationTemplateRequest `type:"structure" required:"true"`
15459
15460	// TemplateName is a required field
15461	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
15462}
15463
15464// String returns the string representation
15465func (s CreatePushTemplateInput) String() string {
15466	return awsutil.Prettify(s)
15467}
15468
15469// GoString returns the string representation
15470func (s CreatePushTemplateInput) GoString() string {
15471	return s.String()
15472}
15473
15474// Validate inspects the fields of the type to determine if they are valid.
15475func (s *CreatePushTemplateInput) Validate() error {
15476	invalidParams := request.ErrInvalidParams{Context: "CreatePushTemplateInput"}
15477	if s.PushNotificationTemplateRequest == nil {
15478		invalidParams.Add(request.NewErrParamRequired("PushNotificationTemplateRequest"))
15479	}
15480	if s.TemplateName == nil {
15481		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
15482	}
15483	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
15484		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
15485	}
15486
15487	if invalidParams.Len() > 0 {
15488		return invalidParams
15489	}
15490	return nil
15491}
15492
15493// SetPushNotificationTemplateRequest sets the PushNotificationTemplateRequest field's value.
15494func (s *CreatePushTemplateInput) SetPushNotificationTemplateRequest(v *PushNotificationTemplateRequest) *CreatePushTemplateInput {
15495	s.PushNotificationTemplateRequest = v
15496	return s
15497}
15498
15499// SetTemplateName sets the TemplateName field's value.
15500func (s *CreatePushTemplateInput) SetTemplateName(v string) *CreatePushTemplateInput {
15501	s.TemplateName = &v
15502	return s
15503}
15504
15505type CreatePushTemplateOutput struct {
15506	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
15507
15508	// Provides information about a request to create a message template.
15509	//
15510	// CreateTemplateMessageBody is a required field
15511	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
15512}
15513
15514// String returns the string representation
15515func (s CreatePushTemplateOutput) String() string {
15516	return awsutil.Prettify(s)
15517}
15518
15519// GoString returns the string representation
15520func (s CreatePushTemplateOutput) GoString() string {
15521	return s.String()
15522}
15523
15524// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
15525func (s *CreatePushTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreatePushTemplateOutput {
15526	s.CreateTemplateMessageBody = v
15527	return s
15528}
15529
15530// Specifies Amazon Pinpoint configuration settings for retrieving and processing
15531// recommendation data from a recommender model.
15532type CreateRecommenderConfiguration struct {
15533	_ struct{} `type:"structure"`
15534
15535	// A map of key-value pairs that defines 1-10 custom endpoint or user attributes,
15536	// depending on the value for the RecommendationProviderIdType property. Each
15537	// of these attributes temporarily stores a recommended item that's retrieved
15538	// from the recommender model and sent to an AWS Lambda function for additional
15539	// processing. Each attribute can be used as a message variable in a message
15540	// template.
15541	//
15542	// In the map, the key is the name of a custom attribute and the value is a
15543	// custom display name for that attribute. The display name appears in the Attribute
15544	// finder of the template editor on the Amazon Pinpoint console. The following
15545	// restrictions apply to these names:
15546	//
15547	//    * An attribute name must start with a letter or number and it can contain
15548	//    up to 50 characters. The characters can be letters, numbers, underscores
15549	//    (_), or hyphens (-). Attribute names are case sensitive and must be unique.
15550	//
15551	//    * An attribute display name must start with a letter or number and it
15552	//    can contain up to 25 characters. The characters can be letters, numbers,
15553	//    spaces, underscores (_), or hyphens (-).
15554	//
15555	// This object is required if the configuration invokes an AWS Lambda function
15556	// (RecommendationTransformerUri) to process recommendation data. Otherwise,
15557	// don't include this object in your request.
15558	Attributes map[string]*string `type:"map"`
15559
15560	// A custom description of the configuration for the recommender model. The
15561	// description can contain up to 128 characters. The characters can be letters,
15562	// numbers, spaces, or the following symbols: _ ; () , ‐.
15563	Description *string `type:"string"`
15564
15565	// A custom name of the configuration for the recommender model. The name must
15566	// start with a letter or number and it can contain up to 128 characters. The
15567	// characters can be letters, numbers, spaces, underscores (_), or hyphens (-).
15568	Name *string `type:"string"`
15569
15570	// The type of Amazon Pinpoint ID to associate with unique user IDs in the recommender
15571	// model. This value enables the model to use attribute and event data that’s
15572	// specific to a particular endpoint or user in an Amazon Pinpoint application.
15573	// Valid values are:
15574	//
15575	//    * PINPOINT_ENDPOINT_ID - Associate each user in the model with a particular
15576	//    endpoint in Amazon Pinpoint. The data is correlated based on endpoint
15577	//    IDs in Amazon Pinpoint. This is the default value.
15578	//
15579	//    * PINPOINT_USER_ID - Associate each user in the model with a particular
15580	//    user and endpoint in Amazon Pinpoint. The data is correlated based on
15581	//    user IDs in Amazon Pinpoint. If you specify this value, an endpoint definition
15582	//    in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint
15583	//    ID. Otherwise, messages won’t be sent to the user's endpoint.
15584	RecommendationProviderIdType *string `type:"string"`
15585
15586	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
15587	// (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data
15588	// from the recommender model.
15589	//
15590	// RecommendationProviderRoleArn is a required field
15591	RecommendationProviderRoleArn *string `type:"string" required:"true"`
15592
15593	// The Amazon Resource Name (ARN) of the recommender model to retrieve recommendation
15594	// data from. This value must match the ARN of an Amazon Personalize campaign.
15595	//
15596	// RecommendationProviderUri is a required field
15597	RecommendationProviderUri *string `type:"string" required:"true"`
15598
15599	// The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke
15600	// for additional processing of recommendation data that's retrieved from the
15601	// recommender model.
15602	RecommendationTransformerUri *string `type:"string"`
15603
15604	// A custom display name for the standard endpoint or user attribute (RecommendationItems)
15605	// that temporarily stores recommended items for each endpoint or user, depending
15606	// on the value for the RecommendationProviderIdType property. This value is
15607	// required if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri)
15608	// to perform additional processing of recommendation data.
15609	//
15610	// This name appears in the Attribute finder of the template editor on the Amazon
15611	// Pinpoint console. The name can contain up to 25 characters. The characters
15612	// can be letters, numbers, spaces, underscores (_), or hyphens (-). These restrictions
15613	// don't apply to attribute values.
15614	RecommendationsDisplayName *string `type:"string"`
15615
15616	// The number of recommended items to retrieve from the model for each endpoint
15617	// or user, depending on the value for the RecommendationProviderIdType property.
15618	// This number determines how many recommended items are available for use in
15619	// message variables. The minimum value is 1. The maximum value is 5. The default
15620	// value is 5.
15621	//
15622	// To use multiple recommended items and custom attributes with message variables,
15623	// you have to use an AWS Lambda function (RecommendationTransformerUri) to
15624	// perform additional processing of recommendation data.
15625	RecommendationsPerMessage *int64 `type:"integer"`
15626}
15627
15628// String returns the string representation
15629func (s CreateRecommenderConfiguration) String() string {
15630	return awsutil.Prettify(s)
15631}
15632
15633// GoString returns the string representation
15634func (s CreateRecommenderConfiguration) GoString() string {
15635	return s.String()
15636}
15637
15638// Validate inspects the fields of the type to determine if they are valid.
15639func (s *CreateRecommenderConfiguration) Validate() error {
15640	invalidParams := request.ErrInvalidParams{Context: "CreateRecommenderConfiguration"}
15641	if s.RecommendationProviderRoleArn == nil {
15642		invalidParams.Add(request.NewErrParamRequired("RecommendationProviderRoleArn"))
15643	}
15644	if s.RecommendationProviderUri == nil {
15645		invalidParams.Add(request.NewErrParamRequired("RecommendationProviderUri"))
15646	}
15647
15648	if invalidParams.Len() > 0 {
15649		return invalidParams
15650	}
15651	return nil
15652}
15653
15654// SetAttributes sets the Attributes field's value.
15655func (s *CreateRecommenderConfiguration) SetAttributes(v map[string]*string) *CreateRecommenderConfiguration {
15656	s.Attributes = v
15657	return s
15658}
15659
15660// SetDescription sets the Description field's value.
15661func (s *CreateRecommenderConfiguration) SetDescription(v string) *CreateRecommenderConfiguration {
15662	s.Description = &v
15663	return s
15664}
15665
15666// SetName sets the Name field's value.
15667func (s *CreateRecommenderConfiguration) SetName(v string) *CreateRecommenderConfiguration {
15668	s.Name = &v
15669	return s
15670}
15671
15672// SetRecommendationProviderIdType sets the RecommendationProviderIdType field's value.
15673func (s *CreateRecommenderConfiguration) SetRecommendationProviderIdType(v string) *CreateRecommenderConfiguration {
15674	s.RecommendationProviderIdType = &v
15675	return s
15676}
15677
15678// SetRecommendationProviderRoleArn sets the RecommendationProviderRoleArn field's value.
15679func (s *CreateRecommenderConfiguration) SetRecommendationProviderRoleArn(v string) *CreateRecommenderConfiguration {
15680	s.RecommendationProviderRoleArn = &v
15681	return s
15682}
15683
15684// SetRecommendationProviderUri sets the RecommendationProviderUri field's value.
15685func (s *CreateRecommenderConfiguration) SetRecommendationProviderUri(v string) *CreateRecommenderConfiguration {
15686	s.RecommendationProviderUri = &v
15687	return s
15688}
15689
15690// SetRecommendationTransformerUri sets the RecommendationTransformerUri field's value.
15691func (s *CreateRecommenderConfiguration) SetRecommendationTransformerUri(v string) *CreateRecommenderConfiguration {
15692	s.RecommendationTransformerUri = &v
15693	return s
15694}
15695
15696// SetRecommendationsDisplayName sets the RecommendationsDisplayName field's value.
15697func (s *CreateRecommenderConfiguration) SetRecommendationsDisplayName(v string) *CreateRecommenderConfiguration {
15698	s.RecommendationsDisplayName = &v
15699	return s
15700}
15701
15702// SetRecommendationsPerMessage sets the RecommendationsPerMessage field's value.
15703func (s *CreateRecommenderConfiguration) SetRecommendationsPerMessage(v int64) *CreateRecommenderConfiguration {
15704	s.RecommendationsPerMessage = &v
15705	return s
15706}
15707
15708type CreateRecommenderConfigurationInput struct {
15709	_ struct{} `type:"structure" payload:"CreateRecommenderConfiguration"`
15710
15711	// Specifies Amazon Pinpoint configuration settings for retrieving and processing
15712	// recommendation data from a recommender model.
15713	//
15714	// CreateRecommenderConfiguration is a required field
15715	CreateRecommenderConfiguration *CreateRecommenderConfiguration `type:"structure" required:"true"`
15716}
15717
15718// String returns the string representation
15719func (s CreateRecommenderConfigurationInput) String() string {
15720	return awsutil.Prettify(s)
15721}
15722
15723// GoString returns the string representation
15724func (s CreateRecommenderConfigurationInput) GoString() string {
15725	return s.String()
15726}
15727
15728// Validate inspects the fields of the type to determine if they are valid.
15729func (s *CreateRecommenderConfigurationInput) Validate() error {
15730	invalidParams := request.ErrInvalidParams{Context: "CreateRecommenderConfigurationInput"}
15731	if s.CreateRecommenderConfiguration == nil {
15732		invalidParams.Add(request.NewErrParamRequired("CreateRecommenderConfiguration"))
15733	}
15734	if s.CreateRecommenderConfiguration != nil {
15735		if err := s.CreateRecommenderConfiguration.Validate(); err != nil {
15736			invalidParams.AddNested("CreateRecommenderConfiguration", err.(request.ErrInvalidParams))
15737		}
15738	}
15739
15740	if invalidParams.Len() > 0 {
15741		return invalidParams
15742	}
15743	return nil
15744}
15745
15746// SetCreateRecommenderConfiguration sets the CreateRecommenderConfiguration field's value.
15747func (s *CreateRecommenderConfigurationInput) SetCreateRecommenderConfiguration(v *CreateRecommenderConfiguration) *CreateRecommenderConfigurationInput {
15748	s.CreateRecommenderConfiguration = v
15749	return s
15750}
15751
15752type CreateRecommenderConfigurationOutput struct {
15753	_ struct{} `type:"structure" payload:"RecommenderConfigurationResponse"`
15754
15755	// Provides information about Amazon Pinpoint configuration settings for retrieving
15756	// and processing data from a recommender model.
15757	//
15758	// RecommenderConfigurationResponse is a required field
15759	RecommenderConfigurationResponse *RecommenderConfigurationResponse `type:"structure" required:"true"`
15760}
15761
15762// String returns the string representation
15763func (s CreateRecommenderConfigurationOutput) String() string {
15764	return awsutil.Prettify(s)
15765}
15766
15767// GoString returns the string representation
15768func (s CreateRecommenderConfigurationOutput) GoString() string {
15769	return s.String()
15770}
15771
15772// SetRecommenderConfigurationResponse sets the RecommenderConfigurationResponse field's value.
15773func (s *CreateRecommenderConfigurationOutput) SetRecommenderConfigurationResponse(v *RecommenderConfigurationResponse) *CreateRecommenderConfigurationOutput {
15774	s.RecommenderConfigurationResponse = v
15775	return s
15776}
15777
15778type CreateSegmentInput struct {
15779	_ struct{} `type:"structure" payload:"WriteSegmentRequest"`
15780
15781	// ApplicationId is a required field
15782	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15783
15784	// Specifies the configuration, dimension, and other settings for a segment.
15785	// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
15786	// object, but not both.
15787	//
15788	// WriteSegmentRequest is a required field
15789	WriteSegmentRequest *WriteSegmentRequest `type:"structure" required:"true"`
15790}
15791
15792// String returns the string representation
15793func (s CreateSegmentInput) String() string {
15794	return awsutil.Prettify(s)
15795}
15796
15797// GoString returns the string representation
15798func (s CreateSegmentInput) GoString() string {
15799	return s.String()
15800}
15801
15802// Validate inspects the fields of the type to determine if they are valid.
15803func (s *CreateSegmentInput) Validate() error {
15804	invalidParams := request.ErrInvalidParams{Context: "CreateSegmentInput"}
15805	if s.ApplicationId == nil {
15806		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15807	}
15808	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15809		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15810	}
15811	if s.WriteSegmentRequest == nil {
15812		invalidParams.Add(request.NewErrParamRequired("WriteSegmentRequest"))
15813	}
15814	if s.WriteSegmentRequest != nil {
15815		if err := s.WriteSegmentRequest.Validate(); err != nil {
15816			invalidParams.AddNested("WriteSegmentRequest", err.(request.ErrInvalidParams))
15817		}
15818	}
15819
15820	if invalidParams.Len() > 0 {
15821		return invalidParams
15822	}
15823	return nil
15824}
15825
15826// SetApplicationId sets the ApplicationId field's value.
15827func (s *CreateSegmentInput) SetApplicationId(v string) *CreateSegmentInput {
15828	s.ApplicationId = &v
15829	return s
15830}
15831
15832// SetWriteSegmentRequest sets the WriteSegmentRequest field's value.
15833func (s *CreateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *CreateSegmentInput {
15834	s.WriteSegmentRequest = v
15835	return s
15836}
15837
15838type CreateSegmentOutput struct {
15839	_ struct{} `type:"structure" payload:"SegmentResponse"`
15840
15841	// Provides information about the configuration, dimension, and other settings
15842	// for a segment.
15843	//
15844	// SegmentResponse is a required field
15845	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
15846}
15847
15848// String returns the string representation
15849func (s CreateSegmentOutput) String() string {
15850	return awsutil.Prettify(s)
15851}
15852
15853// GoString returns the string representation
15854func (s CreateSegmentOutput) GoString() string {
15855	return s.String()
15856}
15857
15858// SetSegmentResponse sets the SegmentResponse field's value.
15859func (s *CreateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *CreateSegmentOutput {
15860	s.SegmentResponse = v
15861	return s
15862}
15863
15864type CreateSmsTemplateInput struct {
15865	_ struct{} `type:"structure" payload:"SMSTemplateRequest"`
15866
15867	// Specifies the content and settings for a message template that can be used
15868	// in text messages that are sent through the SMS channel.
15869	//
15870	// SMSTemplateRequest is a required field
15871	SMSTemplateRequest *SMSTemplateRequest `type:"structure" required:"true"`
15872
15873	// TemplateName is a required field
15874	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
15875}
15876
15877// String returns the string representation
15878func (s CreateSmsTemplateInput) String() string {
15879	return awsutil.Prettify(s)
15880}
15881
15882// GoString returns the string representation
15883func (s CreateSmsTemplateInput) GoString() string {
15884	return s.String()
15885}
15886
15887// Validate inspects the fields of the type to determine if they are valid.
15888func (s *CreateSmsTemplateInput) Validate() error {
15889	invalidParams := request.ErrInvalidParams{Context: "CreateSmsTemplateInput"}
15890	if s.SMSTemplateRequest == nil {
15891		invalidParams.Add(request.NewErrParamRequired("SMSTemplateRequest"))
15892	}
15893	if s.TemplateName == nil {
15894		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
15895	}
15896	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
15897		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
15898	}
15899
15900	if invalidParams.Len() > 0 {
15901		return invalidParams
15902	}
15903	return nil
15904}
15905
15906// SetSMSTemplateRequest sets the SMSTemplateRequest field's value.
15907func (s *CreateSmsTemplateInput) SetSMSTemplateRequest(v *SMSTemplateRequest) *CreateSmsTemplateInput {
15908	s.SMSTemplateRequest = v
15909	return s
15910}
15911
15912// SetTemplateName sets the TemplateName field's value.
15913func (s *CreateSmsTemplateInput) SetTemplateName(v string) *CreateSmsTemplateInput {
15914	s.TemplateName = &v
15915	return s
15916}
15917
15918type CreateSmsTemplateOutput struct {
15919	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
15920
15921	// Provides information about a request to create a message template.
15922	//
15923	// CreateTemplateMessageBody is a required field
15924	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
15925}
15926
15927// String returns the string representation
15928func (s CreateSmsTemplateOutput) String() string {
15929	return awsutil.Prettify(s)
15930}
15931
15932// GoString returns the string representation
15933func (s CreateSmsTemplateOutput) GoString() string {
15934	return s.String()
15935}
15936
15937// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
15938func (s *CreateSmsTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateSmsTemplateOutput {
15939	s.CreateTemplateMessageBody = v
15940	return s
15941}
15942
15943// Provides information about a request to create a message template.
15944type CreateTemplateMessageBody struct {
15945	_ struct{} `type:"structure"`
15946
15947	// The Amazon Resource Name (ARN) of the message template that was created.
15948	Arn *string `type:"string"`
15949
15950	// The message that's returned from the API for the request to create the message
15951	// template.
15952	Message *string `type:"string"`
15953
15954	// The unique identifier for the request to create the message template.
15955	RequestID *string `type:"string"`
15956}
15957
15958// String returns the string representation
15959func (s CreateTemplateMessageBody) String() string {
15960	return awsutil.Prettify(s)
15961}
15962
15963// GoString returns the string representation
15964func (s CreateTemplateMessageBody) GoString() string {
15965	return s.String()
15966}
15967
15968// SetArn sets the Arn field's value.
15969func (s *CreateTemplateMessageBody) SetArn(v string) *CreateTemplateMessageBody {
15970	s.Arn = &v
15971	return s
15972}
15973
15974// SetMessage sets the Message field's value.
15975func (s *CreateTemplateMessageBody) SetMessage(v string) *CreateTemplateMessageBody {
15976	s.Message = &v
15977	return s
15978}
15979
15980// SetRequestID sets the RequestID field's value.
15981func (s *CreateTemplateMessageBody) SetRequestID(v string) *CreateTemplateMessageBody {
15982	s.RequestID = &v
15983	return s
15984}
15985
15986type CreateVoiceTemplateInput struct {
15987	_ struct{} `type:"structure" payload:"VoiceTemplateRequest"`
15988
15989	// TemplateName is a required field
15990	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
15991
15992	// Specifies the content and settings for a message template that can be used
15993	// in messages that are sent through the voice channel.
15994	//
15995	// VoiceTemplateRequest is a required field
15996	VoiceTemplateRequest *VoiceTemplateRequest `type:"structure" required:"true"`
15997}
15998
15999// String returns the string representation
16000func (s CreateVoiceTemplateInput) String() string {
16001	return awsutil.Prettify(s)
16002}
16003
16004// GoString returns the string representation
16005func (s CreateVoiceTemplateInput) GoString() string {
16006	return s.String()
16007}
16008
16009// Validate inspects the fields of the type to determine if they are valid.
16010func (s *CreateVoiceTemplateInput) Validate() error {
16011	invalidParams := request.ErrInvalidParams{Context: "CreateVoiceTemplateInput"}
16012	if s.TemplateName == nil {
16013		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
16014	}
16015	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
16016		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
16017	}
16018	if s.VoiceTemplateRequest == nil {
16019		invalidParams.Add(request.NewErrParamRequired("VoiceTemplateRequest"))
16020	}
16021
16022	if invalidParams.Len() > 0 {
16023		return invalidParams
16024	}
16025	return nil
16026}
16027
16028// SetTemplateName sets the TemplateName field's value.
16029func (s *CreateVoiceTemplateInput) SetTemplateName(v string) *CreateVoiceTemplateInput {
16030	s.TemplateName = &v
16031	return s
16032}
16033
16034// SetVoiceTemplateRequest sets the VoiceTemplateRequest field's value.
16035func (s *CreateVoiceTemplateInput) SetVoiceTemplateRequest(v *VoiceTemplateRequest) *CreateVoiceTemplateInput {
16036	s.VoiceTemplateRequest = v
16037	return s
16038}
16039
16040type CreateVoiceTemplateOutput struct {
16041	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
16042
16043	// Provides information about a request to create a message template.
16044	//
16045	// CreateTemplateMessageBody is a required field
16046	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
16047}
16048
16049// String returns the string representation
16050func (s CreateVoiceTemplateOutput) String() string {
16051	return awsutil.Prettify(s)
16052}
16053
16054// GoString returns the string representation
16055func (s CreateVoiceTemplateOutput) GoString() string {
16056	return s.String()
16057}
16058
16059// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
16060func (s *CreateVoiceTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateVoiceTemplateOutput {
16061	s.CreateTemplateMessageBody = v
16062	return s
16063}
16064
16065// Specifies the delivery configuration settings for sending a campaign or campaign
16066// treatment through a custom channel. This object is required if you use the
16067// CampaignCustomMessage object to define the message to send for the campaign
16068// or campaign treatment.
16069type CustomDeliveryConfiguration struct {
16070	_ struct{} `type:"structure"`
16071
16072	// The destination to send the campaign or treatment to. This value can be one
16073	// of the following:
16074	//
16075	//    * The name or Amazon Resource Name (ARN) of an AWS Lambda function to
16076	//    invoke to handle delivery of the campaign or treatment.
16077	//
16078	//    * The URL for a web application or service that supports HTTPS and can
16079	//    receive the message. The URL has to be a full URL, including the HTTPS
16080	//    protocol.
16081	//
16082	// DeliveryUri is a required field
16083	DeliveryUri *string `type:"string" required:"true"`
16084
16085	// The types of endpoints to send the campaign or treatment to. Each valid value
16086	// maps to a type of channel that you can associate with an endpoint by using
16087	// the ChannelType property of an endpoint.
16088	EndpointTypes []*string `type:"list"`
16089}
16090
16091// String returns the string representation
16092func (s CustomDeliveryConfiguration) String() string {
16093	return awsutil.Prettify(s)
16094}
16095
16096// GoString returns the string representation
16097func (s CustomDeliveryConfiguration) GoString() string {
16098	return s.String()
16099}
16100
16101// Validate inspects the fields of the type to determine if they are valid.
16102func (s *CustomDeliveryConfiguration) Validate() error {
16103	invalidParams := request.ErrInvalidParams{Context: "CustomDeliveryConfiguration"}
16104	if s.DeliveryUri == nil {
16105		invalidParams.Add(request.NewErrParamRequired("DeliveryUri"))
16106	}
16107
16108	if invalidParams.Len() > 0 {
16109		return invalidParams
16110	}
16111	return nil
16112}
16113
16114// SetDeliveryUri sets the DeliveryUri field's value.
16115func (s *CustomDeliveryConfiguration) SetDeliveryUri(v string) *CustomDeliveryConfiguration {
16116	s.DeliveryUri = &v
16117	return s
16118}
16119
16120// SetEndpointTypes sets the EndpointTypes field's value.
16121func (s *CustomDeliveryConfiguration) SetEndpointTypes(v []*string) *CustomDeliveryConfiguration {
16122	s.EndpointTypes = v
16123	return s
16124}
16125
16126// The settings for a custom message activity. This type of activity calls an
16127// AWS Lambda function or web hook that sends messages to participants.
16128type CustomMessageActivity struct {
16129	_ struct{} `type:"structure"`
16130
16131	// The destination to send the campaign or treatment to. This value can be one
16132	// of the following:
16133	//
16134	//    * The name or Amazon Resource Name (ARN) of an AWS Lambda function to
16135	//    invoke to handle delivery of the campaign or treatment.
16136	//
16137	//    * The URL for a web application or service that supports HTTPS and can
16138	//    receive the message. The URL has to be a full URL, including the HTTPS
16139	//    protocol.
16140	DeliveryUri *string `type:"string"`
16141
16142	// The types of endpoints to send the custom message to. Each valid value maps
16143	// to a type of channel that you can associate with an endpoint by using the
16144	// ChannelType property of an endpoint.
16145	EndpointTypes []*string `type:"list"`
16146
16147	// Specifies the message data included in a custom channel message that's sent
16148	// to participants in a journey.
16149	MessageConfig *JourneyCustomMessage `type:"structure"`
16150
16151	// The unique identifier for the next activity to perform, after Amazon Pinpoint
16152	// calls the AWS Lambda function or web hook.
16153	NextActivity *string `type:"string"`
16154
16155	// The name of the custom message template to use for the message. If specified,
16156	// this value must match the name of an existing message template.
16157	TemplateName *string `type:"string"`
16158
16159	// The unique identifier for the version of the message template to use for
16160	// the message. If specified, this value must match the identifier for an existing
16161	// template version. To retrieve a list of versions and version identifiers
16162	// for a template, use the Template Versions resource.
16163	//
16164	// If you don't specify a value for this property, Amazon Pinpoint uses the
16165	// active version of the template. The active version is typically the version
16166	// of a template that's been most recently reviewed and approved for use, depending
16167	// on your workflow. It isn't necessarily the latest version of a template.
16168	TemplateVersion *string `type:"string"`
16169}
16170
16171// String returns the string representation
16172func (s CustomMessageActivity) String() string {
16173	return awsutil.Prettify(s)
16174}
16175
16176// GoString returns the string representation
16177func (s CustomMessageActivity) GoString() string {
16178	return s.String()
16179}
16180
16181// SetDeliveryUri sets the DeliveryUri field's value.
16182func (s *CustomMessageActivity) SetDeliveryUri(v string) *CustomMessageActivity {
16183	s.DeliveryUri = &v
16184	return s
16185}
16186
16187// SetEndpointTypes sets the EndpointTypes field's value.
16188func (s *CustomMessageActivity) SetEndpointTypes(v []*string) *CustomMessageActivity {
16189	s.EndpointTypes = v
16190	return s
16191}
16192
16193// SetMessageConfig sets the MessageConfig field's value.
16194func (s *CustomMessageActivity) SetMessageConfig(v *JourneyCustomMessage) *CustomMessageActivity {
16195	s.MessageConfig = v
16196	return s
16197}
16198
16199// SetNextActivity sets the NextActivity field's value.
16200func (s *CustomMessageActivity) SetNextActivity(v string) *CustomMessageActivity {
16201	s.NextActivity = &v
16202	return s
16203}
16204
16205// SetTemplateName sets the TemplateName field's value.
16206func (s *CustomMessageActivity) SetTemplateName(v string) *CustomMessageActivity {
16207	s.TemplateName = &v
16208	return s
16209}
16210
16211// SetTemplateVersion sets the TemplateVersion field's value.
16212func (s *CustomMessageActivity) SetTemplateVersion(v string) *CustomMessageActivity {
16213	s.TemplateVersion = &v
16214	return s
16215}
16216
16217// Specifies the default message for all channels.
16218type DefaultMessage struct {
16219	_ struct{} `type:"structure"`
16220
16221	// The default body of the message.
16222	Body *string `type:"string"`
16223
16224	// The default message variables to use in the message. You can override these
16225	// default variables with individual address variables.
16226	Substitutions map[string][]*string `type:"map"`
16227}
16228
16229// String returns the string representation
16230func (s DefaultMessage) String() string {
16231	return awsutil.Prettify(s)
16232}
16233
16234// GoString returns the string representation
16235func (s DefaultMessage) GoString() string {
16236	return s.String()
16237}
16238
16239// SetBody sets the Body field's value.
16240func (s *DefaultMessage) SetBody(v string) *DefaultMessage {
16241	s.Body = &v
16242	return s
16243}
16244
16245// SetSubstitutions sets the Substitutions field's value.
16246func (s *DefaultMessage) SetSubstitutions(v map[string][]*string) *DefaultMessage {
16247	s.Substitutions = v
16248	return s
16249}
16250
16251// Specifies the default settings and content for a push notification that's
16252// sent directly to an endpoint.
16253type DefaultPushNotificationMessage struct {
16254	_ struct{} `type:"structure"`
16255
16256	// The default action to occur if a recipient taps the push notification. Valid
16257	// values are:
16258	//
16259	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
16260	//    sent to the background. This is the default action.
16261	//
16262	//    * DEEP_LINK - Your app opens and displays a designated user interface
16263	//    in the app. This setting uses the deep-linking features of the iOS and
16264	//    Android platforms.
16265	//
16266	//    * URL - The default mobile browser on the recipient's device opens and
16267	//    loads the web page at a URL that you specify.
16268	Action *string `type:"string" enum:"Action"`
16269
16270	// The default body of the notification message.
16271	Body *string `type:"string"`
16272
16273	// The JSON data payload to use for the default push notification, if the notification
16274	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
16275	// object of the notification.
16276	Data map[string]*string `type:"map"`
16277
16278	// Specifies whether the default notification is a silent push notification,
16279	// which is a push notification that doesn't display on a recipient's device.
16280	// Silent push notifications can be used for cases such as updating an app's
16281	// configuration or delivering messages to an in-app notification center.
16282	SilentPush *bool `type:"boolean"`
16283
16284	// The default message variables to use in the notification message. You can
16285	// override the default variables with individual address variables.
16286	Substitutions map[string][]*string `type:"map"`
16287
16288	// The default title to display above the notification message on a recipient's
16289	// device.
16290	Title *string `type:"string"`
16291
16292	// The default URL to open in a recipient's default mobile browser, if a recipient
16293	// taps the push notification and the value of the Action property is URL.
16294	Url *string `type:"string"`
16295}
16296
16297// String returns the string representation
16298func (s DefaultPushNotificationMessage) String() string {
16299	return awsutil.Prettify(s)
16300}
16301
16302// GoString returns the string representation
16303func (s DefaultPushNotificationMessage) GoString() string {
16304	return s.String()
16305}
16306
16307// SetAction sets the Action field's value.
16308func (s *DefaultPushNotificationMessage) SetAction(v string) *DefaultPushNotificationMessage {
16309	s.Action = &v
16310	return s
16311}
16312
16313// SetBody sets the Body field's value.
16314func (s *DefaultPushNotificationMessage) SetBody(v string) *DefaultPushNotificationMessage {
16315	s.Body = &v
16316	return s
16317}
16318
16319// SetData sets the Data field's value.
16320func (s *DefaultPushNotificationMessage) SetData(v map[string]*string) *DefaultPushNotificationMessage {
16321	s.Data = v
16322	return s
16323}
16324
16325// SetSilentPush sets the SilentPush field's value.
16326func (s *DefaultPushNotificationMessage) SetSilentPush(v bool) *DefaultPushNotificationMessage {
16327	s.SilentPush = &v
16328	return s
16329}
16330
16331// SetSubstitutions sets the Substitutions field's value.
16332func (s *DefaultPushNotificationMessage) SetSubstitutions(v map[string][]*string) *DefaultPushNotificationMessage {
16333	s.Substitutions = v
16334	return s
16335}
16336
16337// SetTitle sets the Title field's value.
16338func (s *DefaultPushNotificationMessage) SetTitle(v string) *DefaultPushNotificationMessage {
16339	s.Title = &v
16340	return s
16341}
16342
16343// SetUrl sets the Url field's value.
16344func (s *DefaultPushNotificationMessage) SetUrl(v string) *DefaultPushNotificationMessage {
16345	s.Url = &v
16346	return s
16347}
16348
16349// Specifies the default settings and content for a message template that can
16350// be used in messages that are sent through a push notification channel.
16351type DefaultPushNotificationTemplate struct {
16352	_ struct{} `type:"structure"`
16353
16354	// The action to occur if a recipient taps a push notification that's based
16355	// on the message template. Valid values are:
16356	//
16357	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
16358	//    sent to the background. This is the default action.
16359	//
16360	//    * DEEP_LINK - Your app opens and displays a designated user interface
16361	//    in the app. This setting uses the deep-linking features of the iOS and
16362	//    Android platforms.
16363	//
16364	//    * URL - The default mobile browser on the recipient's device opens and
16365	//    loads the web page at a URL that you specify.
16366	Action *string `type:"string" enum:"Action"`
16367
16368	// The message body to use in push notifications that are based on the message
16369	// template.
16370	Body *string `type:"string"`
16371
16372	// The sound to play when a recipient receives a push notification that's based
16373	// on the message template. You can use the default stream or specify the file
16374	// name of a sound resource that's bundled in your app. On an Android platform,
16375	// the sound file must reside in /res/raw/.
16376	//
16377	// For an iOS platform, this value is the key for the name of a sound file in
16378	// your app's main bundle or the Library/Sounds folder in your app's data container.
16379	// If the sound file can't be found or you specify default for the value, the
16380	// system plays the default alert sound.
16381	Sound *string `type:"string"`
16382
16383	// The title to use in push notifications that are based on the message template.
16384	// This title appears above the notification message on a recipient's device.
16385	Title *string `type:"string"`
16386
16387	// The URL to open in a recipient's default mobile browser, if a recipient taps
16388	// a push notification that's based on the message template and the value of
16389	// the Action property is URL.
16390	Url *string `type:"string"`
16391}
16392
16393// String returns the string representation
16394func (s DefaultPushNotificationTemplate) String() string {
16395	return awsutil.Prettify(s)
16396}
16397
16398// GoString returns the string representation
16399func (s DefaultPushNotificationTemplate) GoString() string {
16400	return s.String()
16401}
16402
16403// SetAction sets the Action field's value.
16404func (s *DefaultPushNotificationTemplate) SetAction(v string) *DefaultPushNotificationTemplate {
16405	s.Action = &v
16406	return s
16407}
16408
16409// SetBody sets the Body field's value.
16410func (s *DefaultPushNotificationTemplate) SetBody(v string) *DefaultPushNotificationTemplate {
16411	s.Body = &v
16412	return s
16413}
16414
16415// SetSound sets the Sound field's value.
16416func (s *DefaultPushNotificationTemplate) SetSound(v string) *DefaultPushNotificationTemplate {
16417	s.Sound = &v
16418	return s
16419}
16420
16421// SetTitle sets the Title field's value.
16422func (s *DefaultPushNotificationTemplate) SetTitle(v string) *DefaultPushNotificationTemplate {
16423	s.Title = &v
16424	return s
16425}
16426
16427// SetUrl sets the Url field's value.
16428func (s *DefaultPushNotificationTemplate) SetUrl(v string) *DefaultPushNotificationTemplate {
16429	s.Url = &v
16430	return s
16431}
16432
16433type DeleteAdmChannelInput struct {
16434	_ struct{} `type:"structure"`
16435
16436	// ApplicationId is a required field
16437	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16438}
16439
16440// String returns the string representation
16441func (s DeleteAdmChannelInput) String() string {
16442	return awsutil.Prettify(s)
16443}
16444
16445// GoString returns the string representation
16446func (s DeleteAdmChannelInput) GoString() string {
16447	return s.String()
16448}
16449
16450// Validate inspects the fields of the type to determine if they are valid.
16451func (s *DeleteAdmChannelInput) Validate() error {
16452	invalidParams := request.ErrInvalidParams{Context: "DeleteAdmChannelInput"}
16453	if s.ApplicationId == nil {
16454		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16455	}
16456	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16457		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16458	}
16459
16460	if invalidParams.Len() > 0 {
16461		return invalidParams
16462	}
16463	return nil
16464}
16465
16466// SetApplicationId sets the ApplicationId field's value.
16467func (s *DeleteAdmChannelInput) SetApplicationId(v string) *DeleteAdmChannelInput {
16468	s.ApplicationId = &v
16469	return s
16470}
16471
16472type DeleteAdmChannelOutput struct {
16473	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
16474
16475	// Provides information about the status and settings of the ADM (Amazon Device
16476	// Messaging) channel for an application.
16477	//
16478	// ADMChannelResponse is a required field
16479	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
16480}
16481
16482// String returns the string representation
16483func (s DeleteAdmChannelOutput) String() string {
16484	return awsutil.Prettify(s)
16485}
16486
16487// GoString returns the string representation
16488func (s DeleteAdmChannelOutput) GoString() string {
16489	return s.String()
16490}
16491
16492// SetADMChannelResponse sets the ADMChannelResponse field's value.
16493func (s *DeleteAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *DeleteAdmChannelOutput {
16494	s.ADMChannelResponse = v
16495	return s
16496}
16497
16498type DeleteApnsChannelInput struct {
16499	_ struct{} `type:"structure"`
16500
16501	// ApplicationId is a required field
16502	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16503}
16504
16505// String returns the string representation
16506func (s DeleteApnsChannelInput) String() string {
16507	return awsutil.Prettify(s)
16508}
16509
16510// GoString returns the string representation
16511func (s DeleteApnsChannelInput) GoString() string {
16512	return s.String()
16513}
16514
16515// Validate inspects the fields of the type to determine if they are valid.
16516func (s *DeleteApnsChannelInput) Validate() error {
16517	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsChannelInput"}
16518	if s.ApplicationId == nil {
16519		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16520	}
16521	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16522		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16523	}
16524
16525	if invalidParams.Len() > 0 {
16526		return invalidParams
16527	}
16528	return nil
16529}
16530
16531// SetApplicationId sets the ApplicationId field's value.
16532func (s *DeleteApnsChannelInput) SetApplicationId(v string) *DeleteApnsChannelInput {
16533	s.ApplicationId = &v
16534	return s
16535}
16536
16537type DeleteApnsChannelOutput struct {
16538	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
16539
16540	// Provides information about the status and settings of the APNs (Apple Push
16541	// Notification service) channel for an application.
16542	//
16543	// APNSChannelResponse is a required field
16544	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
16545}
16546
16547// String returns the string representation
16548func (s DeleteApnsChannelOutput) String() string {
16549	return awsutil.Prettify(s)
16550}
16551
16552// GoString returns the string representation
16553func (s DeleteApnsChannelOutput) GoString() string {
16554	return s.String()
16555}
16556
16557// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
16558func (s *DeleteApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *DeleteApnsChannelOutput {
16559	s.APNSChannelResponse = v
16560	return s
16561}
16562
16563type DeleteApnsSandboxChannelInput struct {
16564	_ struct{} `type:"structure"`
16565
16566	// ApplicationId is a required field
16567	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16568}
16569
16570// String returns the string representation
16571func (s DeleteApnsSandboxChannelInput) String() string {
16572	return awsutil.Prettify(s)
16573}
16574
16575// GoString returns the string representation
16576func (s DeleteApnsSandboxChannelInput) GoString() string {
16577	return s.String()
16578}
16579
16580// Validate inspects the fields of the type to determine if they are valid.
16581func (s *DeleteApnsSandboxChannelInput) Validate() error {
16582	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsSandboxChannelInput"}
16583	if s.ApplicationId == nil {
16584		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16585	}
16586	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16587		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16588	}
16589
16590	if invalidParams.Len() > 0 {
16591		return invalidParams
16592	}
16593	return nil
16594}
16595
16596// SetApplicationId sets the ApplicationId field's value.
16597func (s *DeleteApnsSandboxChannelInput) SetApplicationId(v string) *DeleteApnsSandboxChannelInput {
16598	s.ApplicationId = &v
16599	return s
16600}
16601
16602type DeleteApnsSandboxChannelOutput struct {
16603	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
16604
16605	// Provides information about the status and settings of the APNs (Apple Push
16606	// Notification service) sandbox channel for an application.
16607	//
16608	// APNSSandboxChannelResponse is a required field
16609	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
16610}
16611
16612// String returns the string representation
16613func (s DeleteApnsSandboxChannelOutput) String() string {
16614	return awsutil.Prettify(s)
16615}
16616
16617// GoString returns the string representation
16618func (s DeleteApnsSandboxChannelOutput) GoString() string {
16619	return s.String()
16620}
16621
16622// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
16623func (s *DeleteApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *DeleteApnsSandboxChannelOutput {
16624	s.APNSSandboxChannelResponse = v
16625	return s
16626}
16627
16628type DeleteApnsVoipChannelInput struct {
16629	_ struct{} `type:"structure"`
16630
16631	// ApplicationId is a required field
16632	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16633}
16634
16635// String returns the string representation
16636func (s DeleteApnsVoipChannelInput) String() string {
16637	return awsutil.Prettify(s)
16638}
16639
16640// GoString returns the string representation
16641func (s DeleteApnsVoipChannelInput) GoString() string {
16642	return s.String()
16643}
16644
16645// Validate inspects the fields of the type to determine if they are valid.
16646func (s *DeleteApnsVoipChannelInput) Validate() error {
16647	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipChannelInput"}
16648	if s.ApplicationId == nil {
16649		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16650	}
16651	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16652		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16653	}
16654
16655	if invalidParams.Len() > 0 {
16656		return invalidParams
16657	}
16658	return nil
16659}
16660
16661// SetApplicationId sets the ApplicationId field's value.
16662func (s *DeleteApnsVoipChannelInput) SetApplicationId(v string) *DeleteApnsVoipChannelInput {
16663	s.ApplicationId = &v
16664	return s
16665}
16666
16667type DeleteApnsVoipChannelOutput struct {
16668	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
16669
16670	// Provides information about the status and settings of the APNs (Apple Push
16671	// Notification service) VoIP channel for an application.
16672	//
16673	// APNSVoipChannelResponse is a required field
16674	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
16675}
16676
16677// String returns the string representation
16678func (s DeleteApnsVoipChannelOutput) String() string {
16679	return awsutil.Prettify(s)
16680}
16681
16682// GoString returns the string representation
16683func (s DeleteApnsVoipChannelOutput) GoString() string {
16684	return s.String()
16685}
16686
16687// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
16688func (s *DeleteApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *DeleteApnsVoipChannelOutput {
16689	s.APNSVoipChannelResponse = v
16690	return s
16691}
16692
16693type DeleteApnsVoipSandboxChannelInput struct {
16694	_ struct{} `type:"structure"`
16695
16696	// ApplicationId is a required field
16697	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16698}
16699
16700// String returns the string representation
16701func (s DeleteApnsVoipSandboxChannelInput) String() string {
16702	return awsutil.Prettify(s)
16703}
16704
16705// GoString returns the string representation
16706func (s DeleteApnsVoipSandboxChannelInput) GoString() string {
16707	return s.String()
16708}
16709
16710// Validate inspects the fields of the type to determine if they are valid.
16711func (s *DeleteApnsVoipSandboxChannelInput) Validate() error {
16712	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipSandboxChannelInput"}
16713	if s.ApplicationId == nil {
16714		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16715	}
16716	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16717		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16718	}
16719
16720	if invalidParams.Len() > 0 {
16721		return invalidParams
16722	}
16723	return nil
16724}
16725
16726// SetApplicationId sets the ApplicationId field's value.
16727func (s *DeleteApnsVoipSandboxChannelInput) SetApplicationId(v string) *DeleteApnsVoipSandboxChannelInput {
16728	s.ApplicationId = &v
16729	return s
16730}
16731
16732type DeleteApnsVoipSandboxChannelOutput struct {
16733	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
16734
16735	// Provides information about the status and settings of the APNs (Apple Push
16736	// Notification service) VoIP sandbox channel for an application.
16737	//
16738	// APNSVoipSandboxChannelResponse is a required field
16739	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
16740}
16741
16742// String returns the string representation
16743func (s DeleteApnsVoipSandboxChannelOutput) String() string {
16744	return awsutil.Prettify(s)
16745}
16746
16747// GoString returns the string representation
16748func (s DeleteApnsVoipSandboxChannelOutput) GoString() string {
16749	return s.String()
16750}
16751
16752// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
16753func (s *DeleteApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *DeleteApnsVoipSandboxChannelOutput {
16754	s.APNSVoipSandboxChannelResponse = v
16755	return s
16756}
16757
16758type DeleteAppInput struct {
16759	_ struct{} `type:"structure"`
16760
16761	// ApplicationId is a required field
16762	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16763}
16764
16765// String returns the string representation
16766func (s DeleteAppInput) String() string {
16767	return awsutil.Prettify(s)
16768}
16769
16770// GoString returns the string representation
16771func (s DeleteAppInput) GoString() string {
16772	return s.String()
16773}
16774
16775// Validate inspects the fields of the type to determine if they are valid.
16776func (s *DeleteAppInput) Validate() error {
16777	invalidParams := request.ErrInvalidParams{Context: "DeleteAppInput"}
16778	if s.ApplicationId == nil {
16779		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16780	}
16781	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16782		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16783	}
16784
16785	if invalidParams.Len() > 0 {
16786		return invalidParams
16787	}
16788	return nil
16789}
16790
16791// SetApplicationId sets the ApplicationId field's value.
16792func (s *DeleteAppInput) SetApplicationId(v string) *DeleteAppInput {
16793	s.ApplicationId = &v
16794	return s
16795}
16796
16797type DeleteAppOutput struct {
16798	_ struct{} `type:"structure" payload:"ApplicationResponse"`
16799
16800	// Provides information about an application.
16801	//
16802	// ApplicationResponse is a required field
16803	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
16804}
16805
16806// String returns the string representation
16807func (s DeleteAppOutput) String() string {
16808	return awsutil.Prettify(s)
16809}
16810
16811// GoString returns the string representation
16812func (s DeleteAppOutput) GoString() string {
16813	return s.String()
16814}
16815
16816// SetApplicationResponse sets the ApplicationResponse field's value.
16817func (s *DeleteAppOutput) SetApplicationResponse(v *ApplicationResponse) *DeleteAppOutput {
16818	s.ApplicationResponse = v
16819	return s
16820}
16821
16822type DeleteBaiduChannelInput struct {
16823	_ struct{} `type:"structure"`
16824
16825	// ApplicationId is a required field
16826	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16827}
16828
16829// String returns the string representation
16830func (s DeleteBaiduChannelInput) String() string {
16831	return awsutil.Prettify(s)
16832}
16833
16834// GoString returns the string representation
16835func (s DeleteBaiduChannelInput) GoString() string {
16836	return s.String()
16837}
16838
16839// Validate inspects the fields of the type to determine if they are valid.
16840func (s *DeleteBaiduChannelInput) Validate() error {
16841	invalidParams := request.ErrInvalidParams{Context: "DeleteBaiduChannelInput"}
16842	if s.ApplicationId == nil {
16843		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16844	}
16845	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16846		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16847	}
16848
16849	if invalidParams.Len() > 0 {
16850		return invalidParams
16851	}
16852	return nil
16853}
16854
16855// SetApplicationId sets the ApplicationId field's value.
16856func (s *DeleteBaiduChannelInput) SetApplicationId(v string) *DeleteBaiduChannelInput {
16857	s.ApplicationId = &v
16858	return s
16859}
16860
16861type DeleteBaiduChannelOutput struct {
16862	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
16863
16864	// Provides information about the status and settings of the Baidu (Baidu Cloud
16865	// Push) channel for an application.
16866	//
16867	// BaiduChannelResponse is a required field
16868	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
16869}
16870
16871// String returns the string representation
16872func (s DeleteBaiduChannelOutput) String() string {
16873	return awsutil.Prettify(s)
16874}
16875
16876// GoString returns the string representation
16877func (s DeleteBaiduChannelOutput) GoString() string {
16878	return s.String()
16879}
16880
16881// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
16882func (s *DeleteBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *DeleteBaiduChannelOutput {
16883	s.BaiduChannelResponse = v
16884	return s
16885}
16886
16887type DeleteCampaignInput struct {
16888	_ struct{} `type:"structure"`
16889
16890	// ApplicationId is a required field
16891	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16892
16893	// CampaignId is a required field
16894	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
16895}
16896
16897// String returns the string representation
16898func (s DeleteCampaignInput) String() string {
16899	return awsutil.Prettify(s)
16900}
16901
16902// GoString returns the string representation
16903func (s DeleteCampaignInput) GoString() string {
16904	return s.String()
16905}
16906
16907// Validate inspects the fields of the type to determine if they are valid.
16908func (s *DeleteCampaignInput) Validate() error {
16909	invalidParams := request.ErrInvalidParams{Context: "DeleteCampaignInput"}
16910	if s.ApplicationId == nil {
16911		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16912	}
16913	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16914		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16915	}
16916	if s.CampaignId == nil {
16917		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
16918	}
16919	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
16920		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
16921	}
16922
16923	if invalidParams.Len() > 0 {
16924		return invalidParams
16925	}
16926	return nil
16927}
16928
16929// SetApplicationId sets the ApplicationId field's value.
16930func (s *DeleteCampaignInput) SetApplicationId(v string) *DeleteCampaignInput {
16931	s.ApplicationId = &v
16932	return s
16933}
16934
16935// SetCampaignId sets the CampaignId field's value.
16936func (s *DeleteCampaignInput) SetCampaignId(v string) *DeleteCampaignInput {
16937	s.CampaignId = &v
16938	return s
16939}
16940
16941type DeleteCampaignOutput struct {
16942	_ struct{} `type:"structure" payload:"CampaignResponse"`
16943
16944	// Provides information about the status, configuration, and other settings
16945	// for a campaign.
16946	//
16947	// CampaignResponse is a required field
16948	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
16949}
16950
16951// String returns the string representation
16952func (s DeleteCampaignOutput) String() string {
16953	return awsutil.Prettify(s)
16954}
16955
16956// GoString returns the string representation
16957func (s DeleteCampaignOutput) GoString() string {
16958	return s.String()
16959}
16960
16961// SetCampaignResponse sets the CampaignResponse field's value.
16962func (s *DeleteCampaignOutput) SetCampaignResponse(v *CampaignResponse) *DeleteCampaignOutput {
16963	s.CampaignResponse = v
16964	return s
16965}
16966
16967type DeleteEmailChannelInput struct {
16968	_ struct{} `type:"structure"`
16969
16970	// ApplicationId is a required field
16971	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16972}
16973
16974// String returns the string representation
16975func (s DeleteEmailChannelInput) String() string {
16976	return awsutil.Prettify(s)
16977}
16978
16979// GoString returns the string representation
16980func (s DeleteEmailChannelInput) GoString() string {
16981	return s.String()
16982}
16983
16984// Validate inspects the fields of the type to determine if they are valid.
16985func (s *DeleteEmailChannelInput) Validate() error {
16986	invalidParams := request.ErrInvalidParams{Context: "DeleteEmailChannelInput"}
16987	if s.ApplicationId == nil {
16988		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16989	}
16990	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16991		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16992	}
16993
16994	if invalidParams.Len() > 0 {
16995		return invalidParams
16996	}
16997	return nil
16998}
16999
17000// SetApplicationId sets the ApplicationId field's value.
17001func (s *DeleteEmailChannelInput) SetApplicationId(v string) *DeleteEmailChannelInput {
17002	s.ApplicationId = &v
17003	return s
17004}
17005
17006type DeleteEmailChannelOutput struct {
17007	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
17008
17009	// Provides information about the status and settings of the email channel for
17010	// an application.
17011	//
17012	// EmailChannelResponse is a required field
17013	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
17014}
17015
17016// String returns the string representation
17017func (s DeleteEmailChannelOutput) String() string {
17018	return awsutil.Prettify(s)
17019}
17020
17021// GoString returns the string representation
17022func (s DeleteEmailChannelOutput) GoString() string {
17023	return s.String()
17024}
17025
17026// SetEmailChannelResponse sets the EmailChannelResponse field's value.
17027func (s *DeleteEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *DeleteEmailChannelOutput {
17028	s.EmailChannelResponse = v
17029	return s
17030}
17031
17032type DeleteEmailTemplateInput struct {
17033	_ struct{} `type:"structure"`
17034
17035	// TemplateName is a required field
17036	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
17037
17038	Version *string `location:"querystring" locationName:"version" type:"string"`
17039}
17040
17041// String returns the string representation
17042func (s DeleteEmailTemplateInput) String() string {
17043	return awsutil.Prettify(s)
17044}
17045
17046// GoString returns the string representation
17047func (s DeleteEmailTemplateInput) GoString() string {
17048	return s.String()
17049}
17050
17051// Validate inspects the fields of the type to determine if they are valid.
17052func (s *DeleteEmailTemplateInput) Validate() error {
17053	invalidParams := request.ErrInvalidParams{Context: "DeleteEmailTemplateInput"}
17054	if s.TemplateName == nil {
17055		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
17056	}
17057	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
17058		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
17059	}
17060
17061	if invalidParams.Len() > 0 {
17062		return invalidParams
17063	}
17064	return nil
17065}
17066
17067// SetTemplateName sets the TemplateName field's value.
17068func (s *DeleteEmailTemplateInput) SetTemplateName(v string) *DeleteEmailTemplateInput {
17069	s.TemplateName = &v
17070	return s
17071}
17072
17073// SetVersion sets the Version field's value.
17074func (s *DeleteEmailTemplateInput) SetVersion(v string) *DeleteEmailTemplateInput {
17075	s.Version = &v
17076	return s
17077}
17078
17079type DeleteEmailTemplateOutput struct {
17080	_ struct{} `type:"structure" payload:"MessageBody"`
17081
17082	// Provides information about an API request or response.
17083	//
17084	// MessageBody is a required field
17085	MessageBody *MessageBody `type:"structure" required:"true"`
17086}
17087
17088// String returns the string representation
17089func (s DeleteEmailTemplateOutput) String() string {
17090	return awsutil.Prettify(s)
17091}
17092
17093// GoString returns the string representation
17094func (s DeleteEmailTemplateOutput) GoString() string {
17095	return s.String()
17096}
17097
17098// SetMessageBody sets the MessageBody field's value.
17099func (s *DeleteEmailTemplateOutput) SetMessageBody(v *MessageBody) *DeleteEmailTemplateOutput {
17100	s.MessageBody = v
17101	return s
17102}
17103
17104type DeleteEndpointInput struct {
17105	_ struct{} `type:"structure"`
17106
17107	// ApplicationId is a required field
17108	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17109
17110	// EndpointId is a required field
17111	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
17112}
17113
17114// String returns the string representation
17115func (s DeleteEndpointInput) String() string {
17116	return awsutil.Prettify(s)
17117}
17118
17119// GoString returns the string representation
17120func (s DeleteEndpointInput) GoString() string {
17121	return s.String()
17122}
17123
17124// Validate inspects the fields of the type to determine if they are valid.
17125func (s *DeleteEndpointInput) Validate() error {
17126	invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointInput"}
17127	if s.ApplicationId == nil {
17128		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17129	}
17130	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17131		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17132	}
17133	if s.EndpointId == nil {
17134		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
17135	}
17136	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
17137		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
17138	}
17139
17140	if invalidParams.Len() > 0 {
17141		return invalidParams
17142	}
17143	return nil
17144}
17145
17146// SetApplicationId sets the ApplicationId field's value.
17147func (s *DeleteEndpointInput) SetApplicationId(v string) *DeleteEndpointInput {
17148	s.ApplicationId = &v
17149	return s
17150}
17151
17152// SetEndpointId sets the EndpointId field's value.
17153func (s *DeleteEndpointInput) SetEndpointId(v string) *DeleteEndpointInput {
17154	s.EndpointId = &v
17155	return s
17156}
17157
17158type DeleteEndpointOutput struct {
17159	_ struct{} `type:"structure" payload:"EndpointResponse"`
17160
17161	// Provides information about the channel type and other settings for an endpoint.
17162	//
17163	// EndpointResponse is a required field
17164	EndpointResponse *EndpointResponse `type:"structure" required:"true"`
17165}
17166
17167// String returns the string representation
17168func (s DeleteEndpointOutput) String() string {
17169	return awsutil.Prettify(s)
17170}
17171
17172// GoString returns the string representation
17173func (s DeleteEndpointOutput) GoString() string {
17174	return s.String()
17175}
17176
17177// SetEndpointResponse sets the EndpointResponse field's value.
17178func (s *DeleteEndpointOutput) SetEndpointResponse(v *EndpointResponse) *DeleteEndpointOutput {
17179	s.EndpointResponse = v
17180	return s
17181}
17182
17183type DeleteEventStreamInput struct {
17184	_ struct{} `type:"structure"`
17185
17186	// ApplicationId is a required field
17187	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17188}
17189
17190// String returns the string representation
17191func (s DeleteEventStreamInput) String() string {
17192	return awsutil.Prettify(s)
17193}
17194
17195// GoString returns the string representation
17196func (s DeleteEventStreamInput) GoString() string {
17197	return s.String()
17198}
17199
17200// Validate inspects the fields of the type to determine if they are valid.
17201func (s *DeleteEventStreamInput) Validate() error {
17202	invalidParams := request.ErrInvalidParams{Context: "DeleteEventStreamInput"}
17203	if s.ApplicationId == nil {
17204		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17205	}
17206	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17207		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17208	}
17209
17210	if invalidParams.Len() > 0 {
17211		return invalidParams
17212	}
17213	return nil
17214}
17215
17216// SetApplicationId sets the ApplicationId field's value.
17217func (s *DeleteEventStreamInput) SetApplicationId(v string) *DeleteEventStreamInput {
17218	s.ApplicationId = &v
17219	return s
17220}
17221
17222type DeleteEventStreamOutput struct {
17223	_ struct{} `type:"structure" payload:"EventStream"`
17224
17225	// Specifies settings for publishing event data to an Amazon Kinesis data stream
17226	// or an Amazon Kinesis Data Firehose delivery stream.
17227	//
17228	// EventStream is a required field
17229	EventStream *EventStream `type:"structure" required:"true"`
17230}
17231
17232// String returns the string representation
17233func (s DeleteEventStreamOutput) String() string {
17234	return awsutil.Prettify(s)
17235}
17236
17237// GoString returns the string representation
17238func (s DeleteEventStreamOutput) GoString() string {
17239	return s.String()
17240}
17241
17242// SetEventStream sets the EventStream field's value.
17243func (s *DeleteEventStreamOutput) SetEventStream(v *EventStream) *DeleteEventStreamOutput {
17244	s.EventStream = v
17245	return s
17246}
17247
17248type DeleteGcmChannelInput struct {
17249	_ struct{} `type:"structure"`
17250
17251	// ApplicationId is a required field
17252	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17253}
17254
17255// String returns the string representation
17256func (s DeleteGcmChannelInput) String() string {
17257	return awsutil.Prettify(s)
17258}
17259
17260// GoString returns the string representation
17261func (s DeleteGcmChannelInput) GoString() string {
17262	return s.String()
17263}
17264
17265// Validate inspects the fields of the type to determine if they are valid.
17266func (s *DeleteGcmChannelInput) Validate() error {
17267	invalidParams := request.ErrInvalidParams{Context: "DeleteGcmChannelInput"}
17268	if s.ApplicationId == nil {
17269		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17270	}
17271	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17272		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17273	}
17274
17275	if invalidParams.Len() > 0 {
17276		return invalidParams
17277	}
17278	return nil
17279}
17280
17281// SetApplicationId sets the ApplicationId field's value.
17282func (s *DeleteGcmChannelInput) SetApplicationId(v string) *DeleteGcmChannelInput {
17283	s.ApplicationId = &v
17284	return s
17285}
17286
17287type DeleteGcmChannelOutput struct {
17288	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
17289
17290	// Provides information about the status and settings of the GCM channel for
17291	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
17292	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
17293	// (GCM), service.
17294	//
17295	// GCMChannelResponse is a required field
17296	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
17297}
17298
17299// String returns the string representation
17300func (s DeleteGcmChannelOutput) String() string {
17301	return awsutil.Prettify(s)
17302}
17303
17304// GoString returns the string representation
17305func (s DeleteGcmChannelOutput) GoString() string {
17306	return s.String()
17307}
17308
17309// SetGCMChannelResponse sets the GCMChannelResponse field's value.
17310func (s *DeleteGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *DeleteGcmChannelOutput {
17311	s.GCMChannelResponse = v
17312	return s
17313}
17314
17315type DeleteJourneyInput struct {
17316	_ struct{} `type:"structure"`
17317
17318	// ApplicationId is a required field
17319	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17320
17321	// JourneyId is a required field
17322	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
17323}
17324
17325// String returns the string representation
17326func (s DeleteJourneyInput) String() string {
17327	return awsutil.Prettify(s)
17328}
17329
17330// GoString returns the string representation
17331func (s DeleteJourneyInput) GoString() string {
17332	return s.String()
17333}
17334
17335// Validate inspects the fields of the type to determine if they are valid.
17336func (s *DeleteJourneyInput) Validate() error {
17337	invalidParams := request.ErrInvalidParams{Context: "DeleteJourneyInput"}
17338	if s.ApplicationId == nil {
17339		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17340	}
17341	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17342		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17343	}
17344	if s.JourneyId == nil {
17345		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
17346	}
17347	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
17348		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
17349	}
17350
17351	if invalidParams.Len() > 0 {
17352		return invalidParams
17353	}
17354	return nil
17355}
17356
17357// SetApplicationId sets the ApplicationId field's value.
17358func (s *DeleteJourneyInput) SetApplicationId(v string) *DeleteJourneyInput {
17359	s.ApplicationId = &v
17360	return s
17361}
17362
17363// SetJourneyId sets the JourneyId field's value.
17364func (s *DeleteJourneyInput) SetJourneyId(v string) *DeleteJourneyInput {
17365	s.JourneyId = &v
17366	return s
17367}
17368
17369type DeleteJourneyOutput struct {
17370	_ struct{} `type:"structure" payload:"JourneyResponse"`
17371
17372	// Provides information about the status, configuration, and other settings
17373	// for a journey.
17374	//
17375	// JourneyResponse is a required field
17376	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
17377}
17378
17379// String returns the string representation
17380func (s DeleteJourneyOutput) String() string {
17381	return awsutil.Prettify(s)
17382}
17383
17384// GoString returns the string representation
17385func (s DeleteJourneyOutput) GoString() string {
17386	return s.String()
17387}
17388
17389// SetJourneyResponse sets the JourneyResponse field's value.
17390func (s *DeleteJourneyOutput) SetJourneyResponse(v *JourneyResponse) *DeleteJourneyOutput {
17391	s.JourneyResponse = v
17392	return s
17393}
17394
17395type DeletePushTemplateInput struct {
17396	_ struct{} `type:"structure"`
17397
17398	// TemplateName is a required field
17399	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
17400
17401	Version *string `location:"querystring" locationName:"version" type:"string"`
17402}
17403
17404// String returns the string representation
17405func (s DeletePushTemplateInput) String() string {
17406	return awsutil.Prettify(s)
17407}
17408
17409// GoString returns the string representation
17410func (s DeletePushTemplateInput) GoString() string {
17411	return s.String()
17412}
17413
17414// Validate inspects the fields of the type to determine if they are valid.
17415func (s *DeletePushTemplateInput) Validate() error {
17416	invalidParams := request.ErrInvalidParams{Context: "DeletePushTemplateInput"}
17417	if s.TemplateName == nil {
17418		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
17419	}
17420	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
17421		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
17422	}
17423
17424	if invalidParams.Len() > 0 {
17425		return invalidParams
17426	}
17427	return nil
17428}
17429
17430// SetTemplateName sets the TemplateName field's value.
17431func (s *DeletePushTemplateInput) SetTemplateName(v string) *DeletePushTemplateInput {
17432	s.TemplateName = &v
17433	return s
17434}
17435
17436// SetVersion sets the Version field's value.
17437func (s *DeletePushTemplateInput) SetVersion(v string) *DeletePushTemplateInput {
17438	s.Version = &v
17439	return s
17440}
17441
17442type DeletePushTemplateOutput struct {
17443	_ struct{} `type:"structure" payload:"MessageBody"`
17444
17445	// Provides information about an API request or response.
17446	//
17447	// MessageBody is a required field
17448	MessageBody *MessageBody `type:"structure" required:"true"`
17449}
17450
17451// String returns the string representation
17452func (s DeletePushTemplateOutput) String() string {
17453	return awsutil.Prettify(s)
17454}
17455
17456// GoString returns the string representation
17457func (s DeletePushTemplateOutput) GoString() string {
17458	return s.String()
17459}
17460
17461// SetMessageBody sets the MessageBody field's value.
17462func (s *DeletePushTemplateOutput) SetMessageBody(v *MessageBody) *DeletePushTemplateOutput {
17463	s.MessageBody = v
17464	return s
17465}
17466
17467type DeleteRecommenderConfigurationInput struct {
17468	_ struct{} `type:"structure"`
17469
17470	// RecommenderId is a required field
17471	RecommenderId *string `location:"uri" locationName:"recommender-id" type:"string" required:"true"`
17472}
17473
17474// String returns the string representation
17475func (s DeleteRecommenderConfigurationInput) String() string {
17476	return awsutil.Prettify(s)
17477}
17478
17479// GoString returns the string representation
17480func (s DeleteRecommenderConfigurationInput) GoString() string {
17481	return s.String()
17482}
17483
17484// Validate inspects the fields of the type to determine if they are valid.
17485func (s *DeleteRecommenderConfigurationInput) Validate() error {
17486	invalidParams := request.ErrInvalidParams{Context: "DeleteRecommenderConfigurationInput"}
17487	if s.RecommenderId == nil {
17488		invalidParams.Add(request.NewErrParamRequired("RecommenderId"))
17489	}
17490	if s.RecommenderId != nil && len(*s.RecommenderId) < 1 {
17491		invalidParams.Add(request.NewErrParamMinLen("RecommenderId", 1))
17492	}
17493
17494	if invalidParams.Len() > 0 {
17495		return invalidParams
17496	}
17497	return nil
17498}
17499
17500// SetRecommenderId sets the RecommenderId field's value.
17501func (s *DeleteRecommenderConfigurationInput) SetRecommenderId(v string) *DeleteRecommenderConfigurationInput {
17502	s.RecommenderId = &v
17503	return s
17504}
17505
17506type DeleteRecommenderConfigurationOutput struct {
17507	_ struct{} `type:"structure" payload:"RecommenderConfigurationResponse"`
17508
17509	// Provides information about Amazon Pinpoint configuration settings for retrieving
17510	// and processing data from a recommender model.
17511	//
17512	// RecommenderConfigurationResponse is a required field
17513	RecommenderConfigurationResponse *RecommenderConfigurationResponse `type:"structure" required:"true"`
17514}
17515
17516// String returns the string representation
17517func (s DeleteRecommenderConfigurationOutput) String() string {
17518	return awsutil.Prettify(s)
17519}
17520
17521// GoString returns the string representation
17522func (s DeleteRecommenderConfigurationOutput) GoString() string {
17523	return s.String()
17524}
17525
17526// SetRecommenderConfigurationResponse sets the RecommenderConfigurationResponse field's value.
17527func (s *DeleteRecommenderConfigurationOutput) SetRecommenderConfigurationResponse(v *RecommenderConfigurationResponse) *DeleteRecommenderConfigurationOutput {
17528	s.RecommenderConfigurationResponse = v
17529	return s
17530}
17531
17532type DeleteSegmentInput struct {
17533	_ struct{} `type:"structure"`
17534
17535	// ApplicationId is a required field
17536	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17537
17538	// SegmentId is a required field
17539	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
17540}
17541
17542// String returns the string representation
17543func (s DeleteSegmentInput) String() string {
17544	return awsutil.Prettify(s)
17545}
17546
17547// GoString returns the string representation
17548func (s DeleteSegmentInput) GoString() string {
17549	return s.String()
17550}
17551
17552// Validate inspects the fields of the type to determine if they are valid.
17553func (s *DeleteSegmentInput) Validate() error {
17554	invalidParams := request.ErrInvalidParams{Context: "DeleteSegmentInput"}
17555	if s.ApplicationId == nil {
17556		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17557	}
17558	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17559		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17560	}
17561	if s.SegmentId == nil {
17562		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
17563	}
17564	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
17565		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
17566	}
17567
17568	if invalidParams.Len() > 0 {
17569		return invalidParams
17570	}
17571	return nil
17572}
17573
17574// SetApplicationId sets the ApplicationId field's value.
17575func (s *DeleteSegmentInput) SetApplicationId(v string) *DeleteSegmentInput {
17576	s.ApplicationId = &v
17577	return s
17578}
17579
17580// SetSegmentId sets the SegmentId field's value.
17581func (s *DeleteSegmentInput) SetSegmentId(v string) *DeleteSegmentInput {
17582	s.SegmentId = &v
17583	return s
17584}
17585
17586type DeleteSegmentOutput struct {
17587	_ struct{} `type:"structure" payload:"SegmentResponse"`
17588
17589	// Provides information about the configuration, dimension, and other settings
17590	// for a segment.
17591	//
17592	// SegmentResponse is a required field
17593	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
17594}
17595
17596// String returns the string representation
17597func (s DeleteSegmentOutput) String() string {
17598	return awsutil.Prettify(s)
17599}
17600
17601// GoString returns the string representation
17602func (s DeleteSegmentOutput) GoString() string {
17603	return s.String()
17604}
17605
17606// SetSegmentResponse sets the SegmentResponse field's value.
17607func (s *DeleteSegmentOutput) SetSegmentResponse(v *SegmentResponse) *DeleteSegmentOutput {
17608	s.SegmentResponse = v
17609	return s
17610}
17611
17612type DeleteSmsChannelInput struct {
17613	_ struct{} `type:"structure"`
17614
17615	// ApplicationId is a required field
17616	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17617}
17618
17619// String returns the string representation
17620func (s DeleteSmsChannelInput) String() string {
17621	return awsutil.Prettify(s)
17622}
17623
17624// GoString returns the string representation
17625func (s DeleteSmsChannelInput) GoString() string {
17626	return s.String()
17627}
17628
17629// Validate inspects the fields of the type to determine if they are valid.
17630func (s *DeleteSmsChannelInput) Validate() error {
17631	invalidParams := request.ErrInvalidParams{Context: "DeleteSmsChannelInput"}
17632	if s.ApplicationId == nil {
17633		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17634	}
17635	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17636		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17637	}
17638
17639	if invalidParams.Len() > 0 {
17640		return invalidParams
17641	}
17642	return nil
17643}
17644
17645// SetApplicationId sets the ApplicationId field's value.
17646func (s *DeleteSmsChannelInput) SetApplicationId(v string) *DeleteSmsChannelInput {
17647	s.ApplicationId = &v
17648	return s
17649}
17650
17651type DeleteSmsChannelOutput struct {
17652	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
17653
17654	// Provides information about the status and settings of the SMS channel for
17655	// an application.
17656	//
17657	// SMSChannelResponse is a required field
17658	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
17659}
17660
17661// String returns the string representation
17662func (s DeleteSmsChannelOutput) String() string {
17663	return awsutil.Prettify(s)
17664}
17665
17666// GoString returns the string representation
17667func (s DeleteSmsChannelOutput) GoString() string {
17668	return s.String()
17669}
17670
17671// SetSMSChannelResponse sets the SMSChannelResponse field's value.
17672func (s *DeleteSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *DeleteSmsChannelOutput {
17673	s.SMSChannelResponse = v
17674	return s
17675}
17676
17677type DeleteSmsTemplateInput struct {
17678	_ struct{} `type:"structure"`
17679
17680	// TemplateName is a required field
17681	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
17682
17683	Version *string `location:"querystring" locationName:"version" type:"string"`
17684}
17685
17686// String returns the string representation
17687func (s DeleteSmsTemplateInput) String() string {
17688	return awsutil.Prettify(s)
17689}
17690
17691// GoString returns the string representation
17692func (s DeleteSmsTemplateInput) GoString() string {
17693	return s.String()
17694}
17695
17696// Validate inspects the fields of the type to determine if they are valid.
17697func (s *DeleteSmsTemplateInput) Validate() error {
17698	invalidParams := request.ErrInvalidParams{Context: "DeleteSmsTemplateInput"}
17699	if s.TemplateName == nil {
17700		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
17701	}
17702	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
17703		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
17704	}
17705
17706	if invalidParams.Len() > 0 {
17707		return invalidParams
17708	}
17709	return nil
17710}
17711
17712// SetTemplateName sets the TemplateName field's value.
17713func (s *DeleteSmsTemplateInput) SetTemplateName(v string) *DeleteSmsTemplateInput {
17714	s.TemplateName = &v
17715	return s
17716}
17717
17718// SetVersion sets the Version field's value.
17719func (s *DeleteSmsTemplateInput) SetVersion(v string) *DeleteSmsTemplateInput {
17720	s.Version = &v
17721	return s
17722}
17723
17724type DeleteSmsTemplateOutput struct {
17725	_ struct{} `type:"structure" payload:"MessageBody"`
17726
17727	// Provides information about an API request or response.
17728	//
17729	// MessageBody is a required field
17730	MessageBody *MessageBody `type:"structure" required:"true"`
17731}
17732
17733// String returns the string representation
17734func (s DeleteSmsTemplateOutput) String() string {
17735	return awsutil.Prettify(s)
17736}
17737
17738// GoString returns the string representation
17739func (s DeleteSmsTemplateOutput) GoString() string {
17740	return s.String()
17741}
17742
17743// SetMessageBody sets the MessageBody field's value.
17744func (s *DeleteSmsTemplateOutput) SetMessageBody(v *MessageBody) *DeleteSmsTemplateOutput {
17745	s.MessageBody = v
17746	return s
17747}
17748
17749type DeleteUserEndpointsInput struct {
17750	_ struct{} `type:"structure"`
17751
17752	// ApplicationId is a required field
17753	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17754
17755	// UserId is a required field
17756	UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"`
17757}
17758
17759// String returns the string representation
17760func (s DeleteUserEndpointsInput) String() string {
17761	return awsutil.Prettify(s)
17762}
17763
17764// GoString returns the string representation
17765func (s DeleteUserEndpointsInput) GoString() string {
17766	return s.String()
17767}
17768
17769// Validate inspects the fields of the type to determine if they are valid.
17770func (s *DeleteUserEndpointsInput) Validate() error {
17771	invalidParams := request.ErrInvalidParams{Context: "DeleteUserEndpointsInput"}
17772	if s.ApplicationId == nil {
17773		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17774	}
17775	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17776		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17777	}
17778	if s.UserId == nil {
17779		invalidParams.Add(request.NewErrParamRequired("UserId"))
17780	}
17781	if s.UserId != nil && len(*s.UserId) < 1 {
17782		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
17783	}
17784
17785	if invalidParams.Len() > 0 {
17786		return invalidParams
17787	}
17788	return nil
17789}
17790
17791// SetApplicationId sets the ApplicationId field's value.
17792func (s *DeleteUserEndpointsInput) SetApplicationId(v string) *DeleteUserEndpointsInput {
17793	s.ApplicationId = &v
17794	return s
17795}
17796
17797// SetUserId sets the UserId field's value.
17798func (s *DeleteUserEndpointsInput) SetUserId(v string) *DeleteUserEndpointsInput {
17799	s.UserId = &v
17800	return s
17801}
17802
17803type DeleteUserEndpointsOutput struct {
17804	_ struct{} `type:"structure" payload:"EndpointsResponse"`
17805
17806	// Provides information about all the endpoints that are associated with a user
17807	// ID.
17808	//
17809	// EndpointsResponse is a required field
17810	EndpointsResponse *EndpointsResponse `type:"structure" required:"true"`
17811}
17812
17813// String returns the string representation
17814func (s DeleteUserEndpointsOutput) String() string {
17815	return awsutil.Prettify(s)
17816}
17817
17818// GoString returns the string representation
17819func (s DeleteUserEndpointsOutput) GoString() string {
17820	return s.String()
17821}
17822
17823// SetEndpointsResponse sets the EndpointsResponse field's value.
17824func (s *DeleteUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *DeleteUserEndpointsOutput {
17825	s.EndpointsResponse = v
17826	return s
17827}
17828
17829type DeleteVoiceChannelInput struct {
17830	_ struct{} `type:"structure"`
17831
17832	// ApplicationId is a required field
17833	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17834}
17835
17836// String returns the string representation
17837func (s DeleteVoiceChannelInput) String() string {
17838	return awsutil.Prettify(s)
17839}
17840
17841// GoString returns the string representation
17842func (s DeleteVoiceChannelInput) GoString() string {
17843	return s.String()
17844}
17845
17846// Validate inspects the fields of the type to determine if they are valid.
17847func (s *DeleteVoiceChannelInput) Validate() error {
17848	invalidParams := request.ErrInvalidParams{Context: "DeleteVoiceChannelInput"}
17849	if s.ApplicationId == nil {
17850		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17851	}
17852	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17853		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17854	}
17855
17856	if invalidParams.Len() > 0 {
17857		return invalidParams
17858	}
17859	return nil
17860}
17861
17862// SetApplicationId sets the ApplicationId field's value.
17863func (s *DeleteVoiceChannelInput) SetApplicationId(v string) *DeleteVoiceChannelInput {
17864	s.ApplicationId = &v
17865	return s
17866}
17867
17868type DeleteVoiceChannelOutput struct {
17869	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
17870
17871	// Provides information about the status and settings of the voice channel for
17872	// an application.
17873	//
17874	// VoiceChannelResponse is a required field
17875	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
17876}
17877
17878// String returns the string representation
17879func (s DeleteVoiceChannelOutput) String() string {
17880	return awsutil.Prettify(s)
17881}
17882
17883// GoString returns the string representation
17884func (s DeleteVoiceChannelOutput) GoString() string {
17885	return s.String()
17886}
17887
17888// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
17889func (s *DeleteVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *DeleteVoiceChannelOutput {
17890	s.VoiceChannelResponse = v
17891	return s
17892}
17893
17894type DeleteVoiceTemplateInput struct {
17895	_ struct{} `type:"structure"`
17896
17897	// TemplateName is a required field
17898	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
17899
17900	Version *string `location:"querystring" locationName:"version" type:"string"`
17901}
17902
17903// String returns the string representation
17904func (s DeleteVoiceTemplateInput) String() string {
17905	return awsutil.Prettify(s)
17906}
17907
17908// GoString returns the string representation
17909func (s DeleteVoiceTemplateInput) GoString() string {
17910	return s.String()
17911}
17912
17913// Validate inspects the fields of the type to determine if they are valid.
17914func (s *DeleteVoiceTemplateInput) Validate() error {
17915	invalidParams := request.ErrInvalidParams{Context: "DeleteVoiceTemplateInput"}
17916	if s.TemplateName == nil {
17917		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
17918	}
17919	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
17920		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
17921	}
17922
17923	if invalidParams.Len() > 0 {
17924		return invalidParams
17925	}
17926	return nil
17927}
17928
17929// SetTemplateName sets the TemplateName field's value.
17930func (s *DeleteVoiceTemplateInput) SetTemplateName(v string) *DeleteVoiceTemplateInput {
17931	s.TemplateName = &v
17932	return s
17933}
17934
17935// SetVersion sets the Version field's value.
17936func (s *DeleteVoiceTemplateInput) SetVersion(v string) *DeleteVoiceTemplateInput {
17937	s.Version = &v
17938	return s
17939}
17940
17941type DeleteVoiceTemplateOutput struct {
17942	_ struct{} `type:"structure" payload:"MessageBody"`
17943
17944	// Provides information about an API request or response.
17945	//
17946	// MessageBody is a required field
17947	MessageBody *MessageBody `type:"structure" required:"true"`
17948}
17949
17950// String returns the string representation
17951func (s DeleteVoiceTemplateOutput) String() string {
17952	return awsutil.Prettify(s)
17953}
17954
17955// GoString returns the string representation
17956func (s DeleteVoiceTemplateOutput) GoString() string {
17957	return s.String()
17958}
17959
17960// SetMessageBody sets the MessageBody field's value.
17961func (s *DeleteVoiceTemplateOutput) SetMessageBody(v *MessageBody) *DeleteVoiceTemplateOutput {
17962	s.MessageBody = v
17963	return s
17964}
17965
17966// Specifies the settings and content for the default message and any default
17967// messages that you tailored for specific channels.
17968type DirectMessageConfiguration struct {
17969	_ struct{} `type:"structure"`
17970
17971	// The default push notification message for the ADM (Amazon Device Messaging)
17972	// channel. This message overrides the default push notification message (DefaultPushNotificationMessage).
17973	ADMMessage *ADMMessage `type:"structure"`
17974
17975	// The default push notification message for the APNs (Apple Push Notification
17976	// service) channel. This message overrides the default push notification message
17977	// (DefaultPushNotificationMessage).
17978	APNSMessage *APNSMessage `type:"structure"`
17979
17980	// The default push notification message for the Baidu (Baidu Cloud Push) channel.
17981	// This message overrides the default push notification message (DefaultPushNotificationMessage).
17982	BaiduMessage *BaiduMessage `type:"structure"`
17983
17984	// The default message for all channels.
17985	DefaultMessage *DefaultMessage `type:"structure"`
17986
17987	// The default push notification message for all push notification channels.
17988	DefaultPushNotificationMessage *DefaultPushNotificationMessage `type:"structure"`
17989
17990	// The default message for the email channel. This message overrides the default
17991	// message (DefaultMessage).
17992	EmailMessage *EmailMessage `type:"structure"`
17993
17994	// The default push notification message for the GCM channel, which is used
17995	// to send notifications through the Firebase Cloud Messaging (FCM), formerly
17996	// Google Cloud Messaging (GCM), service. This message overrides the default
17997	// push notification message (DefaultPushNotificationMessage).
17998	GCMMessage *GCMMessage `type:"structure"`
17999
18000	// The default message for the SMS channel. This message overrides the default
18001	// message (DefaultMessage).
18002	SMSMessage *SMSMessage `type:"structure"`
18003
18004	// The default message for the voice channel. This message overrides the default
18005	// message (DefaultMessage).
18006	VoiceMessage *VoiceMessage `type:"structure"`
18007}
18008
18009// String returns the string representation
18010func (s DirectMessageConfiguration) String() string {
18011	return awsutil.Prettify(s)
18012}
18013
18014// GoString returns the string representation
18015func (s DirectMessageConfiguration) GoString() string {
18016	return s.String()
18017}
18018
18019// SetADMMessage sets the ADMMessage field's value.
18020func (s *DirectMessageConfiguration) SetADMMessage(v *ADMMessage) *DirectMessageConfiguration {
18021	s.ADMMessage = v
18022	return s
18023}
18024
18025// SetAPNSMessage sets the APNSMessage field's value.
18026func (s *DirectMessageConfiguration) SetAPNSMessage(v *APNSMessage) *DirectMessageConfiguration {
18027	s.APNSMessage = v
18028	return s
18029}
18030
18031// SetBaiduMessage sets the BaiduMessage field's value.
18032func (s *DirectMessageConfiguration) SetBaiduMessage(v *BaiduMessage) *DirectMessageConfiguration {
18033	s.BaiduMessage = v
18034	return s
18035}
18036
18037// SetDefaultMessage sets the DefaultMessage field's value.
18038func (s *DirectMessageConfiguration) SetDefaultMessage(v *DefaultMessage) *DirectMessageConfiguration {
18039	s.DefaultMessage = v
18040	return s
18041}
18042
18043// SetDefaultPushNotificationMessage sets the DefaultPushNotificationMessage field's value.
18044func (s *DirectMessageConfiguration) SetDefaultPushNotificationMessage(v *DefaultPushNotificationMessage) *DirectMessageConfiguration {
18045	s.DefaultPushNotificationMessage = v
18046	return s
18047}
18048
18049// SetEmailMessage sets the EmailMessage field's value.
18050func (s *DirectMessageConfiguration) SetEmailMessage(v *EmailMessage) *DirectMessageConfiguration {
18051	s.EmailMessage = v
18052	return s
18053}
18054
18055// SetGCMMessage sets the GCMMessage field's value.
18056func (s *DirectMessageConfiguration) SetGCMMessage(v *GCMMessage) *DirectMessageConfiguration {
18057	s.GCMMessage = v
18058	return s
18059}
18060
18061// SetSMSMessage sets the SMSMessage field's value.
18062func (s *DirectMessageConfiguration) SetSMSMessage(v *SMSMessage) *DirectMessageConfiguration {
18063	s.SMSMessage = v
18064	return s
18065}
18066
18067// SetVoiceMessage sets the VoiceMessage field's value.
18068func (s *DirectMessageConfiguration) SetVoiceMessage(v *VoiceMessage) *DirectMessageConfiguration {
18069	s.VoiceMessage = v
18070	return s
18071}
18072
18073// Specifies the status and settings of the email channel for an application.
18074type EmailChannelRequest struct {
18075	_ struct{} `type:"structure"`
18076
18077	// The Amazon SES configuration set (https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html)
18078	// that you want to apply to messages that you send through the channel.
18079	ConfigurationSet *string `type:"string"`
18080
18081	// Specifies whether to enable the email channel for the application.
18082	Enabled *bool `type:"boolean"`
18083
18084	// The verified email address that you want to send email from when you send
18085	// email through the channel.
18086	//
18087	// FromAddress is a required field
18088	FromAddress *string `type:"string" required:"true"`
18089
18090	// The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
18091	// Email Service (Amazon SES), that you want to use when you send email through
18092	// the channel.
18093	//
18094	// Identity is a required field
18095	Identity *string `type:"string" required:"true"`
18096
18097	// The ARN of the AWS Identity and Access Management (IAM) role that you want
18098	// Amazon Pinpoint to use when it submits email-related event data for the channel.
18099	RoleArn *string `type:"string"`
18100}
18101
18102// String returns the string representation
18103func (s EmailChannelRequest) String() string {
18104	return awsutil.Prettify(s)
18105}
18106
18107// GoString returns the string representation
18108func (s EmailChannelRequest) GoString() string {
18109	return s.String()
18110}
18111
18112// Validate inspects the fields of the type to determine if they are valid.
18113func (s *EmailChannelRequest) Validate() error {
18114	invalidParams := request.ErrInvalidParams{Context: "EmailChannelRequest"}
18115	if s.FromAddress == nil {
18116		invalidParams.Add(request.NewErrParamRequired("FromAddress"))
18117	}
18118	if s.Identity == nil {
18119		invalidParams.Add(request.NewErrParamRequired("Identity"))
18120	}
18121
18122	if invalidParams.Len() > 0 {
18123		return invalidParams
18124	}
18125	return nil
18126}
18127
18128// SetConfigurationSet sets the ConfigurationSet field's value.
18129func (s *EmailChannelRequest) SetConfigurationSet(v string) *EmailChannelRequest {
18130	s.ConfigurationSet = &v
18131	return s
18132}
18133
18134// SetEnabled sets the Enabled field's value.
18135func (s *EmailChannelRequest) SetEnabled(v bool) *EmailChannelRequest {
18136	s.Enabled = &v
18137	return s
18138}
18139
18140// SetFromAddress sets the FromAddress field's value.
18141func (s *EmailChannelRequest) SetFromAddress(v string) *EmailChannelRequest {
18142	s.FromAddress = &v
18143	return s
18144}
18145
18146// SetIdentity sets the Identity field's value.
18147func (s *EmailChannelRequest) SetIdentity(v string) *EmailChannelRequest {
18148	s.Identity = &v
18149	return s
18150}
18151
18152// SetRoleArn sets the RoleArn field's value.
18153func (s *EmailChannelRequest) SetRoleArn(v string) *EmailChannelRequest {
18154	s.RoleArn = &v
18155	return s
18156}
18157
18158// Provides information about the status and settings of the email channel for
18159// an application.
18160type EmailChannelResponse struct {
18161	_ struct{} `type:"structure"`
18162
18163	// The unique identifier for the application that the email channel applies
18164	// to.
18165	ApplicationId *string `type:"string"`
18166
18167	// The Amazon SES configuration set (https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html)
18168	// that's applied to messages that are sent through the channel.
18169	ConfigurationSet *string `type:"string"`
18170
18171	// The date and time, in ISO 8601 format, when the email channel was enabled.
18172	CreationDate *string `type:"string"`
18173
18174	// Specifies whether the email channel is enabled for the application.
18175	Enabled *bool `type:"boolean"`
18176
18177	// The verified email address that email is sent from when you send email through
18178	// the channel.
18179	FromAddress *string `type:"string"`
18180
18181	// (Not used) This property is retained only for backward compatibility.
18182	HasCredential *bool `type:"boolean"`
18183
18184	// (Deprecated) An identifier for the email channel. This property is retained
18185	// only for backward compatibility.
18186	Id *string `type:"string"`
18187
18188	// The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
18189	// Email Service (Amazon SES), that's used when you send email through the channel.
18190	Identity *string `type:"string"`
18191
18192	// Specifies whether the email channel is archived.
18193	IsArchived *bool `type:"boolean"`
18194
18195	// The user who last modified the email channel.
18196	LastModifiedBy *string `type:"string"`
18197
18198	// The date and time, in ISO 8601 format, when the email channel was last modified.
18199	LastModifiedDate *string `type:"string"`
18200
18201	// The maximum number of emails that can be sent through the channel each second.
18202	MessagesPerSecond *int64 `type:"integer"`
18203
18204	// The type of messaging or notification platform for the channel. For the email
18205	// channel, this value is EMAIL.
18206	//
18207	// Platform is a required field
18208	Platform *string `type:"string" required:"true"`
18209
18210	// The ARN of the AWS Identity and Access Management (IAM) role that Amazon
18211	// Pinpoint uses to submit email-related event data for the channel.
18212	RoleArn *string `type:"string"`
18213
18214	// The current version of the email channel.
18215	Version *int64 `type:"integer"`
18216}
18217
18218// String returns the string representation
18219func (s EmailChannelResponse) String() string {
18220	return awsutil.Prettify(s)
18221}
18222
18223// GoString returns the string representation
18224func (s EmailChannelResponse) GoString() string {
18225	return s.String()
18226}
18227
18228// SetApplicationId sets the ApplicationId field's value.
18229func (s *EmailChannelResponse) SetApplicationId(v string) *EmailChannelResponse {
18230	s.ApplicationId = &v
18231	return s
18232}
18233
18234// SetConfigurationSet sets the ConfigurationSet field's value.
18235func (s *EmailChannelResponse) SetConfigurationSet(v string) *EmailChannelResponse {
18236	s.ConfigurationSet = &v
18237	return s
18238}
18239
18240// SetCreationDate sets the CreationDate field's value.
18241func (s *EmailChannelResponse) SetCreationDate(v string) *EmailChannelResponse {
18242	s.CreationDate = &v
18243	return s
18244}
18245
18246// SetEnabled sets the Enabled field's value.
18247func (s *EmailChannelResponse) SetEnabled(v bool) *EmailChannelResponse {
18248	s.Enabled = &v
18249	return s
18250}
18251
18252// SetFromAddress sets the FromAddress field's value.
18253func (s *EmailChannelResponse) SetFromAddress(v string) *EmailChannelResponse {
18254	s.FromAddress = &v
18255	return s
18256}
18257
18258// SetHasCredential sets the HasCredential field's value.
18259func (s *EmailChannelResponse) SetHasCredential(v bool) *EmailChannelResponse {
18260	s.HasCredential = &v
18261	return s
18262}
18263
18264// SetId sets the Id field's value.
18265func (s *EmailChannelResponse) SetId(v string) *EmailChannelResponse {
18266	s.Id = &v
18267	return s
18268}
18269
18270// SetIdentity sets the Identity field's value.
18271func (s *EmailChannelResponse) SetIdentity(v string) *EmailChannelResponse {
18272	s.Identity = &v
18273	return s
18274}
18275
18276// SetIsArchived sets the IsArchived field's value.
18277func (s *EmailChannelResponse) SetIsArchived(v bool) *EmailChannelResponse {
18278	s.IsArchived = &v
18279	return s
18280}
18281
18282// SetLastModifiedBy sets the LastModifiedBy field's value.
18283func (s *EmailChannelResponse) SetLastModifiedBy(v string) *EmailChannelResponse {
18284	s.LastModifiedBy = &v
18285	return s
18286}
18287
18288// SetLastModifiedDate sets the LastModifiedDate field's value.
18289func (s *EmailChannelResponse) SetLastModifiedDate(v string) *EmailChannelResponse {
18290	s.LastModifiedDate = &v
18291	return s
18292}
18293
18294// SetMessagesPerSecond sets the MessagesPerSecond field's value.
18295func (s *EmailChannelResponse) SetMessagesPerSecond(v int64) *EmailChannelResponse {
18296	s.MessagesPerSecond = &v
18297	return s
18298}
18299
18300// SetPlatform sets the Platform field's value.
18301func (s *EmailChannelResponse) SetPlatform(v string) *EmailChannelResponse {
18302	s.Platform = &v
18303	return s
18304}
18305
18306// SetRoleArn sets the RoleArn field's value.
18307func (s *EmailChannelResponse) SetRoleArn(v string) *EmailChannelResponse {
18308	s.RoleArn = &v
18309	return s
18310}
18311
18312// SetVersion sets the Version field's value.
18313func (s *EmailChannelResponse) SetVersion(v int64) *EmailChannelResponse {
18314	s.Version = &v
18315	return s
18316}
18317
18318// Specifies the default settings and content for a one-time email message that's
18319// sent directly to an endpoint.
18320type EmailMessage struct {
18321	_ struct{} `type:"structure"`
18322
18323	// The body of the email message.
18324	Body *string `type:"string"`
18325
18326	// The email address to forward bounces and complaints to, if feedback forwarding
18327	// is enabled.
18328	FeedbackForwardingAddress *string `type:"string"`
18329
18330	// The verified email address to send the email message from. The default value
18331	// is the FromAddress specified for the email channel.
18332	FromAddress *string `type:"string"`
18333
18334	// The email message, represented as a raw MIME message.
18335	RawEmail *RawEmail `type:"structure"`
18336
18337	// The reply-to email address(es) for the email message. If a recipient replies
18338	// to the email, each reply-to address receives the reply.
18339	ReplyToAddresses []*string `type:"list"`
18340
18341	// The email message, composed of a subject, a text part, and an HTML part.
18342	SimpleEmail *SimpleEmail `type:"structure"`
18343
18344	// The default message variables to use in the email message. You can override
18345	// the default variables with individual address variables.
18346	Substitutions map[string][]*string `type:"map"`
18347}
18348
18349// String returns the string representation
18350func (s EmailMessage) String() string {
18351	return awsutil.Prettify(s)
18352}
18353
18354// GoString returns the string representation
18355func (s EmailMessage) GoString() string {
18356	return s.String()
18357}
18358
18359// SetBody sets the Body field's value.
18360func (s *EmailMessage) SetBody(v string) *EmailMessage {
18361	s.Body = &v
18362	return s
18363}
18364
18365// SetFeedbackForwardingAddress sets the FeedbackForwardingAddress field's value.
18366func (s *EmailMessage) SetFeedbackForwardingAddress(v string) *EmailMessage {
18367	s.FeedbackForwardingAddress = &v
18368	return s
18369}
18370
18371// SetFromAddress sets the FromAddress field's value.
18372func (s *EmailMessage) SetFromAddress(v string) *EmailMessage {
18373	s.FromAddress = &v
18374	return s
18375}
18376
18377// SetRawEmail sets the RawEmail field's value.
18378func (s *EmailMessage) SetRawEmail(v *RawEmail) *EmailMessage {
18379	s.RawEmail = v
18380	return s
18381}
18382
18383// SetReplyToAddresses sets the ReplyToAddresses field's value.
18384func (s *EmailMessage) SetReplyToAddresses(v []*string) *EmailMessage {
18385	s.ReplyToAddresses = v
18386	return s
18387}
18388
18389// SetSimpleEmail sets the SimpleEmail field's value.
18390func (s *EmailMessage) SetSimpleEmail(v *SimpleEmail) *EmailMessage {
18391	s.SimpleEmail = v
18392	return s
18393}
18394
18395// SetSubstitutions sets the Substitutions field's value.
18396func (s *EmailMessage) SetSubstitutions(v map[string][]*string) *EmailMessage {
18397	s.Substitutions = v
18398	return s
18399}
18400
18401// Specifies the settings for an email activity in a journey. This type of activity
18402// sends an email message to participants.
18403type EmailMessageActivity struct {
18404	_ struct{} `type:"structure"`
18405
18406	// Specifies the sender address for an email message that's sent to participants
18407	// in the journey.
18408	MessageConfig *JourneyEmailMessage `type:"structure"`
18409
18410	// The unique identifier for the next activity to perform, after the message
18411	// is sent.
18412	NextActivity *string `type:"string"`
18413
18414	// The name of the email message template to use for the message. If specified,
18415	// this value must match the name of an existing message template.
18416	TemplateName *string `type:"string"`
18417
18418	// The unique identifier for the version of the email template to use for the
18419	// message. If specified, this value must match the identifier for an existing
18420	// template version. To retrieve a list of versions and version identifiers
18421	// for a template, use the Template Versions resource.
18422	//
18423	// If you don't specify a value for this property, Amazon Pinpoint uses the
18424	// active version of the template. The active version is typically the version
18425	// of a template that's been most recently reviewed and approved for use, depending
18426	// on your workflow. It isn't necessarily the latest version of a template.
18427	TemplateVersion *string `type:"string"`
18428}
18429
18430// String returns the string representation
18431func (s EmailMessageActivity) String() string {
18432	return awsutil.Prettify(s)
18433}
18434
18435// GoString returns the string representation
18436func (s EmailMessageActivity) GoString() string {
18437	return s.String()
18438}
18439
18440// SetMessageConfig sets the MessageConfig field's value.
18441func (s *EmailMessageActivity) SetMessageConfig(v *JourneyEmailMessage) *EmailMessageActivity {
18442	s.MessageConfig = v
18443	return s
18444}
18445
18446// SetNextActivity sets the NextActivity field's value.
18447func (s *EmailMessageActivity) SetNextActivity(v string) *EmailMessageActivity {
18448	s.NextActivity = &v
18449	return s
18450}
18451
18452// SetTemplateName sets the TemplateName field's value.
18453func (s *EmailMessageActivity) SetTemplateName(v string) *EmailMessageActivity {
18454	s.TemplateName = &v
18455	return s
18456}
18457
18458// SetTemplateVersion sets the TemplateVersion field's value.
18459func (s *EmailMessageActivity) SetTemplateVersion(v string) *EmailMessageActivity {
18460	s.TemplateVersion = &v
18461	return s
18462}
18463
18464// Specifies the content and settings for a message template that can be used
18465// in messages that are sent through the email channel.
18466type EmailTemplateRequest struct {
18467	_ struct{} `type:"structure"`
18468
18469	// A JSON object that specifies the default values to use for message variables
18470	// in the message template. This object is a set of key-value pairs. Each key
18471	// defines a message variable in the template. The corresponding value defines
18472	// the default value for that variable. When you create a message that's based
18473	// on the template, you can override these defaults with message-specific and
18474	// address-specific variables and values.
18475	DefaultSubstitutions *string `type:"string"`
18476
18477	// The message body, in HTML format, to use in email messages that are based
18478	// on the message template. We recommend using HTML format for email clients
18479	// that render HTML content. You can include links, formatted text, and more
18480	// in an HTML message.
18481	HtmlPart *string `type:"string"`
18482
18483	// The unique identifier for the recommender model to use for the message template.
18484	// Amazon Pinpoint uses this value to determine how to retrieve and process
18485	// data from a recommender model when it sends messages that use the template,
18486	// if the template contains message variables for recommendation data.
18487	RecommenderId *string `type:"string"`
18488
18489	// The subject line, or title, to use in email messages that are based on the
18490	// message template.
18491	Subject *string `type:"string"`
18492
18493	// A string-to-string map of key-value pairs that defines the tags to associate
18494	// with the message template. Each tag consists of a required tag key and an
18495	// associated tag value.
18496	Tags map[string]*string `locationName:"tags" type:"map"`
18497
18498	// A custom description of the message template.
18499	TemplateDescription *string `type:"string"`
18500
18501	// The message body, in plain text format, to use in email messages that are
18502	// based on the message template. We recommend using plain text format for email
18503	// clients that don't render HTML content and clients that are connected to
18504	// high-latency networks, such as mobile devices.
18505	TextPart *string `type:"string"`
18506}
18507
18508// String returns the string representation
18509func (s EmailTemplateRequest) String() string {
18510	return awsutil.Prettify(s)
18511}
18512
18513// GoString returns the string representation
18514func (s EmailTemplateRequest) GoString() string {
18515	return s.String()
18516}
18517
18518// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
18519func (s *EmailTemplateRequest) SetDefaultSubstitutions(v string) *EmailTemplateRequest {
18520	s.DefaultSubstitutions = &v
18521	return s
18522}
18523
18524// SetHtmlPart sets the HtmlPart field's value.
18525func (s *EmailTemplateRequest) SetHtmlPart(v string) *EmailTemplateRequest {
18526	s.HtmlPart = &v
18527	return s
18528}
18529
18530// SetRecommenderId sets the RecommenderId field's value.
18531func (s *EmailTemplateRequest) SetRecommenderId(v string) *EmailTemplateRequest {
18532	s.RecommenderId = &v
18533	return s
18534}
18535
18536// SetSubject sets the Subject field's value.
18537func (s *EmailTemplateRequest) SetSubject(v string) *EmailTemplateRequest {
18538	s.Subject = &v
18539	return s
18540}
18541
18542// SetTags sets the Tags field's value.
18543func (s *EmailTemplateRequest) SetTags(v map[string]*string) *EmailTemplateRequest {
18544	s.Tags = v
18545	return s
18546}
18547
18548// SetTemplateDescription sets the TemplateDescription field's value.
18549func (s *EmailTemplateRequest) SetTemplateDescription(v string) *EmailTemplateRequest {
18550	s.TemplateDescription = &v
18551	return s
18552}
18553
18554// SetTextPart sets the TextPart field's value.
18555func (s *EmailTemplateRequest) SetTextPart(v string) *EmailTemplateRequest {
18556	s.TextPart = &v
18557	return s
18558}
18559
18560// Provides information about the content and settings for a message template
18561// that can be used in messages that are sent through the email channel.
18562type EmailTemplateResponse struct {
18563	_ struct{} `type:"structure"`
18564
18565	// The Amazon Resource Name (ARN) of the message template.
18566	Arn *string `type:"string"`
18567
18568	// The date, in ISO 8601 format, when the message template was created.
18569	//
18570	// CreationDate is a required field
18571	CreationDate *string `type:"string" required:"true"`
18572
18573	// The JSON object that specifies the default values that are used for message
18574	// variables in the message template. This object is a set of key-value pairs.
18575	// Each key defines a message variable in the template. The corresponding value
18576	// defines the default value for that variable.
18577	DefaultSubstitutions *string `type:"string"`
18578
18579	// The message body, in HTML format, that's used in email messages that are
18580	// based on the message template.
18581	HtmlPart *string `type:"string"`
18582
18583	// The date, in ISO 8601 format, when the message template was last modified.
18584	//
18585	// LastModifiedDate is a required field
18586	LastModifiedDate *string `type:"string" required:"true"`
18587
18588	// The unique identifier for the recommender model that's used by the message
18589	// template.
18590	RecommenderId *string `type:"string"`
18591
18592	// The subject line, or title, that's used in email messages that are based
18593	// on the message template.
18594	Subject *string `type:"string"`
18595
18596	// A string-to-string map of key-value pairs that identifies the tags that are
18597	// associated with the message template. Each tag consists of a required tag
18598	// key and an associated tag value.
18599	Tags map[string]*string `locationName:"tags" type:"map"`
18600
18601	// The custom description of the message template.
18602	TemplateDescription *string `type:"string"`
18603
18604	// The name of the message template.
18605	//
18606	// TemplateName is a required field
18607	TemplateName *string `type:"string" required:"true"`
18608
18609	// The type of channel that the message template is designed for. For an email
18610	// template, this value is EMAIL.
18611	//
18612	// TemplateType is a required field
18613	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
18614
18615	// The message body, in plain text format, that's used in email messages that
18616	// are based on the message template.
18617	TextPart *string `type:"string"`
18618
18619	// The unique identifier, as an integer, for the active version of the message
18620	// template, or the version of the template that you specified by using the
18621	// version parameter in your request.
18622	Version *string `type:"string"`
18623}
18624
18625// String returns the string representation
18626func (s EmailTemplateResponse) String() string {
18627	return awsutil.Prettify(s)
18628}
18629
18630// GoString returns the string representation
18631func (s EmailTemplateResponse) GoString() string {
18632	return s.String()
18633}
18634
18635// SetArn sets the Arn field's value.
18636func (s *EmailTemplateResponse) SetArn(v string) *EmailTemplateResponse {
18637	s.Arn = &v
18638	return s
18639}
18640
18641// SetCreationDate sets the CreationDate field's value.
18642func (s *EmailTemplateResponse) SetCreationDate(v string) *EmailTemplateResponse {
18643	s.CreationDate = &v
18644	return s
18645}
18646
18647// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
18648func (s *EmailTemplateResponse) SetDefaultSubstitutions(v string) *EmailTemplateResponse {
18649	s.DefaultSubstitutions = &v
18650	return s
18651}
18652
18653// SetHtmlPart sets the HtmlPart field's value.
18654func (s *EmailTemplateResponse) SetHtmlPart(v string) *EmailTemplateResponse {
18655	s.HtmlPart = &v
18656	return s
18657}
18658
18659// SetLastModifiedDate sets the LastModifiedDate field's value.
18660func (s *EmailTemplateResponse) SetLastModifiedDate(v string) *EmailTemplateResponse {
18661	s.LastModifiedDate = &v
18662	return s
18663}
18664
18665// SetRecommenderId sets the RecommenderId field's value.
18666func (s *EmailTemplateResponse) SetRecommenderId(v string) *EmailTemplateResponse {
18667	s.RecommenderId = &v
18668	return s
18669}
18670
18671// SetSubject sets the Subject field's value.
18672func (s *EmailTemplateResponse) SetSubject(v string) *EmailTemplateResponse {
18673	s.Subject = &v
18674	return s
18675}
18676
18677// SetTags sets the Tags field's value.
18678func (s *EmailTemplateResponse) SetTags(v map[string]*string) *EmailTemplateResponse {
18679	s.Tags = v
18680	return s
18681}
18682
18683// SetTemplateDescription sets the TemplateDescription field's value.
18684func (s *EmailTemplateResponse) SetTemplateDescription(v string) *EmailTemplateResponse {
18685	s.TemplateDescription = &v
18686	return s
18687}
18688
18689// SetTemplateName sets the TemplateName field's value.
18690func (s *EmailTemplateResponse) SetTemplateName(v string) *EmailTemplateResponse {
18691	s.TemplateName = &v
18692	return s
18693}
18694
18695// SetTemplateType sets the TemplateType field's value.
18696func (s *EmailTemplateResponse) SetTemplateType(v string) *EmailTemplateResponse {
18697	s.TemplateType = &v
18698	return s
18699}
18700
18701// SetTextPart sets the TextPart field's value.
18702func (s *EmailTemplateResponse) SetTextPart(v string) *EmailTemplateResponse {
18703	s.TextPart = &v
18704	return s
18705}
18706
18707// SetVersion sets the Version field's value.
18708func (s *EmailTemplateResponse) SetVersion(v string) *EmailTemplateResponse {
18709	s.Version = &v
18710	return s
18711}
18712
18713// Specifies an endpoint to create or update and the settings and attributes
18714// to set or change for the endpoint.
18715type EndpointBatchItem struct {
18716	_ struct{} `type:"structure"`
18717
18718	// The destination address for messages or push notifications that you send
18719	// to the endpoint. The address varies by channel. For a push-notification channel,
18720	// use the token provided by the push notification service, such as an Apple
18721	// Push Notification service (APNs) device token or a Firebase Cloud Messaging
18722	// (FCM) registration token. For the SMS channel, use a phone number in E.164
18723	// format, such as +12065550100. For the email channel, use an email address.
18724	Address *string `type:"string"`
18725
18726	// One or more custom attributes that describe the endpoint by associating a
18727	// name with an array of values. For example, the value of a custom attribute
18728	// named Interests might be: ["Science", "Music", "Travel"]. You can use these
18729	// attributes as filter criteria when you create segments. Attribute names are
18730	// case sensitive.
18731	//
18732	// An attribute name can contain up to 50 characters. An attribute value can
18733	// contain up to 100 characters. When you define the name of a custom attribute,
18734	// avoid using the following characters: number sign (#), colon (:), question
18735	// mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't
18736	// display attribute names that contain these characters. This restriction doesn't
18737	// apply to attribute values.
18738	Attributes map[string][]*string `type:"map"`
18739
18740	// The channel to use when sending messages or push notifications to the endpoint.
18741	ChannelType *string `type:"string" enum:"ChannelType"`
18742
18743	// The demographic information for the endpoint, such as the time zone and platform.
18744	Demographic *EndpointDemographic `type:"structure"`
18745
18746	// The date and time, in ISO 8601 format, when the endpoint was created or updated.
18747	EffectiveDate *string `type:"string"`
18748
18749	// Specifies whether to send messages or push notifications to the endpoint.
18750	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
18751	// messages aren’t sent to the endpoint.
18752	//
18753	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
18754	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
18755	// this value to INACTIVE if you update another endpoint that has the same address
18756	// specified by the Address property.
18757	EndpointStatus *string `type:"string"`
18758
18759	// The unique identifier for the endpoint in the context of the batch.
18760	Id *string `type:"string"`
18761
18762	// The geographic information for the endpoint.
18763	Location *EndpointLocation `type:"structure"`
18764
18765	// One or more custom metrics that your app reports to Amazon Pinpoint for the
18766	// endpoint.
18767	Metrics map[string]*float64 `type:"map"`
18768
18769	// Specifies whether the user who's associated with the endpoint has opted out
18770	// of receiving messages and push notifications from you. Possible values are:
18771	// ALL, the user has opted out and doesn't want to receive any messages or push
18772	// notifications; and, NONE, the user hasn't opted out and wants to receive
18773	// all messages and push notifications.
18774	OptOut *string `type:"string"`
18775
18776	// The unique identifier for the request to create or update the endpoint.
18777	RequestId *string `type:"string"`
18778
18779	// One or more custom attributes that describe the user who's associated with
18780	// the endpoint.
18781	User *EndpointUser `type:"structure"`
18782}
18783
18784// String returns the string representation
18785func (s EndpointBatchItem) String() string {
18786	return awsutil.Prettify(s)
18787}
18788
18789// GoString returns the string representation
18790func (s EndpointBatchItem) GoString() string {
18791	return s.String()
18792}
18793
18794// SetAddress sets the Address field's value.
18795func (s *EndpointBatchItem) SetAddress(v string) *EndpointBatchItem {
18796	s.Address = &v
18797	return s
18798}
18799
18800// SetAttributes sets the Attributes field's value.
18801func (s *EndpointBatchItem) SetAttributes(v map[string][]*string) *EndpointBatchItem {
18802	s.Attributes = v
18803	return s
18804}
18805
18806// SetChannelType sets the ChannelType field's value.
18807func (s *EndpointBatchItem) SetChannelType(v string) *EndpointBatchItem {
18808	s.ChannelType = &v
18809	return s
18810}
18811
18812// SetDemographic sets the Demographic field's value.
18813func (s *EndpointBatchItem) SetDemographic(v *EndpointDemographic) *EndpointBatchItem {
18814	s.Demographic = v
18815	return s
18816}
18817
18818// SetEffectiveDate sets the EffectiveDate field's value.
18819func (s *EndpointBatchItem) SetEffectiveDate(v string) *EndpointBatchItem {
18820	s.EffectiveDate = &v
18821	return s
18822}
18823
18824// SetEndpointStatus sets the EndpointStatus field's value.
18825func (s *EndpointBatchItem) SetEndpointStatus(v string) *EndpointBatchItem {
18826	s.EndpointStatus = &v
18827	return s
18828}
18829
18830// SetId sets the Id field's value.
18831func (s *EndpointBatchItem) SetId(v string) *EndpointBatchItem {
18832	s.Id = &v
18833	return s
18834}
18835
18836// SetLocation sets the Location field's value.
18837func (s *EndpointBatchItem) SetLocation(v *EndpointLocation) *EndpointBatchItem {
18838	s.Location = v
18839	return s
18840}
18841
18842// SetMetrics sets the Metrics field's value.
18843func (s *EndpointBatchItem) SetMetrics(v map[string]*float64) *EndpointBatchItem {
18844	s.Metrics = v
18845	return s
18846}
18847
18848// SetOptOut sets the OptOut field's value.
18849func (s *EndpointBatchItem) SetOptOut(v string) *EndpointBatchItem {
18850	s.OptOut = &v
18851	return s
18852}
18853
18854// SetRequestId sets the RequestId field's value.
18855func (s *EndpointBatchItem) SetRequestId(v string) *EndpointBatchItem {
18856	s.RequestId = &v
18857	return s
18858}
18859
18860// SetUser sets the User field's value.
18861func (s *EndpointBatchItem) SetUser(v *EndpointUser) *EndpointBatchItem {
18862	s.User = v
18863	return s
18864}
18865
18866// Specifies a batch of endpoints to create or update and the settings and attributes
18867// to set or change for each endpoint.
18868type EndpointBatchRequest struct {
18869	_ struct{} `type:"structure"`
18870
18871	// An array that defines the endpoints to create or update and, for each endpoint,
18872	// the property values to set or change. An array can contain a maximum of 100
18873	// items.
18874	//
18875	// Item is a required field
18876	Item []*EndpointBatchItem `type:"list" required:"true"`
18877}
18878
18879// String returns the string representation
18880func (s EndpointBatchRequest) String() string {
18881	return awsutil.Prettify(s)
18882}
18883
18884// GoString returns the string representation
18885func (s EndpointBatchRequest) GoString() string {
18886	return s.String()
18887}
18888
18889// Validate inspects the fields of the type to determine if they are valid.
18890func (s *EndpointBatchRequest) Validate() error {
18891	invalidParams := request.ErrInvalidParams{Context: "EndpointBatchRequest"}
18892	if s.Item == nil {
18893		invalidParams.Add(request.NewErrParamRequired("Item"))
18894	}
18895
18896	if invalidParams.Len() > 0 {
18897		return invalidParams
18898	}
18899	return nil
18900}
18901
18902// SetItem sets the Item field's value.
18903func (s *EndpointBatchRequest) SetItem(v []*EndpointBatchItem) *EndpointBatchRequest {
18904	s.Item = v
18905	return s
18906}
18907
18908// Specifies demographic information about an endpoint, such as the applicable
18909// time zone and platform.
18910type EndpointDemographic struct {
18911	_ struct{} `type:"structure"`
18912
18913	// The version of the app that's associated with the endpoint.
18914	AppVersion *string `type:"string"`
18915
18916	// The locale of the endpoint, in the following format: the ISO 639-1 alpha-2
18917	// code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 value.
18918	Locale *string `type:"string"`
18919
18920	// The manufacturer of the endpoint device, such as apple or samsung.
18921	Make *string `type:"string"`
18922
18923	// The model name or number of the endpoint device, such as iPhone or SM-G900F.
18924	Model *string `type:"string"`
18925
18926	// The model version of the endpoint device.
18927	ModelVersion *string `type:"string"`
18928
18929	// The platform of the endpoint device, such as ios.
18930	Platform *string `type:"string"`
18931
18932	// The platform version of the endpoint device.
18933	PlatformVersion *string `type:"string"`
18934
18935	// The time zone of the endpoint, specified as a tz database name value, such
18936	// as America/Los_Angeles.
18937	Timezone *string `type:"string"`
18938}
18939
18940// String returns the string representation
18941func (s EndpointDemographic) String() string {
18942	return awsutil.Prettify(s)
18943}
18944
18945// GoString returns the string representation
18946func (s EndpointDemographic) GoString() string {
18947	return s.String()
18948}
18949
18950// SetAppVersion sets the AppVersion field's value.
18951func (s *EndpointDemographic) SetAppVersion(v string) *EndpointDemographic {
18952	s.AppVersion = &v
18953	return s
18954}
18955
18956// SetLocale sets the Locale field's value.
18957func (s *EndpointDemographic) SetLocale(v string) *EndpointDemographic {
18958	s.Locale = &v
18959	return s
18960}
18961
18962// SetMake sets the Make field's value.
18963func (s *EndpointDemographic) SetMake(v string) *EndpointDemographic {
18964	s.Make = &v
18965	return s
18966}
18967
18968// SetModel sets the Model field's value.
18969func (s *EndpointDemographic) SetModel(v string) *EndpointDemographic {
18970	s.Model = &v
18971	return s
18972}
18973
18974// SetModelVersion sets the ModelVersion field's value.
18975func (s *EndpointDemographic) SetModelVersion(v string) *EndpointDemographic {
18976	s.ModelVersion = &v
18977	return s
18978}
18979
18980// SetPlatform sets the Platform field's value.
18981func (s *EndpointDemographic) SetPlatform(v string) *EndpointDemographic {
18982	s.Platform = &v
18983	return s
18984}
18985
18986// SetPlatformVersion sets the PlatformVersion field's value.
18987func (s *EndpointDemographic) SetPlatformVersion(v string) *EndpointDemographic {
18988	s.PlatformVersion = &v
18989	return s
18990}
18991
18992// SetTimezone sets the Timezone field's value.
18993func (s *EndpointDemographic) SetTimezone(v string) *EndpointDemographic {
18994	s.Timezone = &v
18995	return s
18996}
18997
18998// Provides the status code and message that result from processing data for
18999// an endpoint.
19000type EndpointItemResponse struct {
19001	_ struct{} `type:"structure"`
19002
19003	// The custom message that's returned in the response as a result of processing
19004	// the endpoint data.
19005	Message *string `type:"string"`
19006
19007	// The status code that's returned in the response as a result of processing
19008	// the endpoint data.
19009	StatusCode *int64 `type:"integer"`
19010}
19011
19012// String returns the string representation
19013func (s EndpointItemResponse) String() string {
19014	return awsutil.Prettify(s)
19015}
19016
19017// GoString returns the string representation
19018func (s EndpointItemResponse) GoString() string {
19019	return s.String()
19020}
19021
19022// SetMessage sets the Message field's value.
19023func (s *EndpointItemResponse) SetMessage(v string) *EndpointItemResponse {
19024	s.Message = &v
19025	return s
19026}
19027
19028// SetStatusCode sets the StatusCode field's value.
19029func (s *EndpointItemResponse) SetStatusCode(v int64) *EndpointItemResponse {
19030	s.StatusCode = &v
19031	return s
19032}
19033
19034// Specifies geographic information about an endpoint.
19035type EndpointLocation struct {
19036	_ struct{} `type:"structure"`
19037
19038	// The name of the city where the endpoint is located.
19039	City *string `type:"string"`
19040
19041	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
19042	// region where the endpoint is located. For example, US for the United States.
19043	Country *string `type:"string"`
19044
19045	// The latitude coordinate of the endpoint location, rounded to one decimal
19046	// place.
19047	Latitude *float64 `type:"double"`
19048
19049	// The longitude coordinate of the endpoint location, rounded to one decimal
19050	// place.
19051	Longitude *float64 `type:"double"`
19052
19053	// The postal or ZIP code for the area where the endpoint is located.
19054	PostalCode *string `type:"string"`
19055
19056	// The name of the region where the endpoint is located. For locations in the
19057	// United States, this value is the name of a state.
19058	Region *string `type:"string"`
19059}
19060
19061// String returns the string representation
19062func (s EndpointLocation) String() string {
19063	return awsutil.Prettify(s)
19064}
19065
19066// GoString returns the string representation
19067func (s EndpointLocation) GoString() string {
19068	return s.String()
19069}
19070
19071// SetCity sets the City field's value.
19072func (s *EndpointLocation) SetCity(v string) *EndpointLocation {
19073	s.City = &v
19074	return s
19075}
19076
19077// SetCountry sets the Country field's value.
19078func (s *EndpointLocation) SetCountry(v string) *EndpointLocation {
19079	s.Country = &v
19080	return s
19081}
19082
19083// SetLatitude sets the Latitude field's value.
19084func (s *EndpointLocation) SetLatitude(v float64) *EndpointLocation {
19085	s.Latitude = &v
19086	return s
19087}
19088
19089// SetLongitude sets the Longitude field's value.
19090func (s *EndpointLocation) SetLongitude(v float64) *EndpointLocation {
19091	s.Longitude = &v
19092	return s
19093}
19094
19095// SetPostalCode sets the PostalCode field's value.
19096func (s *EndpointLocation) SetPostalCode(v string) *EndpointLocation {
19097	s.PostalCode = &v
19098	return s
19099}
19100
19101// SetRegion sets the Region field's value.
19102func (s *EndpointLocation) SetRegion(v string) *EndpointLocation {
19103	s.Region = &v
19104	return s
19105}
19106
19107// Provides information about the delivery status and results of sending a message
19108// directly to an endpoint.
19109type EndpointMessageResult struct {
19110	_ struct{} `type:"structure"`
19111
19112	// The endpoint address that the message was delivered to.
19113	Address *string `type:"string"`
19114
19115	// The delivery status of the message. Possible values are:
19116	//
19117	//    * DUPLICATE - The endpoint address is a duplicate of another endpoint
19118	//    address. Amazon Pinpoint won't attempt to send the message again.
19119	//
19120	//    * OPT_OUT - The user who's associated with the endpoint has opted out
19121	//    of receiving messages from you. Amazon Pinpoint won't attempt to send
19122	//    the message again.
19123	//
19124	//    * PERMANENT_FAILURE - An error occurred when delivering the message to
19125	//    the endpoint. Amazon Pinpoint won't attempt to send the message again.
19126	//
19127	//    * SUCCESSFUL - The message was successfully delivered to the endpoint.
19128	//
19129	//    * TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't
19130	//    attempt to send the message again.
19131	//
19132	//    * THROTTLED - Amazon Pinpoint throttled the operation to send the message
19133	//    to the endpoint.
19134	//
19135	//    * TIMEOUT - The message couldn't be sent within the timeout period.
19136	//
19137	//    * UNKNOWN_FAILURE - An unknown error occurred.
19138	//
19139	// DeliveryStatus is a required field
19140	DeliveryStatus *string `type:"string" required:"true" enum:"DeliveryStatus"`
19141
19142	// The unique identifier for the message that was sent.
19143	MessageId *string `type:"string"`
19144
19145	// The downstream service status code for delivering the message.
19146	//
19147	// StatusCode is a required field
19148	StatusCode *int64 `type:"integer" required:"true"`
19149
19150	// The status message for delivering the message.
19151	StatusMessage *string `type:"string"`
19152
19153	// For push notifications that are sent through the GCM channel, specifies whether
19154	// the endpoint's device registration token was updated as part of delivering
19155	// the message.
19156	UpdatedToken *string `type:"string"`
19157}
19158
19159// String returns the string representation
19160func (s EndpointMessageResult) String() string {
19161	return awsutil.Prettify(s)
19162}
19163
19164// GoString returns the string representation
19165func (s EndpointMessageResult) GoString() string {
19166	return s.String()
19167}
19168
19169// SetAddress sets the Address field's value.
19170func (s *EndpointMessageResult) SetAddress(v string) *EndpointMessageResult {
19171	s.Address = &v
19172	return s
19173}
19174
19175// SetDeliveryStatus sets the DeliveryStatus field's value.
19176func (s *EndpointMessageResult) SetDeliveryStatus(v string) *EndpointMessageResult {
19177	s.DeliveryStatus = &v
19178	return s
19179}
19180
19181// SetMessageId sets the MessageId field's value.
19182func (s *EndpointMessageResult) SetMessageId(v string) *EndpointMessageResult {
19183	s.MessageId = &v
19184	return s
19185}
19186
19187// SetStatusCode sets the StatusCode field's value.
19188func (s *EndpointMessageResult) SetStatusCode(v int64) *EndpointMessageResult {
19189	s.StatusCode = &v
19190	return s
19191}
19192
19193// SetStatusMessage sets the StatusMessage field's value.
19194func (s *EndpointMessageResult) SetStatusMessage(v string) *EndpointMessageResult {
19195	s.StatusMessage = &v
19196	return s
19197}
19198
19199// SetUpdatedToken sets the UpdatedToken field's value.
19200func (s *EndpointMessageResult) SetUpdatedToken(v string) *EndpointMessageResult {
19201	s.UpdatedToken = &v
19202	return s
19203}
19204
19205// Specifies the channel type and other settings for an endpoint.
19206type EndpointRequest struct {
19207	_ struct{} `type:"structure"`
19208
19209	// The destination address for messages or push notifications that you send
19210	// to the endpoint. The address varies by channel. For a push-notification channel,
19211	// use the token provided by the push notification service, such as an Apple
19212	// Push Notification service (APNs) device token or a Firebase Cloud Messaging
19213	// (FCM) registration token. For the SMS channel, use a phone number in E.164
19214	// format, such as +12065550100. For the email channel, use an email address.
19215	Address *string `type:"string"`
19216
19217	// One or more custom attributes that describe the endpoint by associating a
19218	// name with an array of values. For example, the value of a custom attribute
19219	// named Interests might be: ["Science", "Music", "Travel"]. You can use these
19220	// attributes as filter criteria when you create segments. Attribute names are
19221	// case sensitive.
19222	//
19223	// An attribute name can contain up to 50 characters. An attribute value can
19224	// contain up to 100 characters. When you define the name of a custom attribute,
19225	// avoid using the following characters: number sign (#), colon (:), question
19226	// mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't
19227	// display attribute names that contain these characters. This restriction doesn't
19228	// apply to attribute values.
19229	Attributes map[string][]*string `type:"map"`
19230
19231	// The channel to use when sending messages or push notifications to the endpoint.
19232	ChannelType *string `type:"string" enum:"ChannelType"`
19233
19234	// The demographic information for the endpoint, such as the time zone and platform.
19235	Demographic *EndpointDemographic `type:"structure"`
19236
19237	// The date and time, in ISO 8601 format, when the endpoint is updated.
19238	EffectiveDate *string `type:"string"`
19239
19240	// Specifies whether to send messages or push notifications to the endpoint.
19241	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
19242	// messages aren’t sent to the endpoint.
19243	//
19244	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
19245	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
19246	// this value to INACTIVE if you update another endpoint that has the same address
19247	// specified by the Address property.
19248	EndpointStatus *string `type:"string"`
19249
19250	// The geographic information for the endpoint.
19251	Location *EndpointLocation `type:"structure"`
19252
19253	// One or more custom metrics that your app reports to Amazon Pinpoint for the
19254	// endpoint.
19255	Metrics map[string]*float64 `type:"map"`
19256
19257	// Specifies whether the user who's associated with the endpoint has opted out
19258	// of receiving messages and push notifications from you. Possible values are:
19259	// ALL, the user has opted out and doesn't want to receive any messages or push
19260	// notifications; and, NONE, the user hasn't opted out and wants to receive
19261	// all messages and push notifications.
19262	OptOut *string `type:"string"`
19263
19264	// The unique identifier for the most recent request to update the endpoint.
19265	RequestId *string `type:"string"`
19266
19267	// One or more custom attributes that describe the user who's associated with
19268	// the endpoint.
19269	User *EndpointUser `type:"structure"`
19270}
19271
19272// String returns the string representation
19273func (s EndpointRequest) String() string {
19274	return awsutil.Prettify(s)
19275}
19276
19277// GoString returns the string representation
19278func (s EndpointRequest) GoString() string {
19279	return s.String()
19280}
19281
19282// SetAddress sets the Address field's value.
19283func (s *EndpointRequest) SetAddress(v string) *EndpointRequest {
19284	s.Address = &v
19285	return s
19286}
19287
19288// SetAttributes sets the Attributes field's value.
19289func (s *EndpointRequest) SetAttributes(v map[string][]*string) *EndpointRequest {
19290	s.Attributes = v
19291	return s
19292}
19293
19294// SetChannelType sets the ChannelType field's value.
19295func (s *EndpointRequest) SetChannelType(v string) *EndpointRequest {
19296	s.ChannelType = &v
19297	return s
19298}
19299
19300// SetDemographic sets the Demographic field's value.
19301func (s *EndpointRequest) SetDemographic(v *EndpointDemographic) *EndpointRequest {
19302	s.Demographic = v
19303	return s
19304}
19305
19306// SetEffectiveDate sets the EffectiveDate field's value.
19307func (s *EndpointRequest) SetEffectiveDate(v string) *EndpointRequest {
19308	s.EffectiveDate = &v
19309	return s
19310}
19311
19312// SetEndpointStatus sets the EndpointStatus field's value.
19313func (s *EndpointRequest) SetEndpointStatus(v string) *EndpointRequest {
19314	s.EndpointStatus = &v
19315	return s
19316}
19317
19318// SetLocation sets the Location field's value.
19319func (s *EndpointRequest) SetLocation(v *EndpointLocation) *EndpointRequest {
19320	s.Location = v
19321	return s
19322}
19323
19324// SetMetrics sets the Metrics field's value.
19325func (s *EndpointRequest) SetMetrics(v map[string]*float64) *EndpointRequest {
19326	s.Metrics = v
19327	return s
19328}
19329
19330// SetOptOut sets the OptOut field's value.
19331func (s *EndpointRequest) SetOptOut(v string) *EndpointRequest {
19332	s.OptOut = &v
19333	return s
19334}
19335
19336// SetRequestId sets the RequestId field's value.
19337func (s *EndpointRequest) SetRequestId(v string) *EndpointRequest {
19338	s.RequestId = &v
19339	return s
19340}
19341
19342// SetUser sets the User field's value.
19343func (s *EndpointRequest) SetUser(v *EndpointUser) *EndpointRequest {
19344	s.User = v
19345	return s
19346}
19347
19348// Provides information about the channel type and other settings for an endpoint.
19349type EndpointResponse struct {
19350	_ struct{} `type:"structure"`
19351
19352	// The destination address for messages or push notifications that you send
19353	// to the endpoint. The address varies by channel. For example, the address
19354	// for a push-notification channel is typically the token provided by a push
19355	// notification service, such as an Apple Push Notification service (APNs) device
19356	// token or a Firebase Cloud Messaging (FCM) registration token. The address
19357	// for the SMS channel is a phone number in E.164 format, such as +12065550100.
19358	// The address for the email channel is an email address.
19359	Address *string `type:"string"`
19360
19361	// The unique identifier for the application that's associated with the endpoint.
19362	ApplicationId *string `type:"string"`
19363
19364	// One or more custom attributes that describe the endpoint by associating a
19365	// name with an array of values. For example, the value of a custom attribute
19366	// named Interests might be: ["Science", "Music", "Travel"]. You can use these
19367	// attributes as filter criteria when you create segments.
19368	Attributes map[string][]*string `type:"map"`
19369
19370	// The channel that's used when sending messages or push notifications to the
19371	// endpoint.
19372	ChannelType *string `type:"string" enum:"ChannelType"`
19373
19374	// A number from 0-99 that represents the cohort that the endpoint is assigned
19375	// to. Endpoints are grouped into cohorts randomly, and each cohort contains
19376	// approximately 1 percent of the endpoints for an application. Amazon Pinpoint
19377	// assigns cohorts to the holdout or treatment allocations for campaigns.
19378	CohortId *string `type:"string"`
19379
19380	// The date and time, in ISO 8601 format, when the endpoint was created.
19381	CreationDate *string `type:"string"`
19382
19383	// The demographic information for the endpoint, such as the time zone and platform.
19384	Demographic *EndpointDemographic `type:"structure"`
19385
19386	// The date and time, in ISO 8601 format, when the endpoint was last updated.
19387	EffectiveDate *string `type:"string"`
19388
19389	// Specifies whether messages or push notifications are sent to the endpoint.
19390	// Possible values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
19391	// messages aren’t sent to the endpoint.
19392	//
19393	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
19394	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
19395	// this value to INACTIVE if you update another endpoint that has the same address
19396	// specified by the Address property.
19397	EndpointStatus *string `type:"string"`
19398
19399	// The unique identifier that you assigned to the endpoint. The identifier should
19400	// be a globally unique identifier (GUID) to ensure that it doesn't conflict
19401	// with other endpoint identifiers that are associated with the application.
19402	Id *string `type:"string"`
19403
19404	// The geographic information for the endpoint.
19405	Location *EndpointLocation `type:"structure"`
19406
19407	// One or more custom metrics that your app reports to Amazon Pinpoint for the
19408	// endpoint.
19409	Metrics map[string]*float64 `type:"map"`
19410
19411	// Specifies whether the user who's associated with the endpoint has opted out
19412	// of receiving messages and push notifications from you. Possible values are:
19413	// ALL, the user has opted out and doesn't want to receive any messages or push
19414	// notifications; and, NONE, the user hasn't opted out and wants to receive
19415	// all messages and push notifications.
19416	OptOut *string `type:"string"`
19417
19418	// The unique identifier for the most recent request to update the endpoint.
19419	RequestId *string `type:"string"`
19420
19421	// One or more custom user attributes that your app reports to Amazon Pinpoint
19422	// for the user who's associated with the endpoint.
19423	User *EndpointUser `type:"structure"`
19424}
19425
19426// String returns the string representation
19427func (s EndpointResponse) String() string {
19428	return awsutil.Prettify(s)
19429}
19430
19431// GoString returns the string representation
19432func (s EndpointResponse) GoString() string {
19433	return s.String()
19434}
19435
19436// SetAddress sets the Address field's value.
19437func (s *EndpointResponse) SetAddress(v string) *EndpointResponse {
19438	s.Address = &v
19439	return s
19440}
19441
19442// SetApplicationId sets the ApplicationId field's value.
19443func (s *EndpointResponse) SetApplicationId(v string) *EndpointResponse {
19444	s.ApplicationId = &v
19445	return s
19446}
19447
19448// SetAttributes sets the Attributes field's value.
19449func (s *EndpointResponse) SetAttributes(v map[string][]*string) *EndpointResponse {
19450	s.Attributes = v
19451	return s
19452}
19453
19454// SetChannelType sets the ChannelType field's value.
19455func (s *EndpointResponse) SetChannelType(v string) *EndpointResponse {
19456	s.ChannelType = &v
19457	return s
19458}
19459
19460// SetCohortId sets the CohortId field's value.
19461func (s *EndpointResponse) SetCohortId(v string) *EndpointResponse {
19462	s.CohortId = &v
19463	return s
19464}
19465
19466// SetCreationDate sets the CreationDate field's value.
19467func (s *EndpointResponse) SetCreationDate(v string) *EndpointResponse {
19468	s.CreationDate = &v
19469	return s
19470}
19471
19472// SetDemographic sets the Demographic field's value.
19473func (s *EndpointResponse) SetDemographic(v *EndpointDemographic) *EndpointResponse {
19474	s.Demographic = v
19475	return s
19476}
19477
19478// SetEffectiveDate sets the EffectiveDate field's value.
19479func (s *EndpointResponse) SetEffectiveDate(v string) *EndpointResponse {
19480	s.EffectiveDate = &v
19481	return s
19482}
19483
19484// SetEndpointStatus sets the EndpointStatus field's value.
19485func (s *EndpointResponse) SetEndpointStatus(v string) *EndpointResponse {
19486	s.EndpointStatus = &v
19487	return s
19488}
19489
19490// SetId sets the Id field's value.
19491func (s *EndpointResponse) SetId(v string) *EndpointResponse {
19492	s.Id = &v
19493	return s
19494}
19495
19496// SetLocation sets the Location field's value.
19497func (s *EndpointResponse) SetLocation(v *EndpointLocation) *EndpointResponse {
19498	s.Location = v
19499	return s
19500}
19501
19502// SetMetrics sets the Metrics field's value.
19503func (s *EndpointResponse) SetMetrics(v map[string]*float64) *EndpointResponse {
19504	s.Metrics = v
19505	return s
19506}
19507
19508// SetOptOut sets the OptOut field's value.
19509func (s *EndpointResponse) SetOptOut(v string) *EndpointResponse {
19510	s.OptOut = &v
19511	return s
19512}
19513
19514// SetRequestId sets the RequestId field's value.
19515func (s *EndpointResponse) SetRequestId(v string) *EndpointResponse {
19516	s.RequestId = &v
19517	return s
19518}
19519
19520// SetUser sets the User field's value.
19521func (s *EndpointResponse) SetUser(v *EndpointUser) *EndpointResponse {
19522	s.User = v
19523	return s
19524}
19525
19526// Specifies the content, including message variables and attributes, to use
19527// in a message that's sent directly to an endpoint.
19528type EndpointSendConfiguration struct {
19529	_ struct{} `type:"structure"`
19530
19531	// The body of the message. If specified, this value overrides the default message
19532	// body.
19533	BodyOverride *string `type:"string"`
19534
19535	// A map of custom attributes to attach to the message for the address. Attribute
19536	// names are case sensitive.
19537	//
19538	// For a push notification, this payload is added to the data.pinpoint object.
19539	// For an email or text message, this payload is added to email/SMS delivery
19540	// receipt event attributes.
19541	Context map[string]*string `type:"map"`
19542
19543	// The raw, JSON-formatted string to use as the payload for the message. If
19544	// specified, this value overrides all other values for the message.
19545	RawContent *string `type:"string"`
19546
19547	// A map of the message variables to merge with the variables specified for
19548	// the default message (DefaultMessage.Substitutions). The variables specified
19549	// in this map take precedence over all other variables.
19550	Substitutions map[string][]*string `type:"map"`
19551
19552	// The title or subject line of the message. If specified, this value overrides
19553	// the default message title or subject line.
19554	TitleOverride *string `type:"string"`
19555}
19556
19557// String returns the string representation
19558func (s EndpointSendConfiguration) String() string {
19559	return awsutil.Prettify(s)
19560}
19561
19562// GoString returns the string representation
19563func (s EndpointSendConfiguration) GoString() string {
19564	return s.String()
19565}
19566
19567// SetBodyOverride sets the BodyOverride field's value.
19568func (s *EndpointSendConfiguration) SetBodyOverride(v string) *EndpointSendConfiguration {
19569	s.BodyOverride = &v
19570	return s
19571}
19572
19573// SetContext sets the Context field's value.
19574func (s *EndpointSendConfiguration) SetContext(v map[string]*string) *EndpointSendConfiguration {
19575	s.Context = v
19576	return s
19577}
19578
19579// SetRawContent sets the RawContent field's value.
19580func (s *EndpointSendConfiguration) SetRawContent(v string) *EndpointSendConfiguration {
19581	s.RawContent = &v
19582	return s
19583}
19584
19585// SetSubstitutions sets the Substitutions field's value.
19586func (s *EndpointSendConfiguration) SetSubstitutions(v map[string][]*string) *EndpointSendConfiguration {
19587	s.Substitutions = v
19588	return s
19589}
19590
19591// SetTitleOverride sets the TitleOverride field's value.
19592func (s *EndpointSendConfiguration) SetTitleOverride(v string) *EndpointSendConfiguration {
19593	s.TitleOverride = &v
19594	return s
19595}
19596
19597// Specifies data for one or more attributes that describe the user who's associated
19598// with an endpoint.
19599type EndpointUser struct {
19600	_ struct{} `type:"structure"`
19601
19602	// One or more custom attributes that describe the user by associating a name
19603	// with an array of values. For example, the value of an attribute named Interests
19604	// might be: ["Science", "Music", "Travel"]. You can use these attributes as
19605	// filter criteria when you create segments. Attribute names are case sensitive.
19606	//
19607	// An attribute name can contain up to 50 characters. An attribute value can
19608	// contain up to 100 characters. When you define the name of a custom attribute,
19609	// avoid using the following characters: number sign (#), colon (:), question
19610	// mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't
19611	// display attribute names that contain these characters. This restriction doesn't
19612	// apply to attribute values.
19613	UserAttributes map[string][]*string `type:"map"`
19614
19615	// The unique identifier for the user.
19616	UserId *string `type:"string"`
19617}
19618
19619// String returns the string representation
19620func (s EndpointUser) String() string {
19621	return awsutil.Prettify(s)
19622}
19623
19624// GoString returns the string representation
19625func (s EndpointUser) GoString() string {
19626	return s.String()
19627}
19628
19629// SetUserAttributes sets the UserAttributes field's value.
19630func (s *EndpointUser) SetUserAttributes(v map[string][]*string) *EndpointUser {
19631	s.UserAttributes = v
19632	return s
19633}
19634
19635// SetUserId sets the UserId field's value.
19636func (s *EndpointUser) SetUserId(v string) *EndpointUser {
19637	s.UserId = &v
19638	return s
19639}
19640
19641// Provides information about all the endpoints that are associated with a user
19642// ID.
19643type EndpointsResponse struct {
19644	_ struct{} `type:"structure"`
19645
19646	// An array of responses, one for each endpoint that's associated with the user
19647	// ID.
19648	//
19649	// Item is a required field
19650	Item []*EndpointResponse `type:"list" required:"true"`
19651}
19652
19653// String returns the string representation
19654func (s EndpointsResponse) String() string {
19655	return awsutil.Prettify(s)
19656}
19657
19658// GoString returns the string representation
19659func (s EndpointsResponse) GoString() string {
19660	return s.String()
19661}
19662
19663// SetItem sets the Item field's value.
19664func (s *EndpointsResponse) SetItem(v []*EndpointResponse) *EndpointsResponse {
19665	s.Item = v
19666	return s
19667}
19668
19669// Specifies information about an event that reports data to Amazon Pinpoint.
19670type Event struct {
19671	_ struct{} `type:"structure"`
19672
19673	// The package name of the app that's recording the event.
19674	AppPackageName *string `type:"string"`
19675
19676	// The title of the app that's recording the event.
19677	AppTitle *string `type:"string"`
19678
19679	// The version number of the app that's recording the event.
19680	AppVersionCode *string `type:"string"`
19681
19682	// One or more custom attributes that are associated with the event.
19683	Attributes map[string]*string `type:"map"`
19684
19685	// The version of the SDK that's running on the client device.
19686	ClientSdkVersion *string `type:"string"`
19687
19688	// The name of the event.
19689	//
19690	// EventType is a required field
19691	EventType *string `type:"string" required:"true"`
19692
19693	// One or more custom metrics that are associated with the event.
19694	Metrics map[string]*float64 `type:"map"`
19695
19696	// The name of the SDK that's being used to record the event.
19697	SdkName *string `type:"string"`
19698
19699	// Information about the session in which the event occurred.
19700	Session *Session `type:"structure"`
19701
19702	// The date and time, in ISO 8601 format, when the event occurred.
19703	//
19704	// Timestamp is a required field
19705	Timestamp *string `type:"string" required:"true"`
19706}
19707
19708// String returns the string representation
19709func (s Event) String() string {
19710	return awsutil.Prettify(s)
19711}
19712
19713// GoString returns the string representation
19714func (s Event) GoString() string {
19715	return s.String()
19716}
19717
19718// Validate inspects the fields of the type to determine if they are valid.
19719func (s *Event) Validate() error {
19720	invalidParams := request.ErrInvalidParams{Context: "Event"}
19721	if s.EventType == nil {
19722		invalidParams.Add(request.NewErrParamRequired("EventType"))
19723	}
19724	if s.Timestamp == nil {
19725		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
19726	}
19727	if s.Session != nil {
19728		if err := s.Session.Validate(); err != nil {
19729			invalidParams.AddNested("Session", err.(request.ErrInvalidParams))
19730		}
19731	}
19732
19733	if invalidParams.Len() > 0 {
19734		return invalidParams
19735	}
19736	return nil
19737}
19738
19739// SetAppPackageName sets the AppPackageName field's value.
19740func (s *Event) SetAppPackageName(v string) *Event {
19741	s.AppPackageName = &v
19742	return s
19743}
19744
19745// SetAppTitle sets the AppTitle field's value.
19746func (s *Event) SetAppTitle(v string) *Event {
19747	s.AppTitle = &v
19748	return s
19749}
19750
19751// SetAppVersionCode sets the AppVersionCode field's value.
19752func (s *Event) SetAppVersionCode(v string) *Event {
19753	s.AppVersionCode = &v
19754	return s
19755}
19756
19757// SetAttributes sets the Attributes field's value.
19758func (s *Event) SetAttributes(v map[string]*string) *Event {
19759	s.Attributes = v
19760	return s
19761}
19762
19763// SetClientSdkVersion sets the ClientSdkVersion field's value.
19764func (s *Event) SetClientSdkVersion(v string) *Event {
19765	s.ClientSdkVersion = &v
19766	return s
19767}
19768
19769// SetEventType sets the EventType field's value.
19770func (s *Event) SetEventType(v string) *Event {
19771	s.EventType = &v
19772	return s
19773}
19774
19775// SetMetrics sets the Metrics field's value.
19776func (s *Event) SetMetrics(v map[string]*float64) *Event {
19777	s.Metrics = v
19778	return s
19779}
19780
19781// SetSdkName sets the SdkName field's value.
19782func (s *Event) SetSdkName(v string) *Event {
19783	s.SdkName = &v
19784	return s
19785}
19786
19787// SetSession sets the Session field's value.
19788func (s *Event) SetSession(v *Session) *Event {
19789	s.Session = v
19790	return s
19791}
19792
19793// SetTimestamp sets the Timestamp field's value.
19794func (s *Event) SetTimestamp(v string) *Event {
19795	s.Timestamp = &v
19796	return s
19797}
19798
19799// Specifies the conditions to evaluate for an event that applies to an activity
19800// in a journey.
19801type EventCondition struct {
19802	_ struct{} `type:"structure"`
19803
19804	// The dimensions for the event filter to use for the activity.
19805	Dimensions *EventDimensions `type:"structure"`
19806
19807	// The message identifier (message_id) for the message to use when determining
19808	// whether message events meet the condition.
19809	MessageActivity *string `type:"string"`
19810}
19811
19812// String returns the string representation
19813func (s EventCondition) String() string {
19814	return awsutil.Prettify(s)
19815}
19816
19817// GoString returns the string representation
19818func (s EventCondition) GoString() string {
19819	return s.String()
19820}
19821
19822// Validate inspects the fields of the type to determine if they are valid.
19823func (s *EventCondition) Validate() error {
19824	invalidParams := request.ErrInvalidParams{Context: "EventCondition"}
19825	if s.Dimensions != nil {
19826		if err := s.Dimensions.Validate(); err != nil {
19827			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
19828		}
19829	}
19830
19831	if invalidParams.Len() > 0 {
19832		return invalidParams
19833	}
19834	return nil
19835}
19836
19837// SetDimensions sets the Dimensions field's value.
19838func (s *EventCondition) SetDimensions(v *EventDimensions) *EventCondition {
19839	s.Dimensions = v
19840	return s
19841}
19842
19843// SetMessageActivity sets the MessageActivity field's value.
19844func (s *EventCondition) SetMessageActivity(v string) *EventCondition {
19845	s.MessageActivity = &v
19846	return s
19847}
19848
19849// Specifies the dimensions for an event filter that determines when a campaign
19850// is sent or a journey activity is performed.
19851type EventDimensions struct {
19852	_ struct{} `type:"structure"`
19853
19854	// One or more custom attributes that your application reports to Amazon Pinpoint.
19855	// You can use these attributes as selection criteria when you create an event
19856	// filter.
19857	Attributes map[string]*AttributeDimension `type:"map"`
19858
19859	// The name of the event that causes the campaign to be sent or the journey
19860	// activity to be performed. This can be a standard event that Amazon Pinpoint
19861	// generates, such as _email.delivered. For campaigns, this can also be a custom
19862	// event that's specific to your application. For information about standard
19863	// events, see Streaming Amazon Pinpoint Events (https://docs.aws.amazon.com/pinpoint/latest/developerguide/event-streams.html)
19864	// in the Amazon Pinpoint Developer Guide.
19865	EventType *SetDimension `type:"structure"`
19866
19867	// One or more custom metrics that your application reports to Amazon Pinpoint.
19868	// You can use these metrics as selection criteria when you create an event
19869	// filter.
19870	Metrics map[string]*MetricDimension `type:"map"`
19871}
19872
19873// String returns the string representation
19874func (s EventDimensions) String() string {
19875	return awsutil.Prettify(s)
19876}
19877
19878// GoString returns the string representation
19879func (s EventDimensions) GoString() string {
19880	return s.String()
19881}
19882
19883// Validate inspects the fields of the type to determine if they are valid.
19884func (s *EventDimensions) Validate() error {
19885	invalidParams := request.ErrInvalidParams{Context: "EventDimensions"}
19886	if s.Attributes != nil {
19887		for i, v := range s.Attributes {
19888			if v == nil {
19889				continue
19890			}
19891			if err := v.Validate(); err != nil {
19892				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
19893			}
19894		}
19895	}
19896	if s.EventType != nil {
19897		if err := s.EventType.Validate(); err != nil {
19898			invalidParams.AddNested("EventType", err.(request.ErrInvalidParams))
19899		}
19900	}
19901	if s.Metrics != nil {
19902		for i, v := range s.Metrics {
19903			if v == nil {
19904				continue
19905			}
19906			if err := v.Validate(); err != nil {
19907				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams))
19908			}
19909		}
19910	}
19911
19912	if invalidParams.Len() > 0 {
19913		return invalidParams
19914	}
19915	return nil
19916}
19917
19918// SetAttributes sets the Attributes field's value.
19919func (s *EventDimensions) SetAttributes(v map[string]*AttributeDimension) *EventDimensions {
19920	s.Attributes = v
19921	return s
19922}
19923
19924// SetEventType sets the EventType field's value.
19925func (s *EventDimensions) SetEventType(v *SetDimension) *EventDimensions {
19926	s.EventType = v
19927	return s
19928}
19929
19930// SetMetrics sets the Metrics field's value.
19931func (s *EventDimensions) SetMetrics(v map[string]*MetricDimension) *EventDimensions {
19932	s.Metrics = v
19933	return s
19934}
19935
19936// Specifies the settings for an event that causes a campaign to be sent or
19937// a journey activity to be performed.
19938type EventFilter struct {
19939	_ struct{} `type:"structure"`
19940
19941	// The dimensions for the event filter to use for the campaign or the journey
19942	// activity.
19943	//
19944	// Dimensions is a required field
19945	Dimensions *EventDimensions `type:"structure" required:"true"`
19946
19947	// The type of event that causes the campaign to be sent or the journey activity
19948	// to be performed. Valid values are: SYSTEM, sends the campaign or performs
19949	// the activity when a system event occurs; and, ENDPOINT, sends the campaign
19950	// or performs the activity when an endpoint event (Events resource) occurs.
19951	//
19952	// FilterType is a required field
19953	FilterType *string `type:"string" required:"true" enum:"FilterType"`
19954}
19955
19956// String returns the string representation
19957func (s EventFilter) String() string {
19958	return awsutil.Prettify(s)
19959}
19960
19961// GoString returns the string representation
19962func (s EventFilter) GoString() string {
19963	return s.String()
19964}
19965
19966// Validate inspects the fields of the type to determine if they are valid.
19967func (s *EventFilter) Validate() error {
19968	invalidParams := request.ErrInvalidParams{Context: "EventFilter"}
19969	if s.Dimensions == nil {
19970		invalidParams.Add(request.NewErrParamRequired("Dimensions"))
19971	}
19972	if s.FilterType == nil {
19973		invalidParams.Add(request.NewErrParamRequired("FilterType"))
19974	}
19975	if s.Dimensions != nil {
19976		if err := s.Dimensions.Validate(); err != nil {
19977			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
19978		}
19979	}
19980
19981	if invalidParams.Len() > 0 {
19982		return invalidParams
19983	}
19984	return nil
19985}
19986
19987// SetDimensions sets the Dimensions field's value.
19988func (s *EventFilter) SetDimensions(v *EventDimensions) *EventFilter {
19989	s.Dimensions = v
19990	return s
19991}
19992
19993// SetFilterType sets the FilterType field's value.
19994func (s *EventFilter) SetFilterType(v string) *EventFilter {
19995	s.FilterType = &v
19996	return s
19997}
19998
19999// Provides the status code and message that result from processing an event.
20000type EventItemResponse struct {
20001	_ struct{} `type:"structure"`
20002
20003	// A custom message that's returned in the response as a result of processing
20004	// the event.
20005	Message *string `type:"string"`
20006
20007	// The status code that's returned in the response as a result of processing
20008	// the event. Possible values are: 202, for events that were accepted; and,
20009	// 400, for events that weren't valid.
20010	StatusCode *int64 `type:"integer"`
20011}
20012
20013// String returns the string representation
20014func (s EventItemResponse) String() string {
20015	return awsutil.Prettify(s)
20016}
20017
20018// GoString returns the string representation
20019func (s EventItemResponse) GoString() string {
20020	return s.String()
20021}
20022
20023// SetMessage sets the Message field's value.
20024func (s *EventItemResponse) SetMessage(v string) *EventItemResponse {
20025	s.Message = &v
20026	return s
20027}
20028
20029// SetStatusCode sets the StatusCode field's value.
20030func (s *EventItemResponse) SetStatusCode(v int64) *EventItemResponse {
20031	s.StatusCode = &v
20032	return s
20033}
20034
20035// Specifies the settings for an event that causes a journey activity to start.
20036type EventStartCondition struct {
20037	_ struct{} `type:"structure"`
20038
20039	// Specifies the settings for an event that causes a campaign to be sent or
20040	// a journey activity to be performed.
20041	EventFilter *EventFilter `type:"structure"`
20042
20043	SegmentId *string `type:"string"`
20044}
20045
20046// String returns the string representation
20047func (s EventStartCondition) String() string {
20048	return awsutil.Prettify(s)
20049}
20050
20051// GoString returns the string representation
20052func (s EventStartCondition) GoString() string {
20053	return s.String()
20054}
20055
20056// Validate inspects the fields of the type to determine if they are valid.
20057func (s *EventStartCondition) Validate() error {
20058	invalidParams := request.ErrInvalidParams{Context: "EventStartCondition"}
20059	if s.EventFilter != nil {
20060		if err := s.EventFilter.Validate(); err != nil {
20061			invalidParams.AddNested("EventFilter", err.(request.ErrInvalidParams))
20062		}
20063	}
20064
20065	if invalidParams.Len() > 0 {
20066		return invalidParams
20067	}
20068	return nil
20069}
20070
20071// SetEventFilter sets the EventFilter field's value.
20072func (s *EventStartCondition) SetEventFilter(v *EventFilter) *EventStartCondition {
20073	s.EventFilter = v
20074	return s
20075}
20076
20077// SetSegmentId sets the SegmentId field's value.
20078func (s *EventStartCondition) SetSegmentId(v string) *EventStartCondition {
20079	s.SegmentId = &v
20080	return s
20081}
20082
20083// Specifies settings for publishing event data to an Amazon Kinesis data stream
20084// or an Amazon Kinesis Data Firehose delivery stream.
20085type EventStream struct {
20086	_ struct{} `type:"structure"`
20087
20088	// The unique identifier for the application to publish event data for.
20089	//
20090	// ApplicationId is a required field
20091	ApplicationId *string `type:"string" required:"true"`
20092
20093	// The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon
20094	// Kinesis Data Firehose delivery stream to publish event data to.
20095	//
20096	// For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name
20097	//
20098	// For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name
20099	//
20100	// DestinationStreamArn is a required field
20101	DestinationStreamArn *string `type:"string" required:"true"`
20102
20103	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
20104	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
20105	// an IAM role when publishing event data, but we removed this requirement.
20106	// We don't recommend use of external IDs for IAM roles that are assumed by
20107	// Amazon Pinpoint.
20108	ExternalId *string `type:"string"`
20109
20110	// The date, in ISO 8601 format, when the event stream was last modified.
20111	LastModifiedDate *string `type:"string"`
20112
20113	// The IAM user who last modified the event stream.
20114	LastUpdatedBy *string `type:"string"`
20115
20116	// The AWS Identity and Access Management (IAM) role that authorizes Amazon
20117	// Pinpoint to publish event data to the stream in your AWS account.
20118	//
20119	// RoleArn is a required field
20120	RoleArn *string `type:"string" required:"true"`
20121}
20122
20123// String returns the string representation
20124func (s EventStream) String() string {
20125	return awsutil.Prettify(s)
20126}
20127
20128// GoString returns the string representation
20129func (s EventStream) GoString() string {
20130	return s.String()
20131}
20132
20133// SetApplicationId sets the ApplicationId field's value.
20134func (s *EventStream) SetApplicationId(v string) *EventStream {
20135	s.ApplicationId = &v
20136	return s
20137}
20138
20139// SetDestinationStreamArn sets the DestinationStreamArn field's value.
20140func (s *EventStream) SetDestinationStreamArn(v string) *EventStream {
20141	s.DestinationStreamArn = &v
20142	return s
20143}
20144
20145// SetExternalId sets the ExternalId field's value.
20146func (s *EventStream) SetExternalId(v string) *EventStream {
20147	s.ExternalId = &v
20148	return s
20149}
20150
20151// SetLastModifiedDate sets the LastModifiedDate field's value.
20152func (s *EventStream) SetLastModifiedDate(v string) *EventStream {
20153	s.LastModifiedDate = &v
20154	return s
20155}
20156
20157// SetLastUpdatedBy sets the LastUpdatedBy field's value.
20158func (s *EventStream) SetLastUpdatedBy(v string) *EventStream {
20159	s.LastUpdatedBy = &v
20160	return s
20161}
20162
20163// SetRoleArn sets the RoleArn field's value.
20164func (s *EventStream) SetRoleArn(v string) *EventStream {
20165	s.RoleArn = &v
20166	return s
20167}
20168
20169// Specifies a batch of endpoints and events to process.
20170type EventsBatch struct {
20171	_ struct{} `type:"structure"`
20172
20173	// A set of properties and attributes that are associated with the endpoint.
20174	//
20175	// Endpoint is a required field
20176	Endpoint *PublicEndpoint `type:"structure" required:"true"`
20177
20178	// A set of properties that are associated with the event.
20179	//
20180	// Events is a required field
20181	Events map[string]*Event `type:"map" required:"true"`
20182}
20183
20184// String returns the string representation
20185func (s EventsBatch) String() string {
20186	return awsutil.Prettify(s)
20187}
20188
20189// GoString returns the string representation
20190func (s EventsBatch) GoString() string {
20191	return s.String()
20192}
20193
20194// Validate inspects the fields of the type to determine if they are valid.
20195func (s *EventsBatch) Validate() error {
20196	invalidParams := request.ErrInvalidParams{Context: "EventsBatch"}
20197	if s.Endpoint == nil {
20198		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
20199	}
20200	if s.Events == nil {
20201		invalidParams.Add(request.NewErrParamRequired("Events"))
20202	}
20203	if s.Events != nil {
20204		for i, v := range s.Events {
20205			if v == nil {
20206				continue
20207			}
20208			if err := v.Validate(); err != nil {
20209				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams))
20210			}
20211		}
20212	}
20213
20214	if invalidParams.Len() > 0 {
20215		return invalidParams
20216	}
20217	return nil
20218}
20219
20220// SetEndpoint sets the Endpoint field's value.
20221func (s *EventsBatch) SetEndpoint(v *PublicEndpoint) *EventsBatch {
20222	s.Endpoint = v
20223	return s
20224}
20225
20226// SetEvents sets the Events field's value.
20227func (s *EventsBatch) SetEvents(v map[string]*Event) *EventsBatch {
20228	s.Events = v
20229	return s
20230}
20231
20232// Specifies a batch of events to process.
20233type EventsRequest struct {
20234	_ struct{} `type:"structure"`
20235
20236	// The batch of events to process. For each item in a batch, the endpoint ID
20237	// acts as a key that has an EventsBatch object as its value.
20238	//
20239	// BatchItem is a required field
20240	BatchItem map[string]*EventsBatch `type:"map" required:"true"`
20241}
20242
20243// String returns the string representation
20244func (s EventsRequest) String() string {
20245	return awsutil.Prettify(s)
20246}
20247
20248// GoString returns the string representation
20249func (s EventsRequest) GoString() string {
20250	return s.String()
20251}
20252
20253// Validate inspects the fields of the type to determine if they are valid.
20254func (s *EventsRequest) Validate() error {
20255	invalidParams := request.ErrInvalidParams{Context: "EventsRequest"}
20256	if s.BatchItem == nil {
20257		invalidParams.Add(request.NewErrParamRequired("BatchItem"))
20258	}
20259	if s.BatchItem != nil {
20260		for i, v := range s.BatchItem {
20261			if v == nil {
20262				continue
20263			}
20264			if err := v.Validate(); err != nil {
20265				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BatchItem", i), err.(request.ErrInvalidParams))
20266			}
20267		}
20268	}
20269
20270	if invalidParams.Len() > 0 {
20271		return invalidParams
20272	}
20273	return nil
20274}
20275
20276// SetBatchItem sets the BatchItem field's value.
20277func (s *EventsRequest) SetBatchItem(v map[string]*EventsBatch) *EventsRequest {
20278	s.BatchItem = v
20279	return s
20280}
20281
20282// Provides information about endpoints and the events that they're associated
20283// with.
20284type EventsResponse struct {
20285	_ struct{} `type:"structure"`
20286
20287	// A map that contains a multipart response for each endpoint. For each item
20288	// in this object, the endpoint ID is the key and the item response is the value.
20289	// If no item response exists, the value can also be one of the following: 202,
20290	// the request was processed successfully; or 400, the payload wasn't valid
20291	// or required fields were missing.
20292	Results map[string]*ItemResponse `type:"map"`
20293}
20294
20295// String returns the string representation
20296func (s EventsResponse) String() string {
20297	return awsutil.Prettify(s)
20298}
20299
20300// GoString returns the string representation
20301func (s EventsResponse) GoString() string {
20302	return s.String()
20303}
20304
20305// SetResults sets the Results field's value.
20306func (s *EventsResponse) SetResults(v map[string]*ItemResponse) *EventsResponse {
20307	s.Results = v
20308	return s
20309}
20310
20311// Specifies the settings for a job that exports endpoint definitions to an
20312// Amazon Simple Storage Service (Amazon S3) bucket.
20313type ExportJobRequest struct {
20314	_ struct{} `type:"structure"`
20315
20316	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
20317	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
20318	// where you want to export endpoint definitions to.
20319	//
20320	// RoleArn is a required field
20321	RoleArn *string `type:"string" required:"true"`
20322
20323	// The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket
20324	// where you want to export endpoint definitions to. This location is typically
20325	// a folder that contains multiple files. The URL should be in the following
20326	// format: s3://bucket-name/folder-name/.
20327	//
20328	// S3UrlPrefix is a required field
20329	S3UrlPrefix *string `type:"string" required:"true"`
20330
20331	// The identifier for the segment to export endpoint definitions from. If you
20332	// don't specify this value, Amazon Pinpoint exports definitions for all the
20333	// endpoints that are associated with the application.
20334	SegmentId *string `type:"string"`
20335
20336	// The version of the segment to export endpoint definitions from, if specified.
20337	SegmentVersion *int64 `type:"integer"`
20338}
20339
20340// String returns the string representation
20341func (s ExportJobRequest) String() string {
20342	return awsutil.Prettify(s)
20343}
20344
20345// GoString returns the string representation
20346func (s ExportJobRequest) GoString() string {
20347	return s.String()
20348}
20349
20350// Validate inspects the fields of the type to determine if they are valid.
20351func (s *ExportJobRequest) Validate() error {
20352	invalidParams := request.ErrInvalidParams{Context: "ExportJobRequest"}
20353	if s.RoleArn == nil {
20354		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
20355	}
20356	if s.S3UrlPrefix == nil {
20357		invalidParams.Add(request.NewErrParamRequired("S3UrlPrefix"))
20358	}
20359
20360	if invalidParams.Len() > 0 {
20361		return invalidParams
20362	}
20363	return nil
20364}
20365
20366// SetRoleArn sets the RoleArn field's value.
20367func (s *ExportJobRequest) SetRoleArn(v string) *ExportJobRequest {
20368	s.RoleArn = &v
20369	return s
20370}
20371
20372// SetS3UrlPrefix sets the S3UrlPrefix field's value.
20373func (s *ExportJobRequest) SetS3UrlPrefix(v string) *ExportJobRequest {
20374	s.S3UrlPrefix = &v
20375	return s
20376}
20377
20378// SetSegmentId sets the SegmentId field's value.
20379func (s *ExportJobRequest) SetSegmentId(v string) *ExportJobRequest {
20380	s.SegmentId = &v
20381	return s
20382}
20383
20384// SetSegmentVersion sets the SegmentVersion field's value.
20385func (s *ExportJobRequest) SetSegmentVersion(v int64) *ExportJobRequest {
20386	s.SegmentVersion = &v
20387	return s
20388}
20389
20390// Provides information about the resource settings for a job that exports endpoint
20391// definitions to a file. The file can be added directly to an Amazon Simple
20392// Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API or downloaded
20393// directly to a computer by using the Amazon Pinpoint console.
20394type ExportJobResource struct {
20395	_ struct{} `type:"structure"`
20396
20397	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
20398	// (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location
20399	// where the endpoint definitions were exported to.
20400	//
20401	// RoleArn is a required field
20402	RoleArn *string `type:"string" required:"true"`
20403
20404	// The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket
20405	// where the endpoint definitions were exported to. This location is typically
20406	// a folder that contains multiple files. The URL should be in the following
20407	// format: s3://bucket-name/folder-name/.
20408	//
20409	// S3UrlPrefix is a required field
20410	S3UrlPrefix *string `type:"string" required:"true"`
20411
20412	// The identifier for the segment that the endpoint definitions were exported
20413	// from. If this value isn't present, Amazon Pinpoint exported definitions for
20414	// all the endpoints that are associated with the application.
20415	SegmentId *string `type:"string"`
20416
20417	// The version of the segment that the endpoint definitions were exported from.
20418	SegmentVersion *int64 `type:"integer"`
20419}
20420
20421// String returns the string representation
20422func (s ExportJobResource) String() string {
20423	return awsutil.Prettify(s)
20424}
20425
20426// GoString returns the string representation
20427func (s ExportJobResource) GoString() string {
20428	return s.String()
20429}
20430
20431// SetRoleArn sets the RoleArn field's value.
20432func (s *ExportJobResource) SetRoleArn(v string) *ExportJobResource {
20433	s.RoleArn = &v
20434	return s
20435}
20436
20437// SetS3UrlPrefix sets the S3UrlPrefix field's value.
20438func (s *ExportJobResource) SetS3UrlPrefix(v string) *ExportJobResource {
20439	s.S3UrlPrefix = &v
20440	return s
20441}
20442
20443// SetSegmentId sets the SegmentId field's value.
20444func (s *ExportJobResource) SetSegmentId(v string) *ExportJobResource {
20445	s.SegmentId = &v
20446	return s
20447}
20448
20449// SetSegmentVersion sets the SegmentVersion field's value.
20450func (s *ExportJobResource) SetSegmentVersion(v int64) *ExportJobResource {
20451	s.SegmentVersion = &v
20452	return s
20453}
20454
20455// Provides information about the status and settings of a job that exports
20456// endpoint definitions to a file. The file can be added directly to an Amazon
20457// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
20458// or downloaded directly to a computer by using the Amazon Pinpoint console.
20459type ExportJobResponse struct {
20460	_ struct{} `type:"structure"`
20461
20462	// The unique identifier for the application that's associated with the export
20463	// job.
20464	//
20465	// ApplicationId is a required field
20466	ApplicationId *string `type:"string" required:"true"`
20467
20468	// The number of pieces that were processed successfully (completed) by the
20469	// export job, as of the time of the request.
20470	CompletedPieces *int64 `type:"integer"`
20471
20472	// The date, in ISO 8601 format, when the export job was completed.
20473	CompletionDate *string `type:"string"`
20474
20475	// The date, in ISO 8601 format, when the export job was created.
20476	//
20477	// CreationDate is a required field
20478	CreationDate *string `type:"string" required:"true"`
20479
20480	// The resource settings that apply to the export job.
20481	//
20482	// Definition is a required field
20483	Definition *ExportJobResource `type:"structure" required:"true"`
20484
20485	// The number of pieces that weren't processed successfully (failed) by the
20486	// export job, as of the time of the request.
20487	FailedPieces *int64 `type:"integer"`
20488
20489	// An array of entries, one for each of the first 100 entries that weren't processed
20490	// successfully (failed) by the export job, if any.
20491	Failures []*string `type:"list"`
20492
20493	// The unique identifier for the export job.
20494	//
20495	// Id is a required field
20496	Id *string `type:"string" required:"true"`
20497
20498	// The status of the export job. The job status is FAILED if Amazon Pinpoint
20499	// wasn't able to process one or more pieces in the job.
20500	//
20501	// JobStatus is a required field
20502	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
20503
20504	// The total number of endpoint definitions that weren't processed successfully
20505	// (failed) by the export job, typically because an error, such as a syntax
20506	// error, occurred.
20507	TotalFailures *int64 `type:"integer"`
20508
20509	// The total number of pieces that must be processed to complete the export
20510	// job. Each piece consists of an approximately equal portion of the endpoint
20511	// definitions that are part of the export job.
20512	TotalPieces *int64 `type:"integer"`
20513
20514	// The total number of endpoint definitions that were processed by the export
20515	// job.
20516	TotalProcessed *int64 `type:"integer"`
20517
20518	// The job type. This value is EXPORT for export jobs.
20519	//
20520	// Type is a required field
20521	Type *string `type:"string" required:"true"`
20522}
20523
20524// String returns the string representation
20525func (s ExportJobResponse) String() string {
20526	return awsutil.Prettify(s)
20527}
20528
20529// GoString returns the string representation
20530func (s ExportJobResponse) GoString() string {
20531	return s.String()
20532}
20533
20534// SetApplicationId sets the ApplicationId field's value.
20535func (s *ExportJobResponse) SetApplicationId(v string) *ExportJobResponse {
20536	s.ApplicationId = &v
20537	return s
20538}
20539
20540// SetCompletedPieces sets the CompletedPieces field's value.
20541func (s *ExportJobResponse) SetCompletedPieces(v int64) *ExportJobResponse {
20542	s.CompletedPieces = &v
20543	return s
20544}
20545
20546// SetCompletionDate sets the CompletionDate field's value.
20547func (s *ExportJobResponse) SetCompletionDate(v string) *ExportJobResponse {
20548	s.CompletionDate = &v
20549	return s
20550}
20551
20552// SetCreationDate sets the CreationDate field's value.
20553func (s *ExportJobResponse) SetCreationDate(v string) *ExportJobResponse {
20554	s.CreationDate = &v
20555	return s
20556}
20557
20558// SetDefinition sets the Definition field's value.
20559func (s *ExportJobResponse) SetDefinition(v *ExportJobResource) *ExportJobResponse {
20560	s.Definition = v
20561	return s
20562}
20563
20564// SetFailedPieces sets the FailedPieces field's value.
20565func (s *ExportJobResponse) SetFailedPieces(v int64) *ExportJobResponse {
20566	s.FailedPieces = &v
20567	return s
20568}
20569
20570// SetFailures sets the Failures field's value.
20571func (s *ExportJobResponse) SetFailures(v []*string) *ExportJobResponse {
20572	s.Failures = v
20573	return s
20574}
20575
20576// SetId sets the Id field's value.
20577func (s *ExportJobResponse) SetId(v string) *ExportJobResponse {
20578	s.Id = &v
20579	return s
20580}
20581
20582// SetJobStatus sets the JobStatus field's value.
20583func (s *ExportJobResponse) SetJobStatus(v string) *ExportJobResponse {
20584	s.JobStatus = &v
20585	return s
20586}
20587
20588// SetTotalFailures sets the TotalFailures field's value.
20589func (s *ExportJobResponse) SetTotalFailures(v int64) *ExportJobResponse {
20590	s.TotalFailures = &v
20591	return s
20592}
20593
20594// SetTotalPieces sets the TotalPieces field's value.
20595func (s *ExportJobResponse) SetTotalPieces(v int64) *ExportJobResponse {
20596	s.TotalPieces = &v
20597	return s
20598}
20599
20600// SetTotalProcessed sets the TotalProcessed field's value.
20601func (s *ExportJobResponse) SetTotalProcessed(v int64) *ExportJobResponse {
20602	s.TotalProcessed = &v
20603	return s
20604}
20605
20606// SetType sets the Type field's value.
20607func (s *ExportJobResponse) SetType(v string) *ExportJobResponse {
20608	s.Type = &v
20609	return s
20610}
20611
20612// Provides information about all the export jobs that are associated with an
20613// application or segment. An export job is a job that exports endpoint definitions
20614// to a file.
20615type ExportJobsResponse struct {
20616	_ struct{} `type:"structure"`
20617
20618	// An array of responses, one for each export job that's associated with the
20619	// application (Export Jobs resource) or segment (Segment Export Jobs resource).
20620	//
20621	// Item is a required field
20622	Item []*ExportJobResponse `type:"list" required:"true"`
20623
20624	// The string to use in a subsequent request to get the next page of results
20625	// in a paginated response. This value is null if there are no additional pages.
20626	NextToken *string `type:"string"`
20627}
20628
20629// String returns the string representation
20630func (s ExportJobsResponse) String() string {
20631	return awsutil.Prettify(s)
20632}
20633
20634// GoString returns the string representation
20635func (s ExportJobsResponse) GoString() string {
20636	return s.String()
20637}
20638
20639// SetItem sets the Item field's value.
20640func (s *ExportJobsResponse) SetItem(v []*ExportJobResponse) *ExportJobsResponse {
20641	s.Item = v
20642	return s
20643}
20644
20645// SetNextToken sets the NextToken field's value.
20646func (s *ExportJobsResponse) SetNextToken(v string) *ExportJobsResponse {
20647	s.NextToken = &v
20648	return s
20649}
20650
20651// Provides information about an API request or response.
20652type ForbiddenException struct {
20653	_            struct{}                  `type:"structure"`
20654	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20655
20656	Message_ *string `locationName:"Message" type:"string"`
20657
20658	RequestID_ *string `locationName:"RequestID" type:"string"`
20659}
20660
20661// String returns the string representation
20662func (s ForbiddenException) String() string {
20663	return awsutil.Prettify(s)
20664}
20665
20666// GoString returns the string representation
20667func (s ForbiddenException) GoString() string {
20668	return s.String()
20669}
20670
20671func newErrorForbiddenException(v protocol.ResponseMetadata) error {
20672	return &ForbiddenException{
20673		RespMetadata: v,
20674	}
20675}
20676
20677// Code returns the exception type name.
20678func (s *ForbiddenException) Code() string {
20679	return "ForbiddenException"
20680}
20681
20682// Message returns the exception's message.
20683func (s *ForbiddenException) Message() string {
20684	if s.Message_ != nil {
20685		return *s.Message_
20686	}
20687	return ""
20688}
20689
20690// OrigErr always returns nil, satisfies awserr.Error interface.
20691func (s *ForbiddenException) OrigErr() error {
20692	return nil
20693}
20694
20695func (s *ForbiddenException) Error() string {
20696	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
20697}
20698
20699// Status code returns the HTTP status code for the request's response error.
20700func (s *ForbiddenException) StatusCode() int {
20701	return s.RespMetadata.StatusCode
20702}
20703
20704// RequestID returns the service's response RequestID for request.
20705func (s *ForbiddenException) RequestID() string {
20706	return s.RespMetadata.RequestID
20707}
20708
20709// Specifies the status and settings of the GCM channel for an application.
20710// This channel enables Amazon Pinpoint to send push notifications through the
20711// Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.
20712type GCMChannelRequest struct {
20713	_ struct{} `type:"structure"`
20714
20715	// The Web API Key, also referred to as an API_KEY or server key, that you received
20716	// from Google to communicate with Google services.
20717	//
20718	// ApiKey is a required field
20719	ApiKey *string `type:"string" required:"true"`
20720
20721	// Specifies whether to enable the GCM channel for the application.
20722	Enabled *bool `type:"boolean"`
20723}
20724
20725// String returns the string representation
20726func (s GCMChannelRequest) String() string {
20727	return awsutil.Prettify(s)
20728}
20729
20730// GoString returns the string representation
20731func (s GCMChannelRequest) GoString() string {
20732	return s.String()
20733}
20734
20735// Validate inspects the fields of the type to determine if they are valid.
20736func (s *GCMChannelRequest) Validate() error {
20737	invalidParams := request.ErrInvalidParams{Context: "GCMChannelRequest"}
20738	if s.ApiKey == nil {
20739		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
20740	}
20741
20742	if invalidParams.Len() > 0 {
20743		return invalidParams
20744	}
20745	return nil
20746}
20747
20748// SetApiKey sets the ApiKey field's value.
20749func (s *GCMChannelRequest) SetApiKey(v string) *GCMChannelRequest {
20750	s.ApiKey = &v
20751	return s
20752}
20753
20754// SetEnabled sets the Enabled field's value.
20755func (s *GCMChannelRequest) SetEnabled(v bool) *GCMChannelRequest {
20756	s.Enabled = &v
20757	return s
20758}
20759
20760// Provides information about the status and settings of the GCM channel for
20761// an application. The GCM channel enables Amazon Pinpoint to send push notifications
20762// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
20763// (GCM), service.
20764type GCMChannelResponse struct {
20765	_ struct{} `type:"structure"`
20766
20767	// The unique identifier for the application that the GCM channel applies to.
20768	ApplicationId *string `type:"string"`
20769
20770	// The date and time when the GCM channel was enabled.
20771	CreationDate *string `type:"string"`
20772
20773	// The Web API Key, also referred to as an API_KEY or server key, that you received
20774	// from Google to communicate with Google services.
20775	//
20776	// Credential is a required field
20777	Credential *string `type:"string" required:"true"`
20778
20779	// Specifies whether the GCM channel is enabled for the application.
20780	Enabled *bool `type:"boolean"`
20781
20782	// (Not used) This property is retained only for backward compatibility.
20783	HasCredential *bool `type:"boolean"`
20784
20785	// (Deprecated) An identifier for the GCM channel. This property is retained
20786	// only for backward compatibility.
20787	Id *string `type:"string"`
20788
20789	// Specifies whether the GCM channel is archived.
20790	IsArchived *bool `type:"boolean"`
20791
20792	// The user who last modified the GCM channel.
20793	LastModifiedBy *string `type:"string"`
20794
20795	// The date and time when the GCM channel was last modified.
20796	LastModifiedDate *string `type:"string"`
20797
20798	// The type of messaging or notification platform for the channel. For the GCM
20799	// channel, this value is GCM.
20800	//
20801	// Platform is a required field
20802	Platform *string `type:"string" required:"true"`
20803
20804	// The current version of the GCM channel.
20805	Version *int64 `type:"integer"`
20806}
20807
20808// String returns the string representation
20809func (s GCMChannelResponse) String() string {
20810	return awsutil.Prettify(s)
20811}
20812
20813// GoString returns the string representation
20814func (s GCMChannelResponse) GoString() string {
20815	return s.String()
20816}
20817
20818// SetApplicationId sets the ApplicationId field's value.
20819func (s *GCMChannelResponse) SetApplicationId(v string) *GCMChannelResponse {
20820	s.ApplicationId = &v
20821	return s
20822}
20823
20824// SetCreationDate sets the CreationDate field's value.
20825func (s *GCMChannelResponse) SetCreationDate(v string) *GCMChannelResponse {
20826	s.CreationDate = &v
20827	return s
20828}
20829
20830// SetCredential sets the Credential field's value.
20831func (s *GCMChannelResponse) SetCredential(v string) *GCMChannelResponse {
20832	s.Credential = &v
20833	return s
20834}
20835
20836// SetEnabled sets the Enabled field's value.
20837func (s *GCMChannelResponse) SetEnabled(v bool) *GCMChannelResponse {
20838	s.Enabled = &v
20839	return s
20840}
20841
20842// SetHasCredential sets the HasCredential field's value.
20843func (s *GCMChannelResponse) SetHasCredential(v bool) *GCMChannelResponse {
20844	s.HasCredential = &v
20845	return s
20846}
20847
20848// SetId sets the Id field's value.
20849func (s *GCMChannelResponse) SetId(v string) *GCMChannelResponse {
20850	s.Id = &v
20851	return s
20852}
20853
20854// SetIsArchived sets the IsArchived field's value.
20855func (s *GCMChannelResponse) SetIsArchived(v bool) *GCMChannelResponse {
20856	s.IsArchived = &v
20857	return s
20858}
20859
20860// SetLastModifiedBy sets the LastModifiedBy field's value.
20861func (s *GCMChannelResponse) SetLastModifiedBy(v string) *GCMChannelResponse {
20862	s.LastModifiedBy = &v
20863	return s
20864}
20865
20866// SetLastModifiedDate sets the LastModifiedDate field's value.
20867func (s *GCMChannelResponse) SetLastModifiedDate(v string) *GCMChannelResponse {
20868	s.LastModifiedDate = &v
20869	return s
20870}
20871
20872// SetPlatform sets the Platform field's value.
20873func (s *GCMChannelResponse) SetPlatform(v string) *GCMChannelResponse {
20874	s.Platform = &v
20875	return s
20876}
20877
20878// SetVersion sets the Version field's value.
20879func (s *GCMChannelResponse) SetVersion(v int64) *GCMChannelResponse {
20880	s.Version = &v
20881	return s
20882}
20883
20884// Specifies the settings for a one-time message that's sent directly to an
20885// endpoint through the GCM channel. The GCM channel enables Amazon Pinpoint
20886// to send messages to the Firebase Cloud Messaging (FCM), formerly Google Cloud
20887// Messaging (GCM), service.
20888type GCMMessage struct {
20889	_ struct{} `type:"structure"`
20890
20891	// The action to occur if the recipient taps the push notification. Valid values
20892	// are:
20893	//
20894	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
20895	//    sent to the background. This is the default action.
20896	//
20897	//    * DEEP_LINK - Your app opens and displays a designated user interface
20898	//    in the app. This action uses the deep-linking features of the Android
20899	//    platform.
20900	//
20901	//    * URL - The default mobile browser on the recipient's device opens and
20902	//    loads the web page at a URL that you specify.
20903	Action *string `type:"string" enum:"Action"`
20904
20905	// The body of the notification message.
20906	Body *string `type:"string"`
20907
20908	// An arbitrary string that identifies a group of messages that can be collapsed
20909	// to ensure that only the last message is sent when delivery can resume. This
20910	// helps avoid sending too many instances of the same messages when the recipient's
20911	// device comes online again or becomes active.
20912	//
20913	// Amazon Pinpoint specifies this value in the Firebase Cloud Messaging (FCM)
20914	// collapse_key parameter when it sends the notification message to FCM.
20915	CollapseKey *string `type:"string"`
20916
20917	// The JSON data payload to use for the push notification, if the notification
20918	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
20919	// object of the notification.
20920	Data map[string]*string `type:"map"`
20921
20922	// The icon image name of the asset saved in your app.
20923	IconReference *string `type:"string"`
20924
20925	// The URL of the large icon image to display in the content view of the push
20926	// notification.
20927	ImageIconUrl *string `type:"string"`
20928
20929	// The URL of an image to display in the push notification.
20930	ImageUrl *string `type:"string"`
20931
20932	// para>normal - The notification might be delayed. Delivery is optimized for
20933	// battery usage on the recipient's device. Use this value unless immediate
20934	// delivery is required.
20935	// /listitem>
20936	// high - The notification is sent immediately and might wake a sleeping device.
20937	// /para>
20938	// Amazon Pinpoint specifies this value in the FCM priority parameter when it
20939	// sends the notification message to FCM.
20940	//
20941	// The equivalent values for Apple Push Notification service (APNs) are 5, for
20942	// normal, and 10, for high. If you specify an APNs value for this property,
20943	// Amazon Pinpoint accepts and converts the value to the corresponding FCM value.
20944	Priority *string `type:"string"`
20945
20946	// The raw, JSON-formatted string to use as the payload for the notification
20947	// message. If specified, this value overrides all other content for the message.
20948	RawContent *string `type:"string"`
20949
20950	// The package name of the application where registration tokens must match
20951	// in order for the recipient to receive the message.
20952	RestrictedPackageName *string `type:"string"`
20953
20954	// Specifies whether the notification is a silent push notification, which is
20955	// a push notification that doesn't display on a recipient's device. Silent
20956	// push notifications can be used for cases such as updating an app's configuration
20957	// or supporting phone home functionality.
20958	SilentPush *bool `type:"boolean"`
20959
20960	// The URL of the small icon image to display in the status bar and the content
20961	// view of the push notification.
20962	SmallImageIconUrl *string `type:"string"`
20963
20964	// The sound to play when the recipient receives the push notification. You
20965	// can use the default stream or specify the file name of a sound resource that's
20966	// bundled in your app. On an Android platform, the sound file must reside in
20967	// /res/raw/.
20968	Sound *string `type:"string"`
20969
20970	// The default message variables to use in the notification message. You can
20971	// override the default variables with individual address variables.
20972	Substitutions map[string][]*string `type:"map"`
20973
20974	// The amount of time, in seconds, that FCM should store and attempt to deliver
20975	// the push notification, if the service is unable to deliver the notification
20976	// the first time. If you don't specify this value, FCM defaults to the maximum
20977	// value, which is 2,419,200 seconds (28 days).
20978	//
20979	// Amazon Pinpoint specifies this value in the FCM time_to_live parameter when
20980	// it sends the notification message to FCM.
20981	TimeToLive *int64 `type:"integer"`
20982
20983	// The title to display above the notification message on the recipient's device.
20984	Title *string `type:"string"`
20985
20986	// The URL to open in the recipient's default mobile browser, if a recipient
20987	// taps the push notification and the value of the Action property is URL.
20988	Url *string `type:"string"`
20989}
20990
20991// String returns the string representation
20992func (s GCMMessage) String() string {
20993	return awsutil.Prettify(s)
20994}
20995
20996// GoString returns the string representation
20997func (s GCMMessage) GoString() string {
20998	return s.String()
20999}
21000
21001// SetAction sets the Action field's value.
21002func (s *GCMMessage) SetAction(v string) *GCMMessage {
21003	s.Action = &v
21004	return s
21005}
21006
21007// SetBody sets the Body field's value.
21008func (s *GCMMessage) SetBody(v string) *GCMMessage {
21009	s.Body = &v
21010	return s
21011}
21012
21013// SetCollapseKey sets the CollapseKey field's value.
21014func (s *GCMMessage) SetCollapseKey(v string) *GCMMessage {
21015	s.CollapseKey = &v
21016	return s
21017}
21018
21019// SetData sets the Data field's value.
21020func (s *GCMMessage) SetData(v map[string]*string) *GCMMessage {
21021	s.Data = v
21022	return s
21023}
21024
21025// SetIconReference sets the IconReference field's value.
21026func (s *GCMMessage) SetIconReference(v string) *GCMMessage {
21027	s.IconReference = &v
21028	return s
21029}
21030
21031// SetImageIconUrl sets the ImageIconUrl field's value.
21032func (s *GCMMessage) SetImageIconUrl(v string) *GCMMessage {
21033	s.ImageIconUrl = &v
21034	return s
21035}
21036
21037// SetImageUrl sets the ImageUrl field's value.
21038func (s *GCMMessage) SetImageUrl(v string) *GCMMessage {
21039	s.ImageUrl = &v
21040	return s
21041}
21042
21043// SetPriority sets the Priority field's value.
21044func (s *GCMMessage) SetPriority(v string) *GCMMessage {
21045	s.Priority = &v
21046	return s
21047}
21048
21049// SetRawContent sets the RawContent field's value.
21050func (s *GCMMessage) SetRawContent(v string) *GCMMessage {
21051	s.RawContent = &v
21052	return s
21053}
21054
21055// SetRestrictedPackageName sets the RestrictedPackageName field's value.
21056func (s *GCMMessage) SetRestrictedPackageName(v string) *GCMMessage {
21057	s.RestrictedPackageName = &v
21058	return s
21059}
21060
21061// SetSilentPush sets the SilentPush field's value.
21062func (s *GCMMessage) SetSilentPush(v bool) *GCMMessage {
21063	s.SilentPush = &v
21064	return s
21065}
21066
21067// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
21068func (s *GCMMessage) SetSmallImageIconUrl(v string) *GCMMessage {
21069	s.SmallImageIconUrl = &v
21070	return s
21071}
21072
21073// SetSound sets the Sound field's value.
21074func (s *GCMMessage) SetSound(v string) *GCMMessage {
21075	s.Sound = &v
21076	return s
21077}
21078
21079// SetSubstitutions sets the Substitutions field's value.
21080func (s *GCMMessage) SetSubstitutions(v map[string][]*string) *GCMMessage {
21081	s.Substitutions = v
21082	return s
21083}
21084
21085// SetTimeToLive sets the TimeToLive field's value.
21086func (s *GCMMessage) SetTimeToLive(v int64) *GCMMessage {
21087	s.TimeToLive = &v
21088	return s
21089}
21090
21091// SetTitle sets the Title field's value.
21092func (s *GCMMessage) SetTitle(v string) *GCMMessage {
21093	s.Title = &v
21094	return s
21095}
21096
21097// SetUrl sets the Url field's value.
21098func (s *GCMMessage) SetUrl(v string) *GCMMessage {
21099	s.Url = &v
21100	return s
21101}
21102
21103// Specifies the GPS coordinates of a location.
21104type GPSCoordinates struct {
21105	_ struct{} `type:"structure"`
21106
21107	// The latitude coordinate of the location.
21108	//
21109	// Latitude is a required field
21110	Latitude *float64 `type:"double" required:"true"`
21111
21112	// The longitude coordinate of the location.
21113	//
21114	// Longitude is a required field
21115	Longitude *float64 `type:"double" required:"true"`
21116}
21117
21118// String returns the string representation
21119func (s GPSCoordinates) String() string {
21120	return awsutil.Prettify(s)
21121}
21122
21123// GoString returns the string representation
21124func (s GPSCoordinates) GoString() string {
21125	return s.String()
21126}
21127
21128// Validate inspects the fields of the type to determine if they are valid.
21129func (s *GPSCoordinates) Validate() error {
21130	invalidParams := request.ErrInvalidParams{Context: "GPSCoordinates"}
21131	if s.Latitude == nil {
21132		invalidParams.Add(request.NewErrParamRequired("Latitude"))
21133	}
21134	if s.Longitude == nil {
21135		invalidParams.Add(request.NewErrParamRequired("Longitude"))
21136	}
21137
21138	if invalidParams.Len() > 0 {
21139		return invalidParams
21140	}
21141	return nil
21142}
21143
21144// SetLatitude sets the Latitude field's value.
21145func (s *GPSCoordinates) SetLatitude(v float64) *GPSCoordinates {
21146	s.Latitude = &v
21147	return s
21148}
21149
21150// SetLongitude sets the Longitude field's value.
21151func (s *GPSCoordinates) SetLongitude(v float64) *GPSCoordinates {
21152	s.Longitude = &v
21153	return s
21154}
21155
21156// Specifies GPS-based criteria for including or excluding endpoints from a
21157// segment.
21158type GPSPointDimension struct {
21159	_ struct{} `type:"structure"`
21160
21161	// The GPS coordinates to measure distance from.
21162	//
21163	// Coordinates is a required field
21164	Coordinates *GPSCoordinates `type:"structure" required:"true"`
21165
21166	// The range, in kilometers, from the GPS coordinates.
21167	RangeInKilometers *float64 `type:"double"`
21168}
21169
21170// String returns the string representation
21171func (s GPSPointDimension) String() string {
21172	return awsutil.Prettify(s)
21173}
21174
21175// GoString returns the string representation
21176func (s GPSPointDimension) GoString() string {
21177	return s.String()
21178}
21179
21180// Validate inspects the fields of the type to determine if they are valid.
21181func (s *GPSPointDimension) Validate() error {
21182	invalidParams := request.ErrInvalidParams{Context: "GPSPointDimension"}
21183	if s.Coordinates == nil {
21184		invalidParams.Add(request.NewErrParamRequired("Coordinates"))
21185	}
21186	if s.Coordinates != nil {
21187		if err := s.Coordinates.Validate(); err != nil {
21188			invalidParams.AddNested("Coordinates", err.(request.ErrInvalidParams))
21189		}
21190	}
21191
21192	if invalidParams.Len() > 0 {
21193		return invalidParams
21194	}
21195	return nil
21196}
21197
21198// SetCoordinates sets the Coordinates field's value.
21199func (s *GPSPointDimension) SetCoordinates(v *GPSCoordinates) *GPSPointDimension {
21200	s.Coordinates = v
21201	return s
21202}
21203
21204// SetRangeInKilometers sets the RangeInKilometers field's value.
21205func (s *GPSPointDimension) SetRangeInKilometers(v float64) *GPSPointDimension {
21206	s.RangeInKilometers = &v
21207	return s
21208}
21209
21210type GetAdmChannelInput struct {
21211	_ struct{} `type:"structure"`
21212
21213	// ApplicationId is a required field
21214	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21215}
21216
21217// String returns the string representation
21218func (s GetAdmChannelInput) String() string {
21219	return awsutil.Prettify(s)
21220}
21221
21222// GoString returns the string representation
21223func (s GetAdmChannelInput) GoString() string {
21224	return s.String()
21225}
21226
21227// Validate inspects the fields of the type to determine if they are valid.
21228func (s *GetAdmChannelInput) Validate() error {
21229	invalidParams := request.ErrInvalidParams{Context: "GetAdmChannelInput"}
21230	if s.ApplicationId == nil {
21231		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21232	}
21233	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21234		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21235	}
21236
21237	if invalidParams.Len() > 0 {
21238		return invalidParams
21239	}
21240	return nil
21241}
21242
21243// SetApplicationId sets the ApplicationId field's value.
21244func (s *GetAdmChannelInput) SetApplicationId(v string) *GetAdmChannelInput {
21245	s.ApplicationId = &v
21246	return s
21247}
21248
21249type GetAdmChannelOutput struct {
21250	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
21251
21252	// Provides information about the status and settings of the ADM (Amazon Device
21253	// Messaging) channel for an application.
21254	//
21255	// ADMChannelResponse is a required field
21256	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
21257}
21258
21259// String returns the string representation
21260func (s GetAdmChannelOutput) String() string {
21261	return awsutil.Prettify(s)
21262}
21263
21264// GoString returns the string representation
21265func (s GetAdmChannelOutput) GoString() string {
21266	return s.String()
21267}
21268
21269// SetADMChannelResponse sets the ADMChannelResponse field's value.
21270func (s *GetAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *GetAdmChannelOutput {
21271	s.ADMChannelResponse = v
21272	return s
21273}
21274
21275type GetApnsChannelInput struct {
21276	_ struct{} `type:"structure"`
21277
21278	// ApplicationId is a required field
21279	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21280}
21281
21282// String returns the string representation
21283func (s GetApnsChannelInput) String() string {
21284	return awsutil.Prettify(s)
21285}
21286
21287// GoString returns the string representation
21288func (s GetApnsChannelInput) GoString() string {
21289	return s.String()
21290}
21291
21292// Validate inspects the fields of the type to determine if they are valid.
21293func (s *GetApnsChannelInput) Validate() error {
21294	invalidParams := request.ErrInvalidParams{Context: "GetApnsChannelInput"}
21295	if s.ApplicationId == nil {
21296		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21297	}
21298	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21299		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21300	}
21301
21302	if invalidParams.Len() > 0 {
21303		return invalidParams
21304	}
21305	return nil
21306}
21307
21308// SetApplicationId sets the ApplicationId field's value.
21309func (s *GetApnsChannelInput) SetApplicationId(v string) *GetApnsChannelInput {
21310	s.ApplicationId = &v
21311	return s
21312}
21313
21314type GetApnsChannelOutput struct {
21315	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
21316
21317	// Provides information about the status and settings of the APNs (Apple Push
21318	// Notification service) channel for an application.
21319	//
21320	// APNSChannelResponse is a required field
21321	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
21322}
21323
21324// String returns the string representation
21325func (s GetApnsChannelOutput) String() string {
21326	return awsutil.Prettify(s)
21327}
21328
21329// GoString returns the string representation
21330func (s GetApnsChannelOutput) GoString() string {
21331	return s.String()
21332}
21333
21334// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
21335func (s *GetApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *GetApnsChannelOutput {
21336	s.APNSChannelResponse = v
21337	return s
21338}
21339
21340type GetApnsSandboxChannelInput struct {
21341	_ struct{} `type:"structure"`
21342
21343	// ApplicationId is a required field
21344	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21345}
21346
21347// String returns the string representation
21348func (s GetApnsSandboxChannelInput) String() string {
21349	return awsutil.Prettify(s)
21350}
21351
21352// GoString returns the string representation
21353func (s GetApnsSandboxChannelInput) GoString() string {
21354	return s.String()
21355}
21356
21357// Validate inspects the fields of the type to determine if they are valid.
21358func (s *GetApnsSandboxChannelInput) Validate() error {
21359	invalidParams := request.ErrInvalidParams{Context: "GetApnsSandboxChannelInput"}
21360	if s.ApplicationId == nil {
21361		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21362	}
21363	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21364		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21365	}
21366
21367	if invalidParams.Len() > 0 {
21368		return invalidParams
21369	}
21370	return nil
21371}
21372
21373// SetApplicationId sets the ApplicationId field's value.
21374func (s *GetApnsSandboxChannelInput) SetApplicationId(v string) *GetApnsSandboxChannelInput {
21375	s.ApplicationId = &v
21376	return s
21377}
21378
21379type GetApnsSandboxChannelOutput struct {
21380	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
21381
21382	// Provides information about the status and settings of the APNs (Apple Push
21383	// Notification service) sandbox channel for an application.
21384	//
21385	// APNSSandboxChannelResponse is a required field
21386	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
21387}
21388
21389// String returns the string representation
21390func (s GetApnsSandboxChannelOutput) String() string {
21391	return awsutil.Prettify(s)
21392}
21393
21394// GoString returns the string representation
21395func (s GetApnsSandboxChannelOutput) GoString() string {
21396	return s.String()
21397}
21398
21399// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
21400func (s *GetApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *GetApnsSandboxChannelOutput {
21401	s.APNSSandboxChannelResponse = v
21402	return s
21403}
21404
21405type GetApnsVoipChannelInput struct {
21406	_ struct{} `type:"structure"`
21407
21408	// ApplicationId is a required field
21409	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21410}
21411
21412// String returns the string representation
21413func (s GetApnsVoipChannelInput) String() string {
21414	return awsutil.Prettify(s)
21415}
21416
21417// GoString returns the string representation
21418func (s GetApnsVoipChannelInput) GoString() string {
21419	return s.String()
21420}
21421
21422// Validate inspects the fields of the type to determine if they are valid.
21423func (s *GetApnsVoipChannelInput) Validate() error {
21424	invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipChannelInput"}
21425	if s.ApplicationId == nil {
21426		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21427	}
21428	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21429		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21430	}
21431
21432	if invalidParams.Len() > 0 {
21433		return invalidParams
21434	}
21435	return nil
21436}
21437
21438// SetApplicationId sets the ApplicationId field's value.
21439func (s *GetApnsVoipChannelInput) SetApplicationId(v string) *GetApnsVoipChannelInput {
21440	s.ApplicationId = &v
21441	return s
21442}
21443
21444type GetApnsVoipChannelOutput struct {
21445	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
21446
21447	// Provides information about the status and settings of the APNs (Apple Push
21448	// Notification service) VoIP channel for an application.
21449	//
21450	// APNSVoipChannelResponse is a required field
21451	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
21452}
21453
21454// String returns the string representation
21455func (s GetApnsVoipChannelOutput) String() string {
21456	return awsutil.Prettify(s)
21457}
21458
21459// GoString returns the string representation
21460func (s GetApnsVoipChannelOutput) GoString() string {
21461	return s.String()
21462}
21463
21464// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
21465func (s *GetApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *GetApnsVoipChannelOutput {
21466	s.APNSVoipChannelResponse = v
21467	return s
21468}
21469
21470type GetApnsVoipSandboxChannelInput struct {
21471	_ struct{} `type:"structure"`
21472
21473	// ApplicationId is a required field
21474	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21475}
21476
21477// String returns the string representation
21478func (s GetApnsVoipSandboxChannelInput) String() string {
21479	return awsutil.Prettify(s)
21480}
21481
21482// GoString returns the string representation
21483func (s GetApnsVoipSandboxChannelInput) GoString() string {
21484	return s.String()
21485}
21486
21487// Validate inspects the fields of the type to determine if they are valid.
21488func (s *GetApnsVoipSandboxChannelInput) Validate() error {
21489	invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipSandboxChannelInput"}
21490	if s.ApplicationId == nil {
21491		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21492	}
21493	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21494		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21495	}
21496
21497	if invalidParams.Len() > 0 {
21498		return invalidParams
21499	}
21500	return nil
21501}
21502
21503// SetApplicationId sets the ApplicationId field's value.
21504func (s *GetApnsVoipSandboxChannelInput) SetApplicationId(v string) *GetApnsVoipSandboxChannelInput {
21505	s.ApplicationId = &v
21506	return s
21507}
21508
21509type GetApnsVoipSandboxChannelOutput struct {
21510	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
21511
21512	// Provides information about the status and settings of the APNs (Apple Push
21513	// Notification service) VoIP sandbox channel for an application.
21514	//
21515	// APNSVoipSandboxChannelResponse is a required field
21516	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
21517}
21518
21519// String returns the string representation
21520func (s GetApnsVoipSandboxChannelOutput) String() string {
21521	return awsutil.Prettify(s)
21522}
21523
21524// GoString returns the string representation
21525func (s GetApnsVoipSandboxChannelOutput) GoString() string {
21526	return s.String()
21527}
21528
21529// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
21530func (s *GetApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *GetApnsVoipSandboxChannelOutput {
21531	s.APNSVoipSandboxChannelResponse = v
21532	return s
21533}
21534
21535type GetAppInput struct {
21536	_ struct{} `type:"structure"`
21537
21538	// ApplicationId is a required field
21539	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21540}
21541
21542// String returns the string representation
21543func (s GetAppInput) String() string {
21544	return awsutil.Prettify(s)
21545}
21546
21547// GoString returns the string representation
21548func (s GetAppInput) GoString() string {
21549	return s.String()
21550}
21551
21552// Validate inspects the fields of the type to determine if they are valid.
21553func (s *GetAppInput) Validate() error {
21554	invalidParams := request.ErrInvalidParams{Context: "GetAppInput"}
21555	if s.ApplicationId == nil {
21556		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21557	}
21558	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21559		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21560	}
21561
21562	if invalidParams.Len() > 0 {
21563		return invalidParams
21564	}
21565	return nil
21566}
21567
21568// SetApplicationId sets the ApplicationId field's value.
21569func (s *GetAppInput) SetApplicationId(v string) *GetAppInput {
21570	s.ApplicationId = &v
21571	return s
21572}
21573
21574type GetAppOutput struct {
21575	_ struct{} `type:"structure" payload:"ApplicationResponse"`
21576
21577	// Provides information about an application.
21578	//
21579	// ApplicationResponse is a required field
21580	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
21581}
21582
21583// String returns the string representation
21584func (s GetAppOutput) String() string {
21585	return awsutil.Prettify(s)
21586}
21587
21588// GoString returns the string representation
21589func (s GetAppOutput) GoString() string {
21590	return s.String()
21591}
21592
21593// SetApplicationResponse sets the ApplicationResponse field's value.
21594func (s *GetAppOutput) SetApplicationResponse(v *ApplicationResponse) *GetAppOutput {
21595	s.ApplicationResponse = v
21596	return s
21597}
21598
21599type GetApplicationDateRangeKpiInput struct {
21600	_ struct{} `type:"structure"`
21601
21602	// ApplicationId is a required field
21603	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21604
21605	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
21606
21607	// KpiName is a required field
21608	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
21609
21610	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
21611
21612	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
21613
21614	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
21615}
21616
21617// String returns the string representation
21618func (s GetApplicationDateRangeKpiInput) String() string {
21619	return awsutil.Prettify(s)
21620}
21621
21622// GoString returns the string representation
21623func (s GetApplicationDateRangeKpiInput) GoString() string {
21624	return s.String()
21625}
21626
21627// Validate inspects the fields of the type to determine if they are valid.
21628func (s *GetApplicationDateRangeKpiInput) Validate() error {
21629	invalidParams := request.ErrInvalidParams{Context: "GetApplicationDateRangeKpiInput"}
21630	if s.ApplicationId == nil {
21631		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21632	}
21633	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21634		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21635	}
21636	if s.KpiName == nil {
21637		invalidParams.Add(request.NewErrParamRequired("KpiName"))
21638	}
21639	if s.KpiName != nil && len(*s.KpiName) < 1 {
21640		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
21641	}
21642
21643	if invalidParams.Len() > 0 {
21644		return invalidParams
21645	}
21646	return nil
21647}
21648
21649// SetApplicationId sets the ApplicationId field's value.
21650func (s *GetApplicationDateRangeKpiInput) SetApplicationId(v string) *GetApplicationDateRangeKpiInput {
21651	s.ApplicationId = &v
21652	return s
21653}
21654
21655// SetEndTime sets the EndTime field's value.
21656func (s *GetApplicationDateRangeKpiInput) SetEndTime(v time.Time) *GetApplicationDateRangeKpiInput {
21657	s.EndTime = &v
21658	return s
21659}
21660
21661// SetKpiName sets the KpiName field's value.
21662func (s *GetApplicationDateRangeKpiInput) SetKpiName(v string) *GetApplicationDateRangeKpiInput {
21663	s.KpiName = &v
21664	return s
21665}
21666
21667// SetNextToken sets the NextToken field's value.
21668func (s *GetApplicationDateRangeKpiInput) SetNextToken(v string) *GetApplicationDateRangeKpiInput {
21669	s.NextToken = &v
21670	return s
21671}
21672
21673// SetPageSize sets the PageSize field's value.
21674func (s *GetApplicationDateRangeKpiInput) SetPageSize(v string) *GetApplicationDateRangeKpiInput {
21675	s.PageSize = &v
21676	return s
21677}
21678
21679// SetStartTime sets the StartTime field's value.
21680func (s *GetApplicationDateRangeKpiInput) SetStartTime(v time.Time) *GetApplicationDateRangeKpiInput {
21681	s.StartTime = &v
21682	return s
21683}
21684
21685type GetApplicationDateRangeKpiOutput struct {
21686	_ struct{} `type:"structure" payload:"ApplicationDateRangeKpiResponse"`
21687
21688	// Provides the results of a query that retrieved the data for a standard metric
21689	// that applies to an application, and provides information about that query.
21690	//
21691	// ApplicationDateRangeKpiResponse is a required field
21692	ApplicationDateRangeKpiResponse *ApplicationDateRangeKpiResponse `type:"structure" required:"true"`
21693}
21694
21695// String returns the string representation
21696func (s GetApplicationDateRangeKpiOutput) String() string {
21697	return awsutil.Prettify(s)
21698}
21699
21700// GoString returns the string representation
21701func (s GetApplicationDateRangeKpiOutput) GoString() string {
21702	return s.String()
21703}
21704
21705// SetApplicationDateRangeKpiResponse sets the ApplicationDateRangeKpiResponse field's value.
21706func (s *GetApplicationDateRangeKpiOutput) SetApplicationDateRangeKpiResponse(v *ApplicationDateRangeKpiResponse) *GetApplicationDateRangeKpiOutput {
21707	s.ApplicationDateRangeKpiResponse = v
21708	return s
21709}
21710
21711type GetApplicationSettingsInput struct {
21712	_ struct{} `type:"structure"`
21713
21714	// ApplicationId is a required field
21715	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21716}
21717
21718// String returns the string representation
21719func (s GetApplicationSettingsInput) String() string {
21720	return awsutil.Prettify(s)
21721}
21722
21723// GoString returns the string representation
21724func (s GetApplicationSettingsInput) GoString() string {
21725	return s.String()
21726}
21727
21728// Validate inspects the fields of the type to determine if they are valid.
21729func (s *GetApplicationSettingsInput) Validate() error {
21730	invalidParams := request.ErrInvalidParams{Context: "GetApplicationSettingsInput"}
21731	if s.ApplicationId == nil {
21732		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21733	}
21734	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21735		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21736	}
21737
21738	if invalidParams.Len() > 0 {
21739		return invalidParams
21740	}
21741	return nil
21742}
21743
21744// SetApplicationId sets the ApplicationId field's value.
21745func (s *GetApplicationSettingsInput) SetApplicationId(v string) *GetApplicationSettingsInput {
21746	s.ApplicationId = &v
21747	return s
21748}
21749
21750type GetApplicationSettingsOutput struct {
21751	_ struct{} `type:"structure" payload:"ApplicationSettingsResource"`
21752
21753	// Provides information about an application, including the default settings
21754	// for an application.
21755	//
21756	// ApplicationSettingsResource is a required field
21757	ApplicationSettingsResource *ApplicationSettingsResource `type:"structure" required:"true"`
21758}
21759
21760// String returns the string representation
21761func (s GetApplicationSettingsOutput) String() string {
21762	return awsutil.Prettify(s)
21763}
21764
21765// GoString returns the string representation
21766func (s GetApplicationSettingsOutput) GoString() string {
21767	return s.String()
21768}
21769
21770// SetApplicationSettingsResource sets the ApplicationSettingsResource field's value.
21771func (s *GetApplicationSettingsOutput) SetApplicationSettingsResource(v *ApplicationSettingsResource) *GetApplicationSettingsOutput {
21772	s.ApplicationSettingsResource = v
21773	return s
21774}
21775
21776type GetAppsInput struct {
21777	_ struct{} `type:"structure"`
21778
21779	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
21780
21781	Token *string `location:"querystring" locationName:"token" type:"string"`
21782}
21783
21784// String returns the string representation
21785func (s GetAppsInput) String() string {
21786	return awsutil.Prettify(s)
21787}
21788
21789// GoString returns the string representation
21790func (s GetAppsInput) GoString() string {
21791	return s.String()
21792}
21793
21794// SetPageSize sets the PageSize field's value.
21795func (s *GetAppsInput) SetPageSize(v string) *GetAppsInput {
21796	s.PageSize = &v
21797	return s
21798}
21799
21800// SetToken sets the Token field's value.
21801func (s *GetAppsInput) SetToken(v string) *GetAppsInput {
21802	s.Token = &v
21803	return s
21804}
21805
21806type GetAppsOutput struct {
21807	_ struct{} `type:"structure" payload:"ApplicationsResponse"`
21808
21809	// Provides information about all of your applications.
21810	//
21811	// ApplicationsResponse is a required field
21812	ApplicationsResponse *ApplicationsResponse `type:"structure" required:"true"`
21813}
21814
21815// String returns the string representation
21816func (s GetAppsOutput) String() string {
21817	return awsutil.Prettify(s)
21818}
21819
21820// GoString returns the string representation
21821func (s GetAppsOutput) GoString() string {
21822	return s.String()
21823}
21824
21825// SetApplicationsResponse sets the ApplicationsResponse field's value.
21826func (s *GetAppsOutput) SetApplicationsResponse(v *ApplicationsResponse) *GetAppsOutput {
21827	s.ApplicationsResponse = v
21828	return s
21829}
21830
21831type GetBaiduChannelInput struct {
21832	_ struct{} `type:"structure"`
21833
21834	// ApplicationId is a required field
21835	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21836}
21837
21838// String returns the string representation
21839func (s GetBaiduChannelInput) String() string {
21840	return awsutil.Prettify(s)
21841}
21842
21843// GoString returns the string representation
21844func (s GetBaiduChannelInput) GoString() string {
21845	return s.String()
21846}
21847
21848// Validate inspects the fields of the type to determine if they are valid.
21849func (s *GetBaiduChannelInput) Validate() error {
21850	invalidParams := request.ErrInvalidParams{Context: "GetBaiduChannelInput"}
21851	if s.ApplicationId == nil {
21852		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21853	}
21854	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21855		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21856	}
21857
21858	if invalidParams.Len() > 0 {
21859		return invalidParams
21860	}
21861	return nil
21862}
21863
21864// SetApplicationId sets the ApplicationId field's value.
21865func (s *GetBaiduChannelInput) SetApplicationId(v string) *GetBaiduChannelInput {
21866	s.ApplicationId = &v
21867	return s
21868}
21869
21870type GetBaiduChannelOutput struct {
21871	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
21872
21873	// Provides information about the status and settings of the Baidu (Baidu Cloud
21874	// Push) channel for an application.
21875	//
21876	// BaiduChannelResponse is a required field
21877	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
21878}
21879
21880// String returns the string representation
21881func (s GetBaiduChannelOutput) String() string {
21882	return awsutil.Prettify(s)
21883}
21884
21885// GoString returns the string representation
21886func (s GetBaiduChannelOutput) GoString() string {
21887	return s.String()
21888}
21889
21890// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
21891func (s *GetBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *GetBaiduChannelOutput {
21892	s.BaiduChannelResponse = v
21893	return s
21894}
21895
21896type GetCampaignActivitiesInput struct {
21897	_ struct{} `type:"structure"`
21898
21899	// ApplicationId is a required field
21900	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21901
21902	// CampaignId is a required field
21903	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
21904
21905	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
21906
21907	Token *string `location:"querystring" locationName:"token" type:"string"`
21908}
21909
21910// String returns the string representation
21911func (s GetCampaignActivitiesInput) String() string {
21912	return awsutil.Prettify(s)
21913}
21914
21915// GoString returns the string representation
21916func (s GetCampaignActivitiesInput) GoString() string {
21917	return s.String()
21918}
21919
21920// Validate inspects the fields of the type to determine if they are valid.
21921func (s *GetCampaignActivitiesInput) Validate() error {
21922	invalidParams := request.ErrInvalidParams{Context: "GetCampaignActivitiesInput"}
21923	if s.ApplicationId == nil {
21924		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21925	}
21926	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21927		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21928	}
21929	if s.CampaignId == nil {
21930		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
21931	}
21932	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
21933		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
21934	}
21935
21936	if invalidParams.Len() > 0 {
21937		return invalidParams
21938	}
21939	return nil
21940}
21941
21942// SetApplicationId sets the ApplicationId field's value.
21943func (s *GetCampaignActivitiesInput) SetApplicationId(v string) *GetCampaignActivitiesInput {
21944	s.ApplicationId = &v
21945	return s
21946}
21947
21948// SetCampaignId sets the CampaignId field's value.
21949func (s *GetCampaignActivitiesInput) SetCampaignId(v string) *GetCampaignActivitiesInput {
21950	s.CampaignId = &v
21951	return s
21952}
21953
21954// SetPageSize sets the PageSize field's value.
21955func (s *GetCampaignActivitiesInput) SetPageSize(v string) *GetCampaignActivitiesInput {
21956	s.PageSize = &v
21957	return s
21958}
21959
21960// SetToken sets the Token field's value.
21961func (s *GetCampaignActivitiesInput) SetToken(v string) *GetCampaignActivitiesInput {
21962	s.Token = &v
21963	return s
21964}
21965
21966type GetCampaignActivitiesOutput struct {
21967	_ struct{} `type:"structure" payload:"ActivitiesResponse"`
21968
21969	// Provides information about the activities that were performed by a campaign.
21970	//
21971	// ActivitiesResponse is a required field
21972	ActivitiesResponse *ActivitiesResponse `type:"structure" required:"true"`
21973}
21974
21975// String returns the string representation
21976func (s GetCampaignActivitiesOutput) String() string {
21977	return awsutil.Prettify(s)
21978}
21979
21980// GoString returns the string representation
21981func (s GetCampaignActivitiesOutput) GoString() string {
21982	return s.String()
21983}
21984
21985// SetActivitiesResponse sets the ActivitiesResponse field's value.
21986func (s *GetCampaignActivitiesOutput) SetActivitiesResponse(v *ActivitiesResponse) *GetCampaignActivitiesOutput {
21987	s.ActivitiesResponse = v
21988	return s
21989}
21990
21991type GetCampaignDateRangeKpiInput struct {
21992	_ struct{} `type:"structure"`
21993
21994	// ApplicationId is a required field
21995	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21996
21997	// CampaignId is a required field
21998	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
21999
22000	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
22001
22002	// KpiName is a required field
22003	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
22004
22005	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
22006
22007	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
22008
22009	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
22010}
22011
22012// String returns the string representation
22013func (s GetCampaignDateRangeKpiInput) String() string {
22014	return awsutil.Prettify(s)
22015}
22016
22017// GoString returns the string representation
22018func (s GetCampaignDateRangeKpiInput) GoString() string {
22019	return s.String()
22020}
22021
22022// Validate inspects the fields of the type to determine if they are valid.
22023func (s *GetCampaignDateRangeKpiInput) Validate() error {
22024	invalidParams := request.ErrInvalidParams{Context: "GetCampaignDateRangeKpiInput"}
22025	if s.ApplicationId == nil {
22026		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22027	}
22028	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22029		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22030	}
22031	if s.CampaignId == nil {
22032		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
22033	}
22034	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
22035		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
22036	}
22037	if s.KpiName == nil {
22038		invalidParams.Add(request.NewErrParamRequired("KpiName"))
22039	}
22040	if s.KpiName != nil && len(*s.KpiName) < 1 {
22041		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
22042	}
22043
22044	if invalidParams.Len() > 0 {
22045		return invalidParams
22046	}
22047	return nil
22048}
22049
22050// SetApplicationId sets the ApplicationId field's value.
22051func (s *GetCampaignDateRangeKpiInput) SetApplicationId(v string) *GetCampaignDateRangeKpiInput {
22052	s.ApplicationId = &v
22053	return s
22054}
22055
22056// SetCampaignId sets the CampaignId field's value.
22057func (s *GetCampaignDateRangeKpiInput) SetCampaignId(v string) *GetCampaignDateRangeKpiInput {
22058	s.CampaignId = &v
22059	return s
22060}
22061
22062// SetEndTime sets the EndTime field's value.
22063func (s *GetCampaignDateRangeKpiInput) SetEndTime(v time.Time) *GetCampaignDateRangeKpiInput {
22064	s.EndTime = &v
22065	return s
22066}
22067
22068// SetKpiName sets the KpiName field's value.
22069func (s *GetCampaignDateRangeKpiInput) SetKpiName(v string) *GetCampaignDateRangeKpiInput {
22070	s.KpiName = &v
22071	return s
22072}
22073
22074// SetNextToken sets the NextToken field's value.
22075func (s *GetCampaignDateRangeKpiInput) SetNextToken(v string) *GetCampaignDateRangeKpiInput {
22076	s.NextToken = &v
22077	return s
22078}
22079
22080// SetPageSize sets the PageSize field's value.
22081func (s *GetCampaignDateRangeKpiInput) SetPageSize(v string) *GetCampaignDateRangeKpiInput {
22082	s.PageSize = &v
22083	return s
22084}
22085
22086// SetStartTime sets the StartTime field's value.
22087func (s *GetCampaignDateRangeKpiInput) SetStartTime(v time.Time) *GetCampaignDateRangeKpiInput {
22088	s.StartTime = &v
22089	return s
22090}
22091
22092type GetCampaignDateRangeKpiOutput struct {
22093	_ struct{} `type:"structure" payload:"CampaignDateRangeKpiResponse"`
22094
22095	// Provides the results of a query that retrieved the data for a standard metric
22096	// that applies to a campaign, and provides information about that query.
22097	//
22098	// CampaignDateRangeKpiResponse is a required field
22099	CampaignDateRangeKpiResponse *CampaignDateRangeKpiResponse `type:"structure" required:"true"`
22100}
22101
22102// String returns the string representation
22103func (s GetCampaignDateRangeKpiOutput) String() string {
22104	return awsutil.Prettify(s)
22105}
22106
22107// GoString returns the string representation
22108func (s GetCampaignDateRangeKpiOutput) GoString() string {
22109	return s.String()
22110}
22111
22112// SetCampaignDateRangeKpiResponse sets the CampaignDateRangeKpiResponse field's value.
22113func (s *GetCampaignDateRangeKpiOutput) SetCampaignDateRangeKpiResponse(v *CampaignDateRangeKpiResponse) *GetCampaignDateRangeKpiOutput {
22114	s.CampaignDateRangeKpiResponse = v
22115	return s
22116}
22117
22118type GetCampaignInput struct {
22119	_ struct{} `type:"structure"`
22120
22121	// ApplicationId is a required field
22122	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22123
22124	// CampaignId is a required field
22125	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
22126}
22127
22128// String returns the string representation
22129func (s GetCampaignInput) String() string {
22130	return awsutil.Prettify(s)
22131}
22132
22133// GoString returns the string representation
22134func (s GetCampaignInput) GoString() string {
22135	return s.String()
22136}
22137
22138// Validate inspects the fields of the type to determine if they are valid.
22139func (s *GetCampaignInput) Validate() error {
22140	invalidParams := request.ErrInvalidParams{Context: "GetCampaignInput"}
22141	if s.ApplicationId == nil {
22142		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22143	}
22144	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22145		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22146	}
22147	if s.CampaignId == nil {
22148		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
22149	}
22150	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
22151		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
22152	}
22153
22154	if invalidParams.Len() > 0 {
22155		return invalidParams
22156	}
22157	return nil
22158}
22159
22160// SetApplicationId sets the ApplicationId field's value.
22161func (s *GetCampaignInput) SetApplicationId(v string) *GetCampaignInput {
22162	s.ApplicationId = &v
22163	return s
22164}
22165
22166// SetCampaignId sets the CampaignId field's value.
22167func (s *GetCampaignInput) SetCampaignId(v string) *GetCampaignInput {
22168	s.CampaignId = &v
22169	return s
22170}
22171
22172type GetCampaignOutput struct {
22173	_ struct{} `type:"structure" payload:"CampaignResponse"`
22174
22175	// Provides information about the status, configuration, and other settings
22176	// for a campaign.
22177	//
22178	// CampaignResponse is a required field
22179	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
22180}
22181
22182// String returns the string representation
22183func (s GetCampaignOutput) String() string {
22184	return awsutil.Prettify(s)
22185}
22186
22187// GoString returns the string representation
22188func (s GetCampaignOutput) GoString() string {
22189	return s.String()
22190}
22191
22192// SetCampaignResponse sets the CampaignResponse field's value.
22193func (s *GetCampaignOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignOutput {
22194	s.CampaignResponse = v
22195	return s
22196}
22197
22198type GetCampaignVersionInput struct {
22199	_ struct{} `type:"structure"`
22200
22201	// ApplicationId is a required field
22202	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22203
22204	// CampaignId is a required field
22205	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
22206
22207	// Version is a required field
22208	Version *string `location:"uri" locationName:"version" type:"string" required:"true"`
22209}
22210
22211// String returns the string representation
22212func (s GetCampaignVersionInput) String() string {
22213	return awsutil.Prettify(s)
22214}
22215
22216// GoString returns the string representation
22217func (s GetCampaignVersionInput) GoString() string {
22218	return s.String()
22219}
22220
22221// Validate inspects the fields of the type to determine if they are valid.
22222func (s *GetCampaignVersionInput) Validate() error {
22223	invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionInput"}
22224	if s.ApplicationId == nil {
22225		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22226	}
22227	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22228		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22229	}
22230	if s.CampaignId == nil {
22231		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
22232	}
22233	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
22234		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
22235	}
22236	if s.Version == nil {
22237		invalidParams.Add(request.NewErrParamRequired("Version"))
22238	}
22239	if s.Version != nil && len(*s.Version) < 1 {
22240		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
22241	}
22242
22243	if invalidParams.Len() > 0 {
22244		return invalidParams
22245	}
22246	return nil
22247}
22248
22249// SetApplicationId sets the ApplicationId field's value.
22250func (s *GetCampaignVersionInput) SetApplicationId(v string) *GetCampaignVersionInput {
22251	s.ApplicationId = &v
22252	return s
22253}
22254
22255// SetCampaignId sets the CampaignId field's value.
22256func (s *GetCampaignVersionInput) SetCampaignId(v string) *GetCampaignVersionInput {
22257	s.CampaignId = &v
22258	return s
22259}
22260
22261// SetVersion sets the Version field's value.
22262func (s *GetCampaignVersionInput) SetVersion(v string) *GetCampaignVersionInput {
22263	s.Version = &v
22264	return s
22265}
22266
22267type GetCampaignVersionOutput struct {
22268	_ struct{} `type:"structure" payload:"CampaignResponse"`
22269
22270	// Provides information about the status, configuration, and other settings
22271	// for a campaign.
22272	//
22273	// CampaignResponse is a required field
22274	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
22275}
22276
22277// String returns the string representation
22278func (s GetCampaignVersionOutput) String() string {
22279	return awsutil.Prettify(s)
22280}
22281
22282// GoString returns the string representation
22283func (s GetCampaignVersionOutput) GoString() string {
22284	return s.String()
22285}
22286
22287// SetCampaignResponse sets the CampaignResponse field's value.
22288func (s *GetCampaignVersionOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignVersionOutput {
22289	s.CampaignResponse = v
22290	return s
22291}
22292
22293type GetCampaignVersionsInput struct {
22294	_ struct{} `type:"structure"`
22295
22296	// ApplicationId is a required field
22297	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22298
22299	// CampaignId is a required field
22300	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
22301
22302	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
22303
22304	Token *string `location:"querystring" locationName:"token" type:"string"`
22305}
22306
22307// String returns the string representation
22308func (s GetCampaignVersionsInput) String() string {
22309	return awsutil.Prettify(s)
22310}
22311
22312// GoString returns the string representation
22313func (s GetCampaignVersionsInput) GoString() string {
22314	return s.String()
22315}
22316
22317// Validate inspects the fields of the type to determine if they are valid.
22318func (s *GetCampaignVersionsInput) Validate() error {
22319	invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionsInput"}
22320	if s.ApplicationId == nil {
22321		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22322	}
22323	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22324		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22325	}
22326	if s.CampaignId == nil {
22327		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
22328	}
22329	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
22330		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
22331	}
22332
22333	if invalidParams.Len() > 0 {
22334		return invalidParams
22335	}
22336	return nil
22337}
22338
22339// SetApplicationId sets the ApplicationId field's value.
22340func (s *GetCampaignVersionsInput) SetApplicationId(v string) *GetCampaignVersionsInput {
22341	s.ApplicationId = &v
22342	return s
22343}
22344
22345// SetCampaignId sets the CampaignId field's value.
22346func (s *GetCampaignVersionsInput) SetCampaignId(v string) *GetCampaignVersionsInput {
22347	s.CampaignId = &v
22348	return s
22349}
22350
22351// SetPageSize sets the PageSize field's value.
22352func (s *GetCampaignVersionsInput) SetPageSize(v string) *GetCampaignVersionsInput {
22353	s.PageSize = &v
22354	return s
22355}
22356
22357// SetToken sets the Token field's value.
22358func (s *GetCampaignVersionsInput) SetToken(v string) *GetCampaignVersionsInput {
22359	s.Token = &v
22360	return s
22361}
22362
22363type GetCampaignVersionsOutput struct {
22364	_ struct{} `type:"structure" payload:"CampaignsResponse"`
22365
22366	// Provides information about the configuration and other settings for all the
22367	// campaigns that are associated with an application.
22368	//
22369	// CampaignsResponse is a required field
22370	CampaignsResponse *CampaignsResponse `type:"structure" required:"true"`
22371}
22372
22373// String returns the string representation
22374func (s GetCampaignVersionsOutput) String() string {
22375	return awsutil.Prettify(s)
22376}
22377
22378// GoString returns the string representation
22379func (s GetCampaignVersionsOutput) GoString() string {
22380	return s.String()
22381}
22382
22383// SetCampaignsResponse sets the CampaignsResponse field's value.
22384func (s *GetCampaignVersionsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignVersionsOutput {
22385	s.CampaignsResponse = v
22386	return s
22387}
22388
22389type GetCampaignsInput struct {
22390	_ struct{} `type:"structure"`
22391
22392	// ApplicationId is a required field
22393	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22394
22395	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
22396
22397	Token *string `location:"querystring" locationName:"token" type:"string"`
22398}
22399
22400// String returns the string representation
22401func (s GetCampaignsInput) String() string {
22402	return awsutil.Prettify(s)
22403}
22404
22405// GoString returns the string representation
22406func (s GetCampaignsInput) GoString() string {
22407	return s.String()
22408}
22409
22410// Validate inspects the fields of the type to determine if they are valid.
22411func (s *GetCampaignsInput) Validate() error {
22412	invalidParams := request.ErrInvalidParams{Context: "GetCampaignsInput"}
22413	if s.ApplicationId == nil {
22414		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22415	}
22416	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22417		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22418	}
22419
22420	if invalidParams.Len() > 0 {
22421		return invalidParams
22422	}
22423	return nil
22424}
22425
22426// SetApplicationId sets the ApplicationId field's value.
22427func (s *GetCampaignsInput) SetApplicationId(v string) *GetCampaignsInput {
22428	s.ApplicationId = &v
22429	return s
22430}
22431
22432// SetPageSize sets the PageSize field's value.
22433func (s *GetCampaignsInput) SetPageSize(v string) *GetCampaignsInput {
22434	s.PageSize = &v
22435	return s
22436}
22437
22438// SetToken sets the Token field's value.
22439func (s *GetCampaignsInput) SetToken(v string) *GetCampaignsInput {
22440	s.Token = &v
22441	return s
22442}
22443
22444type GetCampaignsOutput struct {
22445	_ struct{} `type:"structure" payload:"CampaignsResponse"`
22446
22447	// Provides information about the configuration and other settings for all the
22448	// campaigns that are associated with an application.
22449	//
22450	// CampaignsResponse is a required field
22451	CampaignsResponse *CampaignsResponse `type:"structure" required:"true"`
22452}
22453
22454// String returns the string representation
22455func (s GetCampaignsOutput) String() string {
22456	return awsutil.Prettify(s)
22457}
22458
22459// GoString returns the string representation
22460func (s GetCampaignsOutput) GoString() string {
22461	return s.String()
22462}
22463
22464// SetCampaignsResponse sets the CampaignsResponse field's value.
22465func (s *GetCampaignsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignsOutput {
22466	s.CampaignsResponse = v
22467	return s
22468}
22469
22470type GetChannelsInput struct {
22471	_ struct{} `type:"structure"`
22472
22473	// ApplicationId is a required field
22474	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22475}
22476
22477// String returns the string representation
22478func (s GetChannelsInput) String() string {
22479	return awsutil.Prettify(s)
22480}
22481
22482// GoString returns the string representation
22483func (s GetChannelsInput) GoString() string {
22484	return s.String()
22485}
22486
22487// Validate inspects the fields of the type to determine if they are valid.
22488func (s *GetChannelsInput) Validate() error {
22489	invalidParams := request.ErrInvalidParams{Context: "GetChannelsInput"}
22490	if s.ApplicationId == nil {
22491		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22492	}
22493	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22494		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22495	}
22496
22497	if invalidParams.Len() > 0 {
22498		return invalidParams
22499	}
22500	return nil
22501}
22502
22503// SetApplicationId sets the ApplicationId field's value.
22504func (s *GetChannelsInput) SetApplicationId(v string) *GetChannelsInput {
22505	s.ApplicationId = &v
22506	return s
22507}
22508
22509type GetChannelsOutput struct {
22510	_ struct{} `type:"structure" payload:"ChannelsResponse"`
22511
22512	// Provides information about the general settings and status of all channels
22513	// for an application, including channels that aren't enabled for the application.
22514	//
22515	// ChannelsResponse is a required field
22516	ChannelsResponse *ChannelsResponse `type:"structure" required:"true"`
22517}
22518
22519// String returns the string representation
22520func (s GetChannelsOutput) String() string {
22521	return awsutil.Prettify(s)
22522}
22523
22524// GoString returns the string representation
22525func (s GetChannelsOutput) GoString() string {
22526	return s.String()
22527}
22528
22529// SetChannelsResponse sets the ChannelsResponse field's value.
22530func (s *GetChannelsOutput) SetChannelsResponse(v *ChannelsResponse) *GetChannelsOutput {
22531	s.ChannelsResponse = v
22532	return s
22533}
22534
22535type GetEmailChannelInput struct {
22536	_ struct{} `type:"structure"`
22537
22538	// ApplicationId is a required field
22539	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22540}
22541
22542// String returns the string representation
22543func (s GetEmailChannelInput) String() string {
22544	return awsutil.Prettify(s)
22545}
22546
22547// GoString returns the string representation
22548func (s GetEmailChannelInput) GoString() string {
22549	return s.String()
22550}
22551
22552// Validate inspects the fields of the type to determine if they are valid.
22553func (s *GetEmailChannelInput) Validate() error {
22554	invalidParams := request.ErrInvalidParams{Context: "GetEmailChannelInput"}
22555	if s.ApplicationId == nil {
22556		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22557	}
22558	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22559		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22560	}
22561
22562	if invalidParams.Len() > 0 {
22563		return invalidParams
22564	}
22565	return nil
22566}
22567
22568// SetApplicationId sets the ApplicationId field's value.
22569func (s *GetEmailChannelInput) SetApplicationId(v string) *GetEmailChannelInput {
22570	s.ApplicationId = &v
22571	return s
22572}
22573
22574type GetEmailChannelOutput struct {
22575	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
22576
22577	// Provides information about the status and settings of the email channel for
22578	// an application.
22579	//
22580	// EmailChannelResponse is a required field
22581	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
22582}
22583
22584// String returns the string representation
22585func (s GetEmailChannelOutput) String() string {
22586	return awsutil.Prettify(s)
22587}
22588
22589// GoString returns the string representation
22590func (s GetEmailChannelOutput) GoString() string {
22591	return s.String()
22592}
22593
22594// SetEmailChannelResponse sets the EmailChannelResponse field's value.
22595func (s *GetEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *GetEmailChannelOutput {
22596	s.EmailChannelResponse = v
22597	return s
22598}
22599
22600type GetEmailTemplateInput struct {
22601	_ struct{} `type:"structure"`
22602
22603	// TemplateName is a required field
22604	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
22605
22606	Version *string `location:"querystring" locationName:"version" type:"string"`
22607}
22608
22609// String returns the string representation
22610func (s GetEmailTemplateInput) String() string {
22611	return awsutil.Prettify(s)
22612}
22613
22614// GoString returns the string representation
22615func (s GetEmailTemplateInput) GoString() string {
22616	return s.String()
22617}
22618
22619// Validate inspects the fields of the type to determine if they are valid.
22620func (s *GetEmailTemplateInput) Validate() error {
22621	invalidParams := request.ErrInvalidParams{Context: "GetEmailTemplateInput"}
22622	if s.TemplateName == nil {
22623		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
22624	}
22625	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
22626		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
22627	}
22628
22629	if invalidParams.Len() > 0 {
22630		return invalidParams
22631	}
22632	return nil
22633}
22634
22635// SetTemplateName sets the TemplateName field's value.
22636func (s *GetEmailTemplateInput) SetTemplateName(v string) *GetEmailTemplateInput {
22637	s.TemplateName = &v
22638	return s
22639}
22640
22641// SetVersion sets the Version field's value.
22642func (s *GetEmailTemplateInput) SetVersion(v string) *GetEmailTemplateInput {
22643	s.Version = &v
22644	return s
22645}
22646
22647type GetEmailTemplateOutput struct {
22648	_ struct{} `type:"structure" payload:"EmailTemplateResponse"`
22649
22650	// Provides information about the content and settings for a message template
22651	// that can be used in messages that are sent through the email channel.
22652	//
22653	// EmailTemplateResponse is a required field
22654	EmailTemplateResponse *EmailTemplateResponse `type:"structure" required:"true"`
22655}
22656
22657// String returns the string representation
22658func (s GetEmailTemplateOutput) String() string {
22659	return awsutil.Prettify(s)
22660}
22661
22662// GoString returns the string representation
22663func (s GetEmailTemplateOutput) GoString() string {
22664	return s.String()
22665}
22666
22667// SetEmailTemplateResponse sets the EmailTemplateResponse field's value.
22668func (s *GetEmailTemplateOutput) SetEmailTemplateResponse(v *EmailTemplateResponse) *GetEmailTemplateOutput {
22669	s.EmailTemplateResponse = v
22670	return s
22671}
22672
22673type GetEndpointInput struct {
22674	_ struct{} `type:"structure"`
22675
22676	// ApplicationId is a required field
22677	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22678
22679	// EndpointId is a required field
22680	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
22681}
22682
22683// String returns the string representation
22684func (s GetEndpointInput) String() string {
22685	return awsutil.Prettify(s)
22686}
22687
22688// GoString returns the string representation
22689func (s GetEndpointInput) GoString() string {
22690	return s.String()
22691}
22692
22693// Validate inspects the fields of the type to determine if they are valid.
22694func (s *GetEndpointInput) Validate() error {
22695	invalidParams := request.ErrInvalidParams{Context: "GetEndpointInput"}
22696	if s.ApplicationId == nil {
22697		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22698	}
22699	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22700		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22701	}
22702	if s.EndpointId == nil {
22703		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
22704	}
22705	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
22706		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
22707	}
22708
22709	if invalidParams.Len() > 0 {
22710		return invalidParams
22711	}
22712	return nil
22713}
22714
22715// SetApplicationId sets the ApplicationId field's value.
22716func (s *GetEndpointInput) SetApplicationId(v string) *GetEndpointInput {
22717	s.ApplicationId = &v
22718	return s
22719}
22720
22721// SetEndpointId sets the EndpointId field's value.
22722func (s *GetEndpointInput) SetEndpointId(v string) *GetEndpointInput {
22723	s.EndpointId = &v
22724	return s
22725}
22726
22727type GetEndpointOutput struct {
22728	_ struct{} `type:"structure" payload:"EndpointResponse"`
22729
22730	// Provides information about the channel type and other settings for an endpoint.
22731	//
22732	// EndpointResponse is a required field
22733	EndpointResponse *EndpointResponse `type:"structure" required:"true"`
22734}
22735
22736// String returns the string representation
22737func (s GetEndpointOutput) String() string {
22738	return awsutil.Prettify(s)
22739}
22740
22741// GoString returns the string representation
22742func (s GetEndpointOutput) GoString() string {
22743	return s.String()
22744}
22745
22746// SetEndpointResponse sets the EndpointResponse field's value.
22747func (s *GetEndpointOutput) SetEndpointResponse(v *EndpointResponse) *GetEndpointOutput {
22748	s.EndpointResponse = v
22749	return s
22750}
22751
22752type GetEventStreamInput struct {
22753	_ struct{} `type:"structure"`
22754
22755	// ApplicationId is a required field
22756	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22757}
22758
22759// String returns the string representation
22760func (s GetEventStreamInput) String() string {
22761	return awsutil.Prettify(s)
22762}
22763
22764// GoString returns the string representation
22765func (s GetEventStreamInput) GoString() string {
22766	return s.String()
22767}
22768
22769// Validate inspects the fields of the type to determine if they are valid.
22770func (s *GetEventStreamInput) Validate() error {
22771	invalidParams := request.ErrInvalidParams{Context: "GetEventStreamInput"}
22772	if s.ApplicationId == nil {
22773		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22774	}
22775	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22776		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22777	}
22778
22779	if invalidParams.Len() > 0 {
22780		return invalidParams
22781	}
22782	return nil
22783}
22784
22785// SetApplicationId sets the ApplicationId field's value.
22786func (s *GetEventStreamInput) SetApplicationId(v string) *GetEventStreamInput {
22787	s.ApplicationId = &v
22788	return s
22789}
22790
22791type GetEventStreamOutput struct {
22792	_ struct{} `type:"structure" payload:"EventStream"`
22793
22794	// Specifies settings for publishing event data to an Amazon Kinesis data stream
22795	// or an Amazon Kinesis Data Firehose delivery stream.
22796	//
22797	// EventStream is a required field
22798	EventStream *EventStream `type:"structure" required:"true"`
22799}
22800
22801// String returns the string representation
22802func (s GetEventStreamOutput) String() string {
22803	return awsutil.Prettify(s)
22804}
22805
22806// GoString returns the string representation
22807func (s GetEventStreamOutput) GoString() string {
22808	return s.String()
22809}
22810
22811// SetEventStream sets the EventStream field's value.
22812func (s *GetEventStreamOutput) SetEventStream(v *EventStream) *GetEventStreamOutput {
22813	s.EventStream = v
22814	return s
22815}
22816
22817type GetExportJobInput struct {
22818	_ struct{} `type:"structure"`
22819
22820	// ApplicationId is a required field
22821	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22822
22823	// JobId is a required field
22824	JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"`
22825}
22826
22827// String returns the string representation
22828func (s GetExportJobInput) String() string {
22829	return awsutil.Prettify(s)
22830}
22831
22832// GoString returns the string representation
22833func (s GetExportJobInput) GoString() string {
22834	return s.String()
22835}
22836
22837// Validate inspects the fields of the type to determine if they are valid.
22838func (s *GetExportJobInput) Validate() error {
22839	invalidParams := request.ErrInvalidParams{Context: "GetExportJobInput"}
22840	if s.ApplicationId == nil {
22841		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22842	}
22843	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22844		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22845	}
22846	if s.JobId == nil {
22847		invalidParams.Add(request.NewErrParamRequired("JobId"))
22848	}
22849	if s.JobId != nil && len(*s.JobId) < 1 {
22850		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
22851	}
22852
22853	if invalidParams.Len() > 0 {
22854		return invalidParams
22855	}
22856	return nil
22857}
22858
22859// SetApplicationId sets the ApplicationId field's value.
22860func (s *GetExportJobInput) SetApplicationId(v string) *GetExportJobInput {
22861	s.ApplicationId = &v
22862	return s
22863}
22864
22865// SetJobId sets the JobId field's value.
22866func (s *GetExportJobInput) SetJobId(v string) *GetExportJobInput {
22867	s.JobId = &v
22868	return s
22869}
22870
22871type GetExportJobOutput struct {
22872	_ struct{} `type:"structure" payload:"ExportJobResponse"`
22873
22874	// Provides information about the status and settings of a job that exports
22875	// endpoint definitions to a file. The file can be added directly to an Amazon
22876	// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
22877	// or downloaded directly to a computer by using the Amazon Pinpoint console.
22878	//
22879	// ExportJobResponse is a required field
22880	ExportJobResponse *ExportJobResponse `type:"structure" required:"true"`
22881}
22882
22883// String returns the string representation
22884func (s GetExportJobOutput) String() string {
22885	return awsutil.Prettify(s)
22886}
22887
22888// GoString returns the string representation
22889func (s GetExportJobOutput) GoString() string {
22890	return s.String()
22891}
22892
22893// SetExportJobResponse sets the ExportJobResponse field's value.
22894func (s *GetExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *GetExportJobOutput {
22895	s.ExportJobResponse = v
22896	return s
22897}
22898
22899type GetExportJobsInput struct {
22900	_ struct{} `type:"structure"`
22901
22902	// ApplicationId is a required field
22903	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22904
22905	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
22906
22907	Token *string `location:"querystring" locationName:"token" type:"string"`
22908}
22909
22910// String returns the string representation
22911func (s GetExportJobsInput) String() string {
22912	return awsutil.Prettify(s)
22913}
22914
22915// GoString returns the string representation
22916func (s GetExportJobsInput) GoString() string {
22917	return s.String()
22918}
22919
22920// Validate inspects the fields of the type to determine if they are valid.
22921func (s *GetExportJobsInput) Validate() error {
22922	invalidParams := request.ErrInvalidParams{Context: "GetExportJobsInput"}
22923	if s.ApplicationId == nil {
22924		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22925	}
22926	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22927		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22928	}
22929
22930	if invalidParams.Len() > 0 {
22931		return invalidParams
22932	}
22933	return nil
22934}
22935
22936// SetApplicationId sets the ApplicationId field's value.
22937func (s *GetExportJobsInput) SetApplicationId(v string) *GetExportJobsInput {
22938	s.ApplicationId = &v
22939	return s
22940}
22941
22942// SetPageSize sets the PageSize field's value.
22943func (s *GetExportJobsInput) SetPageSize(v string) *GetExportJobsInput {
22944	s.PageSize = &v
22945	return s
22946}
22947
22948// SetToken sets the Token field's value.
22949func (s *GetExportJobsInput) SetToken(v string) *GetExportJobsInput {
22950	s.Token = &v
22951	return s
22952}
22953
22954type GetExportJobsOutput struct {
22955	_ struct{} `type:"structure" payload:"ExportJobsResponse"`
22956
22957	// Provides information about all the export jobs that are associated with an
22958	// application or segment. An export job is a job that exports endpoint definitions
22959	// to a file.
22960	//
22961	// ExportJobsResponse is a required field
22962	ExportJobsResponse *ExportJobsResponse `type:"structure" required:"true"`
22963}
22964
22965// String returns the string representation
22966func (s GetExportJobsOutput) String() string {
22967	return awsutil.Prettify(s)
22968}
22969
22970// GoString returns the string representation
22971func (s GetExportJobsOutput) GoString() string {
22972	return s.String()
22973}
22974
22975// SetExportJobsResponse sets the ExportJobsResponse field's value.
22976func (s *GetExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetExportJobsOutput {
22977	s.ExportJobsResponse = v
22978	return s
22979}
22980
22981type GetGcmChannelInput struct {
22982	_ struct{} `type:"structure"`
22983
22984	// ApplicationId is a required field
22985	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22986}
22987
22988// String returns the string representation
22989func (s GetGcmChannelInput) String() string {
22990	return awsutil.Prettify(s)
22991}
22992
22993// GoString returns the string representation
22994func (s GetGcmChannelInput) GoString() string {
22995	return s.String()
22996}
22997
22998// Validate inspects the fields of the type to determine if they are valid.
22999func (s *GetGcmChannelInput) Validate() error {
23000	invalidParams := request.ErrInvalidParams{Context: "GetGcmChannelInput"}
23001	if s.ApplicationId == nil {
23002		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23003	}
23004	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23005		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23006	}
23007
23008	if invalidParams.Len() > 0 {
23009		return invalidParams
23010	}
23011	return nil
23012}
23013
23014// SetApplicationId sets the ApplicationId field's value.
23015func (s *GetGcmChannelInput) SetApplicationId(v string) *GetGcmChannelInput {
23016	s.ApplicationId = &v
23017	return s
23018}
23019
23020type GetGcmChannelOutput struct {
23021	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
23022
23023	// Provides information about the status and settings of the GCM channel for
23024	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
23025	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
23026	// (GCM), service.
23027	//
23028	// GCMChannelResponse is a required field
23029	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
23030}
23031
23032// String returns the string representation
23033func (s GetGcmChannelOutput) String() string {
23034	return awsutil.Prettify(s)
23035}
23036
23037// GoString returns the string representation
23038func (s GetGcmChannelOutput) GoString() string {
23039	return s.String()
23040}
23041
23042// SetGCMChannelResponse sets the GCMChannelResponse field's value.
23043func (s *GetGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *GetGcmChannelOutput {
23044	s.GCMChannelResponse = v
23045	return s
23046}
23047
23048type GetImportJobInput struct {
23049	_ struct{} `type:"structure"`
23050
23051	// ApplicationId is a required field
23052	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23053
23054	// JobId is a required field
23055	JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"`
23056}
23057
23058// String returns the string representation
23059func (s GetImportJobInput) String() string {
23060	return awsutil.Prettify(s)
23061}
23062
23063// GoString returns the string representation
23064func (s GetImportJobInput) GoString() string {
23065	return s.String()
23066}
23067
23068// Validate inspects the fields of the type to determine if they are valid.
23069func (s *GetImportJobInput) Validate() error {
23070	invalidParams := request.ErrInvalidParams{Context: "GetImportJobInput"}
23071	if s.ApplicationId == nil {
23072		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23073	}
23074	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23075		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23076	}
23077	if s.JobId == nil {
23078		invalidParams.Add(request.NewErrParamRequired("JobId"))
23079	}
23080	if s.JobId != nil && len(*s.JobId) < 1 {
23081		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
23082	}
23083
23084	if invalidParams.Len() > 0 {
23085		return invalidParams
23086	}
23087	return nil
23088}
23089
23090// SetApplicationId sets the ApplicationId field's value.
23091func (s *GetImportJobInput) SetApplicationId(v string) *GetImportJobInput {
23092	s.ApplicationId = &v
23093	return s
23094}
23095
23096// SetJobId sets the JobId field's value.
23097func (s *GetImportJobInput) SetJobId(v string) *GetImportJobInput {
23098	s.JobId = &v
23099	return s
23100}
23101
23102type GetImportJobOutput struct {
23103	_ struct{} `type:"structure" payload:"ImportJobResponse"`
23104
23105	// Provides information about the status and settings of a job that imports
23106	// endpoint definitions from one or more files. The files can be stored in an
23107	// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
23108	// a computer by using the Amazon Pinpoint console.
23109	//
23110	// ImportJobResponse is a required field
23111	ImportJobResponse *ImportJobResponse `type:"structure" required:"true"`
23112}
23113
23114// String returns the string representation
23115func (s GetImportJobOutput) String() string {
23116	return awsutil.Prettify(s)
23117}
23118
23119// GoString returns the string representation
23120func (s GetImportJobOutput) GoString() string {
23121	return s.String()
23122}
23123
23124// SetImportJobResponse sets the ImportJobResponse field's value.
23125func (s *GetImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *GetImportJobOutput {
23126	s.ImportJobResponse = v
23127	return s
23128}
23129
23130type GetImportJobsInput struct {
23131	_ struct{} `type:"structure"`
23132
23133	// ApplicationId is a required field
23134	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23135
23136	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
23137
23138	Token *string `location:"querystring" locationName:"token" type:"string"`
23139}
23140
23141// String returns the string representation
23142func (s GetImportJobsInput) String() string {
23143	return awsutil.Prettify(s)
23144}
23145
23146// GoString returns the string representation
23147func (s GetImportJobsInput) GoString() string {
23148	return s.String()
23149}
23150
23151// Validate inspects the fields of the type to determine if they are valid.
23152func (s *GetImportJobsInput) Validate() error {
23153	invalidParams := request.ErrInvalidParams{Context: "GetImportJobsInput"}
23154	if s.ApplicationId == nil {
23155		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23156	}
23157	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23158		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23159	}
23160
23161	if invalidParams.Len() > 0 {
23162		return invalidParams
23163	}
23164	return nil
23165}
23166
23167// SetApplicationId sets the ApplicationId field's value.
23168func (s *GetImportJobsInput) SetApplicationId(v string) *GetImportJobsInput {
23169	s.ApplicationId = &v
23170	return s
23171}
23172
23173// SetPageSize sets the PageSize field's value.
23174func (s *GetImportJobsInput) SetPageSize(v string) *GetImportJobsInput {
23175	s.PageSize = &v
23176	return s
23177}
23178
23179// SetToken sets the Token field's value.
23180func (s *GetImportJobsInput) SetToken(v string) *GetImportJobsInput {
23181	s.Token = &v
23182	return s
23183}
23184
23185type GetImportJobsOutput struct {
23186	_ struct{} `type:"structure" payload:"ImportJobsResponse"`
23187
23188	// Provides information about the status and settings of all the import jobs
23189	// that are associated with an application or segment. An import job is a job
23190	// that imports endpoint definitions from one or more files.
23191	//
23192	// ImportJobsResponse is a required field
23193	ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"`
23194}
23195
23196// String returns the string representation
23197func (s GetImportJobsOutput) String() string {
23198	return awsutil.Prettify(s)
23199}
23200
23201// GoString returns the string representation
23202func (s GetImportJobsOutput) GoString() string {
23203	return s.String()
23204}
23205
23206// SetImportJobsResponse sets the ImportJobsResponse field's value.
23207func (s *GetImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetImportJobsOutput {
23208	s.ImportJobsResponse = v
23209	return s
23210}
23211
23212type GetJourneyDateRangeKpiInput struct {
23213	_ struct{} `type:"structure"`
23214
23215	// ApplicationId is a required field
23216	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23217
23218	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
23219
23220	// JourneyId is a required field
23221	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
23222
23223	// KpiName is a required field
23224	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
23225
23226	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
23227
23228	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
23229
23230	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
23231}
23232
23233// String returns the string representation
23234func (s GetJourneyDateRangeKpiInput) String() string {
23235	return awsutil.Prettify(s)
23236}
23237
23238// GoString returns the string representation
23239func (s GetJourneyDateRangeKpiInput) GoString() string {
23240	return s.String()
23241}
23242
23243// Validate inspects the fields of the type to determine if they are valid.
23244func (s *GetJourneyDateRangeKpiInput) Validate() error {
23245	invalidParams := request.ErrInvalidParams{Context: "GetJourneyDateRangeKpiInput"}
23246	if s.ApplicationId == nil {
23247		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23248	}
23249	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23250		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23251	}
23252	if s.JourneyId == nil {
23253		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
23254	}
23255	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
23256		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
23257	}
23258	if s.KpiName == nil {
23259		invalidParams.Add(request.NewErrParamRequired("KpiName"))
23260	}
23261	if s.KpiName != nil && len(*s.KpiName) < 1 {
23262		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
23263	}
23264
23265	if invalidParams.Len() > 0 {
23266		return invalidParams
23267	}
23268	return nil
23269}
23270
23271// SetApplicationId sets the ApplicationId field's value.
23272func (s *GetJourneyDateRangeKpiInput) SetApplicationId(v string) *GetJourneyDateRangeKpiInput {
23273	s.ApplicationId = &v
23274	return s
23275}
23276
23277// SetEndTime sets the EndTime field's value.
23278func (s *GetJourneyDateRangeKpiInput) SetEndTime(v time.Time) *GetJourneyDateRangeKpiInput {
23279	s.EndTime = &v
23280	return s
23281}
23282
23283// SetJourneyId sets the JourneyId field's value.
23284func (s *GetJourneyDateRangeKpiInput) SetJourneyId(v string) *GetJourneyDateRangeKpiInput {
23285	s.JourneyId = &v
23286	return s
23287}
23288
23289// SetKpiName sets the KpiName field's value.
23290func (s *GetJourneyDateRangeKpiInput) SetKpiName(v string) *GetJourneyDateRangeKpiInput {
23291	s.KpiName = &v
23292	return s
23293}
23294
23295// SetNextToken sets the NextToken field's value.
23296func (s *GetJourneyDateRangeKpiInput) SetNextToken(v string) *GetJourneyDateRangeKpiInput {
23297	s.NextToken = &v
23298	return s
23299}
23300
23301// SetPageSize sets the PageSize field's value.
23302func (s *GetJourneyDateRangeKpiInput) SetPageSize(v string) *GetJourneyDateRangeKpiInput {
23303	s.PageSize = &v
23304	return s
23305}
23306
23307// SetStartTime sets the StartTime field's value.
23308func (s *GetJourneyDateRangeKpiInput) SetStartTime(v time.Time) *GetJourneyDateRangeKpiInput {
23309	s.StartTime = &v
23310	return s
23311}
23312
23313type GetJourneyDateRangeKpiOutput struct {
23314	_ struct{} `type:"structure" payload:"JourneyDateRangeKpiResponse"`
23315
23316	// Provides the results of a query that retrieved the data for a standard engagement
23317	// metric that applies to a journey, and provides information about that query.
23318	//
23319	// JourneyDateRangeKpiResponse is a required field
23320	JourneyDateRangeKpiResponse *JourneyDateRangeKpiResponse `type:"structure" required:"true"`
23321}
23322
23323// String returns the string representation
23324func (s GetJourneyDateRangeKpiOutput) String() string {
23325	return awsutil.Prettify(s)
23326}
23327
23328// GoString returns the string representation
23329func (s GetJourneyDateRangeKpiOutput) GoString() string {
23330	return s.String()
23331}
23332
23333// SetJourneyDateRangeKpiResponse sets the JourneyDateRangeKpiResponse field's value.
23334func (s *GetJourneyDateRangeKpiOutput) SetJourneyDateRangeKpiResponse(v *JourneyDateRangeKpiResponse) *GetJourneyDateRangeKpiOutput {
23335	s.JourneyDateRangeKpiResponse = v
23336	return s
23337}
23338
23339type GetJourneyExecutionActivityMetricsInput struct {
23340	_ struct{} `type:"structure"`
23341
23342	// ApplicationId is a required field
23343	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23344
23345	// JourneyActivityId is a required field
23346	JourneyActivityId *string `location:"uri" locationName:"journey-activity-id" type:"string" required:"true"`
23347
23348	// JourneyId is a required field
23349	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
23350
23351	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
23352
23353	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
23354}
23355
23356// String returns the string representation
23357func (s GetJourneyExecutionActivityMetricsInput) String() string {
23358	return awsutil.Prettify(s)
23359}
23360
23361// GoString returns the string representation
23362func (s GetJourneyExecutionActivityMetricsInput) GoString() string {
23363	return s.String()
23364}
23365
23366// Validate inspects the fields of the type to determine if they are valid.
23367func (s *GetJourneyExecutionActivityMetricsInput) Validate() error {
23368	invalidParams := request.ErrInvalidParams{Context: "GetJourneyExecutionActivityMetricsInput"}
23369	if s.ApplicationId == nil {
23370		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23371	}
23372	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23373		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23374	}
23375	if s.JourneyActivityId == nil {
23376		invalidParams.Add(request.NewErrParamRequired("JourneyActivityId"))
23377	}
23378	if s.JourneyActivityId != nil && len(*s.JourneyActivityId) < 1 {
23379		invalidParams.Add(request.NewErrParamMinLen("JourneyActivityId", 1))
23380	}
23381	if s.JourneyId == nil {
23382		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
23383	}
23384	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
23385		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
23386	}
23387
23388	if invalidParams.Len() > 0 {
23389		return invalidParams
23390	}
23391	return nil
23392}
23393
23394// SetApplicationId sets the ApplicationId field's value.
23395func (s *GetJourneyExecutionActivityMetricsInput) SetApplicationId(v string) *GetJourneyExecutionActivityMetricsInput {
23396	s.ApplicationId = &v
23397	return s
23398}
23399
23400// SetJourneyActivityId sets the JourneyActivityId field's value.
23401func (s *GetJourneyExecutionActivityMetricsInput) SetJourneyActivityId(v string) *GetJourneyExecutionActivityMetricsInput {
23402	s.JourneyActivityId = &v
23403	return s
23404}
23405
23406// SetJourneyId sets the JourneyId field's value.
23407func (s *GetJourneyExecutionActivityMetricsInput) SetJourneyId(v string) *GetJourneyExecutionActivityMetricsInput {
23408	s.JourneyId = &v
23409	return s
23410}
23411
23412// SetNextToken sets the NextToken field's value.
23413func (s *GetJourneyExecutionActivityMetricsInput) SetNextToken(v string) *GetJourneyExecutionActivityMetricsInput {
23414	s.NextToken = &v
23415	return s
23416}
23417
23418// SetPageSize sets the PageSize field's value.
23419func (s *GetJourneyExecutionActivityMetricsInput) SetPageSize(v string) *GetJourneyExecutionActivityMetricsInput {
23420	s.PageSize = &v
23421	return s
23422}
23423
23424type GetJourneyExecutionActivityMetricsOutput struct {
23425	_ struct{} `type:"structure" payload:"JourneyExecutionActivityMetricsResponse"`
23426
23427	// Provides the results of a query that retrieved the data for a standard execution
23428	// metric that applies to a journey activity, and provides information about
23429	// that query.
23430	//
23431	// JourneyExecutionActivityMetricsResponse is a required field
23432	JourneyExecutionActivityMetricsResponse *JourneyExecutionActivityMetricsResponse `type:"structure" required:"true"`
23433}
23434
23435// String returns the string representation
23436func (s GetJourneyExecutionActivityMetricsOutput) String() string {
23437	return awsutil.Prettify(s)
23438}
23439
23440// GoString returns the string representation
23441func (s GetJourneyExecutionActivityMetricsOutput) GoString() string {
23442	return s.String()
23443}
23444
23445// SetJourneyExecutionActivityMetricsResponse sets the JourneyExecutionActivityMetricsResponse field's value.
23446func (s *GetJourneyExecutionActivityMetricsOutput) SetJourneyExecutionActivityMetricsResponse(v *JourneyExecutionActivityMetricsResponse) *GetJourneyExecutionActivityMetricsOutput {
23447	s.JourneyExecutionActivityMetricsResponse = v
23448	return s
23449}
23450
23451type GetJourneyExecutionMetricsInput struct {
23452	_ struct{} `type:"structure"`
23453
23454	// ApplicationId is a required field
23455	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23456
23457	// JourneyId is a required field
23458	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
23459
23460	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
23461
23462	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
23463}
23464
23465// String returns the string representation
23466func (s GetJourneyExecutionMetricsInput) String() string {
23467	return awsutil.Prettify(s)
23468}
23469
23470// GoString returns the string representation
23471func (s GetJourneyExecutionMetricsInput) GoString() string {
23472	return s.String()
23473}
23474
23475// Validate inspects the fields of the type to determine if they are valid.
23476func (s *GetJourneyExecutionMetricsInput) Validate() error {
23477	invalidParams := request.ErrInvalidParams{Context: "GetJourneyExecutionMetricsInput"}
23478	if s.ApplicationId == nil {
23479		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23480	}
23481	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23482		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23483	}
23484	if s.JourneyId == nil {
23485		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
23486	}
23487	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
23488		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
23489	}
23490
23491	if invalidParams.Len() > 0 {
23492		return invalidParams
23493	}
23494	return nil
23495}
23496
23497// SetApplicationId sets the ApplicationId field's value.
23498func (s *GetJourneyExecutionMetricsInput) SetApplicationId(v string) *GetJourneyExecutionMetricsInput {
23499	s.ApplicationId = &v
23500	return s
23501}
23502
23503// SetJourneyId sets the JourneyId field's value.
23504func (s *GetJourneyExecutionMetricsInput) SetJourneyId(v string) *GetJourneyExecutionMetricsInput {
23505	s.JourneyId = &v
23506	return s
23507}
23508
23509// SetNextToken sets the NextToken field's value.
23510func (s *GetJourneyExecutionMetricsInput) SetNextToken(v string) *GetJourneyExecutionMetricsInput {
23511	s.NextToken = &v
23512	return s
23513}
23514
23515// SetPageSize sets the PageSize field's value.
23516func (s *GetJourneyExecutionMetricsInput) SetPageSize(v string) *GetJourneyExecutionMetricsInput {
23517	s.PageSize = &v
23518	return s
23519}
23520
23521type GetJourneyExecutionMetricsOutput struct {
23522	_ struct{} `type:"structure" payload:"JourneyExecutionMetricsResponse"`
23523
23524	// Provides the results of a query that retrieved the data for a standard execution
23525	// metric that applies to a journey, and provides information about that query.
23526	//
23527	// JourneyExecutionMetricsResponse is a required field
23528	JourneyExecutionMetricsResponse *JourneyExecutionMetricsResponse `type:"structure" required:"true"`
23529}
23530
23531// String returns the string representation
23532func (s GetJourneyExecutionMetricsOutput) String() string {
23533	return awsutil.Prettify(s)
23534}
23535
23536// GoString returns the string representation
23537func (s GetJourneyExecutionMetricsOutput) GoString() string {
23538	return s.String()
23539}
23540
23541// SetJourneyExecutionMetricsResponse sets the JourneyExecutionMetricsResponse field's value.
23542func (s *GetJourneyExecutionMetricsOutput) SetJourneyExecutionMetricsResponse(v *JourneyExecutionMetricsResponse) *GetJourneyExecutionMetricsOutput {
23543	s.JourneyExecutionMetricsResponse = v
23544	return s
23545}
23546
23547type GetJourneyInput struct {
23548	_ struct{} `type:"structure"`
23549
23550	// ApplicationId is a required field
23551	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23552
23553	// JourneyId is a required field
23554	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
23555}
23556
23557// String returns the string representation
23558func (s GetJourneyInput) String() string {
23559	return awsutil.Prettify(s)
23560}
23561
23562// GoString returns the string representation
23563func (s GetJourneyInput) GoString() string {
23564	return s.String()
23565}
23566
23567// Validate inspects the fields of the type to determine if they are valid.
23568func (s *GetJourneyInput) Validate() error {
23569	invalidParams := request.ErrInvalidParams{Context: "GetJourneyInput"}
23570	if s.ApplicationId == nil {
23571		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23572	}
23573	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23574		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23575	}
23576	if s.JourneyId == nil {
23577		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
23578	}
23579	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
23580		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
23581	}
23582
23583	if invalidParams.Len() > 0 {
23584		return invalidParams
23585	}
23586	return nil
23587}
23588
23589// SetApplicationId sets the ApplicationId field's value.
23590func (s *GetJourneyInput) SetApplicationId(v string) *GetJourneyInput {
23591	s.ApplicationId = &v
23592	return s
23593}
23594
23595// SetJourneyId sets the JourneyId field's value.
23596func (s *GetJourneyInput) SetJourneyId(v string) *GetJourneyInput {
23597	s.JourneyId = &v
23598	return s
23599}
23600
23601type GetJourneyOutput struct {
23602	_ struct{} `type:"structure" payload:"JourneyResponse"`
23603
23604	// Provides information about the status, configuration, and other settings
23605	// for a journey.
23606	//
23607	// JourneyResponse is a required field
23608	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
23609}
23610
23611// String returns the string representation
23612func (s GetJourneyOutput) String() string {
23613	return awsutil.Prettify(s)
23614}
23615
23616// GoString returns the string representation
23617func (s GetJourneyOutput) GoString() string {
23618	return s.String()
23619}
23620
23621// SetJourneyResponse sets the JourneyResponse field's value.
23622func (s *GetJourneyOutput) SetJourneyResponse(v *JourneyResponse) *GetJourneyOutput {
23623	s.JourneyResponse = v
23624	return s
23625}
23626
23627type GetPushTemplateInput struct {
23628	_ struct{} `type:"structure"`
23629
23630	// TemplateName is a required field
23631	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
23632
23633	Version *string `location:"querystring" locationName:"version" type:"string"`
23634}
23635
23636// String returns the string representation
23637func (s GetPushTemplateInput) String() string {
23638	return awsutil.Prettify(s)
23639}
23640
23641// GoString returns the string representation
23642func (s GetPushTemplateInput) GoString() string {
23643	return s.String()
23644}
23645
23646// Validate inspects the fields of the type to determine if they are valid.
23647func (s *GetPushTemplateInput) Validate() error {
23648	invalidParams := request.ErrInvalidParams{Context: "GetPushTemplateInput"}
23649	if s.TemplateName == nil {
23650		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
23651	}
23652	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
23653		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
23654	}
23655
23656	if invalidParams.Len() > 0 {
23657		return invalidParams
23658	}
23659	return nil
23660}
23661
23662// SetTemplateName sets the TemplateName field's value.
23663func (s *GetPushTemplateInput) SetTemplateName(v string) *GetPushTemplateInput {
23664	s.TemplateName = &v
23665	return s
23666}
23667
23668// SetVersion sets the Version field's value.
23669func (s *GetPushTemplateInput) SetVersion(v string) *GetPushTemplateInput {
23670	s.Version = &v
23671	return s
23672}
23673
23674type GetPushTemplateOutput struct {
23675	_ struct{} `type:"structure" payload:"PushNotificationTemplateResponse"`
23676
23677	// Provides information about the content and settings for a message template
23678	// that can be used in messages that are sent through a push notification channel.
23679	//
23680	// PushNotificationTemplateResponse is a required field
23681	PushNotificationTemplateResponse *PushNotificationTemplateResponse `type:"structure" required:"true"`
23682}
23683
23684// String returns the string representation
23685func (s GetPushTemplateOutput) String() string {
23686	return awsutil.Prettify(s)
23687}
23688
23689// GoString returns the string representation
23690func (s GetPushTemplateOutput) GoString() string {
23691	return s.String()
23692}
23693
23694// SetPushNotificationTemplateResponse sets the PushNotificationTemplateResponse field's value.
23695func (s *GetPushTemplateOutput) SetPushNotificationTemplateResponse(v *PushNotificationTemplateResponse) *GetPushTemplateOutput {
23696	s.PushNotificationTemplateResponse = v
23697	return s
23698}
23699
23700type GetRecommenderConfigurationInput struct {
23701	_ struct{} `type:"structure"`
23702
23703	// RecommenderId is a required field
23704	RecommenderId *string `location:"uri" locationName:"recommender-id" type:"string" required:"true"`
23705}
23706
23707// String returns the string representation
23708func (s GetRecommenderConfigurationInput) String() string {
23709	return awsutil.Prettify(s)
23710}
23711
23712// GoString returns the string representation
23713func (s GetRecommenderConfigurationInput) GoString() string {
23714	return s.String()
23715}
23716
23717// Validate inspects the fields of the type to determine if they are valid.
23718func (s *GetRecommenderConfigurationInput) Validate() error {
23719	invalidParams := request.ErrInvalidParams{Context: "GetRecommenderConfigurationInput"}
23720	if s.RecommenderId == nil {
23721		invalidParams.Add(request.NewErrParamRequired("RecommenderId"))
23722	}
23723	if s.RecommenderId != nil && len(*s.RecommenderId) < 1 {
23724		invalidParams.Add(request.NewErrParamMinLen("RecommenderId", 1))
23725	}
23726
23727	if invalidParams.Len() > 0 {
23728		return invalidParams
23729	}
23730	return nil
23731}
23732
23733// SetRecommenderId sets the RecommenderId field's value.
23734func (s *GetRecommenderConfigurationInput) SetRecommenderId(v string) *GetRecommenderConfigurationInput {
23735	s.RecommenderId = &v
23736	return s
23737}
23738
23739type GetRecommenderConfigurationOutput struct {
23740	_ struct{} `type:"structure" payload:"RecommenderConfigurationResponse"`
23741
23742	// Provides information about Amazon Pinpoint configuration settings for retrieving
23743	// and processing data from a recommender model.
23744	//
23745	// RecommenderConfigurationResponse is a required field
23746	RecommenderConfigurationResponse *RecommenderConfigurationResponse `type:"structure" required:"true"`
23747}
23748
23749// String returns the string representation
23750func (s GetRecommenderConfigurationOutput) String() string {
23751	return awsutil.Prettify(s)
23752}
23753
23754// GoString returns the string representation
23755func (s GetRecommenderConfigurationOutput) GoString() string {
23756	return s.String()
23757}
23758
23759// SetRecommenderConfigurationResponse sets the RecommenderConfigurationResponse field's value.
23760func (s *GetRecommenderConfigurationOutput) SetRecommenderConfigurationResponse(v *RecommenderConfigurationResponse) *GetRecommenderConfigurationOutput {
23761	s.RecommenderConfigurationResponse = v
23762	return s
23763}
23764
23765type GetRecommenderConfigurationsInput struct {
23766	_ struct{} `type:"structure"`
23767
23768	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
23769
23770	Token *string `location:"querystring" locationName:"token" type:"string"`
23771}
23772
23773// String returns the string representation
23774func (s GetRecommenderConfigurationsInput) String() string {
23775	return awsutil.Prettify(s)
23776}
23777
23778// GoString returns the string representation
23779func (s GetRecommenderConfigurationsInput) GoString() string {
23780	return s.String()
23781}
23782
23783// SetPageSize sets the PageSize field's value.
23784func (s *GetRecommenderConfigurationsInput) SetPageSize(v string) *GetRecommenderConfigurationsInput {
23785	s.PageSize = &v
23786	return s
23787}
23788
23789// SetToken sets the Token field's value.
23790func (s *GetRecommenderConfigurationsInput) SetToken(v string) *GetRecommenderConfigurationsInput {
23791	s.Token = &v
23792	return s
23793}
23794
23795type GetRecommenderConfigurationsOutput struct {
23796	_ struct{} `type:"structure" payload:"ListRecommenderConfigurationsResponse"`
23797
23798	// Provides information about all the recommender model configurations that
23799	// are associated with your Amazon Pinpoint account.
23800	//
23801	// ListRecommenderConfigurationsResponse is a required field
23802	ListRecommenderConfigurationsResponse *ListRecommenderConfigurationsResponse `type:"structure" required:"true"`
23803}
23804
23805// String returns the string representation
23806func (s GetRecommenderConfigurationsOutput) String() string {
23807	return awsutil.Prettify(s)
23808}
23809
23810// GoString returns the string representation
23811func (s GetRecommenderConfigurationsOutput) GoString() string {
23812	return s.String()
23813}
23814
23815// SetListRecommenderConfigurationsResponse sets the ListRecommenderConfigurationsResponse field's value.
23816func (s *GetRecommenderConfigurationsOutput) SetListRecommenderConfigurationsResponse(v *ListRecommenderConfigurationsResponse) *GetRecommenderConfigurationsOutput {
23817	s.ListRecommenderConfigurationsResponse = v
23818	return s
23819}
23820
23821type GetSegmentExportJobsInput struct {
23822	_ struct{} `type:"structure"`
23823
23824	// ApplicationId is a required field
23825	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23826
23827	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
23828
23829	// SegmentId is a required field
23830	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
23831
23832	Token *string `location:"querystring" locationName:"token" type:"string"`
23833}
23834
23835// String returns the string representation
23836func (s GetSegmentExportJobsInput) String() string {
23837	return awsutil.Prettify(s)
23838}
23839
23840// GoString returns the string representation
23841func (s GetSegmentExportJobsInput) GoString() string {
23842	return s.String()
23843}
23844
23845// Validate inspects the fields of the type to determine if they are valid.
23846func (s *GetSegmentExportJobsInput) Validate() error {
23847	invalidParams := request.ErrInvalidParams{Context: "GetSegmentExportJobsInput"}
23848	if s.ApplicationId == nil {
23849		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23850	}
23851	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23852		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23853	}
23854	if s.SegmentId == nil {
23855		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
23856	}
23857	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
23858		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
23859	}
23860
23861	if invalidParams.Len() > 0 {
23862		return invalidParams
23863	}
23864	return nil
23865}
23866
23867// SetApplicationId sets the ApplicationId field's value.
23868func (s *GetSegmentExportJobsInput) SetApplicationId(v string) *GetSegmentExportJobsInput {
23869	s.ApplicationId = &v
23870	return s
23871}
23872
23873// SetPageSize sets the PageSize field's value.
23874func (s *GetSegmentExportJobsInput) SetPageSize(v string) *GetSegmentExportJobsInput {
23875	s.PageSize = &v
23876	return s
23877}
23878
23879// SetSegmentId sets the SegmentId field's value.
23880func (s *GetSegmentExportJobsInput) SetSegmentId(v string) *GetSegmentExportJobsInput {
23881	s.SegmentId = &v
23882	return s
23883}
23884
23885// SetToken sets the Token field's value.
23886func (s *GetSegmentExportJobsInput) SetToken(v string) *GetSegmentExportJobsInput {
23887	s.Token = &v
23888	return s
23889}
23890
23891type GetSegmentExportJobsOutput struct {
23892	_ struct{} `type:"structure" payload:"ExportJobsResponse"`
23893
23894	// Provides information about all the export jobs that are associated with an
23895	// application or segment. An export job is a job that exports endpoint definitions
23896	// to a file.
23897	//
23898	// ExportJobsResponse is a required field
23899	ExportJobsResponse *ExportJobsResponse `type:"structure" required:"true"`
23900}
23901
23902// String returns the string representation
23903func (s GetSegmentExportJobsOutput) String() string {
23904	return awsutil.Prettify(s)
23905}
23906
23907// GoString returns the string representation
23908func (s GetSegmentExportJobsOutput) GoString() string {
23909	return s.String()
23910}
23911
23912// SetExportJobsResponse sets the ExportJobsResponse field's value.
23913func (s *GetSegmentExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetSegmentExportJobsOutput {
23914	s.ExportJobsResponse = v
23915	return s
23916}
23917
23918type GetSegmentImportJobsInput struct {
23919	_ struct{} `type:"structure"`
23920
23921	// ApplicationId is a required field
23922	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23923
23924	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
23925
23926	// SegmentId is a required field
23927	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
23928
23929	Token *string `location:"querystring" locationName:"token" type:"string"`
23930}
23931
23932// String returns the string representation
23933func (s GetSegmentImportJobsInput) String() string {
23934	return awsutil.Prettify(s)
23935}
23936
23937// GoString returns the string representation
23938func (s GetSegmentImportJobsInput) GoString() string {
23939	return s.String()
23940}
23941
23942// Validate inspects the fields of the type to determine if they are valid.
23943func (s *GetSegmentImportJobsInput) Validate() error {
23944	invalidParams := request.ErrInvalidParams{Context: "GetSegmentImportJobsInput"}
23945	if s.ApplicationId == nil {
23946		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23947	}
23948	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23949		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23950	}
23951	if s.SegmentId == nil {
23952		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
23953	}
23954	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
23955		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
23956	}
23957
23958	if invalidParams.Len() > 0 {
23959		return invalidParams
23960	}
23961	return nil
23962}
23963
23964// SetApplicationId sets the ApplicationId field's value.
23965func (s *GetSegmentImportJobsInput) SetApplicationId(v string) *GetSegmentImportJobsInput {
23966	s.ApplicationId = &v
23967	return s
23968}
23969
23970// SetPageSize sets the PageSize field's value.
23971func (s *GetSegmentImportJobsInput) SetPageSize(v string) *GetSegmentImportJobsInput {
23972	s.PageSize = &v
23973	return s
23974}
23975
23976// SetSegmentId sets the SegmentId field's value.
23977func (s *GetSegmentImportJobsInput) SetSegmentId(v string) *GetSegmentImportJobsInput {
23978	s.SegmentId = &v
23979	return s
23980}
23981
23982// SetToken sets the Token field's value.
23983func (s *GetSegmentImportJobsInput) SetToken(v string) *GetSegmentImportJobsInput {
23984	s.Token = &v
23985	return s
23986}
23987
23988type GetSegmentImportJobsOutput struct {
23989	_ struct{} `type:"structure" payload:"ImportJobsResponse"`
23990
23991	// Provides information about the status and settings of all the import jobs
23992	// that are associated with an application or segment. An import job is a job
23993	// that imports endpoint definitions from one or more files.
23994	//
23995	// ImportJobsResponse is a required field
23996	ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"`
23997}
23998
23999// String returns the string representation
24000func (s GetSegmentImportJobsOutput) String() string {
24001	return awsutil.Prettify(s)
24002}
24003
24004// GoString returns the string representation
24005func (s GetSegmentImportJobsOutput) GoString() string {
24006	return s.String()
24007}
24008
24009// SetImportJobsResponse sets the ImportJobsResponse field's value.
24010func (s *GetSegmentImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetSegmentImportJobsOutput {
24011	s.ImportJobsResponse = v
24012	return s
24013}
24014
24015type GetSegmentInput struct {
24016	_ struct{} `type:"structure"`
24017
24018	// ApplicationId is a required field
24019	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24020
24021	// SegmentId is a required field
24022	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
24023}
24024
24025// String returns the string representation
24026func (s GetSegmentInput) String() string {
24027	return awsutil.Prettify(s)
24028}
24029
24030// GoString returns the string representation
24031func (s GetSegmentInput) GoString() string {
24032	return s.String()
24033}
24034
24035// Validate inspects the fields of the type to determine if they are valid.
24036func (s *GetSegmentInput) Validate() error {
24037	invalidParams := request.ErrInvalidParams{Context: "GetSegmentInput"}
24038	if s.ApplicationId == nil {
24039		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24040	}
24041	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24042		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24043	}
24044	if s.SegmentId == nil {
24045		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
24046	}
24047	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
24048		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
24049	}
24050
24051	if invalidParams.Len() > 0 {
24052		return invalidParams
24053	}
24054	return nil
24055}
24056
24057// SetApplicationId sets the ApplicationId field's value.
24058func (s *GetSegmentInput) SetApplicationId(v string) *GetSegmentInput {
24059	s.ApplicationId = &v
24060	return s
24061}
24062
24063// SetSegmentId sets the SegmentId field's value.
24064func (s *GetSegmentInput) SetSegmentId(v string) *GetSegmentInput {
24065	s.SegmentId = &v
24066	return s
24067}
24068
24069type GetSegmentOutput struct {
24070	_ struct{} `type:"structure" payload:"SegmentResponse"`
24071
24072	// Provides information about the configuration, dimension, and other settings
24073	// for a segment.
24074	//
24075	// SegmentResponse is a required field
24076	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
24077}
24078
24079// String returns the string representation
24080func (s GetSegmentOutput) String() string {
24081	return awsutil.Prettify(s)
24082}
24083
24084// GoString returns the string representation
24085func (s GetSegmentOutput) GoString() string {
24086	return s.String()
24087}
24088
24089// SetSegmentResponse sets the SegmentResponse field's value.
24090func (s *GetSegmentOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentOutput {
24091	s.SegmentResponse = v
24092	return s
24093}
24094
24095type GetSegmentVersionInput struct {
24096	_ struct{} `type:"structure"`
24097
24098	// ApplicationId is a required field
24099	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24100
24101	// SegmentId is a required field
24102	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
24103
24104	// Version is a required field
24105	Version *string `location:"uri" locationName:"version" type:"string" required:"true"`
24106}
24107
24108// String returns the string representation
24109func (s GetSegmentVersionInput) String() string {
24110	return awsutil.Prettify(s)
24111}
24112
24113// GoString returns the string representation
24114func (s GetSegmentVersionInput) GoString() string {
24115	return s.String()
24116}
24117
24118// Validate inspects the fields of the type to determine if they are valid.
24119func (s *GetSegmentVersionInput) Validate() error {
24120	invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionInput"}
24121	if s.ApplicationId == nil {
24122		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24123	}
24124	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24125		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24126	}
24127	if s.SegmentId == nil {
24128		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
24129	}
24130	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
24131		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
24132	}
24133	if s.Version == nil {
24134		invalidParams.Add(request.NewErrParamRequired("Version"))
24135	}
24136	if s.Version != nil && len(*s.Version) < 1 {
24137		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
24138	}
24139
24140	if invalidParams.Len() > 0 {
24141		return invalidParams
24142	}
24143	return nil
24144}
24145
24146// SetApplicationId sets the ApplicationId field's value.
24147func (s *GetSegmentVersionInput) SetApplicationId(v string) *GetSegmentVersionInput {
24148	s.ApplicationId = &v
24149	return s
24150}
24151
24152// SetSegmentId sets the SegmentId field's value.
24153func (s *GetSegmentVersionInput) SetSegmentId(v string) *GetSegmentVersionInput {
24154	s.SegmentId = &v
24155	return s
24156}
24157
24158// SetVersion sets the Version field's value.
24159func (s *GetSegmentVersionInput) SetVersion(v string) *GetSegmentVersionInput {
24160	s.Version = &v
24161	return s
24162}
24163
24164type GetSegmentVersionOutput struct {
24165	_ struct{} `type:"structure" payload:"SegmentResponse"`
24166
24167	// Provides information about the configuration, dimension, and other settings
24168	// for a segment.
24169	//
24170	// SegmentResponse is a required field
24171	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
24172}
24173
24174// String returns the string representation
24175func (s GetSegmentVersionOutput) String() string {
24176	return awsutil.Prettify(s)
24177}
24178
24179// GoString returns the string representation
24180func (s GetSegmentVersionOutput) GoString() string {
24181	return s.String()
24182}
24183
24184// SetSegmentResponse sets the SegmentResponse field's value.
24185func (s *GetSegmentVersionOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentVersionOutput {
24186	s.SegmentResponse = v
24187	return s
24188}
24189
24190type GetSegmentVersionsInput struct {
24191	_ struct{} `type:"structure"`
24192
24193	// ApplicationId is a required field
24194	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24195
24196	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
24197
24198	// SegmentId is a required field
24199	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
24200
24201	Token *string `location:"querystring" locationName:"token" type:"string"`
24202}
24203
24204// String returns the string representation
24205func (s GetSegmentVersionsInput) String() string {
24206	return awsutil.Prettify(s)
24207}
24208
24209// GoString returns the string representation
24210func (s GetSegmentVersionsInput) GoString() string {
24211	return s.String()
24212}
24213
24214// Validate inspects the fields of the type to determine if they are valid.
24215func (s *GetSegmentVersionsInput) Validate() error {
24216	invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionsInput"}
24217	if s.ApplicationId == nil {
24218		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24219	}
24220	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24221		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24222	}
24223	if s.SegmentId == nil {
24224		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
24225	}
24226	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
24227		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
24228	}
24229
24230	if invalidParams.Len() > 0 {
24231		return invalidParams
24232	}
24233	return nil
24234}
24235
24236// SetApplicationId sets the ApplicationId field's value.
24237func (s *GetSegmentVersionsInput) SetApplicationId(v string) *GetSegmentVersionsInput {
24238	s.ApplicationId = &v
24239	return s
24240}
24241
24242// SetPageSize sets the PageSize field's value.
24243func (s *GetSegmentVersionsInput) SetPageSize(v string) *GetSegmentVersionsInput {
24244	s.PageSize = &v
24245	return s
24246}
24247
24248// SetSegmentId sets the SegmentId field's value.
24249func (s *GetSegmentVersionsInput) SetSegmentId(v string) *GetSegmentVersionsInput {
24250	s.SegmentId = &v
24251	return s
24252}
24253
24254// SetToken sets the Token field's value.
24255func (s *GetSegmentVersionsInput) SetToken(v string) *GetSegmentVersionsInput {
24256	s.Token = &v
24257	return s
24258}
24259
24260type GetSegmentVersionsOutput struct {
24261	_ struct{} `type:"structure" payload:"SegmentsResponse"`
24262
24263	// Provides information about all the segments that are associated with an application.
24264	//
24265	// SegmentsResponse is a required field
24266	SegmentsResponse *SegmentsResponse `type:"structure" required:"true"`
24267}
24268
24269// String returns the string representation
24270func (s GetSegmentVersionsOutput) String() string {
24271	return awsutil.Prettify(s)
24272}
24273
24274// GoString returns the string representation
24275func (s GetSegmentVersionsOutput) GoString() string {
24276	return s.String()
24277}
24278
24279// SetSegmentsResponse sets the SegmentsResponse field's value.
24280func (s *GetSegmentVersionsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentVersionsOutput {
24281	s.SegmentsResponse = v
24282	return s
24283}
24284
24285type GetSegmentsInput struct {
24286	_ struct{} `type:"structure"`
24287
24288	// ApplicationId is a required field
24289	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24290
24291	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
24292
24293	Token *string `location:"querystring" locationName:"token" type:"string"`
24294}
24295
24296// String returns the string representation
24297func (s GetSegmentsInput) String() string {
24298	return awsutil.Prettify(s)
24299}
24300
24301// GoString returns the string representation
24302func (s GetSegmentsInput) GoString() string {
24303	return s.String()
24304}
24305
24306// Validate inspects the fields of the type to determine if they are valid.
24307func (s *GetSegmentsInput) Validate() error {
24308	invalidParams := request.ErrInvalidParams{Context: "GetSegmentsInput"}
24309	if s.ApplicationId == nil {
24310		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24311	}
24312	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24313		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24314	}
24315
24316	if invalidParams.Len() > 0 {
24317		return invalidParams
24318	}
24319	return nil
24320}
24321
24322// SetApplicationId sets the ApplicationId field's value.
24323func (s *GetSegmentsInput) SetApplicationId(v string) *GetSegmentsInput {
24324	s.ApplicationId = &v
24325	return s
24326}
24327
24328// SetPageSize sets the PageSize field's value.
24329func (s *GetSegmentsInput) SetPageSize(v string) *GetSegmentsInput {
24330	s.PageSize = &v
24331	return s
24332}
24333
24334// SetToken sets the Token field's value.
24335func (s *GetSegmentsInput) SetToken(v string) *GetSegmentsInput {
24336	s.Token = &v
24337	return s
24338}
24339
24340type GetSegmentsOutput struct {
24341	_ struct{} `type:"structure" payload:"SegmentsResponse"`
24342
24343	// Provides information about all the segments that are associated with an application.
24344	//
24345	// SegmentsResponse is a required field
24346	SegmentsResponse *SegmentsResponse `type:"structure" required:"true"`
24347}
24348
24349// String returns the string representation
24350func (s GetSegmentsOutput) String() string {
24351	return awsutil.Prettify(s)
24352}
24353
24354// GoString returns the string representation
24355func (s GetSegmentsOutput) GoString() string {
24356	return s.String()
24357}
24358
24359// SetSegmentsResponse sets the SegmentsResponse field's value.
24360func (s *GetSegmentsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentsOutput {
24361	s.SegmentsResponse = v
24362	return s
24363}
24364
24365type GetSmsChannelInput struct {
24366	_ struct{} `type:"structure"`
24367
24368	// ApplicationId is a required field
24369	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24370}
24371
24372// String returns the string representation
24373func (s GetSmsChannelInput) String() string {
24374	return awsutil.Prettify(s)
24375}
24376
24377// GoString returns the string representation
24378func (s GetSmsChannelInput) GoString() string {
24379	return s.String()
24380}
24381
24382// Validate inspects the fields of the type to determine if they are valid.
24383func (s *GetSmsChannelInput) Validate() error {
24384	invalidParams := request.ErrInvalidParams{Context: "GetSmsChannelInput"}
24385	if s.ApplicationId == nil {
24386		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24387	}
24388	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24389		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24390	}
24391
24392	if invalidParams.Len() > 0 {
24393		return invalidParams
24394	}
24395	return nil
24396}
24397
24398// SetApplicationId sets the ApplicationId field's value.
24399func (s *GetSmsChannelInput) SetApplicationId(v string) *GetSmsChannelInput {
24400	s.ApplicationId = &v
24401	return s
24402}
24403
24404type GetSmsChannelOutput struct {
24405	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
24406
24407	// Provides information about the status and settings of the SMS channel for
24408	// an application.
24409	//
24410	// SMSChannelResponse is a required field
24411	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
24412}
24413
24414// String returns the string representation
24415func (s GetSmsChannelOutput) String() string {
24416	return awsutil.Prettify(s)
24417}
24418
24419// GoString returns the string representation
24420func (s GetSmsChannelOutput) GoString() string {
24421	return s.String()
24422}
24423
24424// SetSMSChannelResponse sets the SMSChannelResponse field's value.
24425func (s *GetSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *GetSmsChannelOutput {
24426	s.SMSChannelResponse = v
24427	return s
24428}
24429
24430type GetSmsTemplateInput struct {
24431	_ struct{} `type:"structure"`
24432
24433	// TemplateName is a required field
24434	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
24435
24436	Version *string `location:"querystring" locationName:"version" type:"string"`
24437}
24438
24439// String returns the string representation
24440func (s GetSmsTemplateInput) String() string {
24441	return awsutil.Prettify(s)
24442}
24443
24444// GoString returns the string representation
24445func (s GetSmsTemplateInput) GoString() string {
24446	return s.String()
24447}
24448
24449// Validate inspects the fields of the type to determine if they are valid.
24450func (s *GetSmsTemplateInput) Validate() error {
24451	invalidParams := request.ErrInvalidParams{Context: "GetSmsTemplateInput"}
24452	if s.TemplateName == nil {
24453		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
24454	}
24455	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
24456		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
24457	}
24458
24459	if invalidParams.Len() > 0 {
24460		return invalidParams
24461	}
24462	return nil
24463}
24464
24465// SetTemplateName sets the TemplateName field's value.
24466func (s *GetSmsTemplateInput) SetTemplateName(v string) *GetSmsTemplateInput {
24467	s.TemplateName = &v
24468	return s
24469}
24470
24471// SetVersion sets the Version field's value.
24472func (s *GetSmsTemplateInput) SetVersion(v string) *GetSmsTemplateInput {
24473	s.Version = &v
24474	return s
24475}
24476
24477type GetSmsTemplateOutput struct {
24478	_ struct{} `type:"structure" payload:"SMSTemplateResponse"`
24479
24480	// Provides information about the content and settings for a message template
24481	// that can be used in text messages that are sent through the SMS channel.
24482	//
24483	// SMSTemplateResponse is a required field
24484	SMSTemplateResponse *SMSTemplateResponse `type:"structure" required:"true"`
24485}
24486
24487// String returns the string representation
24488func (s GetSmsTemplateOutput) String() string {
24489	return awsutil.Prettify(s)
24490}
24491
24492// GoString returns the string representation
24493func (s GetSmsTemplateOutput) GoString() string {
24494	return s.String()
24495}
24496
24497// SetSMSTemplateResponse sets the SMSTemplateResponse field's value.
24498func (s *GetSmsTemplateOutput) SetSMSTemplateResponse(v *SMSTemplateResponse) *GetSmsTemplateOutput {
24499	s.SMSTemplateResponse = v
24500	return s
24501}
24502
24503type GetUserEndpointsInput struct {
24504	_ struct{} `type:"structure"`
24505
24506	// ApplicationId is a required field
24507	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24508
24509	// UserId is a required field
24510	UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"`
24511}
24512
24513// String returns the string representation
24514func (s GetUserEndpointsInput) String() string {
24515	return awsutil.Prettify(s)
24516}
24517
24518// GoString returns the string representation
24519func (s GetUserEndpointsInput) GoString() string {
24520	return s.String()
24521}
24522
24523// Validate inspects the fields of the type to determine if they are valid.
24524func (s *GetUserEndpointsInput) Validate() error {
24525	invalidParams := request.ErrInvalidParams{Context: "GetUserEndpointsInput"}
24526	if s.ApplicationId == nil {
24527		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24528	}
24529	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24530		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24531	}
24532	if s.UserId == nil {
24533		invalidParams.Add(request.NewErrParamRequired("UserId"))
24534	}
24535	if s.UserId != nil && len(*s.UserId) < 1 {
24536		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
24537	}
24538
24539	if invalidParams.Len() > 0 {
24540		return invalidParams
24541	}
24542	return nil
24543}
24544
24545// SetApplicationId sets the ApplicationId field's value.
24546func (s *GetUserEndpointsInput) SetApplicationId(v string) *GetUserEndpointsInput {
24547	s.ApplicationId = &v
24548	return s
24549}
24550
24551// SetUserId sets the UserId field's value.
24552func (s *GetUserEndpointsInput) SetUserId(v string) *GetUserEndpointsInput {
24553	s.UserId = &v
24554	return s
24555}
24556
24557type GetUserEndpointsOutput struct {
24558	_ struct{} `type:"structure" payload:"EndpointsResponse"`
24559
24560	// Provides information about all the endpoints that are associated with a user
24561	// ID.
24562	//
24563	// EndpointsResponse is a required field
24564	EndpointsResponse *EndpointsResponse `type:"structure" required:"true"`
24565}
24566
24567// String returns the string representation
24568func (s GetUserEndpointsOutput) String() string {
24569	return awsutil.Prettify(s)
24570}
24571
24572// GoString returns the string representation
24573func (s GetUserEndpointsOutput) GoString() string {
24574	return s.String()
24575}
24576
24577// SetEndpointsResponse sets the EndpointsResponse field's value.
24578func (s *GetUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *GetUserEndpointsOutput {
24579	s.EndpointsResponse = v
24580	return s
24581}
24582
24583type GetVoiceChannelInput struct {
24584	_ struct{} `type:"structure"`
24585
24586	// ApplicationId is a required field
24587	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24588}
24589
24590// String returns the string representation
24591func (s GetVoiceChannelInput) String() string {
24592	return awsutil.Prettify(s)
24593}
24594
24595// GoString returns the string representation
24596func (s GetVoiceChannelInput) GoString() string {
24597	return s.String()
24598}
24599
24600// Validate inspects the fields of the type to determine if they are valid.
24601func (s *GetVoiceChannelInput) Validate() error {
24602	invalidParams := request.ErrInvalidParams{Context: "GetVoiceChannelInput"}
24603	if s.ApplicationId == nil {
24604		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24605	}
24606	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24607		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24608	}
24609
24610	if invalidParams.Len() > 0 {
24611		return invalidParams
24612	}
24613	return nil
24614}
24615
24616// SetApplicationId sets the ApplicationId field's value.
24617func (s *GetVoiceChannelInput) SetApplicationId(v string) *GetVoiceChannelInput {
24618	s.ApplicationId = &v
24619	return s
24620}
24621
24622type GetVoiceChannelOutput struct {
24623	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
24624
24625	// Provides information about the status and settings of the voice channel for
24626	// an application.
24627	//
24628	// VoiceChannelResponse is a required field
24629	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
24630}
24631
24632// String returns the string representation
24633func (s GetVoiceChannelOutput) String() string {
24634	return awsutil.Prettify(s)
24635}
24636
24637// GoString returns the string representation
24638func (s GetVoiceChannelOutput) GoString() string {
24639	return s.String()
24640}
24641
24642// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
24643func (s *GetVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *GetVoiceChannelOutput {
24644	s.VoiceChannelResponse = v
24645	return s
24646}
24647
24648type GetVoiceTemplateInput struct {
24649	_ struct{} `type:"structure"`
24650
24651	// TemplateName is a required field
24652	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
24653
24654	Version *string `location:"querystring" locationName:"version" type:"string"`
24655}
24656
24657// String returns the string representation
24658func (s GetVoiceTemplateInput) String() string {
24659	return awsutil.Prettify(s)
24660}
24661
24662// GoString returns the string representation
24663func (s GetVoiceTemplateInput) GoString() string {
24664	return s.String()
24665}
24666
24667// Validate inspects the fields of the type to determine if they are valid.
24668func (s *GetVoiceTemplateInput) Validate() error {
24669	invalidParams := request.ErrInvalidParams{Context: "GetVoiceTemplateInput"}
24670	if s.TemplateName == nil {
24671		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
24672	}
24673	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
24674		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
24675	}
24676
24677	if invalidParams.Len() > 0 {
24678		return invalidParams
24679	}
24680	return nil
24681}
24682
24683// SetTemplateName sets the TemplateName field's value.
24684func (s *GetVoiceTemplateInput) SetTemplateName(v string) *GetVoiceTemplateInput {
24685	s.TemplateName = &v
24686	return s
24687}
24688
24689// SetVersion sets the Version field's value.
24690func (s *GetVoiceTemplateInput) SetVersion(v string) *GetVoiceTemplateInput {
24691	s.Version = &v
24692	return s
24693}
24694
24695type GetVoiceTemplateOutput struct {
24696	_ struct{} `type:"structure" payload:"VoiceTemplateResponse"`
24697
24698	// Provides information about the content and settings for a message template
24699	// that can be used in messages that are sent through the voice channel.
24700	//
24701	// VoiceTemplateResponse is a required field
24702	VoiceTemplateResponse *VoiceTemplateResponse `type:"structure" required:"true"`
24703}
24704
24705// String returns the string representation
24706func (s GetVoiceTemplateOutput) String() string {
24707	return awsutil.Prettify(s)
24708}
24709
24710// GoString returns the string representation
24711func (s GetVoiceTemplateOutput) GoString() string {
24712	return s.String()
24713}
24714
24715// SetVoiceTemplateResponse sets the VoiceTemplateResponse field's value.
24716func (s *GetVoiceTemplateOutput) SetVoiceTemplateResponse(v *VoiceTemplateResponse) *GetVoiceTemplateOutput {
24717	s.VoiceTemplateResponse = v
24718	return s
24719}
24720
24721// Specifies the settings for a holdout activity in a journey. This type of
24722// activity stops a journey for a specified percentage of participants.
24723type HoldoutActivity struct {
24724	_ struct{} `type:"structure"`
24725
24726	// The unique identifier for the next activity to perform, after performing
24727	// the holdout activity.
24728	NextActivity *string `type:"string"`
24729
24730	// The percentage of participants who shouldn't continue the journey.
24731	//
24732	// To determine which participants are held out, Amazon Pinpoint applies a probability-based
24733	// algorithm to the percentage that you specify. Therefore, the actual percentage
24734	// of participants who are held out may not be equal to the percentage that
24735	// you specify.
24736	//
24737	// Percentage is a required field
24738	Percentage *int64 `type:"integer" required:"true"`
24739}
24740
24741// String returns the string representation
24742func (s HoldoutActivity) String() string {
24743	return awsutil.Prettify(s)
24744}
24745
24746// GoString returns the string representation
24747func (s HoldoutActivity) GoString() string {
24748	return s.String()
24749}
24750
24751// Validate inspects the fields of the type to determine if they are valid.
24752func (s *HoldoutActivity) Validate() error {
24753	invalidParams := request.ErrInvalidParams{Context: "HoldoutActivity"}
24754	if s.Percentage == nil {
24755		invalidParams.Add(request.NewErrParamRequired("Percentage"))
24756	}
24757
24758	if invalidParams.Len() > 0 {
24759		return invalidParams
24760	}
24761	return nil
24762}
24763
24764// SetNextActivity sets the NextActivity field's value.
24765func (s *HoldoutActivity) SetNextActivity(v string) *HoldoutActivity {
24766	s.NextActivity = &v
24767	return s
24768}
24769
24770// SetPercentage sets the Percentage field's value.
24771func (s *HoldoutActivity) SetPercentage(v int64) *HoldoutActivity {
24772	s.Percentage = &v
24773	return s
24774}
24775
24776// Specifies the settings for a job that imports endpoint definitions from an
24777// Amazon Simple Storage Service (Amazon S3) bucket.
24778type ImportJobRequest struct {
24779	_ struct{} `type:"structure"`
24780
24781	// Specifies whether to create a segment that contains the endpoints, when the
24782	// endpoint definitions are imported.
24783	DefineSegment *bool `type:"boolean"`
24784
24785	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
24786	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
24787	// an IAM role when importing endpoint definitions, but we removed this requirement.
24788	// We don't recommend use of external IDs for IAM roles that are assumed by
24789	// Amazon Pinpoint.
24790	ExternalId *string `type:"string"`
24791
24792	// The format of the files that contain the endpoint definitions to import.
24793	// Valid values are: CSV, for comma-separated values format; and, JSON, for
24794	// newline-delimited JSON format. If the Amazon S3 location stores multiple
24795	// files that use different formats, Amazon Pinpoint imports data only from
24796	// the files that use the specified format.
24797	//
24798	// Format is a required field
24799	Format *string `type:"string" required:"true" enum:"Format"`
24800
24801	// Specifies whether to register the endpoints with Amazon Pinpoint, when the
24802	// endpoint definitions are imported.
24803	RegisterEndpoints *bool `type:"boolean"`
24804
24805	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
24806	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
24807	// to import endpoint definitions from.
24808	//
24809	// RoleArn is a required field
24810	RoleArn *string `type:"string" required:"true"`
24811
24812	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains
24813	// the endpoint definitions to import. This location can be a folder or a single
24814	// file. If the location is a folder, Amazon Pinpoint imports endpoint definitions
24815	// from the files in this location, including any subfolders that the folder
24816	// contains.
24817	//
24818	// The URL should be in the following format: s3://bucket-name/folder-name/file-name.
24819	// The location can end with the key for an individual object or a prefix that
24820	// qualifies multiple objects.
24821	//
24822	// S3Url is a required field
24823	S3Url *string `type:"string" required:"true"`
24824
24825	// The identifier for the segment to update or add the imported endpoint definitions
24826	// to, if the import job is meant to update an existing segment.
24827	SegmentId *string `type:"string"`
24828
24829	// A custom name for the segment that's created by the import job, if the value
24830	// of the DefineSegment property is true.
24831	SegmentName *string `type:"string"`
24832}
24833
24834// String returns the string representation
24835func (s ImportJobRequest) String() string {
24836	return awsutil.Prettify(s)
24837}
24838
24839// GoString returns the string representation
24840func (s ImportJobRequest) GoString() string {
24841	return s.String()
24842}
24843
24844// Validate inspects the fields of the type to determine if they are valid.
24845func (s *ImportJobRequest) Validate() error {
24846	invalidParams := request.ErrInvalidParams{Context: "ImportJobRequest"}
24847	if s.Format == nil {
24848		invalidParams.Add(request.NewErrParamRequired("Format"))
24849	}
24850	if s.RoleArn == nil {
24851		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
24852	}
24853	if s.S3Url == nil {
24854		invalidParams.Add(request.NewErrParamRequired("S3Url"))
24855	}
24856
24857	if invalidParams.Len() > 0 {
24858		return invalidParams
24859	}
24860	return nil
24861}
24862
24863// SetDefineSegment sets the DefineSegment field's value.
24864func (s *ImportJobRequest) SetDefineSegment(v bool) *ImportJobRequest {
24865	s.DefineSegment = &v
24866	return s
24867}
24868
24869// SetExternalId sets the ExternalId field's value.
24870func (s *ImportJobRequest) SetExternalId(v string) *ImportJobRequest {
24871	s.ExternalId = &v
24872	return s
24873}
24874
24875// SetFormat sets the Format field's value.
24876func (s *ImportJobRequest) SetFormat(v string) *ImportJobRequest {
24877	s.Format = &v
24878	return s
24879}
24880
24881// SetRegisterEndpoints sets the RegisterEndpoints field's value.
24882func (s *ImportJobRequest) SetRegisterEndpoints(v bool) *ImportJobRequest {
24883	s.RegisterEndpoints = &v
24884	return s
24885}
24886
24887// SetRoleArn sets the RoleArn field's value.
24888func (s *ImportJobRequest) SetRoleArn(v string) *ImportJobRequest {
24889	s.RoleArn = &v
24890	return s
24891}
24892
24893// SetS3Url sets the S3Url field's value.
24894func (s *ImportJobRequest) SetS3Url(v string) *ImportJobRequest {
24895	s.S3Url = &v
24896	return s
24897}
24898
24899// SetSegmentId sets the SegmentId field's value.
24900func (s *ImportJobRequest) SetSegmentId(v string) *ImportJobRequest {
24901	s.SegmentId = &v
24902	return s
24903}
24904
24905// SetSegmentName sets the SegmentName field's value.
24906func (s *ImportJobRequest) SetSegmentName(v string) *ImportJobRequest {
24907	s.SegmentName = &v
24908	return s
24909}
24910
24911// Provides information about the resource settings for a job that imports endpoint
24912// definitions from one or more files. The files can be stored in an Amazon
24913// Simple Storage Service (Amazon S3) bucket or uploaded directly from a computer
24914// by using the Amazon Pinpoint console.
24915type ImportJobResource struct {
24916	_ struct{} `type:"structure"`
24917
24918	// Specifies whether the import job creates a segment that contains the endpoints,
24919	// when the endpoint definitions are imported.
24920	DefineSegment *bool `type:"boolean"`
24921
24922	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
24923	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
24924	// an IAM role when importing endpoint definitions, but we removed this requirement.
24925	// We don't recommend use of external IDs for IAM roles that are assumed by
24926	// Amazon Pinpoint.
24927	ExternalId *string `type:"string"`
24928
24929	// The format of the files that contain the endpoint definitions to import.
24930	// Valid values are: CSV, for comma-separated values format; and, JSON, for
24931	// newline-delimited JSON format.
24932	//
24933	// If the files are stored in an Amazon S3 location and that location contains
24934	// multiple files that use different formats, Amazon Pinpoint imports data only
24935	// from the files that use the specified format.
24936	//
24937	// Format is a required field
24938	Format *string `type:"string" required:"true" enum:"Format"`
24939
24940	// Specifies whether the import job registers the endpoints with Amazon Pinpoint,
24941	// when the endpoint definitions are imported.
24942	RegisterEndpoints *bool `type:"boolean"`
24943
24944	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
24945	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
24946	// to import endpoint definitions from.
24947	//
24948	// RoleArn is a required field
24949	RoleArn *string `type:"string" required:"true"`
24950
24951	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains
24952	// the endpoint definitions to import. This location can be a folder or a single
24953	// file. If the location is a folder, Amazon Pinpoint imports endpoint definitions
24954	// from the files in this location, including any subfolders that the folder
24955	// contains.
24956	//
24957	// The URL should be in the following format: s3://bucket-name/folder-name/file-name.
24958	// The location can end with the key for an individual object or a prefix that
24959	// qualifies multiple objects.
24960	//
24961	// S3Url is a required field
24962	S3Url *string `type:"string" required:"true"`
24963
24964	// The identifier for the segment that the import job updates or adds endpoint
24965	// definitions to, if the import job updates an existing segment.
24966	SegmentId *string `type:"string"`
24967
24968	// The custom name for the segment that's created by the import job, if the
24969	// value of the DefineSegment property is true.
24970	SegmentName *string `type:"string"`
24971}
24972
24973// String returns the string representation
24974func (s ImportJobResource) String() string {
24975	return awsutil.Prettify(s)
24976}
24977
24978// GoString returns the string representation
24979func (s ImportJobResource) GoString() string {
24980	return s.String()
24981}
24982
24983// SetDefineSegment sets the DefineSegment field's value.
24984func (s *ImportJobResource) SetDefineSegment(v bool) *ImportJobResource {
24985	s.DefineSegment = &v
24986	return s
24987}
24988
24989// SetExternalId sets the ExternalId field's value.
24990func (s *ImportJobResource) SetExternalId(v string) *ImportJobResource {
24991	s.ExternalId = &v
24992	return s
24993}
24994
24995// SetFormat sets the Format field's value.
24996func (s *ImportJobResource) SetFormat(v string) *ImportJobResource {
24997	s.Format = &v
24998	return s
24999}
25000
25001// SetRegisterEndpoints sets the RegisterEndpoints field's value.
25002func (s *ImportJobResource) SetRegisterEndpoints(v bool) *ImportJobResource {
25003	s.RegisterEndpoints = &v
25004	return s
25005}
25006
25007// SetRoleArn sets the RoleArn field's value.
25008func (s *ImportJobResource) SetRoleArn(v string) *ImportJobResource {
25009	s.RoleArn = &v
25010	return s
25011}
25012
25013// SetS3Url sets the S3Url field's value.
25014func (s *ImportJobResource) SetS3Url(v string) *ImportJobResource {
25015	s.S3Url = &v
25016	return s
25017}
25018
25019// SetSegmentId sets the SegmentId field's value.
25020func (s *ImportJobResource) SetSegmentId(v string) *ImportJobResource {
25021	s.SegmentId = &v
25022	return s
25023}
25024
25025// SetSegmentName sets the SegmentName field's value.
25026func (s *ImportJobResource) SetSegmentName(v string) *ImportJobResource {
25027	s.SegmentName = &v
25028	return s
25029}
25030
25031// Provides information about the status and settings of a job that imports
25032// endpoint definitions from one or more files. The files can be stored in an
25033// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
25034// a computer by using the Amazon Pinpoint console.
25035type ImportJobResponse struct {
25036	_ struct{} `type:"structure"`
25037
25038	// The unique identifier for the application that's associated with the import
25039	// job.
25040	//
25041	// ApplicationId is a required field
25042	ApplicationId *string `type:"string" required:"true"`
25043
25044	// The number of pieces that were processed successfully (completed) by the
25045	// import job, as of the time of the request.
25046	CompletedPieces *int64 `type:"integer"`
25047
25048	// The date, in ISO 8601 format, when the import job was completed.
25049	CompletionDate *string `type:"string"`
25050
25051	// The date, in ISO 8601 format, when the import job was created.
25052	//
25053	// CreationDate is a required field
25054	CreationDate *string `type:"string" required:"true"`
25055
25056	// The resource settings that apply to the import job.
25057	//
25058	// Definition is a required field
25059	Definition *ImportJobResource `type:"structure" required:"true"`
25060
25061	// The number of pieces that weren't processed successfully (failed) by the
25062	// import job, as of the time of the request.
25063	FailedPieces *int64 `type:"integer"`
25064
25065	// An array of entries, one for each of the first 100 entries that weren't processed
25066	// successfully (failed) by the import job, if any.
25067	Failures []*string `type:"list"`
25068
25069	// The unique identifier for the import job.
25070	//
25071	// Id is a required field
25072	Id *string `type:"string" required:"true"`
25073
25074	// The status of the import job. The job status is FAILED if Amazon Pinpoint
25075	// wasn't able to process one or more pieces in the job.
25076	//
25077	// JobStatus is a required field
25078	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
25079
25080	// The total number of endpoint definitions that weren't processed successfully
25081	// (failed) by the import job, typically because an error, such as a syntax
25082	// error, occurred.
25083	TotalFailures *int64 `type:"integer"`
25084
25085	// The total number of pieces that must be processed to complete the import
25086	// job. Each piece consists of an approximately equal portion of the endpoint
25087	// definitions that are part of the import job.
25088	TotalPieces *int64 `type:"integer"`
25089
25090	// The total number of endpoint definitions that were processed by the import
25091	// job.
25092	TotalProcessed *int64 `type:"integer"`
25093
25094	// The job type. This value is IMPORT for import jobs.
25095	//
25096	// Type is a required field
25097	Type *string `type:"string" required:"true"`
25098}
25099
25100// String returns the string representation
25101func (s ImportJobResponse) String() string {
25102	return awsutil.Prettify(s)
25103}
25104
25105// GoString returns the string representation
25106func (s ImportJobResponse) GoString() string {
25107	return s.String()
25108}
25109
25110// SetApplicationId sets the ApplicationId field's value.
25111func (s *ImportJobResponse) SetApplicationId(v string) *ImportJobResponse {
25112	s.ApplicationId = &v
25113	return s
25114}
25115
25116// SetCompletedPieces sets the CompletedPieces field's value.
25117func (s *ImportJobResponse) SetCompletedPieces(v int64) *ImportJobResponse {
25118	s.CompletedPieces = &v
25119	return s
25120}
25121
25122// SetCompletionDate sets the CompletionDate field's value.
25123func (s *ImportJobResponse) SetCompletionDate(v string) *ImportJobResponse {
25124	s.CompletionDate = &v
25125	return s
25126}
25127
25128// SetCreationDate sets the CreationDate field's value.
25129func (s *ImportJobResponse) SetCreationDate(v string) *ImportJobResponse {
25130	s.CreationDate = &v
25131	return s
25132}
25133
25134// SetDefinition sets the Definition field's value.
25135func (s *ImportJobResponse) SetDefinition(v *ImportJobResource) *ImportJobResponse {
25136	s.Definition = v
25137	return s
25138}
25139
25140// SetFailedPieces sets the FailedPieces field's value.
25141func (s *ImportJobResponse) SetFailedPieces(v int64) *ImportJobResponse {
25142	s.FailedPieces = &v
25143	return s
25144}
25145
25146// SetFailures sets the Failures field's value.
25147func (s *ImportJobResponse) SetFailures(v []*string) *ImportJobResponse {
25148	s.Failures = v
25149	return s
25150}
25151
25152// SetId sets the Id field's value.
25153func (s *ImportJobResponse) SetId(v string) *ImportJobResponse {
25154	s.Id = &v
25155	return s
25156}
25157
25158// SetJobStatus sets the JobStatus field's value.
25159func (s *ImportJobResponse) SetJobStatus(v string) *ImportJobResponse {
25160	s.JobStatus = &v
25161	return s
25162}
25163
25164// SetTotalFailures sets the TotalFailures field's value.
25165func (s *ImportJobResponse) SetTotalFailures(v int64) *ImportJobResponse {
25166	s.TotalFailures = &v
25167	return s
25168}
25169
25170// SetTotalPieces sets the TotalPieces field's value.
25171func (s *ImportJobResponse) SetTotalPieces(v int64) *ImportJobResponse {
25172	s.TotalPieces = &v
25173	return s
25174}
25175
25176// SetTotalProcessed sets the TotalProcessed field's value.
25177func (s *ImportJobResponse) SetTotalProcessed(v int64) *ImportJobResponse {
25178	s.TotalProcessed = &v
25179	return s
25180}
25181
25182// SetType sets the Type field's value.
25183func (s *ImportJobResponse) SetType(v string) *ImportJobResponse {
25184	s.Type = &v
25185	return s
25186}
25187
25188// Provides information about the status and settings of all the import jobs
25189// that are associated with an application or segment. An import job is a job
25190// that imports endpoint definitions from one or more files.
25191type ImportJobsResponse struct {
25192	_ struct{} `type:"structure"`
25193
25194	// An array of responses, one for each import job that's associated with the
25195	// application (Import Jobs resource) or segment (Segment Import Jobs resource).
25196	//
25197	// Item is a required field
25198	Item []*ImportJobResponse `type:"list" required:"true"`
25199
25200	// The string to use in a subsequent request to get the next page of results
25201	// in a paginated response. This value is null if there are no additional pages.
25202	NextToken *string `type:"string"`
25203}
25204
25205// String returns the string representation
25206func (s ImportJobsResponse) String() string {
25207	return awsutil.Prettify(s)
25208}
25209
25210// GoString returns the string representation
25211func (s ImportJobsResponse) GoString() string {
25212	return s.String()
25213}
25214
25215// SetItem sets the Item field's value.
25216func (s *ImportJobsResponse) SetItem(v []*ImportJobResponse) *ImportJobsResponse {
25217	s.Item = v
25218	return s
25219}
25220
25221// SetNextToken sets the NextToken field's value.
25222func (s *ImportJobsResponse) SetNextToken(v string) *ImportJobsResponse {
25223	s.NextToken = &v
25224	return s
25225}
25226
25227// Provides information about an API request or response.
25228type InternalServerErrorException struct {
25229	_            struct{}                  `type:"structure"`
25230	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
25231
25232	Message_ *string `locationName:"Message" type:"string"`
25233
25234	RequestID_ *string `locationName:"RequestID" type:"string"`
25235}
25236
25237// String returns the string representation
25238func (s InternalServerErrorException) String() string {
25239	return awsutil.Prettify(s)
25240}
25241
25242// GoString returns the string representation
25243func (s InternalServerErrorException) GoString() string {
25244	return s.String()
25245}
25246
25247func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
25248	return &InternalServerErrorException{
25249		RespMetadata: v,
25250	}
25251}
25252
25253// Code returns the exception type name.
25254func (s *InternalServerErrorException) Code() string {
25255	return "InternalServerErrorException"
25256}
25257
25258// Message returns the exception's message.
25259func (s *InternalServerErrorException) Message() string {
25260	if s.Message_ != nil {
25261		return *s.Message_
25262	}
25263	return ""
25264}
25265
25266// OrigErr always returns nil, satisfies awserr.Error interface.
25267func (s *InternalServerErrorException) OrigErr() error {
25268	return nil
25269}
25270
25271func (s *InternalServerErrorException) Error() string {
25272	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
25273}
25274
25275// Status code returns the HTTP status code for the request's response error.
25276func (s *InternalServerErrorException) StatusCode() int {
25277	return s.RespMetadata.StatusCode
25278}
25279
25280// RequestID returns the service's response RequestID for request.
25281func (s *InternalServerErrorException) RequestID() string {
25282	return s.RespMetadata.RequestID
25283}
25284
25285// Provides information about the results of a request to create or update an
25286// endpoint that's associated with an event.
25287type ItemResponse struct {
25288	_ struct{} `type:"structure"`
25289
25290	// The response that was received after the endpoint data was accepted.
25291	EndpointItemResponse *EndpointItemResponse `type:"structure"`
25292
25293	// A multipart response object that contains a key and a value for each event
25294	// in the request. In each object, the event ID is the key and an EventItemResponse
25295	// object is the value.
25296	EventsItemResponse map[string]*EventItemResponse `type:"map"`
25297}
25298
25299// String returns the string representation
25300func (s ItemResponse) String() string {
25301	return awsutil.Prettify(s)
25302}
25303
25304// GoString returns the string representation
25305func (s ItemResponse) GoString() string {
25306	return s.String()
25307}
25308
25309// SetEndpointItemResponse sets the EndpointItemResponse field's value.
25310func (s *ItemResponse) SetEndpointItemResponse(v *EndpointItemResponse) *ItemResponse {
25311	s.EndpointItemResponse = v
25312	return s
25313}
25314
25315// SetEventsItemResponse sets the EventsItemResponse field's value.
25316func (s *ItemResponse) SetEventsItemResponse(v map[string]*EventItemResponse) *ItemResponse {
25317	s.EventsItemResponse = v
25318	return s
25319}
25320
25321// Specifies the message content for a custom channel message that's sent to
25322// participants in a journey.
25323type JourneyCustomMessage struct {
25324	_ struct{} `type:"structure"`
25325
25326	// The message content that's passed to an AWS Lambda function or to a web hook.
25327	Data *string `type:"string"`
25328}
25329
25330// String returns the string representation
25331func (s JourneyCustomMessage) String() string {
25332	return awsutil.Prettify(s)
25333}
25334
25335// GoString returns the string representation
25336func (s JourneyCustomMessage) GoString() string {
25337	return s.String()
25338}
25339
25340// SetData sets the Data field's value.
25341func (s *JourneyCustomMessage) SetData(v string) *JourneyCustomMessage {
25342	s.Data = &v
25343	return s
25344}
25345
25346// Provides the results of a query that retrieved the data for a standard engagement
25347// metric that applies to a journey, and provides information about that query.
25348type JourneyDateRangeKpiResponse struct {
25349	_ struct{} `type:"structure"`
25350
25351	// The unique identifier for the application that the metric applies to.
25352	//
25353	// ApplicationId is a required field
25354	ApplicationId *string `type:"string" required:"true"`
25355
25356	// EndTime is a required field
25357	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
25358
25359	// The unique identifier for the journey that the metric applies to.
25360	//
25361	// JourneyId is a required field
25362	JourneyId *string `type:"string" required:"true"`
25363
25364	// The name of the metric, also referred to as a key performance indicator (KPI),
25365	// that the data was retrieved for. This value describes the associated metric
25366	// and consists of two or more terms, which are comprised of lowercase alphanumeric
25367	// characters, separated by a hyphen. For a list of possible values, see the
25368	// Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html).
25369	//
25370	// KpiName is a required field
25371	KpiName *string `type:"string" required:"true"`
25372
25373	// An array of objects that contains the results of the query. Each object contains
25374	// the value for the metric and metadata about that value.
25375	//
25376	// KpiResult is a required field
25377	KpiResult *BaseKpiResult `type:"structure" required:"true"`
25378
25379	// The string to use in a subsequent request to get the next page of results
25380	// in a paginated response. This value is null for the Journey Engagement Metrics
25381	// resource because the resource returns all results in a single page.
25382	NextToken *string `type:"string"`
25383
25384	// StartTime is a required field
25385	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
25386}
25387
25388// String returns the string representation
25389func (s JourneyDateRangeKpiResponse) String() string {
25390	return awsutil.Prettify(s)
25391}
25392
25393// GoString returns the string representation
25394func (s JourneyDateRangeKpiResponse) GoString() string {
25395	return s.String()
25396}
25397
25398// SetApplicationId sets the ApplicationId field's value.
25399func (s *JourneyDateRangeKpiResponse) SetApplicationId(v string) *JourneyDateRangeKpiResponse {
25400	s.ApplicationId = &v
25401	return s
25402}
25403
25404// SetEndTime sets the EndTime field's value.
25405func (s *JourneyDateRangeKpiResponse) SetEndTime(v time.Time) *JourneyDateRangeKpiResponse {
25406	s.EndTime = &v
25407	return s
25408}
25409
25410// SetJourneyId sets the JourneyId field's value.
25411func (s *JourneyDateRangeKpiResponse) SetJourneyId(v string) *JourneyDateRangeKpiResponse {
25412	s.JourneyId = &v
25413	return s
25414}
25415
25416// SetKpiName sets the KpiName field's value.
25417func (s *JourneyDateRangeKpiResponse) SetKpiName(v string) *JourneyDateRangeKpiResponse {
25418	s.KpiName = &v
25419	return s
25420}
25421
25422// SetKpiResult sets the KpiResult field's value.
25423func (s *JourneyDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *JourneyDateRangeKpiResponse {
25424	s.KpiResult = v
25425	return s
25426}
25427
25428// SetNextToken sets the NextToken field's value.
25429func (s *JourneyDateRangeKpiResponse) SetNextToken(v string) *JourneyDateRangeKpiResponse {
25430	s.NextToken = &v
25431	return s
25432}
25433
25434// SetStartTime sets the StartTime field's value.
25435func (s *JourneyDateRangeKpiResponse) SetStartTime(v time.Time) *JourneyDateRangeKpiResponse {
25436	s.StartTime = &v
25437	return s
25438}
25439
25440// Specifies the "From" address for an email message that's sent to participants
25441// in a journey.
25442type JourneyEmailMessage struct {
25443	_ struct{} `type:"structure"`
25444
25445	// The verified email address to send the email message from. The default address
25446	// is the FromAddress specified for the email channel for the application.
25447	FromAddress *string `type:"string"`
25448}
25449
25450// String returns the string representation
25451func (s JourneyEmailMessage) String() string {
25452	return awsutil.Prettify(s)
25453}
25454
25455// GoString returns the string representation
25456func (s JourneyEmailMessage) GoString() string {
25457	return s.String()
25458}
25459
25460// SetFromAddress sets the FromAddress field's value.
25461func (s *JourneyEmailMessage) SetFromAddress(v string) *JourneyEmailMessage {
25462	s.FromAddress = &v
25463	return s
25464}
25465
25466// Provides the results of a query that retrieved the data for a standard execution
25467// metric that applies to a journey activity, and provides information about
25468// that query.
25469type JourneyExecutionActivityMetricsResponse struct {
25470	_ struct{} `type:"structure"`
25471
25472	// The type of activity that the metric applies to. Possible values are:
25473	//
25474	//    * CONDITIONAL_SPLIT - For a yes/no split activity, which is an activity
25475	//    that sends participants down one of two paths in a journey.
25476	//
25477	//    * HOLDOUT - For a holdout activity, which is an activity that stops a
25478	//    journey for a specified percentage of participants.
25479	//
25480	//    * MESSAGE - For an email activity, which is an activity that sends an
25481	//    email message to participants.
25482	//
25483	//    * MULTI_CONDITIONAL_SPLIT - For a multivariate split activity, which is
25484	//    an activity that sends participants down one of as many as five paths
25485	//    in a journey.
25486	//
25487	//    * RANDOM_SPLIT - For a random split activity, which is an activity that
25488	//    sends specified percentages of participants down one of as many as five
25489	//    paths in a journey.
25490	//
25491	//    * WAIT - For a wait activity, which is an activity that waits for a certain
25492	//    amount of time or until a specific date and time before moving participants
25493	//    to the next activity in a journey.
25494	//
25495	// ActivityType is a required field
25496	ActivityType *string `type:"string" required:"true"`
25497
25498	// The unique identifier for the application that the metric applies to.
25499	//
25500	// ApplicationId is a required field
25501	ApplicationId *string `type:"string" required:"true"`
25502
25503	// The unique identifier for the activity that the metric applies to.
25504	//
25505	// JourneyActivityId is a required field
25506	JourneyActivityId *string `type:"string" required:"true"`
25507
25508	// The unique identifier for the journey that the metric applies to.
25509	//
25510	// JourneyId is a required field
25511	JourneyId *string `type:"string" required:"true"`
25512
25513	// The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
25514	// the execution status of the activity and updated the data for the metric.
25515	//
25516	// LastEvaluatedTime is a required field
25517	LastEvaluatedTime *string `type:"string" required:"true"`
25518
25519	// A JSON object that contains the results of the query. The results vary depending
25520	// on the type of activity (ActivityType). For information about the structure
25521	// and contents of the results, see the Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html).
25522	//
25523	// Metrics is a required field
25524	Metrics map[string]*string `type:"map" required:"true"`
25525}
25526
25527// String returns the string representation
25528func (s JourneyExecutionActivityMetricsResponse) String() string {
25529	return awsutil.Prettify(s)
25530}
25531
25532// GoString returns the string representation
25533func (s JourneyExecutionActivityMetricsResponse) GoString() string {
25534	return s.String()
25535}
25536
25537// SetActivityType sets the ActivityType field's value.
25538func (s *JourneyExecutionActivityMetricsResponse) SetActivityType(v string) *JourneyExecutionActivityMetricsResponse {
25539	s.ActivityType = &v
25540	return s
25541}
25542
25543// SetApplicationId sets the ApplicationId field's value.
25544func (s *JourneyExecutionActivityMetricsResponse) SetApplicationId(v string) *JourneyExecutionActivityMetricsResponse {
25545	s.ApplicationId = &v
25546	return s
25547}
25548
25549// SetJourneyActivityId sets the JourneyActivityId field's value.
25550func (s *JourneyExecutionActivityMetricsResponse) SetJourneyActivityId(v string) *JourneyExecutionActivityMetricsResponse {
25551	s.JourneyActivityId = &v
25552	return s
25553}
25554
25555// SetJourneyId sets the JourneyId field's value.
25556func (s *JourneyExecutionActivityMetricsResponse) SetJourneyId(v string) *JourneyExecutionActivityMetricsResponse {
25557	s.JourneyId = &v
25558	return s
25559}
25560
25561// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
25562func (s *JourneyExecutionActivityMetricsResponse) SetLastEvaluatedTime(v string) *JourneyExecutionActivityMetricsResponse {
25563	s.LastEvaluatedTime = &v
25564	return s
25565}
25566
25567// SetMetrics sets the Metrics field's value.
25568func (s *JourneyExecutionActivityMetricsResponse) SetMetrics(v map[string]*string) *JourneyExecutionActivityMetricsResponse {
25569	s.Metrics = v
25570	return s
25571}
25572
25573// Provides the results of a query that retrieved the data for a standard execution
25574// metric that applies to a journey, and provides information about that query.
25575type JourneyExecutionMetricsResponse struct {
25576	_ struct{} `type:"structure"`
25577
25578	// The unique identifier for the application that the metric applies to.
25579	//
25580	// ApplicationId is a required field
25581	ApplicationId *string `type:"string" required:"true"`
25582
25583	// The unique identifier for the journey that the metric applies to.
25584	//
25585	// JourneyId is a required field
25586	JourneyId *string `type:"string" required:"true"`
25587
25588	// The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
25589	// the journey and updated the data for the metric.
25590	//
25591	// LastEvaluatedTime is a required field
25592	LastEvaluatedTime *string `type:"string" required:"true"`
25593
25594	// A JSON object that contains the results of the query. For information about
25595	// the structure and contents of the results, see the Amazon Pinpoint Developer
25596	// Guide (https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html).
25597	//
25598	// Metrics is a required field
25599	Metrics map[string]*string `type:"map" required:"true"`
25600}
25601
25602// String returns the string representation
25603func (s JourneyExecutionMetricsResponse) String() string {
25604	return awsutil.Prettify(s)
25605}
25606
25607// GoString returns the string representation
25608func (s JourneyExecutionMetricsResponse) GoString() string {
25609	return s.String()
25610}
25611
25612// SetApplicationId sets the ApplicationId field's value.
25613func (s *JourneyExecutionMetricsResponse) SetApplicationId(v string) *JourneyExecutionMetricsResponse {
25614	s.ApplicationId = &v
25615	return s
25616}
25617
25618// SetJourneyId sets the JourneyId field's value.
25619func (s *JourneyExecutionMetricsResponse) SetJourneyId(v string) *JourneyExecutionMetricsResponse {
25620	s.JourneyId = &v
25621	return s
25622}
25623
25624// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
25625func (s *JourneyExecutionMetricsResponse) SetLastEvaluatedTime(v string) *JourneyExecutionMetricsResponse {
25626	s.LastEvaluatedTime = &v
25627	return s
25628}
25629
25630// SetMetrics sets the Metrics field's value.
25631func (s *JourneyExecutionMetricsResponse) SetMetrics(v map[string]*string) *JourneyExecutionMetricsResponse {
25632	s.Metrics = v
25633	return s
25634}
25635
25636// Specifies limits on the messages that a journey can send and the number of
25637// times participants can enter a journey.
25638type JourneyLimits struct {
25639	_ struct{} `type:"structure"`
25640
25641	// The maximum number of messages that the journey can send to a single participant
25642	// during a 24-hour period. The maximum value is 100.
25643	DailyCap *int64 `type:"integer"`
25644
25645	// The maximum number of times that a participant can enter the journey. The
25646	// maximum value is 100. To allow participants to enter the journey an unlimited
25647	// number of times, set this value to 0.
25648	EndpointReentryCap *int64 `type:"integer"`
25649
25650	// The maximum number of messages that the journey can send each second.
25651	MessagesPerSecond *int64 `type:"integer"`
25652}
25653
25654// String returns the string representation
25655func (s JourneyLimits) String() string {
25656	return awsutil.Prettify(s)
25657}
25658
25659// GoString returns the string representation
25660func (s JourneyLimits) GoString() string {
25661	return s.String()
25662}
25663
25664// SetDailyCap sets the DailyCap field's value.
25665func (s *JourneyLimits) SetDailyCap(v int64) *JourneyLimits {
25666	s.DailyCap = &v
25667	return s
25668}
25669
25670// SetEndpointReentryCap sets the EndpointReentryCap field's value.
25671func (s *JourneyLimits) SetEndpointReentryCap(v int64) *JourneyLimits {
25672	s.EndpointReentryCap = &v
25673	return s
25674}
25675
25676// SetMessagesPerSecond sets the MessagesPerSecond field's value.
25677func (s *JourneyLimits) SetMessagesPerSecond(v int64) *JourneyLimits {
25678	s.MessagesPerSecond = &v
25679	return s
25680}
25681
25682// Specifies the message configuration for a push notification that's sent to
25683// participants in a journey.
25684type JourneyPushMessage struct {
25685	_ struct{} `type:"structure"`
25686
25687	// The number of seconds that the push notification service should keep the
25688	// message, if the service is unable to deliver the notification the first time.
25689	// This value is converted to an expiration value when it's sent to a push-notification
25690	// service. If this value is 0, the service treats the notification as if it
25691	// expires immediately and the service doesn't store or try to deliver the notification
25692	// again.
25693	//
25694	// This value doesn't apply to messages that are sent through the Amazon Device
25695	// Messaging (ADM) service.
25696	TimeToLive *string `type:"string"`
25697}
25698
25699// String returns the string representation
25700func (s JourneyPushMessage) String() string {
25701	return awsutil.Prettify(s)
25702}
25703
25704// GoString returns the string representation
25705func (s JourneyPushMessage) GoString() string {
25706	return s.String()
25707}
25708
25709// SetTimeToLive sets the TimeToLive field's value.
25710func (s *JourneyPushMessage) SetTimeToLive(v string) *JourneyPushMessage {
25711	s.TimeToLive = &v
25712	return s
25713}
25714
25715// Provides information about the status, configuration, and other settings
25716// for a journey.
25717type JourneyResponse struct {
25718	_ struct{} `type:"structure"`
25719
25720	// A map that contains a set of Activity objects, one object for each activity
25721	// in the journey. For each Activity object, the key is the unique identifier
25722	// (string) for an activity and the value is the settings for the activity.
25723	Activities map[string]*Activity `type:"map"`
25724
25725	// The unique identifier for the application that the journey applies to.
25726	//
25727	// ApplicationId is a required field
25728	ApplicationId *string `type:"string" required:"true"`
25729
25730	// The date, in ISO 8601 format, when the journey was created.
25731	CreationDate *string `type:"string"`
25732
25733	// The unique identifier for the journey.
25734	//
25735	// Id is a required field
25736	Id *string `type:"string" required:"true"`
25737
25738	// The date, in ISO 8601 format, when the journey was last modified.
25739	LastModifiedDate *string `type:"string"`
25740
25741	// The messaging and entry limits for the journey.
25742	Limits *JourneyLimits `type:"structure"`
25743
25744	// Specifies whether the journey's scheduled start and end times use each participant's
25745	// local time. If this value is true, the schedule uses each participant's local
25746	// time.
25747	LocalTime *bool `type:"boolean"`
25748
25749	// The name of the journey.
25750	//
25751	// Name is a required field
25752	Name *string `type:"string" required:"true"`
25753
25754	// The quiet time settings for the journey. Quiet time is a specific time range
25755	// when a journey doesn't send messages to participants, if all the following
25756	// conditions are met:
25757	//
25758	//    * The EndpointDemographic.Timezone property of the endpoint for the participant
25759	//    is set to a valid value.
25760	//
25761	//    * The current time in the participant's time zone is later than or equal
25762	//    to the time specified by the QuietTime.Start property for the journey.
25763	//
25764	//    * The current time in the participant's time zone is earlier than or equal
25765	//    to the time specified by the QuietTime.End property for the journey.
25766	//
25767	// If any of the preceding conditions isn't met, the participant will receive
25768	// messages from the journey, even if quiet time is enabled.
25769	QuietTime *QuietTime `type:"structure"`
25770
25771	// The frequency with which Amazon Pinpoint evaluates segment and event data
25772	// for the journey, as a duration in ISO 8601 format.
25773	RefreshFrequency *string `type:"string"`
25774
25775	// The schedule settings for the journey.
25776	Schedule *JourneySchedule `type:"structure"`
25777
25778	// The unique identifier for the first activity in the journey.
25779	StartActivity *string `type:"string"`
25780
25781	// The segment that defines which users are participants in the journey.
25782	StartCondition *StartCondition `type:"structure"`
25783
25784	// The current status of the journey. Possible values are:
25785	//
25786	//    * DRAFT - The journey is being developed and hasn't been published yet.
25787	//
25788	//    * ACTIVE - The journey has been developed and published. Depending on
25789	//    the journey's schedule, the journey may currently be running or scheduled
25790	//    to start running at a later time. If a journey's status is ACTIVE, you
25791	//    can't add, change, or remove activities from it.
25792	//
25793	//    * COMPLETED - The journey has been published and has finished running.
25794	//    All participants have entered the journey and no participants are waiting
25795	//    to complete the journey or any activities in the journey.
25796	//
25797	//    * CANCELLED - The journey has been stopped. If a journey's status is CANCELLED,
25798	//    you can't add, change, or remove activities or segment settings from the
25799	//    journey.
25800	//
25801	//    * CLOSED - The journey has been published and has started running. It
25802	//    may have also passed its scheduled end time, or passed its scheduled start
25803	//    time and a refresh frequency hasn't been specified for it. If a journey's
25804	//    status is CLOSED, you can't add participants to it, and no existing participants
25805	//    can enter the journey for the first time. However, any existing participants
25806	//    who are currently waiting to start an activity may continue the journey.
25807	State *string `type:"string" enum:"State"`
25808
25809	// This object is not used or supported.
25810	Tags map[string]*string `locationName:"tags" type:"map"`
25811}
25812
25813// String returns the string representation
25814func (s JourneyResponse) String() string {
25815	return awsutil.Prettify(s)
25816}
25817
25818// GoString returns the string representation
25819func (s JourneyResponse) GoString() string {
25820	return s.String()
25821}
25822
25823// SetActivities sets the Activities field's value.
25824func (s *JourneyResponse) SetActivities(v map[string]*Activity) *JourneyResponse {
25825	s.Activities = v
25826	return s
25827}
25828
25829// SetApplicationId sets the ApplicationId field's value.
25830func (s *JourneyResponse) SetApplicationId(v string) *JourneyResponse {
25831	s.ApplicationId = &v
25832	return s
25833}
25834
25835// SetCreationDate sets the CreationDate field's value.
25836func (s *JourneyResponse) SetCreationDate(v string) *JourneyResponse {
25837	s.CreationDate = &v
25838	return s
25839}
25840
25841// SetId sets the Id field's value.
25842func (s *JourneyResponse) SetId(v string) *JourneyResponse {
25843	s.Id = &v
25844	return s
25845}
25846
25847// SetLastModifiedDate sets the LastModifiedDate field's value.
25848func (s *JourneyResponse) SetLastModifiedDate(v string) *JourneyResponse {
25849	s.LastModifiedDate = &v
25850	return s
25851}
25852
25853// SetLimits sets the Limits field's value.
25854func (s *JourneyResponse) SetLimits(v *JourneyLimits) *JourneyResponse {
25855	s.Limits = v
25856	return s
25857}
25858
25859// SetLocalTime sets the LocalTime field's value.
25860func (s *JourneyResponse) SetLocalTime(v bool) *JourneyResponse {
25861	s.LocalTime = &v
25862	return s
25863}
25864
25865// SetName sets the Name field's value.
25866func (s *JourneyResponse) SetName(v string) *JourneyResponse {
25867	s.Name = &v
25868	return s
25869}
25870
25871// SetQuietTime sets the QuietTime field's value.
25872func (s *JourneyResponse) SetQuietTime(v *QuietTime) *JourneyResponse {
25873	s.QuietTime = v
25874	return s
25875}
25876
25877// SetRefreshFrequency sets the RefreshFrequency field's value.
25878func (s *JourneyResponse) SetRefreshFrequency(v string) *JourneyResponse {
25879	s.RefreshFrequency = &v
25880	return s
25881}
25882
25883// SetSchedule sets the Schedule field's value.
25884func (s *JourneyResponse) SetSchedule(v *JourneySchedule) *JourneyResponse {
25885	s.Schedule = v
25886	return s
25887}
25888
25889// SetStartActivity sets the StartActivity field's value.
25890func (s *JourneyResponse) SetStartActivity(v string) *JourneyResponse {
25891	s.StartActivity = &v
25892	return s
25893}
25894
25895// SetStartCondition sets the StartCondition field's value.
25896func (s *JourneyResponse) SetStartCondition(v *StartCondition) *JourneyResponse {
25897	s.StartCondition = v
25898	return s
25899}
25900
25901// SetState sets the State field's value.
25902func (s *JourneyResponse) SetState(v string) *JourneyResponse {
25903	s.State = &v
25904	return s
25905}
25906
25907// SetTags sets the Tags field's value.
25908func (s *JourneyResponse) SetTags(v map[string]*string) *JourneyResponse {
25909	s.Tags = v
25910	return s
25911}
25912
25913// Specifies the sender ID and message type for an SMS message that's sent to
25914// participants in a journey.
25915type JourneySMSMessage struct {
25916	_ struct{} `type:"structure"`
25917
25918	// The SMS message type. Valid values are TRANSACTIONAL (for messages that are
25919	// critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL
25920	// (for messsages that aren't critical or time-sensitive, such as marketing
25921	// messages).
25922	MessageType *string `type:"string" enum:"MessageType"`
25923
25924	// The sender ID to display as the sender of the message on a recipient's device.
25925	// Support for sender IDs varies by country or region. For more information,
25926	// see Supported Countries and Regions (https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html)
25927	// in the Amazon Pinpoint User Guide.
25928	SenderId *string `type:"string"`
25929}
25930
25931// String returns the string representation
25932func (s JourneySMSMessage) String() string {
25933	return awsutil.Prettify(s)
25934}
25935
25936// GoString returns the string representation
25937func (s JourneySMSMessage) GoString() string {
25938	return s.String()
25939}
25940
25941// SetMessageType sets the MessageType field's value.
25942func (s *JourneySMSMessage) SetMessageType(v string) *JourneySMSMessage {
25943	s.MessageType = &v
25944	return s
25945}
25946
25947// SetSenderId sets the SenderId field's value.
25948func (s *JourneySMSMessage) SetSenderId(v string) *JourneySMSMessage {
25949	s.SenderId = &v
25950	return s
25951}
25952
25953// Specifies the schedule settings for a journey.
25954type JourneySchedule struct {
25955	_ struct{} `type:"structure"`
25956
25957	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
25958
25959	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
25960
25961	// The starting UTC offset for the journey schedule, if the value of the journey's
25962	// LocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03,
25963	// UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30,
25964	// UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11,
25965	// UTC+12, UTC+12:45, UTC+13, UTC+13:45, UTC-02, UTC-02:30, UTC-03, UTC-03:30,
25966	// UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-09:30, UTC-10, and UTC-11.
25967	Timezone *string `type:"string"`
25968}
25969
25970// String returns the string representation
25971func (s JourneySchedule) String() string {
25972	return awsutil.Prettify(s)
25973}
25974
25975// GoString returns the string representation
25976func (s JourneySchedule) GoString() string {
25977	return s.String()
25978}
25979
25980// SetEndTime sets the EndTime field's value.
25981func (s *JourneySchedule) SetEndTime(v time.Time) *JourneySchedule {
25982	s.EndTime = &v
25983	return s
25984}
25985
25986// SetStartTime sets the StartTime field's value.
25987func (s *JourneySchedule) SetStartTime(v time.Time) *JourneySchedule {
25988	s.StartTime = &v
25989	return s
25990}
25991
25992// SetTimezone sets the Timezone field's value.
25993func (s *JourneySchedule) SetTimezone(v string) *JourneySchedule {
25994	s.Timezone = &v
25995	return s
25996}
25997
25998// Changes the status of a journey.
25999type JourneyStateRequest struct {
26000	_ struct{} `type:"structure"`
26001
26002	// The status of the journey. Currently, the only supported value is CANCELLED.
26003	//
26004	// If you cancel a journey, Amazon Pinpoint continues to perform activities
26005	// that are currently in progress, until those activities are complete. Amazon
26006	// Pinpoint also continues to collect and aggregate analytics data for those
26007	// activities, until they are complete, and any activities that were complete
26008	// when you cancelled the journey.
26009	//
26010	// After you cancel a journey, you can't add, change, or remove any activities
26011	// from the journey. In addition, Amazon Pinpoint stops evaluating the journey
26012	// and doesn't perform any activities that haven't started.
26013	State *string `type:"string" enum:"State"`
26014}
26015
26016// String returns the string representation
26017func (s JourneyStateRequest) String() string {
26018	return awsutil.Prettify(s)
26019}
26020
26021// GoString returns the string representation
26022func (s JourneyStateRequest) GoString() string {
26023	return s.String()
26024}
26025
26026// SetState sets the State field's value.
26027func (s *JourneyStateRequest) SetState(v string) *JourneyStateRequest {
26028	s.State = &v
26029	return s
26030}
26031
26032// Provides information about the status, configuration, and other settings
26033// for all the journeys that are associated with an application.
26034type JourneysResponse struct {
26035	_ struct{} `type:"structure"`
26036
26037	// An array of responses, one for each journey that's associated with the application.
26038	//
26039	// Item is a required field
26040	Item []*JourneyResponse `type:"list" required:"true"`
26041
26042	// The string to use in a subsequent request to get the next page of results
26043	// in a paginated response. This value is null if there are no additional pages.
26044	NextToken *string `type:"string"`
26045}
26046
26047// String returns the string representation
26048func (s JourneysResponse) String() string {
26049	return awsutil.Prettify(s)
26050}
26051
26052// GoString returns the string representation
26053func (s JourneysResponse) GoString() string {
26054	return s.String()
26055}
26056
26057// SetItem sets the Item field's value.
26058func (s *JourneysResponse) SetItem(v []*JourneyResponse) *JourneysResponse {
26059	s.Item = v
26060	return s
26061}
26062
26063// SetNextToken sets the NextToken field's value.
26064func (s *JourneysResponse) SetNextToken(v string) *JourneysResponse {
26065	s.NextToken = &v
26066	return s
26067}
26068
26069type ListJourneysInput struct {
26070	_ struct{} `type:"structure"`
26071
26072	// ApplicationId is a required field
26073	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
26074
26075	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
26076
26077	Token *string `location:"querystring" locationName:"token" type:"string"`
26078}
26079
26080// String returns the string representation
26081func (s ListJourneysInput) String() string {
26082	return awsutil.Prettify(s)
26083}
26084
26085// GoString returns the string representation
26086func (s ListJourneysInput) GoString() string {
26087	return s.String()
26088}
26089
26090// Validate inspects the fields of the type to determine if they are valid.
26091func (s *ListJourneysInput) Validate() error {
26092	invalidParams := request.ErrInvalidParams{Context: "ListJourneysInput"}
26093	if s.ApplicationId == nil {
26094		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
26095	}
26096	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
26097		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
26098	}
26099
26100	if invalidParams.Len() > 0 {
26101		return invalidParams
26102	}
26103	return nil
26104}
26105
26106// SetApplicationId sets the ApplicationId field's value.
26107func (s *ListJourneysInput) SetApplicationId(v string) *ListJourneysInput {
26108	s.ApplicationId = &v
26109	return s
26110}
26111
26112// SetPageSize sets the PageSize field's value.
26113func (s *ListJourneysInput) SetPageSize(v string) *ListJourneysInput {
26114	s.PageSize = &v
26115	return s
26116}
26117
26118// SetToken sets the Token field's value.
26119func (s *ListJourneysInput) SetToken(v string) *ListJourneysInput {
26120	s.Token = &v
26121	return s
26122}
26123
26124type ListJourneysOutput struct {
26125	_ struct{} `type:"structure" payload:"JourneysResponse"`
26126
26127	// Provides information about the status, configuration, and other settings
26128	// for all the journeys that are associated with an application.
26129	//
26130	// JourneysResponse is a required field
26131	JourneysResponse *JourneysResponse `type:"structure" required:"true"`
26132}
26133
26134// String returns the string representation
26135func (s ListJourneysOutput) String() string {
26136	return awsutil.Prettify(s)
26137}
26138
26139// GoString returns the string representation
26140func (s ListJourneysOutput) GoString() string {
26141	return s.String()
26142}
26143
26144// SetJourneysResponse sets the JourneysResponse field's value.
26145func (s *ListJourneysOutput) SetJourneysResponse(v *JourneysResponse) *ListJourneysOutput {
26146	s.JourneysResponse = v
26147	return s
26148}
26149
26150// Provides information about all the recommender model configurations that
26151// are associated with your Amazon Pinpoint account.
26152type ListRecommenderConfigurationsResponse struct {
26153	_ struct{} `type:"structure"`
26154
26155	// An array of responses, one for each recommender model configuration that's
26156	// associated with your Amazon Pinpoint account.
26157	//
26158	// Item is a required field
26159	Item []*RecommenderConfigurationResponse `type:"list" required:"true"`
26160
26161	// The string to use in a subsequent request to get the next page of results
26162	// in a paginated response. This value is null if there are no additional pages.
26163	NextToken *string `type:"string"`
26164}
26165
26166// String returns the string representation
26167func (s ListRecommenderConfigurationsResponse) String() string {
26168	return awsutil.Prettify(s)
26169}
26170
26171// GoString returns the string representation
26172func (s ListRecommenderConfigurationsResponse) GoString() string {
26173	return s.String()
26174}
26175
26176// SetItem sets the Item field's value.
26177func (s *ListRecommenderConfigurationsResponse) SetItem(v []*RecommenderConfigurationResponse) *ListRecommenderConfigurationsResponse {
26178	s.Item = v
26179	return s
26180}
26181
26182// SetNextToken sets the NextToken field's value.
26183func (s *ListRecommenderConfigurationsResponse) SetNextToken(v string) *ListRecommenderConfigurationsResponse {
26184	s.NextToken = &v
26185	return s
26186}
26187
26188type ListTagsForResourceInput struct {
26189	_ struct{} `type:"structure"`
26190
26191	// ResourceArn is a required field
26192	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
26193}
26194
26195// String returns the string representation
26196func (s ListTagsForResourceInput) String() string {
26197	return awsutil.Prettify(s)
26198}
26199
26200// GoString returns the string representation
26201func (s ListTagsForResourceInput) GoString() string {
26202	return s.String()
26203}
26204
26205// Validate inspects the fields of the type to determine if they are valid.
26206func (s *ListTagsForResourceInput) Validate() error {
26207	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
26208	if s.ResourceArn == nil {
26209		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
26210	}
26211	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
26212		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
26213	}
26214
26215	if invalidParams.Len() > 0 {
26216		return invalidParams
26217	}
26218	return nil
26219}
26220
26221// SetResourceArn sets the ResourceArn field's value.
26222func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
26223	s.ResourceArn = &v
26224	return s
26225}
26226
26227type ListTagsForResourceOutput struct {
26228	_ struct{} `type:"structure" payload:"TagsModel"`
26229
26230	// Specifies the tags (keys and values) for an application, campaign, message
26231	// template, or segment.
26232	//
26233	// TagsModel is a required field
26234	TagsModel *TagsModel `type:"structure" required:"true"`
26235}
26236
26237// String returns the string representation
26238func (s ListTagsForResourceOutput) String() string {
26239	return awsutil.Prettify(s)
26240}
26241
26242// GoString returns the string representation
26243func (s ListTagsForResourceOutput) GoString() string {
26244	return s.String()
26245}
26246
26247// SetTagsModel sets the TagsModel field's value.
26248func (s *ListTagsForResourceOutput) SetTagsModel(v *TagsModel) *ListTagsForResourceOutput {
26249	s.TagsModel = v
26250	return s
26251}
26252
26253type ListTemplateVersionsInput struct {
26254	_ struct{} `type:"structure"`
26255
26256	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
26257
26258	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
26259
26260	// TemplateName is a required field
26261	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
26262
26263	// TemplateType is a required field
26264	TemplateType *string `location:"uri" locationName:"template-type" type:"string" required:"true"`
26265}
26266
26267// String returns the string representation
26268func (s ListTemplateVersionsInput) String() string {
26269	return awsutil.Prettify(s)
26270}
26271
26272// GoString returns the string representation
26273func (s ListTemplateVersionsInput) GoString() string {
26274	return s.String()
26275}
26276
26277// Validate inspects the fields of the type to determine if they are valid.
26278func (s *ListTemplateVersionsInput) Validate() error {
26279	invalidParams := request.ErrInvalidParams{Context: "ListTemplateVersionsInput"}
26280	if s.TemplateName == nil {
26281		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
26282	}
26283	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
26284		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
26285	}
26286	if s.TemplateType == nil {
26287		invalidParams.Add(request.NewErrParamRequired("TemplateType"))
26288	}
26289	if s.TemplateType != nil && len(*s.TemplateType) < 1 {
26290		invalidParams.Add(request.NewErrParamMinLen("TemplateType", 1))
26291	}
26292
26293	if invalidParams.Len() > 0 {
26294		return invalidParams
26295	}
26296	return nil
26297}
26298
26299// SetNextToken sets the NextToken field's value.
26300func (s *ListTemplateVersionsInput) SetNextToken(v string) *ListTemplateVersionsInput {
26301	s.NextToken = &v
26302	return s
26303}
26304
26305// SetPageSize sets the PageSize field's value.
26306func (s *ListTemplateVersionsInput) SetPageSize(v string) *ListTemplateVersionsInput {
26307	s.PageSize = &v
26308	return s
26309}
26310
26311// SetTemplateName sets the TemplateName field's value.
26312func (s *ListTemplateVersionsInput) SetTemplateName(v string) *ListTemplateVersionsInput {
26313	s.TemplateName = &v
26314	return s
26315}
26316
26317// SetTemplateType sets the TemplateType field's value.
26318func (s *ListTemplateVersionsInput) SetTemplateType(v string) *ListTemplateVersionsInput {
26319	s.TemplateType = &v
26320	return s
26321}
26322
26323type ListTemplateVersionsOutput struct {
26324	_ struct{} `type:"structure" payload:"TemplateVersionsResponse"`
26325
26326	// Provides information about all the versions of a specific message template.
26327	//
26328	// TemplateVersionsResponse is a required field
26329	TemplateVersionsResponse *TemplateVersionsResponse `type:"structure" required:"true"`
26330}
26331
26332// String returns the string representation
26333func (s ListTemplateVersionsOutput) String() string {
26334	return awsutil.Prettify(s)
26335}
26336
26337// GoString returns the string representation
26338func (s ListTemplateVersionsOutput) GoString() string {
26339	return s.String()
26340}
26341
26342// SetTemplateVersionsResponse sets the TemplateVersionsResponse field's value.
26343func (s *ListTemplateVersionsOutput) SetTemplateVersionsResponse(v *TemplateVersionsResponse) *ListTemplateVersionsOutput {
26344	s.TemplateVersionsResponse = v
26345	return s
26346}
26347
26348type ListTemplatesInput struct {
26349	_ struct{} `type:"structure"`
26350
26351	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
26352
26353	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
26354
26355	Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
26356
26357	TemplateType *string `location:"querystring" locationName:"template-type" type:"string"`
26358}
26359
26360// String returns the string representation
26361func (s ListTemplatesInput) String() string {
26362	return awsutil.Prettify(s)
26363}
26364
26365// GoString returns the string representation
26366func (s ListTemplatesInput) GoString() string {
26367	return s.String()
26368}
26369
26370// SetNextToken sets the NextToken field's value.
26371func (s *ListTemplatesInput) SetNextToken(v string) *ListTemplatesInput {
26372	s.NextToken = &v
26373	return s
26374}
26375
26376// SetPageSize sets the PageSize field's value.
26377func (s *ListTemplatesInput) SetPageSize(v string) *ListTemplatesInput {
26378	s.PageSize = &v
26379	return s
26380}
26381
26382// SetPrefix sets the Prefix field's value.
26383func (s *ListTemplatesInput) SetPrefix(v string) *ListTemplatesInput {
26384	s.Prefix = &v
26385	return s
26386}
26387
26388// SetTemplateType sets the TemplateType field's value.
26389func (s *ListTemplatesInput) SetTemplateType(v string) *ListTemplatesInput {
26390	s.TemplateType = &v
26391	return s
26392}
26393
26394type ListTemplatesOutput struct {
26395	_ struct{} `type:"structure" payload:"TemplatesResponse"`
26396
26397	// Provides information about all the message templates that are associated
26398	// with your Amazon Pinpoint account.
26399	//
26400	// TemplatesResponse is a required field
26401	TemplatesResponse *TemplatesResponse `type:"structure" required:"true"`
26402}
26403
26404// String returns the string representation
26405func (s ListTemplatesOutput) String() string {
26406	return awsutil.Prettify(s)
26407}
26408
26409// GoString returns the string representation
26410func (s ListTemplatesOutput) GoString() string {
26411	return s.String()
26412}
26413
26414// SetTemplatesResponse sets the TemplatesResponse field's value.
26415func (s *ListTemplatesOutput) SetTemplatesResponse(v *TemplatesResponse) *ListTemplatesOutput {
26416	s.TemplatesResponse = v
26417	return s
26418}
26419
26420// Specifies the content and settings for a push notification that's sent to
26421// recipients of a campaign.
26422type Message struct {
26423	_ struct{} `type:"structure"`
26424
26425	// The action to occur if a recipient taps the push notification. Valid values
26426	// are:
26427	//
26428	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
26429	//    sent to the background. This is the default action.
26430	//
26431	//    * DEEP_LINK - Your app opens and displays a designated user interface
26432	//    in the app. This setting uses the deep-linking features of iOS and Android.
26433	//
26434	//    * URL - The default mobile browser on the recipient's device opens and
26435	//    loads the web page at a URL that you specify.
26436	Action *string `type:"string" enum:"Action"`
26437
26438	// The body of the notification message. The maximum number of characters is
26439	// 200.
26440	Body *string `type:"string"`
26441
26442	// The URL of the image to display as the push-notification icon, such as the
26443	// icon for the app.
26444	ImageIconUrl *string `type:"string"`
26445
26446	// The URL of the image to display as the small, push-notification icon, such
26447	// as a small version of the icon for the app.
26448	ImageSmallIconUrl *string `type:"string"`
26449
26450	// The URL of an image to display in the push notification.
26451	ImageUrl *string `type:"string"`
26452
26453	// The JSON payload to use for a silent push notification.
26454	JsonBody *string `type:"string"`
26455
26456	// The URL of the image or video to display in the push notification.
26457	MediaUrl *string `type:"string"`
26458
26459	// The raw, JSON-formatted string to use as the payload for the notification
26460	// message. If specified, this value overrides all other content for the message.
26461	RawContent *string `type:"string"`
26462
26463	// Specifies whether the notification is a silent push notification, which is
26464	// a push notification that doesn't display on a recipient's device. Silent
26465	// push notifications can be used for cases such as updating an app's configuration,
26466	// displaying messages in an in-app message center, or supporting phone home
26467	// functionality.
26468	SilentPush *bool `type:"boolean"`
26469
26470	// The number of seconds that the push-notification service should keep the
26471	// message, if the service is unable to deliver the notification the first time.
26472	// This value is converted to an expiration value when it's sent to a push-notification
26473	// service. If this value is 0, the service treats the notification as if it
26474	// expires immediately and the service doesn't store or try to deliver the notification
26475	// again.
26476	//
26477	// This value doesn't apply to messages that are sent through the Amazon Device
26478	// Messaging (ADM) service.
26479	TimeToLive *int64 `type:"integer"`
26480
26481	// The title to display above the notification message on a recipient's device.
26482	Title *string `type:"string"`
26483
26484	// The URL to open in a recipient's default mobile browser, if a recipient taps
26485	// the push notification and the value of the Action property is URL.
26486	Url *string `type:"string"`
26487}
26488
26489// String returns the string representation
26490func (s Message) String() string {
26491	return awsutil.Prettify(s)
26492}
26493
26494// GoString returns the string representation
26495func (s Message) GoString() string {
26496	return s.String()
26497}
26498
26499// SetAction sets the Action field's value.
26500func (s *Message) SetAction(v string) *Message {
26501	s.Action = &v
26502	return s
26503}
26504
26505// SetBody sets the Body field's value.
26506func (s *Message) SetBody(v string) *Message {
26507	s.Body = &v
26508	return s
26509}
26510
26511// SetImageIconUrl sets the ImageIconUrl field's value.
26512func (s *Message) SetImageIconUrl(v string) *Message {
26513	s.ImageIconUrl = &v
26514	return s
26515}
26516
26517// SetImageSmallIconUrl sets the ImageSmallIconUrl field's value.
26518func (s *Message) SetImageSmallIconUrl(v string) *Message {
26519	s.ImageSmallIconUrl = &v
26520	return s
26521}
26522
26523// SetImageUrl sets the ImageUrl field's value.
26524func (s *Message) SetImageUrl(v string) *Message {
26525	s.ImageUrl = &v
26526	return s
26527}
26528
26529// SetJsonBody sets the JsonBody field's value.
26530func (s *Message) SetJsonBody(v string) *Message {
26531	s.JsonBody = &v
26532	return s
26533}
26534
26535// SetMediaUrl sets the MediaUrl field's value.
26536func (s *Message) SetMediaUrl(v string) *Message {
26537	s.MediaUrl = &v
26538	return s
26539}
26540
26541// SetRawContent sets the RawContent field's value.
26542func (s *Message) SetRawContent(v string) *Message {
26543	s.RawContent = &v
26544	return s
26545}
26546
26547// SetSilentPush sets the SilentPush field's value.
26548func (s *Message) SetSilentPush(v bool) *Message {
26549	s.SilentPush = &v
26550	return s
26551}
26552
26553// SetTimeToLive sets the TimeToLive field's value.
26554func (s *Message) SetTimeToLive(v int64) *Message {
26555	s.TimeToLive = &v
26556	return s
26557}
26558
26559// SetTitle sets the Title field's value.
26560func (s *Message) SetTitle(v string) *Message {
26561	s.Title = &v
26562	return s
26563}
26564
26565// SetUrl sets the Url field's value.
26566func (s *Message) SetUrl(v string) *Message {
26567	s.Url = &v
26568	return s
26569}
26570
26571// Provides information about an API request or response.
26572type MessageBody struct {
26573	_ struct{} `type:"structure"`
26574
26575	// The message that's returned from the API.
26576	Message *string `type:"string"`
26577
26578	// The unique identifier for the request or response.
26579	RequestID *string `type:"string"`
26580}
26581
26582// String returns the string representation
26583func (s MessageBody) String() string {
26584	return awsutil.Prettify(s)
26585}
26586
26587// GoString returns the string representation
26588func (s MessageBody) GoString() string {
26589	return s.String()
26590}
26591
26592// SetMessage sets the Message field's value.
26593func (s *MessageBody) SetMessage(v string) *MessageBody {
26594	s.Message = &v
26595	return s
26596}
26597
26598// SetRequestID sets the RequestID field's value.
26599func (s *MessageBody) SetRequestID(v string) *MessageBody {
26600	s.RequestID = &v
26601	return s
26602}
26603
26604// Specifies the message configuration settings for a campaign.
26605type MessageConfiguration struct {
26606	_ struct{} `type:"structure"`
26607
26608	// The message that the campaign sends through the ADM (Amazon Device Messaging)
26609	// channel. If specified, this message overrides the default message.
26610	ADMMessage *Message `type:"structure"`
26611
26612	// The message that the campaign sends through the APNs (Apple Push Notification
26613	// service) channel. If specified, this message overrides the default message.
26614	APNSMessage *Message `type:"structure"`
26615
26616	// The message that the campaign sends through the Baidu (Baidu Cloud Push)
26617	// channel. If specified, this message overrides the default message.
26618	BaiduMessage *Message `type:"structure"`
26619
26620	// The message that the campaign sends through a custom channel, as specified
26621	// by the delivery configuration (CustomDeliveryConfiguration) settings for
26622	// the campaign. If specified, this message overrides the default message.
26623	CustomMessage *CampaignCustomMessage `type:"structure"`
26624
26625	// The default message that the campaign sends through all the channels that
26626	// are configured for the campaign.
26627	DefaultMessage *Message `type:"structure"`
26628
26629	// The message that the campaign sends through the email channel. If specified,
26630	// this message overrides the default message.
26631	EmailMessage *CampaignEmailMessage `type:"structure"`
26632
26633	// The message that the campaign sends through the GCM channel, which enables
26634	// Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging
26635	// (FCM), formerly Google Cloud Messaging (GCM), service. If specified, this
26636	// message overrides the default message.
26637	GCMMessage *Message `type:"structure"`
26638
26639	// The message that the campaign sends through the SMS channel. If specified,
26640	// this message overrides the default message.
26641	SMSMessage *CampaignSmsMessage `type:"structure"`
26642}
26643
26644// String returns the string representation
26645func (s MessageConfiguration) String() string {
26646	return awsutil.Prettify(s)
26647}
26648
26649// GoString returns the string representation
26650func (s MessageConfiguration) GoString() string {
26651	return s.String()
26652}
26653
26654// SetADMMessage sets the ADMMessage field's value.
26655func (s *MessageConfiguration) SetADMMessage(v *Message) *MessageConfiguration {
26656	s.ADMMessage = v
26657	return s
26658}
26659
26660// SetAPNSMessage sets the APNSMessage field's value.
26661func (s *MessageConfiguration) SetAPNSMessage(v *Message) *MessageConfiguration {
26662	s.APNSMessage = v
26663	return s
26664}
26665
26666// SetBaiduMessage sets the BaiduMessage field's value.
26667func (s *MessageConfiguration) SetBaiduMessage(v *Message) *MessageConfiguration {
26668	s.BaiduMessage = v
26669	return s
26670}
26671
26672// SetCustomMessage sets the CustomMessage field's value.
26673func (s *MessageConfiguration) SetCustomMessage(v *CampaignCustomMessage) *MessageConfiguration {
26674	s.CustomMessage = v
26675	return s
26676}
26677
26678// SetDefaultMessage sets the DefaultMessage field's value.
26679func (s *MessageConfiguration) SetDefaultMessage(v *Message) *MessageConfiguration {
26680	s.DefaultMessage = v
26681	return s
26682}
26683
26684// SetEmailMessage sets the EmailMessage field's value.
26685func (s *MessageConfiguration) SetEmailMessage(v *CampaignEmailMessage) *MessageConfiguration {
26686	s.EmailMessage = v
26687	return s
26688}
26689
26690// SetGCMMessage sets the GCMMessage field's value.
26691func (s *MessageConfiguration) SetGCMMessage(v *Message) *MessageConfiguration {
26692	s.GCMMessage = v
26693	return s
26694}
26695
26696// SetSMSMessage sets the SMSMessage field's value.
26697func (s *MessageConfiguration) SetSMSMessage(v *CampaignSmsMessage) *MessageConfiguration {
26698	s.SMSMessage = v
26699	return s
26700}
26701
26702// Specifies the configuration and other settings for a message.
26703type MessageRequest struct {
26704	_ struct{} `type:"structure"`
26705
26706	// A map of key-value pairs, where each key is an address and each value is
26707	// an AddressConfiguration (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-addressconfiguration)
26708	// object. An address can be a push notification token, a phone number, or an
26709	// 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)
26710	// object to tailor the message for an address by specifying settings such as
26711	// content overrides and message variables.
26712	Addresses map[string]*AddressConfiguration `type:"map"`
26713
26714	// A map of custom attributes to attach to the message. For a push notification,
26715	// this payload is added to the data.pinpoint object. For an email or text message,
26716	// this payload is added to email/SMS delivery receipt event attributes.
26717	Context map[string]*string `type:"map"`
26718
26719	// A map of key-value pairs, where each key is an endpoint ID and each value
26720	// is an EndpointSendConfiguration (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-endpointsendconfiguration)
26721	// 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)
26722	// object to tailor the message for an endpoint by specifying settings such
26723	// as content overrides and message variables.
26724	Endpoints map[string]*EndpointSendConfiguration `type:"map"`
26725
26726	// The settings and content for the default message and any default messages
26727	// that you defined for specific channels.
26728	//
26729	// MessageConfiguration is a required field
26730	MessageConfiguration *DirectMessageConfiguration `type:"structure" required:"true"`
26731
26732	// The message template to use for the message.
26733	TemplateConfiguration *TemplateConfiguration `type:"structure"`
26734
26735	// The unique identifier for tracing the message. This identifier is visible
26736	// to message recipients.
26737	TraceId *string `type:"string"`
26738}
26739
26740// String returns the string representation
26741func (s MessageRequest) String() string {
26742	return awsutil.Prettify(s)
26743}
26744
26745// GoString returns the string representation
26746func (s MessageRequest) GoString() string {
26747	return s.String()
26748}
26749
26750// Validate inspects the fields of the type to determine if they are valid.
26751func (s *MessageRequest) Validate() error {
26752	invalidParams := request.ErrInvalidParams{Context: "MessageRequest"}
26753	if s.MessageConfiguration == nil {
26754		invalidParams.Add(request.NewErrParamRequired("MessageConfiguration"))
26755	}
26756
26757	if invalidParams.Len() > 0 {
26758		return invalidParams
26759	}
26760	return nil
26761}
26762
26763// SetAddresses sets the Addresses field's value.
26764func (s *MessageRequest) SetAddresses(v map[string]*AddressConfiguration) *MessageRequest {
26765	s.Addresses = v
26766	return s
26767}
26768
26769// SetContext sets the Context field's value.
26770func (s *MessageRequest) SetContext(v map[string]*string) *MessageRequest {
26771	s.Context = v
26772	return s
26773}
26774
26775// SetEndpoints sets the Endpoints field's value.
26776func (s *MessageRequest) SetEndpoints(v map[string]*EndpointSendConfiguration) *MessageRequest {
26777	s.Endpoints = v
26778	return s
26779}
26780
26781// SetMessageConfiguration sets the MessageConfiguration field's value.
26782func (s *MessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) *MessageRequest {
26783	s.MessageConfiguration = v
26784	return s
26785}
26786
26787// SetTemplateConfiguration sets the TemplateConfiguration field's value.
26788func (s *MessageRequest) SetTemplateConfiguration(v *TemplateConfiguration) *MessageRequest {
26789	s.TemplateConfiguration = v
26790	return s
26791}
26792
26793// SetTraceId sets the TraceId field's value.
26794func (s *MessageRequest) SetTraceId(v string) *MessageRequest {
26795	s.TraceId = &v
26796	return s
26797}
26798
26799// Provides information about the results of a request to send a message to
26800// an endpoint address.
26801type MessageResponse struct {
26802	_ struct{} `type:"structure"`
26803
26804	// The unique identifier for the application that was used to send the message.
26805	//
26806	// ApplicationId is a required field
26807	ApplicationId *string `type:"string" required:"true"`
26808
26809	// A map that contains a multipart response for each address that the message
26810	// was sent to. In the map, the endpoint ID is the key and the result is the
26811	// value.
26812	EndpointResult map[string]*EndpointMessageResult `type:"map"`
26813
26814	// The identifier for the original request that the message was delivered for.
26815	RequestId *string `type:"string"`
26816
26817	// A map that contains a multipart response for each address (email address,
26818	// phone number, or push notification token) that the message was sent to. In
26819	// the map, the address is the key and the result is the value.
26820	Result map[string]*MessageResult `type:"map"`
26821}
26822
26823// String returns the string representation
26824func (s MessageResponse) String() string {
26825	return awsutil.Prettify(s)
26826}
26827
26828// GoString returns the string representation
26829func (s MessageResponse) GoString() string {
26830	return s.String()
26831}
26832
26833// SetApplicationId sets the ApplicationId field's value.
26834func (s *MessageResponse) SetApplicationId(v string) *MessageResponse {
26835	s.ApplicationId = &v
26836	return s
26837}
26838
26839// SetEndpointResult sets the EndpointResult field's value.
26840func (s *MessageResponse) SetEndpointResult(v map[string]*EndpointMessageResult) *MessageResponse {
26841	s.EndpointResult = v
26842	return s
26843}
26844
26845// SetRequestId sets the RequestId field's value.
26846func (s *MessageResponse) SetRequestId(v string) *MessageResponse {
26847	s.RequestId = &v
26848	return s
26849}
26850
26851// SetResult sets the Result field's value.
26852func (s *MessageResponse) SetResult(v map[string]*MessageResult) *MessageResponse {
26853	s.Result = v
26854	return s
26855}
26856
26857// Provides information about the results of sending a message directly to an
26858// endpoint address.
26859type MessageResult struct {
26860	_ struct{} `type:"structure"`
26861
26862	// The delivery status of the message. Possible values are:
26863	//
26864	//    * DUPLICATE - The endpoint address is a duplicate of another endpoint
26865	//    address. Amazon Pinpoint won't attempt to send the message again.
26866	//
26867	//    * OPT_OUT - The user who's associated with the endpoint address has opted
26868	//    out of receiving messages from you. Amazon Pinpoint won't attempt to send
26869	//    the message again.
26870	//
26871	//    * PERMANENT_FAILURE - An error occurred when delivering the message to
26872	//    the endpoint address. Amazon Pinpoint won't attempt to send the message
26873	//    again.
26874	//
26875	//    * SUCCESSFUL - The message was successfully delivered to the endpoint
26876	//    address.
26877	//
26878	//    * TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't
26879	//    attempt to send the message again.
26880	//
26881	//    * THROTTLED - Amazon Pinpoint throttled the operation to send the message
26882	//    to the endpoint address.
26883	//
26884	//    * TIMEOUT - The message couldn't be sent within the timeout period.
26885	//
26886	//    * UNKNOWN_FAILURE - An unknown error occurred.
26887	//
26888	// DeliveryStatus is a required field
26889	DeliveryStatus *string `type:"string" required:"true" enum:"DeliveryStatus"`
26890
26891	// The unique identifier for the message that was sent.
26892	MessageId *string `type:"string"`
26893
26894	// The downstream service status code for delivering the message.
26895	//
26896	// StatusCode is a required field
26897	StatusCode *int64 `type:"integer" required:"true"`
26898
26899	// The status message for delivering the message.
26900	StatusMessage *string `type:"string"`
26901
26902	// For push notifications that are sent through the GCM channel, specifies whether
26903	// the endpoint's device registration token was updated as part of delivering
26904	// the message.
26905	UpdatedToken *string `type:"string"`
26906}
26907
26908// String returns the string representation
26909func (s MessageResult) String() string {
26910	return awsutil.Prettify(s)
26911}
26912
26913// GoString returns the string representation
26914func (s MessageResult) GoString() string {
26915	return s.String()
26916}
26917
26918// SetDeliveryStatus sets the DeliveryStatus field's value.
26919func (s *MessageResult) SetDeliveryStatus(v string) *MessageResult {
26920	s.DeliveryStatus = &v
26921	return s
26922}
26923
26924// SetMessageId sets the MessageId field's value.
26925func (s *MessageResult) SetMessageId(v string) *MessageResult {
26926	s.MessageId = &v
26927	return s
26928}
26929
26930// SetStatusCode sets the StatusCode field's value.
26931func (s *MessageResult) SetStatusCode(v int64) *MessageResult {
26932	s.StatusCode = &v
26933	return s
26934}
26935
26936// SetStatusMessage sets the StatusMessage field's value.
26937func (s *MessageResult) SetStatusMessage(v string) *MessageResult {
26938	s.StatusMessage = &v
26939	return s
26940}
26941
26942// SetUpdatedToken sets the UpdatedToken field's value.
26943func (s *MessageResult) SetUpdatedToken(v string) *MessageResult {
26944	s.UpdatedToken = &v
26945	return s
26946}
26947
26948// Provides information about an API request or response.
26949type MethodNotAllowedException struct {
26950	_            struct{}                  `type:"structure"`
26951	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
26952
26953	Message_ *string `locationName:"Message" type:"string"`
26954
26955	RequestID_ *string `locationName:"RequestID" type:"string"`
26956}
26957
26958// String returns the string representation
26959func (s MethodNotAllowedException) String() string {
26960	return awsutil.Prettify(s)
26961}
26962
26963// GoString returns the string representation
26964func (s MethodNotAllowedException) GoString() string {
26965	return s.String()
26966}
26967
26968func newErrorMethodNotAllowedException(v protocol.ResponseMetadata) error {
26969	return &MethodNotAllowedException{
26970		RespMetadata: v,
26971	}
26972}
26973
26974// Code returns the exception type name.
26975func (s *MethodNotAllowedException) Code() string {
26976	return "MethodNotAllowedException"
26977}
26978
26979// Message returns the exception's message.
26980func (s *MethodNotAllowedException) Message() string {
26981	if s.Message_ != nil {
26982		return *s.Message_
26983	}
26984	return ""
26985}
26986
26987// OrigErr always returns nil, satisfies awserr.Error interface.
26988func (s *MethodNotAllowedException) OrigErr() error {
26989	return nil
26990}
26991
26992func (s *MethodNotAllowedException) Error() string {
26993	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
26994}
26995
26996// Status code returns the HTTP status code for the request's response error.
26997func (s *MethodNotAllowedException) StatusCode() int {
26998	return s.RespMetadata.StatusCode
26999}
27000
27001// RequestID returns the service's response RequestID for request.
27002func (s *MethodNotAllowedException) RequestID() string {
27003	return s.RespMetadata.RequestID
27004}
27005
27006// Specifies metric-based criteria for including or excluding endpoints from
27007// a segment. These criteria derive from custom metrics that you define for
27008// endpoints.
27009type MetricDimension struct {
27010	_ struct{} `type:"structure"`
27011
27012	// The operator to use when comparing metric values. Valid values are: GREATER_THAN,
27013	// LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, and EQUAL.
27014	//
27015	// ComparisonOperator is a required field
27016	ComparisonOperator *string `type:"string" required:"true"`
27017
27018	// The value to compare.
27019	//
27020	// Value is a required field
27021	Value *float64 `type:"double" required:"true"`
27022}
27023
27024// String returns the string representation
27025func (s MetricDimension) String() string {
27026	return awsutil.Prettify(s)
27027}
27028
27029// GoString returns the string representation
27030func (s MetricDimension) GoString() string {
27031	return s.String()
27032}
27033
27034// Validate inspects the fields of the type to determine if they are valid.
27035func (s *MetricDimension) Validate() error {
27036	invalidParams := request.ErrInvalidParams{Context: "MetricDimension"}
27037	if s.ComparisonOperator == nil {
27038		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
27039	}
27040	if s.Value == nil {
27041		invalidParams.Add(request.NewErrParamRequired("Value"))
27042	}
27043
27044	if invalidParams.Len() > 0 {
27045		return invalidParams
27046	}
27047	return nil
27048}
27049
27050// SetComparisonOperator sets the ComparisonOperator field's value.
27051func (s *MetricDimension) SetComparisonOperator(v string) *MetricDimension {
27052	s.ComparisonOperator = &v
27053	return s
27054}
27055
27056// SetValue sets the Value field's value.
27057func (s *MetricDimension) SetValue(v float64) *MetricDimension {
27058	s.Value = &v
27059	return s
27060}
27061
27062// Specifies a condition to evaluate for an activity path in a journey.
27063type MultiConditionalBranch struct {
27064	_ struct{} `type:"structure"`
27065
27066	// The condition to evaluate for the activity path.
27067	Condition *SimpleCondition `type:"structure"`
27068
27069	// The unique identifier for the next activity to perform, after completing
27070	// the activity for the path.
27071	NextActivity *string `type:"string"`
27072}
27073
27074// String returns the string representation
27075func (s MultiConditionalBranch) String() string {
27076	return awsutil.Prettify(s)
27077}
27078
27079// GoString returns the string representation
27080func (s MultiConditionalBranch) GoString() string {
27081	return s.String()
27082}
27083
27084// Validate inspects the fields of the type to determine if they are valid.
27085func (s *MultiConditionalBranch) Validate() error {
27086	invalidParams := request.ErrInvalidParams{Context: "MultiConditionalBranch"}
27087	if s.Condition != nil {
27088		if err := s.Condition.Validate(); err != nil {
27089			invalidParams.AddNested("Condition", err.(request.ErrInvalidParams))
27090		}
27091	}
27092
27093	if invalidParams.Len() > 0 {
27094		return invalidParams
27095	}
27096	return nil
27097}
27098
27099// SetCondition sets the Condition field's value.
27100func (s *MultiConditionalBranch) SetCondition(v *SimpleCondition) *MultiConditionalBranch {
27101	s.Condition = v
27102	return s
27103}
27104
27105// SetNextActivity sets the NextActivity field's value.
27106func (s *MultiConditionalBranch) SetNextActivity(v string) *MultiConditionalBranch {
27107	s.NextActivity = &v
27108	return s
27109}
27110
27111// Specifies the settings for a multivariate split activity in a journey. This
27112// type of activity sends participants down one of as many as five paths (including
27113// a default Else path) in a journey, based on conditions that you specify.
27114//
27115// To create multivariate split activities that send participants down different
27116// paths based on push notification events (such as Open or Received events),
27117// your mobile app has to specify the User ID and Endpoint ID values. For more
27118// information, see Integrating Amazon Pinpoint with your application (https://docs.aws.amazon.com/pinpoint/latest/developerguide/integrate.html)
27119// in the Amazon Pinpoint Developer Guide.
27120type MultiConditionalSplitActivity struct {
27121	_ struct{} `type:"structure"`
27122
27123	// The paths for the activity, including the conditions for entering each path
27124	// and the activity to perform for each path.
27125	Branches []*MultiConditionalBranch `type:"list"`
27126
27127	// The unique identifier for the activity to perform for participants who don't
27128	// meet any of the conditions specified for other paths in the activity.
27129	DefaultActivity *string `type:"string"`
27130
27131	// The amount of time to wait or the date and time when Amazon Pinpoint determines
27132	// whether the conditions are met.
27133	EvaluationWaitTime *WaitTime `type:"structure"`
27134}
27135
27136// String returns the string representation
27137func (s MultiConditionalSplitActivity) String() string {
27138	return awsutil.Prettify(s)
27139}
27140
27141// GoString returns the string representation
27142func (s MultiConditionalSplitActivity) GoString() string {
27143	return s.String()
27144}
27145
27146// Validate inspects the fields of the type to determine if they are valid.
27147func (s *MultiConditionalSplitActivity) Validate() error {
27148	invalidParams := request.ErrInvalidParams{Context: "MultiConditionalSplitActivity"}
27149	if s.Branches != nil {
27150		for i, v := range s.Branches {
27151			if v == nil {
27152				continue
27153			}
27154			if err := v.Validate(); err != nil {
27155				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Branches", i), err.(request.ErrInvalidParams))
27156			}
27157		}
27158	}
27159
27160	if invalidParams.Len() > 0 {
27161		return invalidParams
27162	}
27163	return nil
27164}
27165
27166// SetBranches sets the Branches field's value.
27167func (s *MultiConditionalSplitActivity) SetBranches(v []*MultiConditionalBranch) *MultiConditionalSplitActivity {
27168	s.Branches = v
27169	return s
27170}
27171
27172// SetDefaultActivity sets the DefaultActivity field's value.
27173func (s *MultiConditionalSplitActivity) SetDefaultActivity(v string) *MultiConditionalSplitActivity {
27174	s.DefaultActivity = &v
27175	return s
27176}
27177
27178// SetEvaluationWaitTime sets the EvaluationWaitTime field's value.
27179func (s *MultiConditionalSplitActivity) SetEvaluationWaitTime(v *WaitTime) *MultiConditionalSplitActivity {
27180	s.EvaluationWaitTime = v
27181	return s
27182}
27183
27184// Provides information about an API request or response.
27185type NotFoundException struct {
27186	_            struct{}                  `type:"structure"`
27187	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
27188
27189	Message_ *string `locationName:"Message" type:"string"`
27190
27191	RequestID_ *string `locationName:"RequestID" type:"string"`
27192}
27193
27194// String returns the string representation
27195func (s NotFoundException) String() string {
27196	return awsutil.Prettify(s)
27197}
27198
27199// GoString returns the string representation
27200func (s NotFoundException) GoString() string {
27201	return s.String()
27202}
27203
27204func newErrorNotFoundException(v protocol.ResponseMetadata) error {
27205	return &NotFoundException{
27206		RespMetadata: v,
27207	}
27208}
27209
27210// Code returns the exception type name.
27211func (s *NotFoundException) Code() string {
27212	return "NotFoundException"
27213}
27214
27215// Message returns the exception's message.
27216func (s *NotFoundException) Message() string {
27217	if s.Message_ != nil {
27218		return *s.Message_
27219	}
27220	return ""
27221}
27222
27223// OrigErr always returns nil, satisfies awserr.Error interface.
27224func (s *NotFoundException) OrigErr() error {
27225	return nil
27226}
27227
27228func (s *NotFoundException) Error() string {
27229	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
27230}
27231
27232// Status code returns the HTTP status code for the request's response error.
27233func (s *NotFoundException) StatusCode() int {
27234	return s.RespMetadata.StatusCode
27235}
27236
27237// RequestID returns the service's response RequestID for request.
27238func (s *NotFoundException) RequestID() string {
27239	return s.RespMetadata.RequestID
27240}
27241
27242// Specifies a phone number to validate and retrieve information about.
27243type NumberValidateRequest struct {
27244	_ struct{} `type:"structure"`
27245
27246	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
27247	// region where the phone number was originally registered.
27248	IsoCountryCode *string `type:"string"`
27249
27250	// The phone number to retrieve information about. The phone number that you
27251	// provide should include a valid numeric country code. Otherwise, the operation
27252	// might result in an error.
27253	PhoneNumber *string `type:"string"`
27254}
27255
27256// String returns the string representation
27257func (s NumberValidateRequest) String() string {
27258	return awsutil.Prettify(s)
27259}
27260
27261// GoString returns the string representation
27262func (s NumberValidateRequest) GoString() string {
27263	return s.String()
27264}
27265
27266// SetIsoCountryCode sets the IsoCountryCode field's value.
27267func (s *NumberValidateRequest) SetIsoCountryCode(v string) *NumberValidateRequest {
27268	s.IsoCountryCode = &v
27269	return s
27270}
27271
27272// SetPhoneNumber sets the PhoneNumber field's value.
27273func (s *NumberValidateRequest) SetPhoneNumber(v string) *NumberValidateRequest {
27274	s.PhoneNumber = &v
27275	return s
27276}
27277
27278// Provides information about a phone number.
27279type NumberValidateResponse struct {
27280	_ struct{} `type:"structure"`
27281
27282	// The carrier or service provider that the phone number is currently registered
27283	// with. In some countries and regions, this value may be the carrier or service
27284	// provider that the phone number was originally registered with.
27285	Carrier *string `type:"string"`
27286
27287	// The name of the city where the phone number was originally registered.
27288	City *string `type:"string"`
27289
27290	// The cleansed phone number, in E.164 format, for the location where the phone
27291	// number was originally registered.
27292	CleansedPhoneNumberE164 *string `type:"string"`
27293
27294	// The cleansed phone number, in the format for the location where the phone
27295	// number was originally registered.
27296	CleansedPhoneNumberNational *string `type:"string"`
27297
27298	// The name of the country or region where the phone number was originally registered.
27299	Country *string `type:"string"`
27300
27301	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
27302	// region where the phone number was originally registered.
27303	CountryCodeIso2 *string `type:"string"`
27304
27305	// The numeric code for the country or region where the phone number was originally
27306	// registered.
27307	CountryCodeNumeric *string `type:"string"`
27308
27309	// The name of the county where the phone number was originally registered.
27310	County *string `type:"string"`
27311
27312	// The two-character code, in ISO 3166-1 alpha-2 format, that was sent in the
27313	// request body.
27314	OriginalCountryCodeIso2 *string `type:"string"`
27315
27316	// The phone number that was sent in the request body.
27317	OriginalPhoneNumber *string `type:"string"`
27318
27319	// The description of the phone type. Valid values are: MOBILE, LANDLINE, VOIP,
27320	// INVALID, PREPAID, and OTHER.
27321	PhoneType *string `type:"string"`
27322
27323	// The phone type, represented by an integer. Valid values are: 0 (mobile),
27324	// 1 (landline), 2 (VoIP), 3 (invalid), 4 (other), and 5 (prepaid).
27325	PhoneTypeCode *int64 `type:"integer"`
27326
27327	// The time zone for the location where the phone number was originally registered.
27328	Timezone *string `type:"string"`
27329
27330	// The postal or ZIP code for the location where the phone number was originally
27331	// registered.
27332	ZipCode *string `type:"string"`
27333}
27334
27335// String returns the string representation
27336func (s NumberValidateResponse) String() string {
27337	return awsutil.Prettify(s)
27338}
27339
27340// GoString returns the string representation
27341func (s NumberValidateResponse) GoString() string {
27342	return s.String()
27343}
27344
27345// SetCarrier sets the Carrier field's value.
27346func (s *NumberValidateResponse) SetCarrier(v string) *NumberValidateResponse {
27347	s.Carrier = &v
27348	return s
27349}
27350
27351// SetCity sets the City field's value.
27352func (s *NumberValidateResponse) SetCity(v string) *NumberValidateResponse {
27353	s.City = &v
27354	return s
27355}
27356
27357// SetCleansedPhoneNumberE164 sets the CleansedPhoneNumberE164 field's value.
27358func (s *NumberValidateResponse) SetCleansedPhoneNumberE164(v string) *NumberValidateResponse {
27359	s.CleansedPhoneNumberE164 = &v
27360	return s
27361}
27362
27363// SetCleansedPhoneNumberNational sets the CleansedPhoneNumberNational field's value.
27364func (s *NumberValidateResponse) SetCleansedPhoneNumberNational(v string) *NumberValidateResponse {
27365	s.CleansedPhoneNumberNational = &v
27366	return s
27367}
27368
27369// SetCountry sets the Country field's value.
27370func (s *NumberValidateResponse) SetCountry(v string) *NumberValidateResponse {
27371	s.Country = &v
27372	return s
27373}
27374
27375// SetCountryCodeIso2 sets the CountryCodeIso2 field's value.
27376func (s *NumberValidateResponse) SetCountryCodeIso2(v string) *NumberValidateResponse {
27377	s.CountryCodeIso2 = &v
27378	return s
27379}
27380
27381// SetCountryCodeNumeric sets the CountryCodeNumeric field's value.
27382func (s *NumberValidateResponse) SetCountryCodeNumeric(v string) *NumberValidateResponse {
27383	s.CountryCodeNumeric = &v
27384	return s
27385}
27386
27387// SetCounty sets the County field's value.
27388func (s *NumberValidateResponse) SetCounty(v string) *NumberValidateResponse {
27389	s.County = &v
27390	return s
27391}
27392
27393// SetOriginalCountryCodeIso2 sets the OriginalCountryCodeIso2 field's value.
27394func (s *NumberValidateResponse) SetOriginalCountryCodeIso2(v string) *NumberValidateResponse {
27395	s.OriginalCountryCodeIso2 = &v
27396	return s
27397}
27398
27399// SetOriginalPhoneNumber sets the OriginalPhoneNumber field's value.
27400func (s *NumberValidateResponse) SetOriginalPhoneNumber(v string) *NumberValidateResponse {
27401	s.OriginalPhoneNumber = &v
27402	return s
27403}
27404
27405// SetPhoneType sets the PhoneType field's value.
27406func (s *NumberValidateResponse) SetPhoneType(v string) *NumberValidateResponse {
27407	s.PhoneType = &v
27408	return s
27409}
27410
27411// SetPhoneTypeCode sets the PhoneTypeCode field's value.
27412func (s *NumberValidateResponse) SetPhoneTypeCode(v int64) *NumberValidateResponse {
27413	s.PhoneTypeCode = &v
27414	return s
27415}
27416
27417// SetTimezone sets the Timezone field's value.
27418func (s *NumberValidateResponse) SetTimezone(v string) *NumberValidateResponse {
27419	s.Timezone = &v
27420	return s
27421}
27422
27423// SetZipCode sets the ZipCode field's value.
27424func (s *NumberValidateResponse) SetZipCode(v string) *NumberValidateResponse {
27425	s.ZipCode = &v
27426	return s
27427}
27428
27429// Provides information about an API request or response.
27430type PayloadTooLargeException struct {
27431	_            struct{}                  `type:"structure"`
27432	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
27433
27434	Message_ *string `locationName:"Message" type:"string"`
27435
27436	RequestID_ *string `locationName:"RequestID" type:"string"`
27437}
27438
27439// String returns the string representation
27440func (s PayloadTooLargeException) String() string {
27441	return awsutil.Prettify(s)
27442}
27443
27444// GoString returns the string representation
27445func (s PayloadTooLargeException) GoString() string {
27446	return s.String()
27447}
27448
27449func newErrorPayloadTooLargeException(v protocol.ResponseMetadata) error {
27450	return &PayloadTooLargeException{
27451		RespMetadata: v,
27452	}
27453}
27454
27455// Code returns the exception type name.
27456func (s *PayloadTooLargeException) Code() string {
27457	return "PayloadTooLargeException"
27458}
27459
27460// Message returns the exception's message.
27461func (s *PayloadTooLargeException) Message() string {
27462	if s.Message_ != nil {
27463		return *s.Message_
27464	}
27465	return ""
27466}
27467
27468// OrigErr always returns nil, satisfies awserr.Error interface.
27469func (s *PayloadTooLargeException) OrigErr() error {
27470	return nil
27471}
27472
27473func (s *PayloadTooLargeException) Error() string {
27474	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
27475}
27476
27477// Status code returns the HTTP status code for the request's response error.
27478func (s *PayloadTooLargeException) StatusCode() int {
27479	return s.RespMetadata.StatusCode
27480}
27481
27482// RequestID returns the service's response RequestID for request.
27483func (s *PayloadTooLargeException) RequestID() string {
27484	return s.RespMetadata.RequestID
27485}
27486
27487type PhoneNumberValidateInput struct {
27488	_ struct{} `type:"structure" payload:"NumberValidateRequest"`
27489
27490	// Specifies a phone number to validate and retrieve information about.
27491	//
27492	// NumberValidateRequest is a required field
27493	NumberValidateRequest *NumberValidateRequest `type:"structure" required:"true"`
27494}
27495
27496// String returns the string representation
27497func (s PhoneNumberValidateInput) String() string {
27498	return awsutil.Prettify(s)
27499}
27500
27501// GoString returns the string representation
27502func (s PhoneNumberValidateInput) GoString() string {
27503	return s.String()
27504}
27505
27506// Validate inspects the fields of the type to determine if they are valid.
27507func (s *PhoneNumberValidateInput) Validate() error {
27508	invalidParams := request.ErrInvalidParams{Context: "PhoneNumberValidateInput"}
27509	if s.NumberValidateRequest == nil {
27510		invalidParams.Add(request.NewErrParamRequired("NumberValidateRequest"))
27511	}
27512
27513	if invalidParams.Len() > 0 {
27514		return invalidParams
27515	}
27516	return nil
27517}
27518
27519// SetNumberValidateRequest sets the NumberValidateRequest field's value.
27520func (s *PhoneNumberValidateInput) SetNumberValidateRequest(v *NumberValidateRequest) *PhoneNumberValidateInput {
27521	s.NumberValidateRequest = v
27522	return s
27523}
27524
27525type PhoneNumberValidateOutput struct {
27526	_ struct{} `type:"structure" payload:"NumberValidateResponse"`
27527
27528	// Provides information about a phone number.
27529	//
27530	// NumberValidateResponse is a required field
27531	NumberValidateResponse *NumberValidateResponse `type:"structure" required:"true"`
27532}
27533
27534// String returns the string representation
27535func (s PhoneNumberValidateOutput) String() string {
27536	return awsutil.Prettify(s)
27537}
27538
27539// GoString returns the string representation
27540func (s PhoneNumberValidateOutput) GoString() string {
27541	return s.String()
27542}
27543
27544// SetNumberValidateResponse sets the NumberValidateResponse field's value.
27545func (s *PhoneNumberValidateOutput) SetNumberValidateResponse(v *NumberValidateResponse) *PhoneNumberValidateOutput {
27546	s.NumberValidateResponse = v
27547	return s
27548}
27549
27550// Specifies the properties and attributes of an endpoint that's associated
27551// with an event.
27552type PublicEndpoint struct {
27553	_ struct{} `type:"structure"`
27554
27555	// The unique identifier for the recipient, such as a device token, email address,
27556	// or mobile phone number.
27557	Address *string `type:"string"`
27558
27559	// One or more custom attributes that describe the endpoint by associating a
27560	// name with an array of values. You can use these attributes as filter criteria
27561	// when you create segments.
27562	Attributes map[string][]*string `type:"map"`
27563
27564	// The channel that's used when sending messages or push notifications to the
27565	// endpoint.
27566	ChannelType *string `type:"string" enum:"ChannelType"`
27567
27568	// The demographic information for the endpoint, such as the time zone and platform.
27569	Demographic *EndpointDemographic `type:"structure"`
27570
27571	// The date and time, in ISO 8601 format, when the endpoint was last updated.
27572	EffectiveDate *string `type:"string"`
27573
27574	// Specifies whether to send messages or push notifications to the endpoint.
27575	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
27576	// messages aren’t sent to the endpoint.
27577	//
27578	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
27579	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
27580	// this value to INACTIVE if you update another endpoint that has the same address
27581	// specified by the Address property.
27582	EndpointStatus *string `type:"string"`
27583
27584	// The geographic information for the endpoint.
27585	Location *EndpointLocation `type:"structure"`
27586
27587	// One or more custom metrics that your app reports to Amazon Pinpoint for the
27588	// endpoint.
27589	Metrics map[string]*float64 `type:"map"`
27590
27591	// Specifies whether the user who's associated with the endpoint has opted out
27592	// of receiving messages and push notifications from you. Possible values are:
27593	// ALL, the user has opted out and doesn't want to receive any messages or push
27594	// notifications; and, NONE, the user hasn't opted out and wants to receive
27595	// all messages and push notifications.
27596	OptOut *string `type:"string"`
27597
27598	// A unique identifier that's generated each time the endpoint is updated.
27599	RequestId *string `type:"string"`
27600
27601	// One or more custom user attributes that your app reports to Amazon Pinpoint
27602	// for the user who's associated with the endpoint.
27603	User *EndpointUser `type:"structure"`
27604}
27605
27606// String returns the string representation
27607func (s PublicEndpoint) String() string {
27608	return awsutil.Prettify(s)
27609}
27610
27611// GoString returns the string representation
27612func (s PublicEndpoint) GoString() string {
27613	return s.String()
27614}
27615
27616// SetAddress sets the Address field's value.
27617func (s *PublicEndpoint) SetAddress(v string) *PublicEndpoint {
27618	s.Address = &v
27619	return s
27620}
27621
27622// SetAttributes sets the Attributes field's value.
27623func (s *PublicEndpoint) SetAttributes(v map[string][]*string) *PublicEndpoint {
27624	s.Attributes = v
27625	return s
27626}
27627
27628// SetChannelType sets the ChannelType field's value.
27629func (s *PublicEndpoint) SetChannelType(v string) *PublicEndpoint {
27630	s.ChannelType = &v
27631	return s
27632}
27633
27634// SetDemographic sets the Demographic field's value.
27635func (s *PublicEndpoint) SetDemographic(v *EndpointDemographic) *PublicEndpoint {
27636	s.Demographic = v
27637	return s
27638}
27639
27640// SetEffectiveDate sets the EffectiveDate field's value.
27641func (s *PublicEndpoint) SetEffectiveDate(v string) *PublicEndpoint {
27642	s.EffectiveDate = &v
27643	return s
27644}
27645
27646// SetEndpointStatus sets the EndpointStatus field's value.
27647func (s *PublicEndpoint) SetEndpointStatus(v string) *PublicEndpoint {
27648	s.EndpointStatus = &v
27649	return s
27650}
27651
27652// SetLocation sets the Location field's value.
27653func (s *PublicEndpoint) SetLocation(v *EndpointLocation) *PublicEndpoint {
27654	s.Location = v
27655	return s
27656}
27657
27658// SetMetrics sets the Metrics field's value.
27659func (s *PublicEndpoint) SetMetrics(v map[string]*float64) *PublicEndpoint {
27660	s.Metrics = v
27661	return s
27662}
27663
27664// SetOptOut sets the OptOut field's value.
27665func (s *PublicEndpoint) SetOptOut(v string) *PublicEndpoint {
27666	s.OptOut = &v
27667	return s
27668}
27669
27670// SetRequestId sets the RequestId field's value.
27671func (s *PublicEndpoint) SetRequestId(v string) *PublicEndpoint {
27672	s.RequestId = &v
27673	return s
27674}
27675
27676// SetUser sets the User field's value.
27677func (s *PublicEndpoint) SetUser(v *EndpointUser) *PublicEndpoint {
27678	s.User = v
27679	return s
27680}
27681
27682// Specifies the settings for a push notification activity in a journey. This
27683// type of activity sends a push notification to participants.
27684type PushMessageActivity struct {
27685	_ struct{} `type:"structure"`
27686
27687	// Specifies the time to live (TTL) value for push notifications that are sent
27688	// to participants in a journey.
27689	MessageConfig *JourneyPushMessage `type:"structure"`
27690
27691	// The unique identifier for the next activity to perform, after the message
27692	// is sent.
27693	NextActivity *string `type:"string"`
27694
27695	// The name of the push notification template to use for the message. If specified,
27696	// this value must match the name of an existing message template.
27697	TemplateName *string `type:"string"`
27698
27699	// The unique identifier for the version of the push notification template to
27700	// use for the message. If specified, this value must match the identifier for
27701	// an existing template version. To retrieve a list of versions and version
27702	// identifiers for a template, use the Template Versions resource.
27703	//
27704	// If you don't specify a value for this property, Amazon Pinpoint uses the
27705	// active version of the template. The active version is typically the version
27706	// of a template that's been most recently reviewed and approved for use, depending
27707	// on your workflow. It isn't necessarily the latest version of a template.
27708	TemplateVersion *string `type:"string"`
27709}
27710
27711// String returns the string representation
27712func (s PushMessageActivity) String() string {
27713	return awsutil.Prettify(s)
27714}
27715
27716// GoString returns the string representation
27717func (s PushMessageActivity) GoString() string {
27718	return s.String()
27719}
27720
27721// SetMessageConfig sets the MessageConfig field's value.
27722func (s *PushMessageActivity) SetMessageConfig(v *JourneyPushMessage) *PushMessageActivity {
27723	s.MessageConfig = v
27724	return s
27725}
27726
27727// SetNextActivity sets the NextActivity field's value.
27728func (s *PushMessageActivity) SetNextActivity(v string) *PushMessageActivity {
27729	s.NextActivity = &v
27730	return s
27731}
27732
27733// SetTemplateName sets the TemplateName field's value.
27734func (s *PushMessageActivity) SetTemplateName(v string) *PushMessageActivity {
27735	s.TemplateName = &v
27736	return s
27737}
27738
27739// SetTemplateVersion sets the TemplateVersion field's value.
27740func (s *PushMessageActivity) SetTemplateVersion(v string) *PushMessageActivity {
27741	s.TemplateVersion = &v
27742	return s
27743}
27744
27745// Specifies the content and settings for a message template that can be used
27746// in messages that are sent through a push notification channel.
27747type PushNotificationTemplateRequest struct {
27748	_ struct{} `type:"structure"`
27749
27750	// The message template to use for the ADM (Amazon Device Messaging) channel.
27751	// This message template overrides the default template for push notification
27752	// channels (DefaultPushNotificationTemplate).
27753	ADM *AndroidPushNotificationTemplate `type:"structure"`
27754
27755	// The message template to use for the APNs (Apple Push Notification service)
27756	// channel. This message template overrides the default template for push notification
27757	// channels (DefaultPushNotificationTemplate).
27758	APNS *APNSPushNotificationTemplate `type:"structure"`
27759
27760	// The message template to use for the Baidu (Baidu Cloud Push) channel. This
27761	// message template overrides the default template for push notification channels
27762	// (DefaultPushNotificationTemplate).
27763	Baidu *AndroidPushNotificationTemplate `type:"structure"`
27764
27765	// The default message template to use for push notification channels.
27766	Default *DefaultPushNotificationTemplate `type:"structure"`
27767
27768	// A JSON object that specifies the default values to use for message variables
27769	// in the message template. This object is a set of key-value pairs. Each key
27770	// defines a message variable in the template. The corresponding value defines
27771	// the default value for that variable. When you create a message that's based
27772	// on the template, you can override these defaults with message-specific and
27773	// address-specific variables and values.
27774	DefaultSubstitutions *string `type:"string"`
27775
27776	// The message template to use for the GCM channel, which is used to send notifications
27777	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
27778	// (GCM), service. This message template overrides the default template for
27779	// push notification channels (DefaultPushNotificationTemplate).
27780	GCM *AndroidPushNotificationTemplate `type:"structure"`
27781
27782	// The unique identifier for the recommender model to use for the message template.
27783	// Amazon Pinpoint uses this value to determine how to retrieve and process
27784	// data from a recommender model when it sends messages that use the template,
27785	// if the template contains message variables for recommendation data.
27786	RecommenderId *string `type:"string"`
27787
27788	// A string-to-string map of key-value pairs that defines the tags to associate
27789	// with the message template. Each tag consists of a required tag key and an
27790	// associated tag value.
27791	Tags map[string]*string `locationName:"tags" type:"map"`
27792
27793	// A custom description of the message template.
27794	TemplateDescription *string `type:"string"`
27795}
27796
27797// String returns the string representation
27798func (s PushNotificationTemplateRequest) String() string {
27799	return awsutil.Prettify(s)
27800}
27801
27802// GoString returns the string representation
27803func (s PushNotificationTemplateRequest) GoString() string {
27804	return s.String()
27805}
27806
27807// SetADM sets the ADM field's value.
27808func (s *PushNotificationTemplateRequest) SetADM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
27809	s.ADM = v
27810	return s
27811}
27812
27813// SetAPNS sets the APNS field's value.
27814func (s *PushNotificationTemplateRequest) SetAPNS(v *APNSPushNotificationTemplate) *PushNotificationTemplateRequest {
27815	s.APNS = v
27816	return s
27817}
27818
27819// SetBaidu sets the Baidu field's value.
27820func (s *PushNotificationTemplateRequest) SetBaidu(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
27821	s.Baidu = v
27822	return s
27823}
27824
27825// SetDefault sets the Default field's value.
27826func (s *PushNotificationTemplateRequest) SetDefault(v *DefaultPushNotificationTemplate) *PushNotificationTemplateRequest {
27827	s.Default = v
27828	return s
27829}
27830
27831// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
27832func (s *PushNotificationTemplateRequest) SetDefaultSubstitutions(v string) *PushNotificationTemplateRequest {
27833	s.DefaultSubstitutions = &v
27834	return s
27835}
27836
27837// SetGCM sets the GCM field's value.
27838func (s *PushNotificationTemplateRequest) SetGCM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
27839	s.GCM = v
27840	return s
27841}
27842
27843// SetRecommenderId sets the RecommenderId field's value.
27844func (s *PushNotificationTemplateRequest) SetRecommenderId(v string) *PushNotificationTemplateRequest {
27845	s.RecommenderId = &v
27846	return s
27847}
27848
27849// SetTags sets the Tags field's value.
27850func (s *PushNotificationTemplateRequest) SetTags(v map[string]*string) *PushNotificationTemplateRequest {
27851	s.Tags = v
27852	return s
27853}
27854
27855// SetTemplateDescription sets the TemplateDescription field's value.
27856func (s *PushNotificationTemplateRequest) SetTemplateDescription(v string) *PushNotificationTemplateRequest {
27857	s.TemplateDescription = &v
27858	return s
27859}
27860
27861// Provides information about the content and settings for a message template
27862// that can be used in messages that are sent through a push notification channel.
27863type PushNotificationTemplateResponse struct {
27864	_ struct{} `type:"structure"`
27865
27866	// The message template that's used for the ADM (Amazon Device Messaging) channel.
27867	// This message template overrides the default template for push notification
27868	// channels (DefaultPushNotificationTemplate).
27869	ADM *AndroidPushNotificationTemplate `type:"structure"`
27870
27871	// The message template that's used for the APNs (Apple Push Notification service)
27872	// channel. This message template overrides the default template for push notification
27873	// channels (DefaultPushNotificationTemplate).
27874	APNS *APNSPushNotificationTemplate `type:"structure"`
27875
27876	// The Amazon Resource Name (ARN) of the message template.
27877	Arn *string `type:"string"`
27878
27879	// The message template that's used for the Baidu (Baidu Cloud Push) channel.
27880	// This message template overrides the default template for push notification
27881	// channels (DefaultPushNotificationTemplate).
27882	Baidu *AndroidPushNotificationTemplate `type:"structure"`
27883
27884	// The date, in ISO 8601 format, when the message template was created.
27885	//
27886	// CreationDate is a required field
27887	CreationDate *string `type:"string" required:"true"`
27888
27889	// The default message template that's used for push notification channels.
27890	Default *DefaultPushNotificationTemplate `type:"structure"`
27891
27892	// The JSON object that specifies the default values that are used for message
27893	// variables in the message template. This object is a set of key-value pairs.
27894	// Each key defines a message variable in the template. The corresponding value
27895	// defines the default value for that variable.
27896	DefaultSubstitutions *string `type:"string"`
27897
27898	// The message template that's used for the GCM channel, which is used to send
27899	// notifications through the Firebase Cloud Messaging (FCM), formerly Google
27900	// Cloud Messaging (GCM), service. This message template overrides the default
27901	// template for push notification channels (DefaultPushNotificationTemplate).
27902	GCM *AndroidPushNotificationTemplate `type:"structure"`
27903
27904	// The date, in ISO 8601 format, when the message template was last modified.
27905	//
27906	// LastModifiedDate is a required field
27907	LastModifiedDate *string `type:"string" required:"true"`
27908
27909	// The unique identifier for the recommender model that's used by the message
27910	// template.
27911	RecommenderId *string `type:"string"`
27912
27913	// A string-to-string map of key-value pairs that identifies the tags that are
27914	// associated with the message template. Each tag consists of a required tag
27915	// key and an associated tag value.
27916	Tags map[string]*string `locationName:"tags" type:"map"`
27917
27918	// The custom description of the message template.
27919	TemplateDescription *string `type:"string"`
27920
27921	// The name of the message template.
27922	//
27923	// TemplateName is a required field
27924	TemplateName *string `type:"string" required:"true"`
27925
27926	// The type of channel that the message template is designed for. For a push
27927	// notification template, this value is PUSH.
27928	//
27929	// TemplateType is a required field
27930	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
27931
27932	// The unique identifier, as an integer, for the active version of the message
27933	// template, or the version of the template that you specified by using the
27934	// version parameter in your request.
27935	Version *string `type:"string"`
27936}
27937
27938// String returns the string representation
27939func (s PushNotificationTemplateResponse) String() string {
27940	return awsutil.Prettify(s)
27941}
27942
27943// GoString returns the string representation
27944func (s PushNotificationTemplateResponse) GoString() string {
27945	return s.String()
27946}
27947
27948// SetADM sets the ADM field's value.
27949func (s *PushNotificationTemplateResponse) SetADM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
27950	s.ADM = v
27951	return s
27952}
27953
27954// SetAPNS sets the APNS field's value.
27955func (s *PushNotificationTemplateResponse) SetAPNS(v *APNSPushNotificationTemplate) *PushNotificationTemplateResponse {
27956	s.APNS = v
27957	return s
27958}
27959
27960// SetArn sets the Arn field's value.
27961func (s *PushNotificationTemplateResponse) SetArn(v string) *PushNotificationTemplateResponse {
27962	s.Arn = &v
27963	return s
27964}
27965
27966// SetBaidu sets the Baidu field's value.
27967func (s *PushNotificationTemplateResponse) SetBaidu(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
27968	s.Baidu = v
27969	return s
27970}
27971
27972// SetCreationDate sets the CreationDate field's value.
27973func (s *PushNotificationTemplateResponse) SetCreationDate(v string) *PushNotificationTemplateResponse {
27974	s.CreationDate = &v
27975	return s
27976}
27977
27978// SetDefault sets the Default field's value.
27979func (s *PushNotificationTemplateResponse) SetDefault(v *DefaultPushNotificationTemplate) *PushNotificationTemplateResponse {
27980	s.Default = v
27981	return s
27982}
27983
27984// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
27985func (s *PushNotificationTemplateResponse) SetDefaultSubstitutions(v string) *PushNotificationTemplateResponse {
27986	s.DefaultSubstitutions = &v
27987	return s
27988}
27989
27990// SetGCM sets the GCM field's value.
27991func (s *PushNotificationTemplateResponse) SetGCM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
27992	s.GCM = v
27993	return s
27994}
27995
27996// SetLastModifiedDate sets the LastModifiedDate field's value.
27997func (s *PushNotificationTemplateResponse) SetLastModifiedDate(v string) *PushNotificationTemplateResponse {
27998	s.LastModifiedDate = &v
27999	return s
28000}
28001
28002// SetRecommenderId sets the RecommenderId field's value.
28003func (s *PushNotificationTemplateResponse) SetRecommenderId(v string) *PushNotificationTemplateResponse {
28004	s.RecommenderId = &v
28005	return s
28006}
28007
28008// SetTags sets the Tags field's value.
28009func (s *PushNotificationTemplateResponse) SetTags(v map[string]*string) *PushNotificationTemplateResponse {
28010	s.Tags = v
28011	return s
28012}
28013
28014// SetTemplateDescription sets the TemplateDescription field's value.
28015func (s *PushNotificationTemplateResponse) SetTemplateDescription(v string) *PushNotificationTemplateResponse {
28016	s.TemplateDescription = &v
28017	return s
28018}
28019
28020// SetTemplateName sets the TemplateName field's value.
28021func (s *PushNotificationTemplateResponse) SetTemplateName(v string) *PushNotificationTemplateResponse {
28022	s.TemplateName = &v
28023	return s
28024}
28025
28026// SetTemplateType sets the TemplateType field's value.
28027func (s *PushNotificationTemplateResponse) SetTemplateType(v string) *PushNotificationTemplateResponse {
28028	s.TemplateType = &v
28029	return s
28030}
28031
28032// SetVersion sets the Version field's value.
28033func (s *PushNotificationTemplateResponse) SetVersion(v string) *PushNotificationTemplateResponse {
28034	s.Version = &v
28035	return s
28036}
28037
28038type PutEventStreamInput struct {
28039	_ struct{} `type:"structure" payload:"WriteEventStream"`
28040
28041	// ApplicationId is a required field
28042	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
28043
28044	// Specifies the Amazon Resource Name (ARN) of an event stream to publish events
28045	// to and the AWS Identity and Access Management (IAM) role to use when publishing
28046	// those events.
28047	//
28048	// WriteEventStream is a required field
28049	WriteEventStream *WriteEventStream `type:"structure" required:"true"`
28050}
28051
28052// String returns the string representation
28053func (s PutEventStreamInput) String() string {
28054	return awsutil.Prettify(s)
28055}
28056
28057// GoString returns the string representation
28058func (s PutEventStreamInput) GoString() string {
28059	return s.String()
28060}
28061
28062// Validate inspects the fields of the type to determine if they are valid.
28063func (s *PutEventStreamInput) Validate() error {
28064	invalidParams := request.ErrInvalidParams{Context: "PutEventStreamInput"}
28065	if s.ApplicationId == nil {
28066		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
28067	}
28068	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
28069		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
28070	}
28071	if s.WriteEventStream == nil {
28072		invalidParams.Add(request.NewErrParamRequired("WriteEventStream"))
28073	}
28074	if s.WriteEventStream != nil {
28075		if err := s.WriteEventStream.Validate(); err != nil {
28076			invalidParams.AddNested("WriteEventStream", err.(request.ErrInvalidParams))
28077		}
28078	}
28079
28080	if invalidParams.Len() > 0 {
28081		return invalidParams
28082	}
28083	return nil
28084}
28085
28086// SetApplicationId sets the ApplicationId field's value.
28087func (s *PutEventStreamInput) SetApplicationId(v string) *PutEventStreamInput {
28088	s.ApplicationId = &v
28089	return s
28090}
28091
28092// SetWriteEventStream sets the WriteEventStream field's value.
28093func (s *PutEventStreamInput) SetWriteEventStream(v *WriteEventStream) *PutEventStreamInput {
28094	s.WriteEventStream = v
28095	return s
28096}
28097
28098type PutEventStreamOutput struct {
28099	_ struct{} `type:"structure" payload:"EventStream"`
28100
28101	// Specifies settings for publishing event data to an Amazon Kinesis data stream
28102	// or an Amazon Kinesis Data Firehose delivery stream.
28103	//
28104	// EventStream is a required field
28105	EventStream *EventStream `type:"structure" required:"true"`
28106}
28107
28108// String returns the string representation
28109func (s PutEventStreamOutput) String() string {
28110	return awsutil.Prettify(s)
28111}
28112
28113// GoString returns the string representation
28114func (s PutEventStreamOutput) GoString() string {
28115	return s.String()
28116}
28117
28118// SetEventStream sets the EventStream field's value.
28119func (s *PutEventStreamOutput) SetEventStream(v *EventStream) *PutEventStreamOutput {
28120	s.EventStream = v
28121	return s
28122}
28123
28124type PutEventsInput struct {
28125	_ struct{} `type:"structure" payload:"EventsRequest"`
28126
28127	// ApplicationId is a required field
28128	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
28129
28130	// Specifies a batch of events to process.
28131	//
28132	// EventsRequest is a required field
28133	EventsRequest *EventsRequest `type:"structure" required:"true"`
28134}
28135
28136// String returns the string representation
28137func (s PutEventsInput) String() string {
28138	return awsutil.Prettify(s)
28139}
28140
28141// GoString returns the string representation
28142func (s PutEventsInput) GoString() string {
28143	return s.String()
28144}
28145
28146// Validate inspects the fields of the type to determine if they are valid.
28147func (s *PutEventsInput) Validate() error {
28148	invalidParams := request.ErrInvalidParams{Context: "PutEventsInput"}
28149	if s.ApplicationId == nil {
28150		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
28151	}
28152	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
28153		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
28154	}
28155	if s.EventsRequest == nil {
28156		invalidParams.Add(request.NewErrParamRequired("EventsRequest"))
28157	}
28158	if s.EventsRequest != nil {
28159		if err := s.EventsRequest.Validate(); err != nil {
28160			invalidParams.AddNested("EventsRequest", err.(request.ErrInvalidParams))
28161		}
28162	}
28163
28164	if invalidParams.Len() > 0 {
28165		return invalidParams
28166	}
28167	return nil
28168}
28169
28170// SetApplicationId sets the ApplicationId field's value.
28171func (s *PutEventsInput) SetApplicationId(v string) *PutEventsInput {
28172	s.ApplicationId = &v
28173	return s
28174}
28175
28176// SetEventsRequest sets the EventsRequest field's value.
28177func (s *PutEventsInput) SetEventsRequest(v *EventsRequest) *PutEventsInput {
28178	s.EventsRequest = v
28179	return s
28180}
28181
28182type PutEventsOutput struct {
28183	_ struct{} `type:"structure" payload:"EventsResponse"`
28184
28185	// Provides information about endpoints and the events that they're associated
28186	// with.
28187	//
28188	// EventsResponse is a required field
28189	EventsResponse *EventsResponse `type:"structure" required:"true"`
28190}
28191
28192// String returns the string representation
28193func (s PutEventsOutput) String() string {
28194	return awsutil.Prettify(s)
28195}
28196
28197// GoString returns the string representation
28198func (s PutEventsOutput) GoString() string {
28199	return s.String()
28200}
28201
28202// SetEventsResponse sets the EventsResponse field's value.
28203func (s *PutEventsOutput) SetEventsResponse(v *EventsResponse) *PutEventsOutput {
28204	s.EventsResponse = v
28205	return s
28206}
28207
28208// Specifies the start and end times that define a time range when messages
28209// aren't sent to endpoints.
28210type QuietTime struct {
28211	_ struct{} `type:"structure"`
28212
28213	// The specific time when quiet time ends. This value has to use 24-hour notation
28214	// and be in HH:MM format, where HH is the hour (with a leading zero, if applicable)
28215	// and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30
28216	// to represent 2:30 PM.
28217	End *string `type:"string"`
28218
28219	// The specific time when quiet time begins. This value has to use 24-hour notation
28220	// and be in HH:MM format, where HH is the hour (with a leading zero, if applicable)
28221	// and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30
28222	// to represent 2:30 PM.
28223	Start *string `type:"string"`
28224}
28225
28226// String returns the string representation
28227func (s QuietTime) String() string {
28228	return awsutil.Prettify(s)
28229}
28230
28231// GoString returns the string representation
28232func (s QuietTime) GoString() string {
28233	return s.String()
28234}
28235
28236// SetEnd sets the End field's value.
28237func (s *QuietTime) SetEnd(v string) *QuietTime {
28238	s.End = &v
28239	return s
28240}
28241
28242// SetStart sets the Start field's value.
28243func (s *QuietTime) SetStart(v string) *QuietTime {
28244	s.Start = &v
28245	return s
28246}
28247
28248// Specifies the settings for a random split activity in a journey. This type
28249// of activity randomly sends specified percentages of participants down one
28250// of as many as five paths in a journey, based on conditions that you specify.
28251type RandomSplitActivity struct {
28252	_ struct{} `type:"structure"`
28253
28254	// The paths for the activity, including the percentage of participants to enter
28255	// each path and the activity to perform for each path.
28256	Branches []*RandomSplitEntry `type:"list"`
28257}
28258
28259// String returns the string representation
28260func (s RandomSplitActivity) String() string {
28261	return awsutil.Prettify(s)
28262}
28263
28264// GoString returns the string representation
28265func (s RandomSplitActivity) GoString() string {
28266	return s.String()
28267}
28268
28269// SetBranches sets the Branches field's value.
28270func (s *RandomSplitActivity) SetBranches(v []*RandomSplitEntry) *RandomSplitActivity {
28271	s.Branches = v
28272	return s
28273}
28274
28275// Specifies the settings for a path in a random split activity in a journey.
28276type RandomSplitEntry struct {
28277	_ struct{} `type:"structure"`
28278
28279	// The unique identifier for the next activity to perform, after completing
28280	// the activity for the path.
28281	NextActivity *string `type:"string"`
28282
28283	// The percentage of participants to send down the activity path.
28284	//
28285	// To determine which participants are sent down each path, Amazon Pinpoint
28286	// applies a probability-based algorithm to the percentages that you specify
28287	// for the paths. Therefore, the actual percentage of participants who are sent
28288	// down a path may not be equal to the percentage that you specify.
28289	Percentage *int64 `type:"integer"`
28290}
28291
28292// String returns the string representation
28293func (s RandomSplitEntry) String() string {
28294	return awsutil.Prettify(s)
28295}
28296
28297// GoString returns the string representation
28298func (s RandomSplitEntry) GoString() string {
28299	return s.String()
28300}
28301
28302// SetNextActivity sets the NextActivity field's value.
28303func (s *RandomSplitEntry) SetNextActivity(v string) *RandomSplitEntry {
28304	s.NextActivity = &v
28305	return s
28306}
28307
28308// SetPercentage sets the Percentage field's value.
28309func (s *RandomSplitEntry) SetPercentage(v int64) *RandomSplitEntry {
28310	s.Percentage = &v
28311	return s
28312}
28313
28314// Specifies the contents of an email message, represented as a raw MIME message.
28315type RawEmail struct {
28316	_ struct{} `type:"structure"`
28317
28318	// Data is automatically base64 encoded/decoded by the SDK.
28319	Data []byte `type:"blob"`
28320}
28321
28322// String returns the string representation
28323func (s RawEmail) String() string {
28324	return awsutil.Prettify(s)
28325}
28326
28327// GoString returns the string representation
28328func (s RawEmail) GoString() string {
28329	return s.String()
28330}
28331
28332// SetData sets the Data field's value.
28333func (s *RawEmail) SetData(v []byte) *RawEmail {
28334	s.Data = v
28335	return s
28336}
28337
28338// Specifies criteria for including or excluding endpoints from a segment based
28339// on how recently an endpoint was active.
28340type RecencyDimension struct {
28341	_ struct{} `type:"structure"`
28342
28343	// The duration to use when determining whether an endpoint is active or inactive.
28344	//
28345	// Duration is a required field
28346	Duration *string `type:"string" required:"true" enum:"Duration"`
28347
28348	// The type of recency dimension to use for the segment. Valid values are: ACTIVE,
28349	// endpoints that were active within the specified duration are included in
28350	// the segment; and, INACTIVE, endpoints that weren't active within the specified
28351	// duration are included in the segment.
28352	//
28353	// RecencyType is a required field
28354	RecencyType *string `type:"string" required:"true" enum:"RecencyType"`
28355}
28356
28357// String returns the string representation
28358func (s RecencyDimension) String() string {
28359	return awsutil.Prettify(s)
28360}
28361
28362// GoString returns the string representation
28363func (s RecencyDimension) GoString() string {
28364	return s.String()
28365}
28366
28367// Validate inspects the fields of the type to determine if they are valid.
28368func (s *RecencyDimension) Validate() error {
28369	invalidParams := request.ErrInvalidParams{Context: "RecencyDimension"}
28370	if s.Duration == nil {
28371		invalidParams.Add(request.NewErrParamRequired("Duration"))
28372	}
28373	if s.RecencyType == nil {
28374		invalidParams.Add(request.NewErrParamRequired("RecencyType"))
28375	}
28376
28377	if invalidParams.Len() > 0 {
28378		return invalidParams
28379	}
28380	return nil
28381}
28382
28383// SetDuration sets the Duration field's value.
28384func (s *RecencyDimension) SetDuration(v string) *RecencyDimension {
28385	s.Duration = &v
28386	return s
28387}
28388
28389// SetRecencyType sets the RecencyType field's value.
28390func (s *RecencyDimension) SetRecencyType(v string) *RecencyDimension {
28391	s.RecencyType = &v
28392	return s
28393}
28394
28395// Provides information about Amazon Pinpoint configuration settings for retrieving
28396// and processing data from a recommender model.
28397type RecommenderConfigurationResponse struct {
28398	_ struct{} `type:"structure"`
28399
28400	// A map that defines 1-10 custom endpoint or user attributes, depending on
28401	// the value for the RecommendationProviderIdType property. Each of these attributes
28402	// temporarily stores a recommended item that's retrieved from the recommender
28403	// model and sent to an AWS Lambda function for additional processing. Each
28404	// attribute can be used as a message variable in a message template.
28405	//
28406	// This value is null if the configuration doesn't invoke an AWS Lambda function
28407	// (RecommendationTransformerUri) to perform additional processing of recommendation
28408	// data.
28409	Attributes map[string]*string `type:"map"`
28410
28411	// The date, in extended ISO 8601 format, when the configuration was created
28412	// for the recommender model.
28413	//
28414	// CreationDate is a required field
28415	CreationDate *string `type:"string" required:"true"`
28416
28417	// The custom description of the configuration for the recommender model.
28418	Description *string `type:"string"`
28419
28420	// The unique identifier for the recommender model configuration.
28421	//
28422	// Id is a required field
28423	Id *string `type:"string" required:"true"`
28424
28425	// The date, in extended ISO 8601 format, when the configuration for the recommender
28426	// model was last modified.
28427	//
28428	// LastModifiedDate is a required field
28429	LastModifiedDate *string `type:"string" required:"true"`
28430
28431	// The custom name of the configuration for the recommender model.
28432	Name *string `type:"string"`
28433
28434	// The type of Amazon Pinpoint ID that's associated with unique user IDs in
28435	// the recommender model. This value enables the model to use attribute and
28436	// event data that’s specific to a particular endpoint or user in an Amazon
28437	// Pinpoint application. Possible values are:
28438	//
28439	//    * PINPOINT_ENDPOINT_ID - Each user in the model is associated with a particular
28440	//    endpoint in Amazon Pinpoint. The data is correlated based on endpoint
28441	//    IDs in Amazon Pinpoint. This is the default value.
28442	//
28443	//    * PINPOINT_USER_ID - Each user in the model is associated with a particular
28444	//    user and endpoint in Amazon Pinpoint. The data is correlated based on
28445	//    user IDs in Amazon Pinpoint. If this value is specified, an endpoint definition
28446	//    in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint
28447	//    ID. Otherwise, messages won’t be sent to the user's endpoint.
28448	RecommendationProviderIdType *string `type:"string"`
28449
28450	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
28451	// (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data
28452	// from the recommender model.
28453	//
28454	// RecommendationProviderRoleArn is a required field
28455	RecommendationProviderRoleArn *string `type:"string" required:"true"`
28456
28457	// The Amazon Resource Name (ARN) of the recommender model that Amazon Pinpoint
28458	// retrieves the recommendation data from. This value is the ARN of an Amazon
28459	// Personalize campaign.
28460	//
28461	// RecommendationProviderUri is a required field
28462	RecommendationProviderUri *string `type:"string" required:"true"`
28463
28464	// The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
28465	// Pinpoint invokes to perform additional processing of recommendation data
28466	// that it retrieves from the recommender model.
28467	RecommendationTransformerUri *string `type:"string"`
28468
28469	// The custom display name for the standard endpoint or user attribute (RecommendationItems)
28470	// that temporarily stores recommended items for each endpoint or user, depending
28471	// on the value for the RecommendationProviderIdType property. This name appears
28472	// in the Attribute finder of the template editor on the Amazon Pinpoint console.
28473	//
28474	// This value is null if the configuration doesn't invoke an AWS Lambda function
28475	// (RecommendationTransformerUri) to perform additional processing of recommendation
28476	// data.
28477	RecommendationsDisplayName *string `type:"string"`
28478
28479	// The number of recommended items that are retrieved from the model for each
28480	// endpoint or user, depending on the value for the RecommendationProviderIdType
28481	// property. This number determines how many recommended items are available
28482	// for use in message variables.
28483	RecommendationsPerMessage *int64 `type:"integer"`
28484}
28485
28486// String returns the string representation
28487func (s RecommenderConfigurationResponse) String() string {
28488	return awsutil.Prettify(s)
28489}
28490
28491// GoString returns the string representation
28492func (s RecommenderConfigurationResponse) GoString() string {
28493	return s.String()
28494}
28495
28496// SetAttributes sets the Attributes field's value.
28497func (s *RecommenderConfigurationResponse) SetAttributes(v map[string]*string) *RecommenderConfigurationResponse {
28498	s.Attributes = v
28499	return s
28500}
28501
28502// SetCreationDate sets the CreationDate field's value.
28503func (s *RecommenderConfigurationResponse) SetCreationDate(v string) *RecommenderConfigurationResponse {
28504	s.CreationDate = &v
28505	return s
28506}
28507
28508// SetDescription sets the Description field's value.
28509func (s *RecommenderConfigurationResponse) SetDescription(v string) *RecommenderConfigurationResponse {
28510	s.Description = &v
28511	return s
28512}
28513
28514// SetId sets the Id field's value.
28515func (s *RecommenderConfigurationResponse) SetId(v string) *RecommenderConfigurationResponse {
28516	s.Id = &v
28517	return s
28518}
28519
28520// SetLastModifiedDate sets the LastModifiedDate field's value.
28521func (s *RecommenderConfigurationResponse) SetLastModifiedDate(v string) *RecommenderConfigurationResponse {
28522	s.LastModifiedDate = &v
28523	return s
28524}
28525
28526// SetName sets the Name field's value.
28527func (s *RecommenderConfigurationResponse) SetName(v string) *RecommenderConfigurationResponse {
28528	s.Name = &v
28529	return s
28530}
28531
28532// SetRecommendationProviderIdType sets the RecommendationProviderIdType field's value.
28533func (s *RecommenderConfigurationResponse) SetRecommendationProviderIdType(v string) *RecommenderConfigurationResponse {
28534	s.RecommendationProviderIdType = &v
28535	return s
28536}
28537
28538// SetRecommendationProviderRoleArn sets the RecommendationProviderRoleArn field's value.
28539func (s *RecommenderConfigurationResponse) SetRecommendationProviderRoleArn(v string) *RecommenderConfigurationResponse {
28540	s.RecommendationProviderRoleArn = &v
28541	return s
28542}
28543
28544// SetRecommendationProviderUri sets the RecommendationProviderUri field's value.
28545func (s *RecommenderConfigurationResponse) SetRecommendationProviderUri(v string) *RecommenderConfigurationResponse {
28546	s.RecommendationProviderUri = &v
28547	return s
28548}
28549
28550// SetRecommendationTransformerUri sets the RecommendationTransformerUri field's value.
28551func (s *RecommenderConfigurationResponse) SetRecommendationTransformerUri(v string) *RecommenderConfigurationResponse {
28552	s.RecommendationTransformerUri = &v
28553	return s
28554}
28555
28556// SetRecommendationsDisplayName sets the RecommendationsDisplayName field's value.
28557func (s *RecommenderConfigurationResponse) SetRecommendationsDisplayName(v string) *RecommenderConfigurationResponse {
28558	s.RecommendationsDisplayName = &v
28559	return s
28560}
28561
28562// SetRecommendationsPerMessage sets the RecommendationsPerMessage field's value.
28563func (s *RecommenderConfigurationResponse) SetRecommendationsPerMessage(v int64) *RecommenderConfigurationResponse {
28564	s.RecommendationsPerMessage = &v
28565	return s
28566}
28567
28568type RemoveAttributesInput struct {
28569	_ struct{} `type:"structure" payload:"UpdateAttributesRequest"`
28570
28571	// ApplicationId is a required field
28572	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
28573
28574	// AttributeType is a required field
28575	AttributeType *string `location:"uri" locationName:"attribute-type" type:"string" required:"true"`
28576
28577	// Specifies one or more attributes to remove from all the endpoints that are
28578	// associated with an application.
28579	//
28580	// UpdateAttributesRequest is a required field
28581	UpdateAttributesRequest *UpdateAttributesRequest `type:"structure" required:"true"`
28582}
28583
28584// String returns the string representation
28585func (s RemoveAttributesInput) String() string {
28586	return awsutil.Prettify(s)
28587}
28588
28589// GoString returns the string representation
28590func (s RemoveAttributesInput) GoString() string {
28591	return s.String()
28592}
28593
28594// Validate inspects the fields of the type to determine if they are valid.
28595func (s *RemoveAttributesInput) Validate() error {
28596	invalidParams := request.ErrInvalidParams{Context: "RemoveAttributesInput"}
28597	if s.ApplicationId == nil {
28598		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
28599	}
28600	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
28601		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
28602	}
28603	if s.AttributeType == nil {
28604		invalidParams.Add(request.NewErrParamRequired("AttributeType"))
28605	}
28606	if s.AttributeType != nil && len(*s.AttributeType) < 1 {
28607		invalidParams.Add(request.NewErrParamMinLen("AttributeType", 1))
28608	}
28609	if s.UpdateAttributesRequest == nil {
28610		invalidParams.Add(request.NewErrParamRequired("UpdateAttributesRequest"))
28611	}
28612
28613	if invalidParams.Len() > 0 {
28614		return invalidParams
28615	}
28616	return nil
28617}
28618
28619// SetApplicationId sets the ApplicationId field's value.
28620func (s *RemoveAttributesInput) SetApplicationId(v string) *RemoveAttributesInput {
28621	s.ApplicationId = &v
28622	return s
28623}
28624
28625// SetAttributeType sets the AttributeType field's value.
28626func (s *RemoveAttributesInput) SetAttributeType(v string) *RemoveAttributesInput {
28627	s.AttributeType = &v
28628	return s
28629}
28630
28631// SetUpdateAttributesRequest sets the UpdateAttributesRequest field's value.
28632func (s *RemoveAttributesInput) SetUpdateAttributesRequest(v *UpdateAttributesRequest) *RemoveAttributesInput {
28633	s.UpdateAttributesRequest = v
28634	return s
28635}
28636
28637type RemoveAttributesOutput struct {
28638	_ struct{} `type:"structure" payload:"AttributesResource"`
28639
28640	// Provides information about the type and the names of attributes that were
28641	// removed from all the endpoints that are associated with an application.
28642	//
28643	// AttributesResource is a required field
28644	AttributesResource *AttributesResource `type:"structure" required:"true"`
28645}
28646
28647// String returns the string representation
28648func (s RemoveAttributesOutput) String() string {
28649	return awsutil.Prettify(s)
28650}
28651
28652// GoString returns the string representation
28653func (s RemoveAttributesOutput) GoString() string {
28654	return s.String()
28655}
28656
28657// SetAttributesResource sets the AttributesResource field's value.
28658func (s *RemoveAttributesOutput) SetAttributesResource(v *AttributesResource) *RemoveAttributesOutput {
28659	s.AttributesResource = v
28660	return s
28661}
28662
28663// Provides the results of a query that retrieved the data for a standard metric
28664// that applies to an application, campaign, or journey.
28665type ResultRow struct {
28666	_ struct{} `type:"structure"`
28667
28668	// An array of objects that defines the field and field values that were used
28669	// to group data in a result set that contains multiple results. This value
28670	// is null if the data in a result set isn’t grouped.
28671	//
28672	// GroupedBys is a required field
28673	GroupedBys []*ResultRowValue `type:"list" required:"true"`
28674
28675	// An array of objects that provides pre-aggregated values for a standard metric
28676	// that applies to an application, campaign, or journey.
28677	//
28678	// Values is a required field
28679	Values []*ResultRowValue `type:"list" required:"true"`
28680}
28681
28682// String returns the string representation
28683func (s ResultRow) String() string {
28684	return awsutil.Prettify(s)
28685}
28686
28687// GoString returns the string representation
28688func (s ResultRow) GoString() string {
28689	return s.String()
28690}
28691
28692// SetGroupedBys sets the GroupedBys field's value.
28693func (s *ResultRow) SetGroupedBys(v []*ResultRowValue) *ResultRow {
28694	s.GroupedBys = v
28695	return s
28696}
28697
28698// SetValues sets the Values field's value.
28699func (s *ResultRow) SetValues(v []*ResultRowValue) *ResultRow {
28700	s.Values = v
28701	return s
28702}
28703
28704// Provides a single value and metadata about that value as part of an array
28705// of query results for a standard metric that applies to an application, campaign,
28706// or journey.
28707type ResultRowValue struct {
28708	_ struct{} `type:"structure"`
28709
28710	// The friendly name of the metric whose value is specified by the Value property.
28711	//
28712	// Key is a required field
28713	Key *string `type:"string" required:"true"`
28714
28715	// The data type of the value specified by the Value property.
28716	//
28717	// Type is a required field
28718	Type *string `type:"string" required:"true"`
28719
28720	// In a Values object, the value for the metric that the query retrieved data
28721	// for. In a GroupedBys object, the value for the field that was used to group
28722	// data in a result set that contains multiple results (Values objects).
28723	//
28724	// Value is a required field
28725	Value *string `type:"string" required:"true"`
28726}
28727
28728// String returns the string representation
28729func (s ResultRowValue) String() string {
28730	return awsutil.Prettify(s)
28731}
28732
28733// GoString returns the string representation
28734func (s ResultRowValue) GoString() string {
28735	return s.String()
28736}
28737
28738// SetKey sets the Key field's value.
28739func (s *ResultRowValue) SetKey(v string) *ResultRowValue {
28740	s.Key = &v
28741	return s
28742}
28743
28744// SetType sets the Type field's value.
28745func (s *ResultRowValue) SetType(v string) *ResultRowValue {
28746	s.Type = &v
28747	return s
28748}
28749
28750// SetValue sets the Value field's value.
28751func (s *ResultRowValue) SetValue(v string) *ResultRowValue {
28752	s.Value = &v
28753	return s
28754}
28755
28756// Specifies the status and settings of the SMS channel for an application.
28757type SMSChannelRequest struct {
28758	_ struct{} `type:"structure"`
28759
28760	// Specifies whether to enable the SMS channel for the application.
28761	Enabled *bool `type:"boolean"`
28762
28763	// The identity that you want to display on recipients' devices when they receive
28764	// messages from the SMS channel.
28765	SenderId *string `type:"string"`
28766
28767	// The registered short code that you want to use when you send messages through
28768	// the SMS channel.
28769	ShortCode *string `type:"string"`
28770}
28771
28772// String returns the string representation
28773func (s SMSChannelRequest) String() string {
28774	return awsutil.Prettify(s)
28775}
28776
28777// GoString returns the string representation
28778func (s SMSChannelRequest) GoString() string {
28779	return s.String()
28780}
28781
28782// SetEnabled sets the Enabled field's value.
28783func (s *SMSChannelRequest) SetEnabled(v bool) *SMSChannelRequest {
28784	s.Enabled = &v
28785	return s
28786}
28787
28788// SetSenderId sets the SenderId field's value.
28789func (s *SMSChannelRequest) SetSenderId(v string) *SMSChannelRequest {
28790	s.SenderId = &v
28791	return s
28792}
28793
28794// SetShortCode sets the ShortCode field's value.
28795func (s *SMSChannelRequest) SetShortCode(v string) *SMSChannelRequest {
28796	s.ShortCode = &v
28797	return s
28798}
28799
28800// Provides information about the status and settings of the SMS channel for
28801// an application.
28802type SMSChannelResponse struct {
28803	_ struct{} `type:"structure"`
28804
28805	// The unique identifier for the application that the SMS channel applies to.
28806	ApplicationId *string `type:"string"`
28807
28808	// The date and time, in ISO 8601 format, when the SMS channel was enabled.
28809	CreationDate *string `type:"string"`
28810
28811	// Specifies whether the SMS channel is enabled for the application.
28812	Enabled *bool `type:"boolean"`
28813
28814	// (Not used) This property is retained only for backward compatibility.
28815	HasCredential *bool `type:"boolean"`
28816
28817	// (Deprecated) An identifier for the SMS channel. This property is retained
28818	// only for backward compatibility.
28819	Id *string `type:"string"`
28820
28821	// Specifies whether the SMS channel is archived.
28822	IsArchived *bool `type:"boolean"`
28823
28824	// The user who last modified the SMS channel.
28825	LastModifiedBy *string `type:"string"`
28826
28827	// The date and time, in ISO 8601 format, when the SMS channel was last modified.
28828	LastModifiedDate *string `type:"string"`
28829
28830	// The type of messaging or notification platform for the channel. For the SMS
28831	// channel, this value is SMS.
28832	//
28833	// Platform is a required field
28834	Platform *string `type:"string" required:"true"`
28835
28836	// The maximum number of promotional messages that you can send through the
28837	// SMS channel each second.
28838	PromotionalMessagesPerSecond *int64 `type:"integer"`
28839
28840	// The identity that displays on recipients' devices when they receive messages
28841	// from the SMS channel.
28842	SenderId *string `type:"string"`
28843
28844	// The registered short code to use when you send messages through the SMS channel.
28845	ShortCode *string `type:"string"`
28846
28847	// The maximum number of transactional messages that you can send through the
28848	// SMS channel each second.
28849	TransactionalMessagesPerSecond *int64 `type:"integer"`
28850
28851	// The current version of the SMS channel.
28852	Version *int64 `type:"integer"`
28853}
28854
28855// String returns the string representation
28856func (s SMSChannelResponse) String() string {
28857	return awsutil.Prettify(s)
28858}
28859
28860// GoString returns the string representation
28861func (s SMSChannelResponse) GoString() string {
28862	return s.String()
28863}
28864
28865// SetApplicationId sets the ApplicationId field's value.
28866func (s *SMSChannelResponse) SetApplicationId(v string) *SMSChannelResponse {
28867	s.ApplicationId = &v
28868	return s
28869}
28870
28871// SetCreationDate sets the CreationDate field's value.
28872func (s *SMSChannelResponse) SetCreationDate(v string) *SMSChannelResponse {
28873	s.CreationDate = &v
28874	return s
28875}
28876
28877// SetEnabled sets the Enabled field's value.
28878func (s *SMSChannelResponse) SetEnabled(v bool) *SMSChannelResponse {
28879	s.Enabled = &v
28880	return s
28881}
28882
28883// SetHasCredential sets the HasCredential field's value.
28884func (s *SMSChannelResponse) SetHasCredential(v bool) *SMSChannelResponse {
28885	s.HasCredential = &v
28886	return s
28887}
28888
28889// SetId sets the Id field's value.
28890func (s *SMSChannelResponse) SetId(v string) *SMSChannelResponse {
28891	s.Id = &v
28892	return s
28893}
28894
28895// SetIsArchived sets the IsArchived field's value.
28896func (s *SMSChannelResponse) SetIsArchived(v bool) *SMSChannelResponse {
28897	s.IsArchived = &v
28898	return s
28899}
28900
28901// SetLastModifiedBy sets the LastModifiedBy field's value.
28902func (s *SMSChannelResponse) SetLastModifiedBy(v string) *SMSChannelResponse {
28903	s.LastModifiedBy = &v
28904	return s
28905}
28906
28907// SetLastModifiedDate sets the LastModifiedDate field's value.
28908func (s *SMSChannelResponse) SetLastModifiedDate(v string) *SMSChannelResponse {
28909	s.LastModifiedDate = &v
28910	return s
28911}
28912
28913// SetPlatform sets the Platform field's value.
28914func (s *SMSChannelResponse) SetPlatform(v string) *SMSChannelResponse {
28915	s.Platform = &v
28916	return s
28917}
28918
28919// SetPromotionalMessagesPerSecond sets the PromotionalMessagesPerSecond field's value.
28920func (s *SMSChannelResponse) SetPromotionalMessagesPerSecond(v int64) *SMSChannelResponse {
28921	s.PromotionalMessagesPerSecond = &v
28922	return s
28923}
28924
28925// SetSenderId sets the SenderId field's value.
28926func (s *SMSChannelResponse) SetSenderId(v string) *SMSChannelResponse {
28927	s.SenderId = &v
28928	return s
28929}
28930
28931// SetShortCode sets the ShortCode field's value.
28932func (s *SMSChannelResponse) SetShortCode(v string) *SMSChannelResponse {
28933	s.ShortCode = &v
28934	return s
28935}
28936
28937// SetTransactionalMessagesPerSecond sets the TransactionalMessagesPerSecond field's value.
28938func (s *SMSChannelResponse) SetTransactionalMessagesPerSecond(v int64) *SMSChannelResponse {
28939	s.TransactionalMessagesPerSecond = &v
28940	return s
28941}
28942
28943// SetVersion sets the Version field's value.
28944func (s *SMSChannelResponse) SetVersion(v int64) *SMSChannelResponse {
28945	s.Version = &v
28946	return s
28947}
28948
28949// Specifies the default settings for a one-time SMS message that's sent directly
28950// to an endpoint.
28951type SMSMessage struct {
28952	_ struct{} `type:"structure"`
28953
28954	// The body of the SMS message.
28955	Body *string `type:"string"`
28956
28957	// The SMS program name that you provided to AWS Support when you requested
28958	// your dedicated number.
28959	Keyword *string `type:"string"`
28960
28961	// This field is reserved for future use.
28962	MediaUrl *string `type:"string"`
28963
28964	// The SMS message type. Valid values are TRANSACTIONAL (for messages that are
28965	// critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL
28966	// (for messsages that aren't critical or time-sensitive, such as marketing
28967	// messages).
28968	MessageType *string `type:"string" enum:"MessageType"`
28969
28970	// The number to send the SMS message from. This value should be one of the
28971	// dedicated long or short codes that's assigned to your AWS account. If you
28972	// don't specify a long or short code, Amazon Pinpoint assigns a random long
28973	// code to the SMS message and sends the message from that code.
28974	OriginationNumber *string `type:"string"`
28975
28976	// The sender ID to display as the sender of the message on a recipient's device.
28977	// Support for sender IDs varies by country or region.
28978	SenderId *string `type:"string"`
28979
28980	// The message variables to use in the SMS message. You can override the default
28981	// variables with individual address variables.
28982	Substitutions map[string][]*string `type:"map"`
28983}
28984
28985// String returns the string representation
28986func (s SMSMessage) String() string {
28987	return awsutil.Prettify(s)
28988}
28989
28990// GoString returns the string representation
28991func (s SMSMessage) GoString() string {
28992	return s.String()
28993}
28994
28995// SetBody sets the Body field's value.
28996func (s *SMSMessage) SetBody(v string) *SMSMessage {
28997	s.Body = &v
28998	return s
28999}
29000
29001// SetKeyword sets the Keyword field's value.
29002func (s *SMSMessage) SetKeyword(v string) *SMSMessage {
29003	s.Keyword = &v
29004	return s
29005}
29006
29007// SetMediaUrl sets the MediaUrl field's value.
29008func (s *SMSMessage) SetMediaUrl(v string) *SMSMessage {
29009	s.MediaUrl = &v
29010	return s
29011}
29012
29013// SetMessageType sets the MessageType field's value.
29014func (s *SMSMessage) SetMessageType(v string) *SMSMessage {
29015	s.MessageType = &v
29016	return s
29017}
29018
29019// SetOriginationNumber sets the OriginationNumber field's value.
29020func (s *SMSMessage) SetOriginationNumber(v string) *SMSMessage {
29021	s.OriginationNumber = &v
29022	return s
29023}
29024
29025// SetSenderId sets the SenderId field's value.
29026func (s *SMSMessage) SetSenderId(v string) *SMSMessage {
29027	s.SenderId = &v
29028	return s
29029}
29030
29031// SetSubstitutions sets the Substitutions field's value.
29032func (s *SMSMessage) SetSubstitutions(v map[string][]*string) *SMSMessage {
29033	s.Substitutions = v
29034	return s
29035}
29036
29037// Specifies the settings for an SMS activity in a journey. This type of activity
29038// sends a text message to participants.
29039type SMSMessageActivity struct {
29040	_ struct{} `type:"structure"`
29041
29042	// Specifies the sender ID and message type for an SMS message that's sent to
29043	// participants in a journey.
29044	MessageConfig *JourneySMSMessage `type:"structure"`
29045
29046	// The unique identifier for the next activity to perform, after the message
29047	// is sent.
29048	NextActivity *string `type:"string"`
29049
29050	// The name of the SMS message template to use for the message. If specified,
29051	// this value must match the name of an existing message template.
29052	TemplateName *string `type:"string"`
29053
29054	// The unique identifier for the version of the SMS template to use for the
29055	// message. If specified, this value must match the identifier for an existing
29056	// template version. To retrieve a list of versions and version identifiers
29057	// for a template, use the Template Versions resource.
29058	//
29059	// If you don't specify a value for this property, Amazon Pinpoint uses the
29060	// active version of the template. The active version is typically the version
29061	// of a template that's been most recently reviewed and approved for use, depending
29062	// on your workflow. It isn't necessarily the latest version of a template.
29063	TemplateVersion *string `type:"string"`
29064}
29065
29066// String returns the string representation
29067func (s SMSMessageActivity) String() string {
29068	return awsutil.Prettify(s)
29069}
29070
29071// GoString returns the string representation
29072func (s SMSMessageActivity) GoString() string {
29073	return s.String()
29074}
29075
29076// SetMessageConfig sets the MessageConfig field's value.
29077func (s *SMSMessageActivity) SetMessageConfig(v *JourneySMSMessage) *SMSMessageActivity {
29078	s.MessageConfig = v
29079	return s
29080}
29081
29082// SetNextActivity sets the NextActivity field's value.
29083func (s *SMSMessageActivity) SetNextActivity(v string) *SMSMessageActivity {
29084	s.NextActivity = &v
29085	return s
29086}
29087
29088// SetTemplateName sets the TemplateName field's value.
29089func (s *SMSMessageActivity) SetTemplateName(v string) *SMSMessageActivity {
29090	s.TemplateName = &v
29091	return s
29092}
29093
29094// SetTemplateVersion sets the TemplateVersion field's value.
29095func (s *SMSMessageActivity) SetTemplateVersion(v string) *SMSMessageActivity {
29096	s.TemplateVersion = &v
29097	return s
29098}
29099
29100// Specifies the content and settings for a message template that can be used
29101// in text messages that are sent through the SMS channel.
29102type SMSTemplateRequest struct {
29103	_ struct{} `type:"structure"`
29104
29105	// The message body to use in text messages that are based on the message template.
29106	Body *string `type:"string"`
29107
29108	// A JSON object that specifies the default values to use for message variables
29109	// in the message template. This object is a set of key-value pairs. Each key
29110	// defines a message variable in the template. The corresponding value defines
29111	// the default value for that variable. When you create a message that's based
29112	// on the template, you can override these defaults with message-specific and
29113	// address-specific variables and values.
29114	DefaultSubstitutions *string `type:"string"`
29115
29116	// The unique identifier for the recommender model to use for the message template.
29117	// Amazon Pinpoint uses this value to determine how to retrieve and process
29118	// data from a recommender model when it sends messages that use the template,
29119	// if the template contains message variables for recommendation data.
29120	RecommenderId *string `type:"string"`
29121
29122	// A string-to-string map of key-value pairs that defines the tags to associate
29123	// with the message template. Each tag consists of a required tag key and an
29124	// associated tag value.
29125	Tags map[string]*string `locationName:"tags" type:"map"`
29126
29127	// A custom description of the message template.
29128	TemplateDescription *string `type:"string"`
29129}
29130
29131// String returns the string representation
29132func (s SMSTemplateRequest) String() string {
29133	return awsutil.Prettify(s)
29134}
29135
29136// GoString returns the string representation
29137func (s SMSTemplateRequest) GoString() string {
29138	return s.String()
29139}
29140
29141// SetBody sets the Body field's value.
29142func (s *SMSTemplateRequest) SetBody(v string) *SMSTemplateRequest {
29143	s.Body = &v
29144	return s
29145}
29146
29147// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
29148func (s *SMSTemplateRequest) SetDefaultSubstitutions(v string) *SMSTemplateRequest {
29149	s.DefaultSubstitutions = &v
29150	return s
29151}
29152
29153// SetRecommenderId sets the RecommenderId field's value.
29154func (s *SMSTemplateRequest) SetRecommenderId(v string) *SMSTemplateRequest {
29155	s.RecommenderId = &v
29156	return s
29157}
29158
29159// SetTags sets the Tags field's value.
29160func (s *SMSTemplateRequest) SetTags(v map[string]*string) *SMSTemplateRequest {
29161	s.Tags = v
29162	return s
29163}
29164
29165// SetTemplateDescription sets the TemplateDescription field's value.
29166func (s *SMSTemplateRequest) SetTemplateDescription(v string) *SMSTemplateRequest {
29167	s.TemplateDescription = &v
29168	return s
29169}
29170
29171// Provides information about the content and settings for a message template
29172// that can be used in text messages that are sent through the SMS channel.
29173type SMSTemplateResponse struct {
29174	_ struct{} `type:"structure"`
29175
29176	// The Amazon Resource Name (ARN) of the message template.
29177	Arn *string `type:"string"`
29178
29179	// The message body that's used in text messages that are based on the message
29180	// template.
29181	Body *string `type:"string"`
29182
29183	// The date, in ISO 8601 format, when the message template was created.
29184	//
29185	// CreationDate is a required field
29186	CreationDate *string `type:"string" required:"true"`
29187
29188	// The JSON object that specifies the default values that are used for message
29189	// variables in the message template. This object is a set of key-value pairs.
29190	// Each key defines a message variable in the template. The corresponding value
29191	// defines the default value for that variable.
29192	DefaultSubstitutions *string `type:"string"`
29193
29194	// The date, in ISO 8601 format, when the message template was last modified.
29195	//
29196	// LastModifiedDate is a required field
29197	LastModifiedDate *string `type:"string" required:"true"`
29198
29199	// The unique identifier for the recommender model that's used by the message
29200	// template.
29201	RecommenderId *string `type:"string"`
29202
29203	// A string-to-string map of key-value pairs that identifies the tags that are
29204	// associated with the message template. Each tag consists of a required tag
29205	// key and an associated tag value.
29206	Tags map[string]*string `locationName:"tags" type:"map"`
29207
29208	// The custom description of the message template.
29209	TemplateDescription *string `type:"string"`
29210
29211	// The name of the message template.
29212	//
29213	// TemplateName is a required field
29214	TemplateName *string `type:"string" required:"true"`
29215
29216	// The type of channel that the message template is designed for. For an SMS
29217	// template, this value is SMS.
29218	//
29219	// TemplateType is a required field
29220	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
29221
29222	// The unique identifier, as an integer, for the active version of the message
29223	// template, or the version of the template that you specified by using the
29224	// version parameter in your request.
29225	Version *string `type:"string"`
29226}
29227
29228// String returns the string representation
29229func (s SMSTemplateResponse) String() string {
29230	return awsutil.Prettify(s)
29231}
29232
29233// GoString returns the string representation
29234func (s SMSTemplateResponse) GoString() string {
29235	return s.String()
29236}
29237
29238// SetArn sets the Arn field's value.
29239func (s *SMSTemplateResponse) SetArn(v string) *SMSTemplateResponse {
29240	s.Arn = &v
29241	return s
29242}
29243
29244// SetBody sets the Body field's value.
29245func (s *SMSTemplateResponse) SetBody(v string) *SMSTemplateResponse {
29246	s.Body = &v
29247	return s
29248}
29249
29250// SetCreationDate sets the CreationDate field's value.
29251func (s *SMSTemplateResponse) SetCreationDate(v string) *SMSTemplateResponse {
29252	s.CreationDate = &v
29253	return s
29254}
29255
29256// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
29257func (s *SMSTemplateResponse) SetDefaultSubstitutions(v string) *SMSTemplateResponse {
29258	s.DefaultSubstitutions = &v
29259	return s
29260}
29261
29262// SetLastModifiedDate sets the LastModifiedDate field's value.
29263func (s *SMSTemplateResponse) SetLastModifiedDate(v string) *SMSTemplateResponse {
29264	s.LastModifiedDate = &v
29265	return s
29266}
29267
29268// SetRecommenderId sets the RecommenderId field's value.
29269func (s *SMSTemplateResponse) SetRecommenderId(v string) *SMSTemplateResponse {
29270	s.RecommenderId = &v
29271	return s
29272}
29273
29274// SetTags sets the Tags field's value.
29275func (s *SMSTemplateResponse) SetTags(v map[string]*string) *SMSTemplateResponse {
29276	s.Tags = v
29277	return s
29278}
29279
29280// SetTemplateDescription sets the TemplateDescription field's value.
29281func (s *SMSTemplateResponse) SetTemplateDescription(v string) *SMSTemplateResponse {
29282	s.TemplateDescription = &v
29283	return s
29284}
29285
29286// SetTemplateName sets the TemplateName field's value.
29287func (s *SMSTemplateResponse) SetTemplateName(v string) *SMSTemplateResponse {
29288	s.TemplateName = &v
29289	return s
29290}
29291
29292// SetTemplateType sets the TemplateType field's value.
29293func (s *SMSTemplateResponse) SetTemplateType(v string) *SMSTemplateResponse {
29294	s.TemplateType = &v
29295	return s
29296}
29297
29298// SetVersion sets the Version field's value.
29299func (s *SMSTemplateResponse) SetVersion(v string) *SMSTemplateResponse {
29300	s.Version = &v
29301	return s
29302}
29303
29304// Specifies the schedule settings for a campaign.
29305type Schedule struct {
29306	_ struct{} `type:"structure"`
29307
29308	// The scheduled time, in ISO 8601 format, when the campaign ended or will end.
29309	EndTime *string `type:"string"`
29310
29311	// The type of event that causes the campaign to be sent, if the value of the
29312	// Frequency property is EVENT.
29313	EventFilter *CampaignEventFilter `type:"structure"`
29314
29315	// Specifies how often the campaign is sent or whether the campaign is sent
29316	// in response to a specific event.
29317	Frequency *string `type:"string" enum:"Frequency"`
29318
29319	// Specifies whether the start and end times for the campaign schedule use each
29320	// recipient's local time. To base the schedule on each recipient's local time,
29321	// set this value to true.
29322	IsLocalTime *bool `type:"boolean"`
29323
29324	// The default quiet time for the campaign. Quiet time is a specific time range
29325	// when a campaign doesn't send messages to endpoints, if all the following
29326	// conditions are met:
29327	//
29328	//    * The EndpointDemographic.Timezone property of the endpoint is set to
29329	//    a valid value.
29330	//
29331	//    * The current time in the endpoint's time zone is later than or equal
29332	//    to the time specified by the QuietTime.Start property for the campaign.
29333	//
29334	//    * The current time in the endpoint's time zone is earlier than or equal
29335	//    to the time specified by the QuietTime.End property for the campaign.
29336	//
29337	// If any of the preceding conditions isn't met, the endpoint will receive messages
29338	// from the campaign, even if quiet time is enabled.
29339	QuietTime *QuietTime `type:"structure"`
29340
29341	// The scheduled time when the campaign began or will begin. Valid values are:
29342	// IMMEDIATE, to start the campaign immediately; or, a specific time in ISO
29343	// 8601 format.
29344	//
29345	// StartTime is a required field
29346	StartTime *string `type:"string" required:"true"`
29347
29348	// The starting UTC offset for the campaign schedule, if the value of the IsLocalTime
29349	// property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, UTC+03:30,
29350	// UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30, UTC+07,
29351	// UTC+08, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02,
29352	// UTC-03, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.
29353	Timezone *string `type:"string"`
29354}
29355
29356// String returns the string representation
29357func (s Schedule) String() string {
29358	return awsutil.Prettify(s)
29359}
29360
29361// GoString returns the string representation
29362func (s Schedule) GoString() string {
29363	return s.String()
29364}
29365
29366// Validate inspects the fields of the type to determine if they are valid.
29367func (s *Schedule) Validate() error {
29368	invalidParams := request.ErrInvalidParams{Context: "Schedule"}
29369	if s.StartTime == nil {
29370		invalidParams.Add(request.NewErrParamRequired("StartTime"))
29371	}
29372	if s.EventFilter != nil {
29373		if err := s.EventFilter.Validate(); err != nil {
29374			invalidParams.AddNested("EventFilter", err.(request.ErrInvalidParams))
29375		}
29376	}
29377
29378	if invalidParams.Len() > 0 {
29379		return invalidParams
29380	}
29381	return nil
29382}
29383
29384// SetEndTime sets the EndTime field's value.
29385func (s *Schedule) SetEndTime(v string) *Schedule {
29386	s.EndTime = &v
29387	return s
29388}
29389
29390// SetEventFilter sets the EventFilter field's value.
29391func (s *Schedule) SetEventFilter(v *CampaignEventFilter) *Schedule {
29392	s.EventFilter = v
29393	return s
29394}
29395
29396// SetFrequency sets the Frequency field's value.
29397func (s *Schedule) SetFrequency(v string) *Schedule {
29398	s.Frequency = &v
29399	return s
29400}
29401
29402// SetIsLocalTime sets the IsLocalTime field's value.
29403func (s *Schedule) SetIsLocalTime(v bool) *Schedule {
29404	s.IsLocalTime = &v
29405	return s
29406}
29407
29408// SetQuietTime sets the QuietTime field's value.
29409func (s *Schedule) SetQuietTime(v *QuietTime) *Schedule {
29410	s.QuietTime = v
29411	return s
29412}
29413
29414// SetStartTime sets the StartTime field's value.
29415func (s *Schedule) SetStartTime(v string) *Schedule {
29416	s.StartTime = &v
29417	return s
29418}
29419
29420// SetTimezone sets the Timezone field's value.
29421func (s *Schedule) SetTimezone(v string) *Schedule {
29422	s.Timezone = &v
29423	return s
29424}
29425
29426// Specifies dimension settings for including or excluding endpoints from a
29427// segment based on how recently an endpoint was active.
29428type SegmentBehaviors struct {
29429	_ struct{} `type:"structure"`
29430
29431	// The dimension settings that are based on how recently an endpoint was active.
29432	Recency *RecencyDimension `type:"structure"`
29433}
29434
29435// String returns the string representation
29436func (s SegmentBehaviors) String() string {
29437	return awsutil.Prettify(s)
29438}
29439
29440// GoString returns the string representation
29441func (s SegmentBehaviors) GoString() string {
29442	return s.String()
29443}
29444
29445// Validate inspects the fields of the type to determine if they are valid.
29446func (s *SegmentBehaviors) Validate() error {
29447	invalidParams := request.ErrInvalidParams{Context: "SegmentBehaviors"}
29448	if s.Recency != nil {
29449		if err := s.Recency.Validate(); err != nil {
29450			invalidParams.AddNested("Recency", err.(request.ErrInvalidParams))
29451		}
29452	}
29453
29454	if invalidParams.Len() > 0 {
29455		return invalidParams
29456	}
29457	return nil
29458}
29459
29460// SetRecency sets the Recency field's value.
29461func (s *SegmentBehaviors) SetRecency(v *RecencyDimension) *SegmentBehaviors {
29462	s.Recency = v
29463	return s
29464}
29465
29466// Specifies a segment to associate with an activity in a journey.
29467type SegmentCondition struct {
29468	_ struct{} `type:"structure"`
29469
29470	// The unique identifier for the segment to associate with the activity.
29471	//
29472	// SegmentId is a required field
29473	SegmentId *string `type:"string" required:"true"`
29474}
29475
29476// String returns the string representation
29477func (s SegmentCondition) String() string {
29478	return awsutil.Prettify(s)
29479}
29480
29481// GoString returns the string representation
29482func (s SegmentCondition) GoString() string {
29483	return s.String()
29484}
29485
29486// Validate inspects the fields of the type to determine if they are valid.
29487func (s *SegmentCondition) Validate() error {
29488	invalidParams := request.ErrInvalidParams{Context: "SegmentCondition"}
29489	if s.SegmentId == nil {
29490		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
29491	}
29492
29493	if invalidParams.Len() > 0 {
29494		return invalidParams
29495	}
29496	return nil
29497}
29498
29499// SetSegmentId sets the SegmentId field's value.
29500func (s *SegmentCondition) SetSegmentId(v string) *SegmentCondition {
29501	s.SegmentId = &v
29502	return s
29503}
29504
29505// Specifies demographic-based dimension settings for including or excluding
29506// endpoints from a segment. These settings derive from characteristics of endpoint
29507// devices, such as platform, make, and model.
29508type SegmentDemographics struct {
29509	_ struct{} `type:"structure"`
29510
29511	// The app version criteria for the segment.
29512	AppVersion *SetDimension `type:"structure"`
29513
29514	// The channel criteria for the segment.
29515	Channel *SetDimension `type:"structure"`
29516
29517	// The device type criteria for the segment.
29518	DeviceType *SetDimension `type:"structure"`
29519
29520	// The device make criteria for the segment.
29521	Make *SetDimension `type:"structure"`
29522
29523	// The device model criteria for the segment.
29524	Model *SetDimension `type:"structure"`
29525
29526	// The device platform criteria for the segment.
29527	Platform *SetDimension `type:"structure"`
29528}
29529
29530// String returns the string representation
29531func (s SegmentDemographics) String() string {
29532	return awsutil.Prettify(s)
29533}
29534
29535// GoString returns the string representation
29536func (s SegmentDemographics) GoString() string {
29537	return s.String()
29538}
29539
29540// Validate inspects the fields of the type to determine if they are valid.
29541func (s *SegmentDemographics) Validate() error {
29542	invalidParams := request.ErrInvalidParams{Context: "SegmentDemographics"}
29543	if s.AppVersion != nil {
29544		if err := s.AppVersion.Validate(); err != nil {
29545			invalidParams.AddNested("AppVersion", err.(request.ErrInvalidParams))
29546		}
29547	}
29548	if s.Channel != nil {
29549		if err := s.Channel.Validate(); err != nil {
29550			invalidParams.AddNested("Channel", err.(request.ErrInvalidParams))
29551		}
29552	}
29553	if s.DeviceType != nil {
29554		if err := s.DeviceType.Validate(); err != nil {
29555			invalidParams.AddNested("DeviceType", err.(request.ErrInvalidParams))
29556		}
29557	}
29558	if s.Make != nil {
29559		if err := s.Make.Validate(); err != nil {
29560			invalidParams.AddNested("Make", err.(request.ErrInvalidParams))
29561		}
29562	}
29563	if s.Model != nil {
29564		if err := s.Model.Validate(); err != nil {
29565			invalidParams.AddNested("Model", err.(request.ErrInvalidParams))
29566		}
29567	}
29568	if s.Platform != nil {
29569		if err := s.Platform.Validate(); err != nil {
29570			invalidParams.AddNested("Platform", err.(request.ErrInvalidParams))
29571		}
29572	}
29573
29574	if invalidParams.Len() > 0 {
29575		return invalidParams
29576	}
29577	return nil
29578}
29579
29580// SetAppVersion sets the AppVersion field's value.
29581func (s *SegmentDemographics) SetAppVersion(v *SetDimension) *SegmentDemographics {
29582	s.AppVersion = v
29583	return s
29584}
29585
29586// SetChannel sets the Channel field's value.
29587func (s *SegmentDemographics) SetChannel(v *SetDimension) *SegmentDemographics {
29588	s.Channel = v
29589	return s
29590}
29591
29592// SetDeviceType sets the DeviceType field's value.
29593func (s *SegmentDemographics) SetDeviceType(v *SetDimension) *SegmentDemographics {
29594	s.DeviceType = v
29595	return s
29596}
29597
29598// SetMake sets the Make field's value.
29599func (s *SegmentDemographics) SetMake(v *SetDimension) *SegmentDemographics {
29600	s.Make = v
29601	return s
29602}
29603
29604// SetModel sets the Model field's value.
29605func (s *SegmentDemographics) SetModel(v *SetDimension) *SegmentDemographics {
29606	s.Model = v
29607	return s
29608}
29609
29610// SetPlatform sets the Platform field's value.
29611func (s *SegmentDemographics) SetPlatform(v *SetDimension) *SegmentDemographics {
29612	s.Platform = v
29613	return s
29614}
29615
29616// Specifies the dimension settings for a segment.
29617type SegmentDimensions struct {
29618	_ struct{} `type:"structure"`
29619
29620	// One or more custom attributes to use as criteria for the segment.
29621	Attributes map[string]*AttributeDimension `type:"map"`
29622
29623	// The behavior-based criteria, such as how recently users have used your app,
29624	// for the segment.
29625	Behavior *SegmentBehaviors `type:"structure"`
29626
29627	// The demographic-based criteria, such as device platform, for the segment.
29628	Demographic *SegmentDemographics `type:"structure"`
29629
29630	// The location-based criteria, such as region or GPS coordinates, for the segment.
29631	Location *SegmentLocation `type:"structure"`
29632
29633	// One or more custom metrics to use as criteria for the segment.
29634	Metrics map[string]*MetricDimension `type:"map"`
29635
29636	// One or more custom user attributes to use as criteria for the segment.
29637	UserAttributes map[string]*AttributeDimension `type:"map"`
29638}
29639
29640// String returns the string representation
29641func (s SegmentDimensions) String() string {
29642	return awsutil.Prettify(s)
29643}
29644
29645// GoString returns the string representation
29646func (s SegmentDimensions) GoString() string {
29647	return s.String()
29648}
29649
29650// Validate inspects the fields of the type to determine if they are valid.
29651func (s *SegmentDimensions) Validate() error {
29652	invalidParams := request.ErrInvalidParams{Context: "SegmentDimensions"}
29653	if s.Attributes != nil {
29654		for i, v := range s.Attributes {
29655			if v == nil {
29656				continue
29657			}
29658			if err := v.Validate(); err != nil {
29659				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
29660			}
29661		}
29662	}
29663	if s.Behavior != nil {
29664		if err := s.Behavior.Validate(); err != nil {
29665			invalidParams.AddNested("Behavior", err.(request.ErrInvalidParams))
29666		}
29667	}
29668	if s.Demographic != nil {
29669		if err := s.Demographic.Validate(); err != nil {
29670			invalidParams.AddNested("Demographic", err.(request.ErrInvalidParams))
29671		}
29672	}
29673	if s.Location != nil {
29674		if err := s.Location.Validate(); err != nil {
29675			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
29676		}
29677	}
29678	if s.Metrics != nil {
29679		for i, v := range s.Metrics {
29680			if v == nil {
29681				continue
29682			}
29683			if err := v.Validate(); err != nil {
29684				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams))
29685			}
29686		}
29687	}
29688	if s.UserAttributes != nil {
29689		for i, v := range s.UserAttributes {
29690			if v == nil {
29691				continue
29692			}
29693			if err := v.Validate(); err != nil {
29694				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAttributes", i), err.(request.ErrInvalidParams))
29695			}
29696		}
29697	}
29698
29699	if invalidParams.Len() > 0 {
29700		return invalidParams
29701	}
29702	return nil
29703}
29704
29705// SetAttributes sets the Attributes field's value.
29706func (s *SegmentDimensions) SetAttributes(v map[string]*AttributeDimension) *SegmentDimensions {
29707	s.Attributes = v
29708	return s
29709}
29710
29711// SetBehavior sets the Behavior field's value.
29712func (s *SegmentDimensions) SetBehavior(v *SegmentBehaviors) *SegmentDimensions {
29713	s.Behavior = v
29714	return s
29715}
29716
29717// SetDemographic sets the Demographic field's value.
29718func (s *SegmentDimensions) SetDemographic(v *SegmentDemographics) *SegmentDimensions {
29719	s.Demographic = v
29720	return s
29721}
29722
29723// SetLocation sets the Location field's value.
29724func (s *SegmentDimensions) SetLocation(v *SegmentLocation) *SegmentDimensions {
29725	s.Location = v
29726	return s
29727}
29728
29729// SetMetrics sets the Metrics field's value.
29730func (s *SegmentDimensions) SetMetrics(v map[string]*MetricDimension) *SegmentDimensions {
29731	s.Metrics = v
29732	return s
29733}
29734
29735// SetUserAttributes sets the UserAttributes field's value.
29736func (s *SegmentDimensions) SetUserAttributes(v map[string]*AttributeDimension) *SegmentDimensions {
29737	s.UserAttributes = v
29738	return s
29739}
29740
29741// Specifies the base segments and dimensions for a segment, and the relationships
29742// between these base segments and dimensions.
29743type SegmentGroup struct {
29744	_ struct{} `type:"structure"`
29745
29746	// An array that defines the dimensions for the segment.
29747	Dimensions []*SegmentDimensions `type:"list"`
29748
29749	// The base segment to build the segment on. A base segment, also referred to
29750	// as a source segment, defines the initial population of endpoints for a segment.
29751	// When you add dimensions to a segment, Amazon Pinpoint filters the base segment
29752	// by using the dimensions that you specify.
29753	//
29754	// You can specify more than one dimensional segment or only one imported segment.
29755	// If you specify an imported segment, the Amazon Pinpoint console displays
29756	// a segment size estimate that indicates the size of the imported segment without
29757	// any filters applied to it.
29758	SourceSegments []*SegmentReference `type:"list"`
29759
29760	// Specifies how to handle multiple base segments for the segment. For example,
29761	// if you specify three base segments for the segment, whether the resulting
29762	// segment is based on all, any, or none of the base segments.
29763	SourceType *string `type:"string" enum:"SourceType"`
29764
29765	// Specifies how to handle multiple dimensions for the segment. For example,
29766	// if you specify three dimensions for the segment, whether the resulting segment
29767	// includes endpoints that match all, any, or none of the dimensions.
29768	Type *string `type:"string" enum:"Type"`
29769}
29770
29771// String returns the string representation
29772func (s SegmentGroup) String() string {
29773	return awsutil.Prettify(s)
29774}
29775
29776// GoString returns the string representation
29777func (s SegmentGroup) GoString() string {
29778	return s.String()
29779}
29780
29781// Validate inspects the fields of the type to determine if they are valid.
29782func (s *SegmentGroup) Validate() error {
29783	invalidParams := request.ErrInvalidParams{Context: "SegmentGroup"}
29784	if s.Dimensions != nil {
29785		for i, v := range s.Dimensions {
29786			if v == nil {
29787				continue
29788			}
29789			if err := v.Validate(); err != nil {
29790				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
29791			}
29792		}
29793	}
29794	if s.SourceSegments != nil {
29795		for i, v := range s.SourceSegments {
29796			if v == nil {
29797				continue
29798			}
29799			if err := v.Validate(); err != nil {
29800				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SourceSegments", i), err.(request.ErrInvalidParams))
29801			}
29802		}
29803	}
29804
29805	if invalidParams.Len() > 0 {
29806		return invalidParams
29807	}
29808	return nil
29809}
29810
29811// SetDimensions sets the Dimensions field's value.
29812func (s *SegmentGroup) SetDimensions(v []*SegmentDimensions) *SegmentGroup {
29813	s.Dimensions = v
29814	return s
29815}
29816
29817// SetSourceSegments sets the SourceSegments field's value.
29818func (s *SegmentGroup) SetSourceSegments(v []*SegmentReference) *SegmentGroup {
29819	s.SourceSegments = v
29820	return s
29821}
29822
29823// SetSourceType sets the SourceType field's value.
29824func (s *SegmentGroup) SetSourceType(v string) *SegmentGroup {
29825	s.SourceType = &v
29826	return s
29827}
29828
29829// SetType sets the Type field's value.
29830func (s *SegmentGroup) SetType(v string) *SegmentGroup {
29831	s.Type = &v
29832	return s
29833}
29834
29835// Specifies the settings that define the relationships between segment groups
29836// for a segment.
29837type SegmentGroupList struct {
29838	_ struct{} `type:"structure"`
29839
29840	// An array that defines the set of segment criteria to evaluate when handling
29841	// segment groups for the segment.
29842	Groups []*SegmentGroup `type:"list"`
29843
29844	// Specifies how to handle multiple segment groups for the segment. For example,
29845	// if the segment includes three segment groups, whether the resulting segment
29846	// includes endpoints that match all, any, or none of the segment groups.
29847	Include *string `type:"string" enum:"Include"`
29848}
29849
29850// String returns the string representation
29851func (s SegmentGroupList) String() string {
29852	return awsutil.Prettify(s)
29853}
29854
29855// GoString returns the string representation
29856func (s SegmentGroupList) GoString() string {
29857	return s.String()
29858}
29859
29860// Validate inspects the fields of the type to determine if they are valid.
29861func (s *SegmentGroupList) Validate() error {
29862	invalidParams := request.ErrInvalidParams{Context: "SegmentGroupList"}
29863	if s.Groups != nil {
29864		for i, v := range s.Groups {
29865			if v == nil {
29866				continue
29867			}
29868			if err := v.Validate(); err != nil {
29869				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Groups", i), err.(request.ErrInvalidParams))
29870			}
29871		}
29872	}
29873
29874	if invalidParams.Len() > 0 {
29875		return invalidParams
29876	}
29877	return nil
29878}
29879
29880// SetGroups sets the Groups field's value.
29881func (s *SegmentGroupList) SetGroups(v []*SegmentGroup) *SegmentGroupList {
29882	s.Groups = v
29883	return s
29884}
29885
29886// SetInclude sets the Include field's value.
29887func (s *SegmentGroupList) SetInclude(v string) *SegmentGroupList {
29888	s.Include = &v
29889	return s
29890}
29891
29892// Provides information about the import job that created a segment. An import
29893// job is a job that creates a user segment by importing endpoint definitions.
29894type SegmentImportResource struct {
29895	_ struct{} `type:"structure"`
29896
29897	// The number of channel types in the endpoint definitions that were imported
29898	// to create the segment.
29899	ChannelCounts map[string]*int64 `type:"map"`
29900
29901	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
29902	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
29903	// an IAM role when importing endpoint definitions, but we removed this requirement.
29904	// We don't recommend use of external IDs for IAM roles that are assumed by
29905	// Amazon Pinpoint.
29906	//
29907	// ExternalId is a required field
29908	ExternalId *string `type:"string" required:"true"`
29909
29910	// The format of the files that were imported to create the segment. Valid values
29911	// are: CSV, for comma-separated values format; and, JSON, for newline-delimited
29912	// JSON format.
29913	//
29914	// Format is a required field
29915	Format *string `type:"string" required:"true" enum:"Format"`
29916
29917	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
29918	// (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location
29919	// to import endpoint definitions from.
29920	//
29921	// RoleArn is a required field
29922	RoleArn *string `type:"string" required:"true"`
29923
29924	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that the
29925	// endpoint definitions were imported from to create the segment.
29926	//
29927	// S3Url is a required field
29928	S3Url *string `type:"string" required:"true"`
29929
29930	// The number of endpoint definitions that were imported successfully to create
29931	// the segment.
29932	//
29933	// Size is a required field
29934	Size *int64 `type:"integer" required:"true"`
29935}
29936
29937// String returns the string representation
29938func (s SegmentImportResource) String() string {
29939	return awsutil.Prettify(s)
29940}
29941
29942// GoString returns the string representation
29943func (s SegmentImportResource) GoString() string {
29944	return s.String()
29945}
29946
29947// SetChannelCounts sets the ChannelCounts field's value.
29948func (s *SegmentImportResource) SetChannelCounts(v map[string]*int64) *SegmentImportResource {
29949	s.ChannelCounts = v
29950	return s
29951}
29952
29953// SetExternalId sets the ExternalId field's value.
29954func (s *SegmentImportResource) SetExternalId(v string) *SegmentImportResource {
29955	s.ExternalId = &v
29956	return s
29957}
29958
29959// SetFormat sets the Format field's value.
29960func (s *SegmentImportResource) SetFormat(v string) *SegmentImportResource {
29961	s.Format = &v
29962	return s
29963}
29964
29965// SetRoleArn sets the RoleArn field's value.
29966func (s *SegmentImportResource) SetRoleArn(v string) *SegmentImportResource {
29967	s.RoleArn = &v
29968	return s
29969}
29970
29971// SetS3Url sets the S3Url field's value.
29972func (s *SegmentImportResource) SetS3Url(v string) *SegmentImportResource {
29973	s.S3Url = &v
29974	return s
29975}
29976
29977// SetSize sets the Size field's value.
29978func (s *SegmentImportResource) SetSize(v int64) *SegmentImportResource {
29979	s.Size = &v
29980	return s
29981}
29982
29983// Specifies geographical dimension settings for a segment.
29984type SegmentLocation struct {
29985	_ struct{} `type:"structure"`
29986
29987	// The country or region code, in ISO 3166-1 alpha-2 format, for the segment.
29988	Country *SetDimension `type:"structure"`
29989
29990	// The GPS location and range for the segment.
29991	GPSPoint *GPSPointDimension `type:"structure"`
29992}
29993
29994// String returns the string representation
29995func (s SegmentLocation) String() string {
29996	return awsutil.Prettify(s)
29997}
29998
29999// GoString returns the string representation
30000func (s SegmentLocation) GoString() string {
30001	return s.String()
30002}
30003
30004// Validate inspects the fields of the type to determine if they are valid.
30005func (s *SegmentLocation) Validate() error {
30006	invalidParams := request.ErrInvalidParams{Context: "SegmentLocation"}
30007	if s.Country != nil {
30008		if err := s.Country.Validate(); err != nil {
30009			invalidParams.AddNested("Country", err.(request.ErrInvalidParams))
30010		}
30011	}
30012	if s.GPSPoint != nil {
30013		if err := s.GPSPoint.Validate(); err != nil {
30014			invalidParams.AddNested("GPSPoint", err.(request.ErrInvalidParams))
30015		}
30016	}
30017
30018	if invalidParams.Len() > 0 {
30019		return invalidParams
30020	}
30021	return nil
30022}
30023
30024// SetCountry sets the Country field's value.
30025func (s *SegmentLocation) SetCountry(v *SetDimension) *SegmentLocation {
30026	s.Country = v
30027	return s
30028}
30029
30030// SetGPSPoint sets the GPSPoint field's value.
30031func (s *SegmentLocation) SetGPSPoint(v *GPSPointDimension) *SegmentLocation {
30032	s.GPSPoint = v
30033	return s
30034}
30035
30036// Specifies the segment identifier and version of a segment.
30037type SegmentReference struct {
30038	_ struct{} `type:"structure"`
30039
30040	// The unique identifier for the segment.
30041	//
30042	// Id is a required field
30043	Id *string `type:"string" required:"true"`
30044
30045	// The version number of the segment.
30046	Version *int64 `type:"integer"`
30047}
30048
30049// String returns the string representation
30050func (s SegmentReference) String() string {
30051	return awsutil.Prettify(s)
30052}
30053
30054// GoString returns the string representation
30055func (s SegmentReference) GoString() string {
30056	return s.String()
30057}
30058
30059// Validate inspects the fields of the type to determine if they are valid.
30060func (s *SegmentReference) Validate() error {
30061	invalidParams := request.ErrInvalidParams{Context: "SegmentReference"}
30062	if s.Id == nil {
30063		invalidParams.Add(request.NewErrParamRequired("Id"))
30064	}
30065
30066	if invalidParams.Len() > 0 {
30067		return invalidParams
30068	}
30069	return nil
30070}
30071
30072// SetId sets the Id field's value.
30073func (s *SegmentReference) SetId(v string) *SegmentReference {
30074	s.Id = &v
30075	return s
30076}
30077
30078// SetVersion sets the Version field's value.
30079func (s *SegmentReference) SetVersion(v int64) *SegmentReference {
30080	s.Version = &v
30081	return s
30082}
30083
30084// Provides information about the configuration, dimension, and other settings
30085// for a segment.
30086type SegmentResponse struct {
30087	_ struct{} `type:"structure"`
30088
30089	// The unique identifier for the application that the segment is associated
30090	// with.
30091	//
30092	// ApplicationId is a required field
30093	ApplicationId *string `type:"string" required:"true"`
30094
30095	// The Amazon Resource Name (ARN) of the segment.
30096	//
30097	// Arn is a required field
30098	Arn *string `type:"string" required:"true"`
30099
30100	// The date and time when the segment was created.
30101	//
30102	// CreationDate is a required field
30103	CreationDate *string `type:"string" required:"true"`
30104
30105	// The dimension settings for the segment.
30106	Dimensions *SegmentDimensions `type:"structure"`
30107
30108	// The unique identifier for the segment.
30109	//
30110	// Id is a required field
30111	Id *string `type:"string" required:"true"`
30112
30113	// The settings for the import job that's associated with the segment.
30114	ImportDefinition *SegmentImportResource `type:"structure"`
30115
30116	// The date and time when the segment was last modified.
30117	LastModifiedDate *string `type:"string"`
30118
30119	// The name of the segment.
30120	Name *string `type:"string"`
30121
30122	// A list of one or more segment groups that apply to the segment. Each segment
30123	// group consists of zero or more base segments and the dimensions that are
30124	// applied to those base segments.
30125	SegmentGroups *SegmentGroupList `type:"structure"`
30126
30127	// The segment type. Valid values are:
30128	//
30129	//    * DIMENSIONAL - A dynamic segment, which is a segment that uses selection
30130	//    criteria that you specify and is based on endpoint data that's reported
30131	//    by your app. Dynamic segments can change over time.
30132	//
30133	//    * IMPORT - A static segment, which is a segment that uses selection criteria
30134	//    that you specify and is based on endpoint definitions that you import
30135	//    from a file. Imported segments are static; they don't change over time.
30136	//
30137	// SegmentType is a required field
30138	SegmentType *string `type:"string" required:"true" enum:"SegmentType"`
30139
30140	// A string-to-string map of key-value pairs that identifies the tags that are
30141	// associated with the segment. Each tag consists of a required tag key and
30142	// an associated tag value.
30143	Tags map[string]*string `locationName:"tags" type:"map"`
30144
30145	// The version number of the segment.
30146	Version *int64 `type:"integer"`
30147}
30148
30149// String returns the string representation
30150func (s SegmentResponse) String() string {
30151	return awsutil.Prettify(s)
30152}
30153
30154// GoString returns the string representation
30155func (s SegmentResponse) GoString() string {
30156	return s.String()
30157}
30158
30159// SetApplicationId sets the ApplicationId field's value.
30160func (s *SegmentResponse) SetApplicationId(v string) *SegmentResponse {
30161	s.ApplicationId = &v
30162	return s
30163}
30164
30165// SetArn sets the Arn field's value.
30166func (s *SegmentResponse) SetArn(v string) *SegmentResponse {
30167	s.Arn = &v
30168	return s
30169}
30170
30171// SetCreationDate sets the CreationDate field's value.
30172func (s *SegmentResponse) SetCreationDate(v string) *SegmentResponse {
30173	s.CreationDate = &v
30174	return s
30175}
30176
30177// SetDimensions sets the Dimensions field's value.
30178func (s *SegmentResponse) SetDimensions(v *SegmentDimensions) *SegmentResponse {
30179	s.Dimensions = v
30180	return s
30181}
30182
30183// SetId sets the Id field's value.
30184func (s *SegmentResponse) SetId(v string) *SegmentResponse {
30185	s.Id = &v
30186	return s
30187}
30188
30189// SetImportDefinition sets the ImportDefinition field's value.
30190func (s *SegmentResponse) SetImportDefinition(v *SegmentImportResource) *SegmentResponse {
30191	s.ImportDefinition = v
30192	return s
30193}
30194
30195// SetLastModifiedDate sets the LastModifiedDate field's value.
30196func (s *SegmentResponse) SetLastModifiedDate(v string) *SegmentResponse {
30197	s.LastModifiedDate = &v
30198	return s
30199}
30200
30201// SetName sets the Name field's value.
30202func (s *SegmentResponse) SetName(v string) *SegmentResponse {
30203	s.Name = &v
30204	return s
30205}
30206
30207// SetSegmentGroups sets the SegmentGroups field's value.
30208func (s *SegmentResponse) SetSegmentGroups(v *SegmentGroupList) *SegmentResponse {
30209	s.SegmentGroups = v
30210	return s
30211}
30212
30213// SetSegmentType sets the SegmentType field's value.
30214func (s *SegmentResponse) SetSegmentType(v string) *SegmentResponse {
30215	s.SegmentType = &v
30216	return s
30217}
30218
30219// SetTags sets the Tags field's value.
30220func (s *SegmentResponse) SetTags(v map[string]*string) *SegmentResponse {
30221	s.Tags = v
30222	return s
30223}
30224
30225// SetVersion sets the Version field's value.
30226func (s *SegmentResponse) SetVersion(v int64) *SegmentResponse {
30227	s.Version = &v
30228	return s
30229}
30230
30231// Provides information about all the segments that are associated with an application.
30232type SegmentsResponse struct {
30233	_ struct{} `type:"structure"`
30234
30235	// An array of responses, one for each segment that's associated with the application
30236	// (Segments resource) or each version of a segment that's associated with the
30237	// application (Segment Versions resource).
30238	//
30239	// Item is a required field
30240	Item []*SegmentResponse `type:"list" required:"true"`
30241
30242	// The string to use in a subsequent request to get the next page of results
30243	// in a paginated response. This value is null if there are no additional pages.
30244	NextToken *string `type:"string"`
30245}
30246
30247// String returns the string representation
30248func (s SegmentsResponse) String() string {
30249	return awsutil.Prettify(s)
30250}
30251
30252// GoString returns the string representation
30253func (s SegmentsResponse) GoString() string {
30254	return s.String()
30255}
30256
30257// SetItem sets the Item field's value.
30258func (s *SegmentsResponse) SetItem(v []*SegmentResponse) *SegmentsResponse {
30259	s.Item = v
30260	return s
30261}
30262
30263// SetNextToken sets the NextToken field's value.
30264func (s *SegmentsResponse) SetNextToken(v string) *SegmentsResponse {
30265	s.NextToken = &v
30266	return s
30267}
30268
30269type SendMessagesInput struct {
30270	_ struct{} `type:"structure" payload:"MessageRequest"`
30271
30272	// ApplicationId is a required field
30273	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
30274
30275	// Specifies the configuration and other settings for a message.
30276	//
30277	// MessageRequest is a required field
30278	MessageRequest *MessageRequest `type:"structure" required:"true"`
30279}
30280
30281// String returns the string representation
30282func (s SendMessagesInput) String() string {
30283	return awsutil.Prettify(s)
30284}
30285
30286// GoString returns the string representation
30287func (s SendMessagesInput) GoString() string {
30288	return s.String()
30289}
30290
30291// Validate inspects the fields of the type to determine if they are valid.
30292func (s *SendMessagesInput) Validate() error {
30293	invalidParams := request.ErrInvalidParams{Context: "SendMessagesInput"}
30294	if s.ApplicationId == nil {
30295		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
30296	}
30297	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
30298		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
30299	}
30300	if s.MessageRequest == nil {
30301		invalidParams.Add(request.NewErrParamRequired("MessageRequest"))
30302	}
30303	if s.MessageRequest != nil {
30304		if err := s.MessageRequest.Validate(); err != nil {
30305			invalidParams.AddNested("MessageRequest", err.(request.ErrInvalidParams))
30306		}
30307	}
30308
30309	if invalidParams.Len() > 0 {
30310		return invalidParams
30311	}
30312	return nil
30313}
30314
30315// SetApplicationId sets the ApplicationId field's value.
30316func (s *SendMessagesInput) SetApplicationId(v string) *SendMessagesInput {
30317	s.ApplicationId = &v
30318	return s
30319}
30320
30321// SetMessageRequest sets the MessageRequest field's value.
30322func (s *SendMessagesInput) SetMessageRequest(v *MessageRequest) *SendMessagesInput {
30323	s.MessageRequest = v
30324	return s
30325}
30326
30327type SendMessagesOutput struct {
30328	_ struct{} `type:"structure" payload:"MessageResponse"`
30329
30330	// Provides information about the results of a request to send a message to
30331	// an endpoint address.
30332	//
30333	// MessageResponse is a required field
30334	MessageResponse *MessageResponse `type:"structure" required:"true"`
30335}
30336
30337// String returns the string representation
30338func (s SendMessagesOutput) String() string {
30339	return awsutil.Prettify(s)
30340}
30341
30342// GoString returns the string representation
30343func (s SendMessagesOutput) GoString() string {
30344	return s.String()
30345}
30346
30347// SetMessageResponse sets the MessageResponse field's value.
30348func (s *SendMessagesOutput) SetMessageResponse(v *MessageResponse) *SendMessagesOutput {
30349	s.MessageResponse = v
30350	return s
30351}
30352
30353// Specifies the configuration and other settings for a message to send to all
30354// the endpoints that are associated with a list of users.
30355type SendUsersMessageRequest struct {
30356	_ struct{} `type:"structure"`
30357
30358	// A map of custom attribute-value pairs. For a push notification, Amazon Pinpoint
30359	// adds these attributes to the data.pinpoint object in the body of the notification
30360	// payload. Amazon Pinpoint also provides these attributes in the events that
30361	// it generates for users-messages deliveries.
30362	Context map[string]*string `type:"map"`
30363
30364	// The settings and content for the default message and any default messages
30365	// that you defined for specific channels.
30366	//
30367	// MessageConfiguration is a required field
30368	MessageConfiguration *DirectMessageConfiguration `type:"structure" required:"true"`
30369
30370	// The message template to use for the message.
30371	TemplateConfiguration *TemplateConfiguration `type:"structure"`
30372
30373	// The unique identifier for tracing the message. This identifier is visible
30374	// to message recipients.
30375	TraceId *string `type:"string"`
30376
30377	// 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)
30378	// 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)
30379	// object to tailor the message for a user by specifying settings such as content
30380	// overrides and message variables.
30381	//
30382	// Users is a required field
30383	Users map[string]*EndpointSendConfiguration `type:"map" required:"true"`
30384}
30385
30386// String returns the string representation
30387func (s SendUsersMessageRequest) String() string {
30388	return awsutil.Prettify(s)
30389}
30390
30391// GoString returns the string representation
30392func (s SendUsersMessageRequest) GoString() string {
30393	return s.String()
30394}
30395
30396// Validate inspects the fields of the type to determine if they are valid.
30397func (s *SendUsersMessageRequest) Validate() error {
30398	invalidParams := request.ErrInvalidParams{Context: "SendUsersMessageRequest"}
30399	if s.MessageConfiguration == nil {
30400		invalidParams.Add(request.NewErrParamRequired("MessageConfiguration"))
30401	}
30402	if s.Users == nil {
30403		invalidParams.Add(request.NewErrParamRequired("Users"))
30404	}
30405
30406	if invalidParams.Len() > 0 {
30407		return invalidParams
30408	}
30409	return nil
30410}
30411
30412// SetContext sets the Context field's value.
30413func (s *SendUsersMessageRequest) SetContext(v map[string]*string) *SendUsersMessageRequest {
30414	s.Context = v
30415	return s
30416}
30417
30418// SetMessageConfiguration sets the MessageConfiguration field's value.
30419func (s *SendUsersMessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) *SendUsersMessageRequest {
30420	s.MessageConfiguration = v
30421	return s
30422}
30423
30424// SetTemplateConfiguration sets the TemplateConfiguration field's value.
30425func (s *SendUsersMessageRequest) SetTemplateConfiguration(v *TemplateConfiguration) *SendUsersMessageRequest {
30426	s.TemplateConfiguration = v
30427	return s
30428}
30429
30430// SetTraceId sets the TraceId field's value.
30431func (s *SendUsersMessageRequest) SetTraceId(v string) *SendUsersMessageRequest {
30432	s.TraceId = &v
30433	return s
30434}
30435
30436// SetUsers sets the Users field's value.
30437func (s *SendUsersMessageRequest) SetUsers(v map[string]*EndpointSendConfiguration) *SendUsersMessageRequest {
30438	s.Users = v
30439	return s
30440}
30441
30442// Provides information about which users and endpoints a message was sent to.
30443type SendUsersMessageResponse struct {
30444	_ struct{} `type:"structure"`
30445
30446	// The unique identifier for the application that was used to send the message.
30447	//
30448	// ApplicationId is a required field
30449	ApplicationId *string `type:"string" required:"true"`
30450
30451	// The unique identifier that was assigned to the message request.
30452	RequestId *string `type:"string"`
30453
30454	// An object that indicates which endpoints the message was sent to, for each
30455	// user. The object lists user IDs and, for each user ID, provides the endpoint
30456	// IDs that the message was sent to. For each endpoint ID, it provides an EndpointMessageResult
30457	// object.
30458	Result map[string]map[string]*EndpointMessageResult `type:"map"`
30459}
30460
30461// String returns the string representation
30462func (s SendUsersMessageResponse) String() string {
30463	return awsutil.Prettify(s)
30464}
30465
30466// GoString returns the string representation
30467func (s SendUsersMessageResponse) GoString() string {
30468	return s.String()
30469}
30470
30471// SetApplicationId sets the ApplicationId field's value.
30472func (s *SendUsersMessageResponse) SetApplicationId(v string) *SendUsersMessageResponse {
30473	s.ApplicationId = &v
30474	return s
30475}
30476
30477// SetRequestId sets the RequestId field's value.
30478func (s *SendUsersMessageResponse) SetRequestId(v string) *SendUsersMessageResponse {
30479	s.RequestId = &v
30480	return s
30481}
30482
30483// SetResult sets the Result field's value.
30484func (s *SendUsersMessageResponse) SetResult(v map[string]map[string]*EndpointMessageResult) *SendUsersMessageResponse {
30485	s.Result = v
30486	return s
30487}
30488
30489type SendUsersMessagesInput struct {
30490	_ struct{} `type:"structure" payload:"SendUsersMessageRequest"`
30491
30492	// ApplicationId is a required field
30493	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
30494
30495	// Specifies the configuration and other settings for a message to send to all
30496	// the endpoints that are associated with a list of users.
30497	//
30498	// SendUsersMessageRequest is a required field
30499	SendUsersMessageRequest *SendUsersMessageRequest `type:"structure" required:"true"`
30500}
30501
30502// String returns the string representation
30503func (s SendUsersMessagesInput) String() string {
30504	return awsutil.Prettify(s)
30505}
30506
30507// GoString returns the string representation
30508func (s SendUsersMessagesInput) GoString() string {
30509	return s.String()
30510}
30511
30512// Validate inspects the fields of the type to determine if they are valid.
30513func (s *SendUsersMessagesInput) Validate() error {
30514	invalidParams := request.ErrInvalidParams{Context: "SendUsersMessagesInput"}
30515	if s.ApplicationId == nil {
30516		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
30517	}
30518	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
30519		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
30520	}
30521	if s.SendUsersMessageRequest == nil {
30522		invalidParams.Add(request.NewErrParamRequired("SendUsersMessageRequest"))
30523	}
30524	if s.SendUsersMessageRequest != nil {
30525		if err := s.SendUsersMessageRequest.Validate(); err != nil {
30526			invalidParams.AddNested("SendUsersMessageRequest", err.(request.ErrInvalidParams))
30527		}
30528	}
30529
30530	if invalidParams.Len() > 0 {
30531		return invalidParams
30532	}
30533	return nil
30534}
30535
30536// SetApplicationId sets the ApplicationId field's value.
30537func (s *SendUsersMessagesInput) SetApplicationId(v string) *SendUsersMessagesInput {
30538	s.ApplicationId = &v
30539	return s
30540}
30541
30542// SetSendUsersMessageRequest sets the SendUsersMessageRequest field's value.
30543func (s *SendUsersMessagesInput) SetSendUsersMessageRequest(v *SendUsersMessageRequest) *SendUsersMessagesInput {
30544	s.SendUsersMessageRequest = v
30545	return s
30546}
30547
30548type SendUsersMessagesOutput struct {
30549	_ struct{} `type:"structure" payload:"SendUsersMessageResponse"`
30550
30551	// Provides information about which users and endpoints a message was sent to.
30552	//
30553	// SendUsersMessageResponse is a required field
30554	SendUsersMessageResponse *SendUsersMessageResponse `type:"structure" required:"true"`
30555}
30556
30557// String returns the string representation
30558func (s SendUsersMessagesOutput) String() string {
30559	return awsutil.Prettify(s)
30560}
30561
30562// GoString returns the string representation
30563func (s SendUsersMessagesOutput) GoString() string {
30564	return s.String()
30565}
30566
30567// SetSendUsersMessageResponse sets the SendUsersMessageResponse field's value.
30568func (s *SendUsersMessagesOutput) SetSendUsersMessageResponse(v *SendUsersMessageResponse) *SendUsersMessagesOutput {
30569	s.SendUsersMessageResponse = v
30570	return s
30571}
30572
30573// Provides information about a session.
30574type Session struct {
30575	_ struct{} `type:"structure"`
30576
30577	// The duration of the session, in milliseconds.
30578	Duration *int64 `type:"integer"`
30579
30580	// The unique identifier for the session.
30581	//
30582	// Id is a required field
30583	Id *string `type:"string" required:"true"`
30584
30585	// The date and time when the session began.
30586	//
30587	// StartTimestamp is a required field
30588	StartTimestamp *string `type:"string" required:"true"`
30589
30590	// The date and time when the session ended.
30591	StopTimestamp *string `type:"string"`
30592}
30593
30594// String returns the string representation
30595func (s Session) String() string {
30596	return awsutil.Prettify(s)
30597}
30598
30599// GoString returns the string representation
30600func (s Session) GoString() string {
30601	return s.String()
30602}
30603
30604// Validate inspects the fields of the type to determine if they are valid.
30605func (s *Session) Validate() error {
30606	invalidParams := request.ErrInvalidParams{Context: "Session"}
30607	if s.Id == nil {
30608		invalidParams.Add(request.NewErrParamRequired("Id"))
30609	}
30610	if s.StartTimestamp == nil {
30611		invalidParams.Add(request.NewErrParamRequired("StartTimestamp"))
30612	}
30613
30614	if invalidParams.Len() > 0 {
30615		return invalidParams
30616	}
30617	return nil
30618}
30619
30620// SetDuration sets the Duration field's value.
30621func (s *Session) SetDuration(v int64) *Session {
30622	s.Duration = &v
30623	return s
30624}
30625
30626// SetId sets the Id field's value.
30627func (s *Session) SetId(v string) *Session {
30628	s.Id = &v
30629	return s
30630}
30631
30632// SetStartTimestamp sets the StartTimestamp field's value.
30633func (s *Session) SetStartTimestamp(v string) *Session {
30634	s.StartTimestamp = &v
30635	return s
30636}
30637
30638// SetStopTimestamp sets the StopTimestamp field's value.
30639func (s *Session) SetStopTimestamp(v string) *Session {
30640	s.StopTimestamp = &v
30641	return s
30642}
30643
30644// Specifies the dimension type and values for a segment dimension.
30645type SetDimension struct {
30646	_ struct{} `type:"structure"`
30647
30648	// The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints
30649	// that match the criteria are included in the segment; and, EXCLUSIVE, endpoints
30650	// that match the criteria are excluded from the segment.
30651	DimensionType *string `type:"string" enum:"DimensionType"`
30652
30653	// The criteria values to use for the segment dimension. Depending on the value
30654	// of the DimensionType property, endpoints are included or excluded from the
30655	// segment if their values match the criteria values.
30656	//
30657	// Values is a required field
30658	Values []*string `type:"list" required:"true"`
30659}
30660
30661// String returns the string representation
30662func (s SetDimension) String() string {
30663	return awsutil.Prettify(s)
30664}
30665
30666// GoString returns the string representation
30667func (s SetDimension) GoString() string {
30668	return s.String()
30669}
30670
30671// Validate inspects the fields of the type to determine if they are valid.
30672func (s *SetDimension) Validate() error {
30673	invalidParams := request.ErrInvalidParams{Context: "SetDimension"}
30674	if s.Values == nil {
30675		invalidParams.Add(request.NewErrParamRequired("Values"))
30676	}
30677
30678	if invalidParams.Len() > 0 {
30679		return invalidParams
30680	}
30681	return nil
30682}
30683
30684// SetDimensionType sets the DimensionType field's value.
30685func (s *SetDimension) SetDimensionType(v string) *SetDimension {
30686	s.DimensionType = &v
30687	return s
30688}
30689
30690// SetValues sets the Values field's value.
30691func (s *SetDimension) SetValues(v []*string) *SetDimension {
30692	s.Values = v
30693	return s
30694}
30695
30696// Specifies a condition to evaluate for an activity in a journey.
30697type SimpleCondition struct {
30698	_ struct{} `type:"structure"`
30699
30700	// The dimension settings for the event that's associated with the activity.
30701	EventCondition *EventCondition `type:"structure"`
30702
30703	// The segment that's associated with the activity.
30704	SegmentCondition *SegmentCondition `type:"structure"`
30705
30706	// The dimension settings for the segment that's associated with the activity.
30707	SegmentDimensions *SegmentDimensions `locationName:"segmentDimensions" type:"structure"`
30708}
30709
30710// String returns the string representation
30711func (s SimpleCondition) String() string {
30712	return awsutil.Prettify(s)
30713}
30714
30715// GoString returns the string representation
30716func (s SimpleCondition) GoString() string {
30717	return s.String()
30718}
30719
30720// Validate inspects the fields of the type to determine if they are valid.
30721func (s *SimpleCondition) Validate() error {
30722	invalidParams := request.ErrInvalidParams{Context: "SimpleCondition"}
30723	if s.EventCondition != nil {
30724		if err := s.EventCondition.Validate(); err != nil {
30725			invalidParams.AddNested("EventCondition", err.(request.ErrInvalidParams))
30726		}
30727	}
30728	if s.SegmentCondition != nil {
30729		if err := s.SegmentCondition.Validate(); err != nil {
30730			invalidParams.AddNested("SegmentCondition", err.(request.ErrInvalidParams))
30731		}
30732	}
30733	if s.SegmentDimensions != nil {
30734		if err := s.SegmentDimensions.Validate(); err != nil {
30735			invalidParams.AddNested("SegmentDimensions", err.(request.ErrInvalidParams))
30736		}
30737	}
30738
30739	if invalidParams.Len() > 0 {
30740		return invalidParams
30741	}
30742	return nil
30743}
30744
30745// SetEventCondition sets the EventCondition field's value.
30746func (s *SimpleCondition) SetEventCondition(v *EventCondition) *SimpleCondition {
30747	s.EventCondition = v
30748	return s
30749}
30750
30751// SetSegmentCondition sets the SegmentCondition field's value.
30752func (s *SimpleCondition) SetSegmentCondition(v *SegmentCondition) *SimpleCondition {
30753	s.SegmentCondition = v
30754	return s
30755}
30756
30757// SetSegmentDimensions sets the SegmentDimensions field's value.
30758func (s *SimpleCondition) SetSegmentDimensions(v *SegmentDimensions) *SimpleCondition {
30759	s.SegmentDimensions = v
30760	return s
30761}
30762
30763// Specifies the contents of an email message, composed of a subject, a text
30764// part, and an HTML part.
30765type SimpleEmail struct {
30766	_ struct{} `type:"structure"`
30767
30768	// The body of the email message, in HTML format. We recommend using HTML format
30769	// for email clients that render HTML content. You can include links, formatted
30770	// text, and more in an HTML message.
30771	HtmlPart *SimpleEmailPart `type:"structure"`
30772
30773	// The subject line, or title, of the email.
30774	Subject *SimpleEmailPart `type:"structure"`
30775
30776	// The body of the email message, in plain text format. We recommend using plain
30777	// text format for email clients that don't render HTML content and clients
30778	// that are connected to high-latency networks, such as mobile devices.
30779	TextPart *SimpleEmailPart `type:"structure"`
30780}
30781
30782// String returns the string representation
30783func (s SimpleEmail) String() string {
30784	return awsutil.Prettify(s)
30785}
30786
30787// GoString returns the string representation
30788func (s SimpleEmail) GoString() string {
30789	return s.String()
30790}
30791
30792// SetHtmlPart sets the HtmlPart field's value.
30793func (s *SimpleEmail) SetHtmlPart(v *SimpleEmailPart) *SimpleEmail {
30794	s.HtmlPart = v
30795	return s
30796}
30797
30798// SetSubject sets the Subject field's value.
30799func (s *SimpleEmail) SetSubject(v *SimpleEmailPart) *SimpleEmail {
30800	s.Subject = v
30801	return s
30802}
30803
30804// SetTextPart sets the TextPart field's value.
30805func (s *SimpleEmail) SetTextPart(v *SimpleEmailPart) *SimpleEmail {
30806	s.TextPart = v
30807	return s
30808}
30809
30810// Specifies the subject or body of an email message, represented as textual
30811// email data and the applicable character set.
30812type SimpleEmailPart struct {
30813	_ struct{} `type:"structure"`
30814
30815	// The applicable character set for the message content.
30816	Charset *string `type:"string"`
30817
30818	// The textual data of the message content.
30819	Data *string `type:"string"`
30820}
30821
30822// String returns the string representation
30823func (s SimpleEmailPart) String() string {
30824	return awsutil.Prettify(s)
30825}
30826
30827// GoString returns the string representation
30828func (s SimpleEmailPart) GoString() string {
30829	return s.String()
30830}
30831
30832// SetCharset sets the Charset field's value.
30833func (s *SimpleEmailPart) SetCharset(v string) *SimpleEmailPart {
30834	s.Charset = &v
30835	return s
30836}
30837
30838// SetData sets the Data field's value.
30839func (s *SimpleEmailPart) SetData(v string) *SimpleEmailPart {
30840	s.Data = &v
30841	return s
30842}
30843
30844// Specifies the conditions for the first activity in a journey. This activity
30845// and its conditions determine which users are participants in a journey.
30846type StartCondition struct {
30847	_ struct{} `type:"structure"`
30848
30849	// The custom description of the condition.
30850	Description *string `type:"string"`
30851
30852	// Specifies the settings for an event that causes a journey activity to start.
30853	EventStartCondition *EventStartCondition `type:"structure"`
30854
30855	// The segment that's associated with the first activity in the journey. This
30856	// segment determines which users are participants in the journey.
30857	SegmentStartCondition *SegmentCondition `type:"structure"`
30858}
30859
30860// String returns the string representation
30861func (s StartCondition) String() string {
30862	return awsutil.Prettify(s)
30863}
30864
30865// GoString returns the string representation
30866func (s StartCondition) GoString() string {
30867	return s.String()
30868}
30869
30870// Validate inspects the fields of the type to determine if they are valid.
30871func (s *StartCondition) Validate() error {
30872	invalidParams := request.ErrInvalidParams{Context: "StartCondition"}
30873	if s.EventStartCondition != nil {
30874		if err := s.EventStartCondition.Validate(); err != nil {
30875			invalidParams.AddNested("EventStartCondition", err.(request.ErrInvalidParams))
30876		}
30877	}
30878	if s.SegmentStartCondition != nil {
30879		if err := s.SegmentStartCondition.Validate(); err != nil {
30880			invalidParams.AddNested("SegmentStartCondition", err.(request.ErrInvalidParams))
30881		}
30882	}
30883
30884	if invalidParams.Len() > 0 {
30885		return invalidParams
30886	}
30887	return nil
30888}
30889
30890// SetDescription sets the Description field's value.
30891func (s *StartCondition) SetDescription(v string) *StartCondition {
30892	s.Description = &v
30893	return s
30894}
30895
30896// SetEventStartCondition sets the EventStartCondition field's value.
30897func (s *StartCondition) SetEventStartCondition(v *EventStartCondition) *StartCondition {
30898	s.EventStartCondition = v
30899	return s
30900}
30901
30902// SetSegmentStartCondition sets the SegmentStartCondition field's value.
30903func (s *StartCondition) SetSegmentStartCondition(v *SegmentCondition) *StartCondition {
30904	s.SegmentStartCondition = v
30905	return s
30906}
30907
30908type TagResourceInput struct {
30909	_ struct{} `type:"structure" payload:"TagsModel"`
30910
30911	// ResourceArn is a required field
30912	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
30913
30914	// Specifies the tags (keys and values) for an application, campaign, message
30915	// template, or segment.
30916	//
30917	// TagsModel is a required field
30918	TagsModel *TagsModel `type:"structure" required:"true"`
30919}
30920
30921// String returns the string representation
30922func (s TagResourceInput) String() string {
30923	return awsutil.Prettify(s)
30924}
30925
30926// GoString returns the string representation
30927func (s TagResourceInput) GoString() string {
30928	return s.String()
30929}
30930
30931// Validate inspects the fields of the type to determine if they are valid.
30932func (s *TagResourceInput) Validate() error {
30933	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
30934	if s.ResourceArn == nil {
30935		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
30936	}
30937	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
30938		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
30939	}
30940	if s.TagsModel == nil {
30941		invalidParams.Add(request.NewErrParamRequired("TagsModel"))
30942	}
30943	if s.TagsModel != nil {
30944		if err := s.TagsModel.Validate(); err != nil {
30945			invalidParams.AddNested("TagsModel", err.(request.ErrInvalidParams))
30946		}
30947	}
30948
30949	if invalidParams.Len() > 0 {
30950		return invalidParams
30951	}
30952	return nil
30953}
30954
30955// SetResourceArn sets the ResourceArn field's value.
30956func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
30957	s.ResourceArn = &v
30958	return s
30959}
30960
30961// SetTagsModel sets the TagsModel field's value.
30962func (s *TagResourceInput) SetTagsModel(v *TagsModel) *TagResourceInput {
30963	s.TagsModel = v
30964	return s
30965}
30966
30967type TagResourceOutput struct {
30968	_ struct{} `type:"structure"`
30969}
30970
30971// String returns the string representation
30972func (s TagResourceOutput) String() string {
30973	return awsutil.Prettify(s)
30974}
30975
30976// GoString returns the string representation
30977func (s TagResourceOutput) GoString() string {
30978	return s.String()
30979}
30980
30981// Specifies the tags (keys and values) for an application, campaign, message
30982// template, or segment.
30983type TagsModel struct {
30984	_ struct{} `type:"structure"`
30985
30986	// A string-to-string map of key-value pairs that defines the tags for an application,
30987	// campaign, message template, or segment. Each of these resources can have
30988	// a maximum of 50 tags.
30989	//
30990	// Each tag consists of a required tag key and an associated tag value. The
30991	// maximum length of a tag key is 128 characters. The maximum length of a tag
30992	// value is 256 characters.
30993	//
30994	// Tags is a required field
30995	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
30996}
30997
30998// String returns the string representation
30999func (s TagsModel) String() string {
31000	return awsutil.Prettify(s)
31001}
31002
31003// GoString returns the string representation
31004func (s TagsModel) GoString() string {
31005	return s.String()
31006}
31007
31008// Validate inspects the fields of the type to determine if they are valid.
31009func (s *TagsModel) Validate() error {
31010	invalidParams := request.ErrInvalidParams{Context: "TagsModel"}
31011	if s.Tags == nil {
31012		invalidParams.Add(request.NewErrParamRequired("Tags"))
31013	}
31014
31015	if invalidParams.Len() > 0 {
31016		return invalidParams
31017	}
31018	return nil
31019}
31020
31021// SetTags sets the Tags field's value.
31022func (s *TagsModel) SetTags(v map[string]*string) *TagsModel {
31023	s.Tags = v
31024	return s
31025}
31026
31027// Specifies the name and version of the message template to use for the message.
31028type Template struct {
31029	_ struct{} `type:"structure"`
31030
31031	// The name of the message template to use for the message. If specified, this
31032	// value must match the name of an existing message template.
31033	Name *string `type:"string"`
31034
31035	// The unique identifier for the version of the message template to use for
31036	// the message. If specified, this value must match the identifier for an existing
31037	// template version. To retrieve a list of versions and version identifiers
31038	// for a template, use the Template Versions resource.
31039	//
31040	// If you don't specify a value for this property, Amazon Pinpoint uses the
31041	// active version of the template. The active version is typically the version
31042	// of a template that's been most recently reviewed and approved for use, depending
31043	// on your workflow. It isn't necessarily the latest version of a template.
31044	Version *string `type:"string"`
31045}
31046
31047// String returns the string representation
31048func (s Template) String() string {
31049	return awsutil.Prettify(s)
31050}
31051
31052// GoString returns the string representation
31053func (s Template) GoString() string {
31054	return s.String()
31055}
31056
31057// SetName sets the Name field's value.
31058func (s *Template) SetName(v string) *Template {
31059	s.Name = &v
31060	return s
31061}
31062
31063// SetVersion sets the Version field's value.
31064func (s *Template) SetVersion(v string) *Template {
31065	s.Version = &v
31066	return s
31067}
31068
31069// Specifies which version of a message template to use as the active version
31070// of the template.
31071type TemplateActiveVersionRequest struct {
31072	_ struct{} `type:"structure"`
31073
31074	// The version of the message template to use as the active version of the template.
31075	// Valid values are: latest, for the most recent version of the template; or,
31076	// the unique identifier for any existing version of the template. If you specify
31077	// an identifier, the value must match the identifier for an existing template
31078	// version. To retrieve a list of versions and version identifiers for a template,
31079	// use the Template Versions resource.
31080	Version *string `type:"string"`
31081}
31082
31083// String returns the string representation
31084func (s TemplateActiveVersionRequest) String() string {
31085	return awsutil.Prettify(s)
31086}
31087
31088// GoString returns the string representation
31089func (s TemplateActiveVersionRequest) GoString() string {
31090	return s.String()
31091}
31092
31093// SetVersion sets the Version field's value.
31094func (s *TemplateActiveVersionRequest) SetVersion(v string) *TemplateActiveVersionRequest {
31095	s.Version = &v
31096	return s
31097}
31098
31099// Specifies the message template to use for the message, for each type of channel.
31100type TemplateConfiguration struct {
31101	_ struct{} `type:"structure"`
31102
31103	// The email template to use for the message.
31104	EmailTemplate *Template `type:"structure"`
31105
31106	// The push notification template to use for the message.
31107	PushTemplate *Template `type:"structure"`
31108
31109	// The SMS template to use for the message.
31110	SMSTemplate *Template `type:"structure"`
31111
31112	// The voice template to use for the message. This object isn't supported for
31113	// campaigns.
31114	VoiceTemplate *Template `type:"structure"`
31115}
31116
31117// String returns the string representation
31118func (s TemplateConfiguration) String() string {
31119	return awsutil.Prettify(s)
31120}
31121
31122// GoString returns the string representation
31123func (s TemplateConfiguration) GoString() string {
31124	return s.String()
31125}
31126
31127// SetEmailTemplate sets the EmailTemplate field's value.
31128func (s *TemplateConfiguration) SetEmailTemplate(v *Template) *TemplateConfiguration {
31129	s.EmailTemplate = v
31130	return s
31131}
31132
31133// SetPushTemplate sets the PushTemplate field's value.
31134func (s *TemplateConfiguration) SetPushTemplate(v *Template) *TemplateConfiguration {
31135	s.PushTemplate = v
31136	return s
31137}
31138
31139// SetSMSTemplate sets the SMSTemplate field's value.
31140func (s *TemplateConfiguration) SetSMSTemplate(v *Template) *TemplateConfiguration {
31141	s.SMSTemplate = v
31142	return s
31143}
31144
31145// SetVoiceTemplate sets the VoiceTemplate field's value.
31146func (s *TemplateConfiguration) SetVoiceTemplate(v *Template) *TemplateConfiguration {
31147	s.VoiceTemplate = v
31148	return s
31149}
31150
31151// Provides information about a message template that's associated with your
31152// Amazon Pinpoint account.
31153type TemplateResponse struct {
31154	_ struct{} `type:"structure"`
31155
31156	// The Amazon Resource Name (ARN) of the message template. This value isn't
31157	// included in a TemplateResponse object. To retrieve the ARN of a template,
31158	// use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
31159	// operation, depending on the type of template that you want to retrieve the
31160	// ARN for.
31161	Arn *string `type:"string"`
31162
31163	// The date, in ISO 8601 format, when the message template was created.
31164	//
31165	// CreationDate is a required field
31166	CreationDate *string `type:"string" required:"true"`
31167
31168	// The JSON object that specifies the default values that are used for message
31169	// variables in the message template. This object isn't included in a TemplateResponse
31170	// object. To retrieve this object for a template, use the GetEmailTemplate,
31171	// GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending
31172	// on the type of template that you want to retrieve the object for.
31173	DefaultSubstitutions *string `type:"string"`
31174
31175	// The date, in ISO 8601 format, when the message template was last modified.
31176	//
31177	// LastModifiedDate is a required field
31178	LastModifiedDate *string `type:"string" required:"true"`
31179
31180	// A map of key-value pairs that identifies the tags that are associated with
31181	// the message template. This object isn't included in a TemplateResponse object.
31182	// To retrieve this object for a template, use the GetEmailTemplate, GetPushTemplate,
31183	// GetSmsTemplate, or GetVoiceTemplate operation, depending on the type of template
31184	// that you want to retrieve the object for.
31185	Tags map[string]*string `locationName:"tags" type:"map"`
31186
31187	// The custom description of the message template. This value isn't included
31188	// in a TemplateResponse object. To retrieve the description of a template,
31189	// use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
31190	// operation, depending on the type of template that you want to retrieve the
31191	// description for.
31192	TemplateDescription *string `type:"string"`
31193
31194	// The name of the message template.
31195	//
31196	// TemplateName is a required field
31197	TemplateName *string `type:"string" required:"true"`
31198
31199	// The type of channel that the message template is designed for. Possible values
31200	// are: EMAIL, PUSH, SMS, and VOICE.
31201	//
31202	// TemplateType is a required field
31203	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
31204
31205	// The unique identifier, as an integer, for the active version of the message
31206	// template.
31207	Version *string `type:"string"`
31208}
31209
31210// String returns the string representation
31211func (s TemplateResponse) String() string {
31212	return awsutil.Prettify(s)
31213}
31214
31215// GoString returns the string representation
31216func (s TemplateResponse) GoString() string {
31217	return s.String()
31218}
31219
31220// SetArn sets the Arn field's value.
31221func (s *TemplateResponse) SetArn(v string) *TemplateResponse {
31222	s.Arn = &v
31223	return s
31224}
31225
31226// SetCreationDate sets the CreationDate field's value.
31227func (s *TemplateResponse) SetCreationDate(v string) *TemplateResponse {
31228	s.CreationDate = &v
31229	return s
31230}
31231
31232// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
31233func (s *TemplateResponse) SetDefaultSubstitutions(v string) *TemplateResponse {
31234	s.DefaultSubstitutions = &v
31235	return s
31236}
31237
31238// SetLastModifiedDate sets the LastModifiedDate field's value.
31239func (s *TemplateResponse) SetLastModifiedDate(v string) *TemplateResponse {
31240	s.LastModifiedDate = &v
31241	return s
31242}
31243
31244// SetTags sets the Tags field's value.
31245func (s *TemplateResponse) SetTags(v map[string]*string) *TemplateResponse {
31246	s.Tags = v
31247	return s
31248}
31249
31250// SetTemplateDescription sets the TemplateDescription field's value.
31251func (s *TemplateResponse) SetTemplateDescription(v string) *TemplateResponse {
31252	s.TemplateDescription = &v
31253	return s
31254}
31255
31256// SetTemplateName sets the TemplateName field's value.
31257func (s *TemplateResponse) SetTemplateName(v string) *TemplateResponse {
31258	s.TemplateName = &v
31259	return s
31260}
31261
31262// SetTemplateType sets the TemplateType field's value.
31263func (s *TemplateResponse) SetTemplateType(v string) *TemplateResponse {
31264	s.TemplateType = &v
31265	return s
31266}
31267
31268// SetVersion sets the Version field's value.
31269func (s *TemplateResponse) SetVersion(v string) *TemplateResponse {
31270	s.Version = &v
31271	return s
31272}
31273
31274// Provides information about a specific version of a message template.
31275type TemplateVersionResponse struct {
31276	_ struct{} `type:"structure"`
31277
31278	// The date, in ISO 8601 format, when the version of the message template was
31279	// created.
31280	//
31281	// CreationDate is a required field
31282	CreationDate *string `type:"string" required:"true"`
31283
31284	// A JSON object that specifies the default values that are used for message
31285	// variables in the version of the message template. This object is a set of
31286	// key-value pairs. Each key defines a message variable in the template. The
31287	// corresponding value defines the default value for that variable.
31288	DefaultSubstitutions *string `type:"string"`
31289
31290	// The date, in ISO 8601 format, when the version of the message template was
31291	// last modified.
31292	//
31293	// LastModifiedDate is a required field
31294	LastModifiedDate *string `type:"string" required:"true"`
31295
31296	// The custom description of the version of the message template.
31297	TemplateDescription *string `type:"string"`
31298
31299	// The name of the message template.
31300	//
31301	// TemplateName is a required field
31302	TemplateName *string `type:"string" required:"true"`
31303
31304	// The type of channel that the message template is designed for. Possible values
31305	// are: EMAIL, PUSH, SMS, and VOICE.
31306	//
31307	// TemplateType is a required field
31308	TemplateType *string `type:"string" required:"true"`
31309
31310	// The unique identifier for the version of the message template. This value
31311	// is an integer that Amazon Pinpoint automatically increments and assigns to
31312	// each new version of a template.
31313	Version *string `type:"string"`
31314}
31315
31316// String returns the string representation
31317func (s TemplateVersionResponse) String() string {
31318	return awsutil.Prettify(s)
31319}
31320
31321// GoString returns the string representation
31322func (s TemplateVersionResponse) GoString() string {
31323	return s.String()
31324}
31325
31326// SetCreationDate sets the CreationDate field's value.
31327func (s *TemplateVersionResponse) SetCreationDate(v string) *TemplateVersionResponse {
31328	s.CreationDate = &v
31329	return s
31330}
31331
31332// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
31333func (s *TemplateVersionResponse) SetDefaultSubstitutions(v string) *TemplateVersionResponse {
31334	s.DefaultSubstitutions = &v
31335	return s
31336}
31337
31338// SetLastModifiedDate sets the LastModifiedDate field's value.
31339func (s *TemplateVersionResponse) SetLastModifiedDate(v string) *TemplateVersionResponse {
31340	s.LastModifiedDate = &v
31341	return s
31342}
31343
31344// SetTemplateDescription sets the TemplateDescription field's value.
31345func (s *TemplateVersionResponse) SetTemplateDescription(v string) *TemplateVersionResponse {
31346	s.TemplateDescription = &v
31347	return s
31348}
31349
31350// SetTemplateName sets the TemplateName field's value.
31351func (s *TemplateVersionResponse) SetTemplateName(v string) *TemplateVersionResponse {
31352	s.TemplateName = &v
31353	return s
31354}
31355
31356// SetTemplateType sets the TemplateType field's value.
31357func (s *TemplateVersionResponse) SetTemplateType(v string) *TemplateVersionResponse {
31358	s.TemplateType = &v
31359	return s
31360}
31361
31362// SetVersion sets the Version field's value.
31363func (s *TemplateVersionResponse) SetVersion(v string) *TemplateVersionResponse {
31364	s.Version = &v
31365	return s
31366}
31367
31368// Provides information about all the versions of a specific message template.
31369type TemplateVersionsResponse struct {
31370	_ struct{} `type:"structure"`
31371
31372	// An array of responses, one for each version of the message template.
31373	//
31374	// Item is a required field
31375	Item []*TemplateVersionResponse `type:"list" required:"true"`
31376
31377	// The message that's returned from the API for the request to retrieve information
31378	// about all the versions of the message template.
31379	Message *string `type:"string"`
31380
31381	// The string to use in a subsequent request to get the next page of results
31382	// in a paginated response. This value is null if there are no additional pages.
31383	NextToken *string `type:"string"`
31384
31385	// The unique identifier for the request to retrieve information about all the
31386	// versions of the message template.
31387	RequestID *string `type:"string"`
31388}
31389
31390// String returns the string representation
31391func (s TemplateVersionsResponse) String() string {
31392	return awsutil.Prettify(s)
31393}
31394
31395// GoString returns the string representation
31396func (s TemplateVersionsResponse) GoString() string {
31397	return s.String()
31398}
31399
31400// SetItem sets the Item field's value.
31401func (s *TemplateVersionsResponse) SetItem(v []*TemplateVersionResponse) *TemplateVersionsResponse {
31402	s.Item = v
31403	return s
31404}
31405
31406// SetMessage sets the Message field's value.
31407func (s *TemplateVersionsResponse) SetMessage(v string) *TemplateVersionsResponse {
31408	s.Message = &v
31409	return s
31410}
31411
31412// SetNextToken sets the NextToken field's value.
31413func (s *TemplateVersionsResponse) SetNextToken(v string) *TemplateVersionsResponse {
31414	s.NextToken = &v
31415	return s
31416}
31417
31418// SetRequestID sets the RequestID field's value.
31419func (s *TemplateVersionsResponse) SetRequestID(v string) *TemplateVersionsResponse {
31420	s.RequestID = &v
31421	return s
31422}
31423
31424// Provides information about all the message templates that are associated
31425// with your Amazon Pinpoint account.
31426type TemplatesResponse struct {
31427	_ struct{} `type:"structure"`
31428
31429	// An array of responses, one for each message template that's associated with
31430	// your Amazon Pinpoint account and meets any filter criteria that you specified
31431	// in the request.
31432	//
31433	// Item is a required field
31434	Item []*TemplateResponse `type:"list" required:"true"`
31435
31436	// The string to use in a subsequent request to get the next page of results
31437	// in a paginated response. This value is null if there are no additional pages.
31438	NextToken *string `type:"string"`
31439}
31440
31441// String returns the string representation
31442func (s TemplatesResponse) String() string {
31443	return awsutil.Prettify(s)
31444}
31445
31446// GoString returns the string representation
31447func (s TemplatesResponse) GoString() string {
31448	return s.String()
31449}
31450
31451// SetItem sets the Item field's value.
31452func (s *TemplatesResponse) SetItem(v []*TemplateResponse) *TemplatesResponse {
31453	s.Item = v
31454	return s
31455}
31456
31457// SetNextToken sets the NextToken field's value.
31458func (s *TemplatesResponse) SetNextToken(v string) *TemplatesResponse {
31459	s.NextToken = &v
31460	return s
31461}
31462
31463// Provides information about an API request or response.
31464type TooManyRequestsException struct {
31465	_            struct{}                  `type:"structure"`
31466	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
31467
31468	Message_ *string `locationName:"Message" type:"string"`
31469
31470	RequestID_ *string `locationName:"RequestID" type:"string"`
31471}
31472
31473// String returns the string representation
31474func (s TooManyRequestsException) String() string {
31475	return awsutil.Prettify(s)
31476}
31477
31478// GoString returns the string representation
31479func (s TooManyRequestsException) GoString() string {
31480	return s.String()
31481}
31482
31483func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
31484	return &TooManyRequestsException{
31485		RespMetadata: v,
31486	}
31487}
31488
31489// Code returns the exception type name.
31490func (s *TooManyRequestsException) Code() string {
31491	return "TooManyRequestsException"
31492}
31493
31494// Message returns the exception's message.
31495func (s *TooManyRequestsException) Message() string {
31496	if s.Message_ != nil {
31497		return *s.Message_
31498	}
31499	return ""
31500}
31501
31502// OrigErr always returns nil, satisfies awserr.Error interface.
31503func (s *TooManyRequestsException) OrigErr() error {
31504	return nil
31505}
31506
31507func (s *TooManyRequestsException) Error() string {
31508	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
31509}
31510
31511// Status code returns the HTTP status code for the request's response error.
31512func (s *TooManyRequestsException) StatusCode() int {
31513	return s.RespMetadata.StatusCode
31514}
31515
31516// RequestID returns the service's response RequestID for request.
31517func (s *TooManyRequestsException) RequestID() string {
31518	return s.RespMetadata.RequestID
31519}
31520
31521// Specifies the settings for a campaign treatment. A treatment is a variation
31522// of a campaign that's used for A/B testing of a campaign.
31523type TreatmentResource struct {
31524	_ struct{} `type:"structure"`
31525
31526	// The delivery configuration settings for sending the treatment through a custom
31527	// channel. This object is required if the MessageConfiguration object for the
31528	// treatment specifies a CustomMessage object.
31529	CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"`
31530
31531	// The unique identifier for the treatment.
31532	//
31533	// Id is a required field
31534	Id *string `type:"string" required:"true"`
31535
31536	// The message configuration settings for the treatment.
31537	MessageConfiguration *MessageConfiguration `type:"structure"`
31538
31539	// The schedule settings for the treatment.
31540	Schedule *Schedule `type:"structure"`
31541
31542	// The allocated percentage of users (segment members) that the treatment is
31543	// sent to.
31544	//
31545	// SizePercent is a required field
31546	SizePercent *int64 `type:"integer" required:"true"`
31547
31548	// The current status of the treatment.
31549	State *CampaignState `type:"structure"`
31550
31551	// The message template to use for the treatment.
31552	TemplateConfiguration *TemplateConfiguration `type:"structure"`
31553
31554	// The custom description of the treatment.
31555	TreatmentDescription *string `type:"string"`
31556
31557	// The custom name of the treatment.
31558	TreatmentName *string `type:"string"`
31559}
31560
31561// String returns the string representation
31562func (s TreatmentResource) String() string {
31563	return awsutil.Prettify(s)
31564}
31565
31566// GoString returns the string representation
31567func (s TreatmentResource) GoString() string {
31568	return s.String()
31569}
31570
31571// SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value.
31572func (s *TreatmentResource) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *TreatmentResource {
31573	s.CustomDeliveryConfiguration = v
31574	return s
31575}
31576
31577// SetId sets the Id field's value.
31578func (s *TreatmentResource) SetId(v string) *TreatmentResource {
31579	s.Id = &v
31580	return s
31581}
31582
31583// SetMessageConfiguration sets the MessageConfiguration field's value.
31584func (s *TreatmentResource) SetMessageConfiguration(v *MessageConfiguration) *TreatmentResource {
31585	s.MessageConfiguration = v
31586	return s
31587}
31588
31589// SetSchedule sets the Schedule field's value.
31590func (s *TreatmentResource) SetSchedule(v *Schedule) *TreatmentResource {
31591	s.Schedule = v
31592	return s
31593}
31594
31595// SetSizePercent sets the SizePercent field's value.
31596func (s *TreatmentResource) SetSizePercent(v int64) *TreatmentResource {
31597	s.SizePercent = &v
31598	return s
31599}
31600
31601// SetState sets the State field's value.
31602func (s *TreatmentResource) SetState(v *CampaignState) *TreatmentResource {
31603	s.State = v
31604	return s
31605}
31606
31607// SetTemplateConfiguration sets the TemplateConfiguration field's value.
31608func (s *TreatmentResource) SetTemplateConfiguration(v *TemplateConfiguration) *TreatmentResource {
31609	s.TemplateConfiguration = v
31610	return s
31611}
31612
31613// SetTreatmentDescription sets the TreatmentDescription field's value.
31614func (s *TreatmentResource) SetTreatmentDescription(v string) *TreatmentResource {
31615	s.TreatmentDescription = &v
31616	return s
31617}
31618
31619// SetTreatmentName sets the TreatmentName field's value.
31620func (s *TreatmentResource) SetTreatmentName(v string) *TreatmentResource {
31621	s.TreatmentName = &v
31622	return s
31623}
31624
31625type UntagResourceInput struct {
31626	_ struct{} `type:"structure"`
31627
31628	// ResourceArn is a required field
31629	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
31630
31631	// TagKeys is a required field
31632	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
31633}
31634
31635// String returns the string representation
31636func (s UntagResourceInput) String() string {
31637	return awsutil.Prettify(s)
31638}
31639
31640// GoString returns the string representation
31641func (s UntagResourceInput) GoString() string {
31642	return s.String()
31643}
31644
31645// Validate inspects the fields of the type to determine if they are valid.
31646func (s *UntagResourceInput) Validate() error {
31647	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
31648	if s.ResourceArn == nil {
31649		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
31650	}
31651	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
31652		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
31653	}
31654	if s.TagKeys == nil {
31655		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
31656	}
31657
31658	if invalidParams.Len() > 0 {
31659		return invalidParams
31660	}
31661	return nil
31662}
31663
31664// SetResourceArn sets the ResourceArn field's value.
31665func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
31666	s.ResourceArn = &v
31667	return s
31668}
31669
31670// SetTagKeys sets the TagKeys field's value.
31671func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
31672	s.TagKeys = v
31673	return s
31674}
31675
31676type UntagResourceOutput struct {
31677	_ struct{} `type:"structure"`
31678}
31679
31680// String returns the string representation
31681func (s UntagResourceOutput) String() string {
31682	return awsutil.Prettify(s)
31683}
31684
31685// GoString returns the string representation
31686func (s UntagResourceOutput) GoString() string {
31687	return s.String()
31688}
31689
31690type UpdateAdmChannelInput struct {
31691	_ struct{} `type:"structure" payload:"ADMChannelRequest"`
31692
31693	// Specifies the status and settings of the ADM (Amazon Device Messaging) channel
31694	// for an application.
31695	//
31696	// ADMChannelRequest is a required field
31697	ADMChannelRequest *ADMChannelRequest `type:"structure" required:"true"`
31698
31699	// ApplicationId is a required field
31700	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
31701}
31702
31703// String returns the string representation
31704func (s UpdateAdmChannelInput) String() string {
31705	return awsutil.Prettify(s)
31706}
31707
31708// GoString returns the string representation
31709func (s UpdateAdmChannelInput) GoString() string {
31710	return s.String()
31711}
31712
31713// Validate inspects the fields of the type to determine if they are valid.
31714func (s *UpdateAdmChannelInput) Validate() error {
31715	invalidParams := request.ErrInvalidParams{Context: "UpdateAdmChannelInput"}
31716	if s.ADMChannelRequest == nil {
31717		invalidParams.Add(request.NewErrParamRequired("ADMChannelRequest"))
31718	}
31719	if s.ApplicationId == nil {
31720		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
31721	}
31722	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
31723		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
31724	}
31725	if s.ADMChannelRequest != nil {
31726		if err := s.ADMChannelRequest.Validate(); err != nil {
31727			invalidParams.AddNested("ADMChannelRequest", err.(request.ErrInvalidParams))
31728		}
31729	}
31730
31731	if invalidParams.Len() > 0 {
31732		return invalidParams
31733	}
31734	return nil
31735}
31736
31737// SetADMChannelRequest sets the ADMChannelRequest field's value.
31738func (s *UpdateAdmChannelInput) SetADMChannelRequest(v *ADMChannelRequest) *UpdateAdmChannelInput {
31739	s.ADMChannelRequest = v
31740	return s
31741}
31742
31743// SetApplicationId sets the ApplicationId field's value.
31744func (s *UpdateAdmChannelInput) SetApplicationId(v string) *UpdateAdmChannelInput {
31745	s.ApplicationId = &v
31746	return s
31747}
31748
31749type UpdateAdmChannelOutput struct {
31750	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
31751
31752	// Provides information about the status and settings of the ADM (Amazon Device
31753	// Messaging) channel for an application.
31754	//
31755	// ADMChannelResponse is a required field
31756	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
31757}
31758
31759// String returns the string representation
31760func (s UpdateAdmChannelOutput) String() string {
31761	return awsutil.Prettify(s)
31762}
31763
31764// GoString returns the string representation
31765func (s UpdateAdmChannelOutput) GoString() string {
31766	return s.String()
31767}
31768
31769// SetADMChannelResponse sets the ADMChannelResponse field's value.
31770func (s *UpdateAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *UpdateAdmChannelOutput {
31771	s.ADMChannelResponse = v
31772	return s
31773}
31774
31775type UpdateApnsChannelInput struct {
31776	_ struct{} `type:"structure" payload:"APNSChannelRequest"`
31777
31778	// Specifies the status and settings of the APNs (Apple Push Notification service)
31779	// channel for an application.
31780	//
31781	// APNSChannelRequest is a required field
31782	APNSChannelRequest *APNSChannelRequest `type:"structure" required:"true"`
31783
31784	// ApplicationId is a required field
31785	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
31786}
31787
31788// String returns the string representation
31789func (s UpdateApnsChannelInput) String() string {
31790	return awsutil.Prettify(s)
31791}
31792
31793// GoString returns the string representation
31794func (s UpdateApnsChannelInput) GoString() string {
31795	return s.String()
31796}
31797
31798// Validate inspects the fields of the type to determine if they are valid.
31799func (s *UpdateApnsChannelInput) Validate() error {
31800	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsChannelInput"}
31801	if s.APNSChannelRequest == nil {
31802		invalidParams.Add(request.NewErrParamRequired("APNSChannelRequest"))
31803	}
31804	if s.ApplicationId == nil {
31805		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
31806	}
31807	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
31808		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
31809	}
31810
31811	if invalidParams.Len() > 0 {
31812		return invalidParams
31813	}
31814	return nil
31815}
31816
31817// SetAPNSChannelRequest sets the APNSChannelRequest field's value.
31818func (s *UpdateApnsChannelInput) SetAPNSChannelRequest(v *APNSChannelRequest) *UpdateApnsChannelInput {
31819	s.APNSChannelRequest = v
31820	return s
31821}
31822
31823// SetApplicationId sets the ApplicationId field's value.
31824func (s *UpdateApnsChannelInput) SetApplicationId(v string) *UpdateApnsChannelInput {
31825	s.ApplicationId = &v
31826	return s
31827}
31828
31829type UpdateApnsChannelOutput struct {
31830	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
31831
31832	// Provides information about the status and settings of the APNs (Apple Push
31833	// Notification service) channel for an application.
31834	//
31835	// APNSChannelResponse is a required field
31836	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
31837}
31838
31839// String returns the string representation
31840func (s UpdateApnsChannelOutput) String() string {
31841	return awsutil.Prettify(s)
31842}
31843
31844// GoString returns the string representation
31845func (s UpdateApnsChannelOutput) GoString() string {
31846	return s.String()
31847}
31848
31849// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
31850func (s *UpdateApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *UpdateApnsChannelOutput {
31851	s.APNSChannelResponse = v
31852	return s
31853}
31854
31855type UpdateApnsSandboxChannelInput struct {
31856	_ struct{} `type:"structure" payload:"APNSSandboxChannelRequest"`
31857
31858	// Specifies the status and settings of the APNs (Apple Push Notification service)
31859	// sandbox channel for an application.
31860	//
31861	// APNSSandboxChannelRequest is a required field
31862	APNSSandboxChannelRequest *APNSSandboxChannelRequest `type:"structure" required:"true"`
31863
31864	// ApplicationId is a required field
31865	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
31866}
31867
31868// String returns the string representation
31869func (s UpdateApnsSandboxChannelInput) String() string {
31870	return awsutil.Prettify(s)
31871}
31872
31873// GoString returns the string representation
31874func (s UpdateApnsSandboxChannelInput) GoString() string {
31875	return s.String()
31876}
31877
31878// Validate inspects the fields of the type to determine if they are valid.
31879func (s *UpdateApnsSandboxChannelInput) Validate() error {
31880	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsSandboxChannelInput"}
31881	if s.APNSSandboxChannelRequest == nil {
31882		invalidParams.Add(request.NewErrParamRequired("APNSSandboxChannelRequest"))
31883	}
31884	if s.ApplicationId == nil {
31885		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
31886	}
31887	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
31888		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
31889	}
31890
31891	if invalidParams.Len() > 0 {
31892		return invalidParams
31893	}
31894	return nil
31895}
31896
31897// SetAPNSSandboxChannelRequest sets the APNSSandboxChannelRequest field's value.
31898func (s *UpdateApnsSandboxChannelInput) SetAPNSSandboxChannelRequest(v *APNSSandboxChannelRequest) *UpdateApnsSandboxChannelInput {
31899	s.APNSSandboxChannelRequest = v
31900	return s
31901}
31902
31903// SetApplicationId sets the ApplicationId field's value.
31904func (s *UpdateApnsSandboxChannelInput) SetApplicationId(v string) *UpdateApnsSandboxChannelInput {
31905	s.ApplicationId = &v
31906	return s
31907}
31908
31909type UpdateApnsSandboxChannelOutput struct {
31910	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
31911
31912	// Provides information about the status and settings of the APNs (Apple Push
31913	// Notification service) sandbox channel for an application.
31914	//
31915	// APNSSandboxChannelResponse is a required field
31916	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
31917}
31918
31919// String returns the string representation
31920func (s UpdateApnsSandboxChannelOutput) String() string {
31921	return awsutil.Prettify(s)
31922}
31923
31924// GoString returns the string representation
31925func (s UpdateApnsSandboxChannelOutput) GoString() string {
31926	return s.String()
31927}
31928
31929// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
31930func (s *UpdateApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *UpdateApnsSandboxChannelOutput {
31931	s.APNSSandboxChannelResponse = v
31932	return s
31933}
31934
31935type UpdateApnsVoipChannelInput struct {
31936	_ struct{} `type:"structure" payload:"APNSVoipChannelRequest"`
31937
31938	// Specifies the status and settings of the APNs (Apple Push Notification service)
31939	// VoIP channel for an application.
31940	//
31941	// APNSVoipChannelRequest is a required field
31942	APNSVoipChannelRequest *APNSVoipChannelRequest `type:"structure" required:"true"`
31943
31944	// ApplicationId is a required field
31945	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
31946}
31947
31948// String returns the string representation
31949func (s UpdateApnsVoipChannelInput) String() string {
31950	return awsutil.Prettify(s)
31951}
31952
31953// GoString returns the string representation
31954func (s UpdateApnsVoipChannelInput) GoString() string {
31955	return s.String()
31956}
31957
31958// Validate inspects the fields of the type to determine if they are valid.
31959func (s *UpdateApnsVoipChannelInput) Validate() error {
31960	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsVoipChannelInput"}
31961	if s.APNSVoipChannelRequest == nil {
31962		invalidParams.Add(request.NewErrParamRequired("APNSVoipChannelRequest"))
31963	}
31964	if s.ApplicationId == nil {
31965		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
31966	}
31967	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
31968		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
31969	}
31970
31971	if invalidParams.Len() > 0 {
31972		return invalidParams
31973	}
31974	return nil
31975}
31976
31977// SetAPNSVoipChannelRequest sets the APNSVoipChannelRequest field's value.
31978func (s *UpdateApnsVoipChannelInput) SetAPNSVoipChannelRequest(v *APNSVoipChannelRequest) *UpdateApnsVoipChannelInput {
31979	s.APNSVoipChannelRequest = v
31980	return s
31981}
31982
31983// SetApplicationId sets the ApplicationId field's value.
31984func (s *UpdateApnsVoipChannelInput) SetApplicationId(v string) *UpdateApnsVoipChannelInput {
31985	s.ApplicationId = &v
31986	return s
31987}
31988
31989type UpdateApnsVoipChannelOutput struct {
31990	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
31991
31992	// Provides information about the status and settings of the APNs (Apple Push
31993	// Notification service) VoIP channel for an application.
31994	//
31995	// APNSVoipChannelResponse is a required field
31996	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
31997}
31998
31999// String returns the string representation
32000func (s UpdateApnsVoipChannelOutput) String() string {
32001	return awsutil.Prettify(s)
32002}
32003
32004// GoString returns the string representation
32005func (s UpdateApnsVoipChannelOutput) GoString() string {
32006	return s.String()
32007}
32008
32009// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
32010func (s *UpdateApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *UpdateApnsVoipChannelOutput {
32011	s.APNSVoipChannelResponse = v
32012	return s
32013}
32014
32015type UpdateApnsVoipSandboxChannelInput struct {
32016	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelRequest"`
32017
32018	// Specifies the status and settings of the APNs (Apple Push Notification service)
32019	// VoIP sandbox channel for an application.
32020	//
32021	// APNSVoipSandboxChannelRequest is a required field
32022	APNSVoipSandboxChannelRequest *APNSVoipSandboxChannelRequest `type:"structure" required:"true"`
32023
32024	// ApplicationId is a required field
32025	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32026}
32027
32028// String returns the string representation
32029func (s UpdateApnsVoipSandboxChannelInput) String() string {
32030	return awsutil.Prettify(s)
32031}
32032
32033// GoString returns the string representation
32034func (s UpdateApnsVoipSandboxChannelInput) GoString() string {
32035	return s.String()
32036}
32037
32038// Validate inspects the fields of the type to determine if they are valid.
32039func (s *UpdateApnsVoipSandboxChannelInput) Validate() error {
32040	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsVoipSandboxChannelInput"}
32041	if s.APNSVoipSandboxChannelRequest == nil {
32042		invalidParams.Add(request.NewErrParamRequired("APNSVoipSandboxChannelRequest"))
32043	}
32044	if s.ApplicationId == nil {
32045		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32046	}
32047	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32048		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32049	}
32050
32051	if invalidParams.Len() > 0 {
32052		return invalidParams
32053	}
32054	return nil
32055}
32056
32057// SetAPNSVoipSandboxChannelRequest sets the APNSVoipSandboxChannelRequest field's value.
32058func (s *UpdateApnsVoipSandboxChannelInput) SetAPNSVoipSandboxChannelRequest(v *APNSVoipSandboxChannelRequest) *UpdateApnsVoipSandboxChannelInput {
32059	s.APNSVoipSandboxChannelRequest = v
32060	return s
32061}
32062
32063// SetApplicationId sets the ApplicationId field's value.
32064func (s *UpdateApnsVoipSandboxChannelInput) SetApplicationId(v string) *UpdateApnsVoipSandboxChannelInput {
32065	s.ApplicationId = &v
32066	return s
32067}
32068
32069type UpdateApnsVoipSandboxChannelOutput struct {
32070	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
32071
32072	// Provides information about the status and settings of the APNs (Apple Push
32073	// Notification service) VoIP sandbox channel for an application.
32074	//
32075	// APNSVoipSandboxChannelResponse is a required field
32076	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
32077}
32078
32079// String returns the string representation
32080func (s UpdateApnsVoipSandboxChannelOutput) String() string {
32081	return awsutil.Prettify(s)
32082}
32083
32084// GoString returns the string representation
32085func (s UpdateApnsVoipSandboxChannelOutput) GoString() string {
32086	return s.String()
32087}
32088
32089// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
32090func (s *UpdateApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *UpdateApnsVoipSandboxChannelOutput {
32091	s.APNSVoipSandboxChannelResponse = v
32092	return s
32093}
32094
32095type UpdateApplicationSettingsInput struct {
32096	_ struct{} `type:"structure" payload:"WriteApplicationSettingsRequest"`
32097
32098	// ApplicationId is a required field
32099	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32100
32101	// Specifies the default settings for an application.
32102	//
32103	// WriteApplicationSettingsRequest is a required field
32104	WriteApplicationSettingsRequest *WriteApplicationSettingsRequest `type:"structure" required:"true"`
32105}
32106
32107// String returns the string representation
32108func (s UpdateApplicationSettingsInput) String() string {
32109	return awsutil.Prettify(s)
32110}
32111
32112// GoString returns the string representation
32113func (s UpdateApplicationSettingsInput) GoString() string {
32114	return s.String()
32115}
32116
32117// Validate inspects the fields of the type to determine if they are valid.
32118func (s *UpdateApplicationSettingsInput) Validate() error {
32119	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationSettingsInput"}
32120	if s.ApplicationId == nil {
32121		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32122	}
32123	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32124		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32125	}
32126	if s.WriteApplicationSettingsRequest == nil {
32127		invalidParams.Add(request.NewErrParamRequired("WriteApplicationSettingsRequest"))
32128	}
32129
32130	if invalidParams.Len() > 0 {
32131		return invalidParams
32132	}
32133	return nil
32134}
32135
32136// SetApplicationId sets the ApplicationId field's value.
32137func (s *UpdateApplicationSettingsInput) SetApplicationId(v string) *UpdateApplicationSettingsInput {
32138	s.ApplicationId = &v
32139	return s
32140}
32141
32142// SetWriteApplicationSettingsRequest sets the WriteApplicationSettingsRequest field's value.
32143func (s *UpdateApplicationSettingsInput) SetWriteApplicationSettingsRequest(v *WriteApplicationSettingsRequest) *UpdateApplicationSettingsInput {
32144	s.WriteApplicationSettingsRequest = v
32145	return s
32146}
32147
32148type UpdateApplicationSettingsOutput struct {
32149	_ struct{} `type:"structure" payload:"ApplicationSettingsResource"`
32150
32151	// Provides information about an application, including the default settings
32152	// for an application.
32153	//
32154	// ApplicationSettingsResource is a required field
32155	ApplicationSettingsResource *ApplicationSettingsResource `type:"structure" required:"true"`
32156}
32157
32158// String returns the string representation
32159func (s UpdateApplicationSettingsOutput) String() string {
32160	return awsutil.Prettify(s)
32161}
32162
32163// GoString returns the string representation
32164func (s UpdateApplicationSettingsOutput) GoString() string {
32165	return s.String()
32166}
32167
32168// SetApplicationSettingsResource sets the ApplicationSettingsResource field's value.
32169func (s *UpdateApplicationSettingsOutput) SetApplicationSettingsResource(v *ApplicationSettingsResource) *UpdateApplicationSettingsOutput {
32170	s.ApplicationSettingsResource = v
32171	return s
32172}
32173
32174// Specifies one or more attributes to remove from all the endpoints that are
32175// associated with an application.
32176type UpdateAttributesRequest struct {
32177	_ struct{} `type:"structure"`
32178
32179	// An array of the attributes to remove from all the endpoints that are associated
32180	// with the application. The array can specify the complete, exact name of each
32181	// attribute to remove or it can specify a glob pattern that an attribute name
32182	// must match in order for the attribute to be removed.
32183	Blacklist []*string `type:"list"`
32184}
32185
32186// String returns the string representation
32187func (s UpdateAttributesRequest) String() string {
32188	return awsutil.Prettify(s)
32189}
32190
32191// GoString returns the string representation
32192func (s UpdateAttributesRequest) GoString() string {
32193	return s.String()
32194}
32195
32196// SetBlacklist sets the Blacklist field's value.
32197func (s *UpdateAttributesRequest) SetBlacklist(v []*string) *UpdateAttributesRequest {
32198	s.Blacklist = v
32199	return s
32200}
32201
32202type UpdateBaiduChannelInput struct {
32203	_ struct{} `type:"structure" payload:"BaiduChannelRequest"`
32204
32205	// ApplicationId is a required field
32206	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32207
32208	// Specifies the status and settings of the Baidu (Baidu Cloud Push) channel
32209	// for an application.
32210	//
32211	// BaiduChannelRequest is a required field
32212	BaiduChannelRequest *BaiduChannelRequest `type:"structure" required:"true"`
32213}
32214
32215// String returns the string representation
32216func (s UpdateBaiduChannelInput) String() string {
32217	return awsutil.Prettify(s)
32218}
32219
32220// GoString returns the string representation
32221func (s UpdateBaiduChannelInput) GoString() string {
32222	return s.String()
32223}
32224
32225// Validate inspects the fields of the type to determine if they are valid.
32226func (s *UpdateBaiduChannelInput) Validate() error {
32227	invalidParams := request.ErrInvalidParams{Context: "UpdateBaiduChannelInput"}
32228	if s.ApplicationId == nil {
32229		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32230	}
32231	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32232		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32233	}
32234	if s.BaiduChannelRequest == nil {
32235		invalidParams.Add(request.NewErrParamRequired("BaiduChannelRequest"))
32236	}
32237	if s.BaiduChannelRequest != nil {
32238		if err := s.BaiduChannelRequest.Validate(); err != nil {
32239			invalidParams.AddNested("BaiduChannelRequest", err.(request.ErrInvalidParams))
32240		}
32241	}
32242
32243	if invalidParams.Len() > 0 {
32244		return invalidParams
32245	}
32246	return nil
32247}
32248
32249// SetApplicationId sets the ApplicationId field's value.
32250func (s *UpdateBaiduChannelInput) SetApplicationId(v string) *UpdateBaiduChannelInput {
32251	s.ApplicationId = &v
32252	return s
32253}
32254
32255// SetBaiduChannelRequest sets the BaiduChannelRequest field's value.
32256func (s *UpdateBaiduChannelInput) SetBaiduChannelRequest(v *BaiduChannelRequest) *UpdateBaiduChannelInput {
32257	s.BaiduChannelRequest = v
32258	return s
32259}
32260
32261type UpdateBaiduChannelOutput struct {
32262	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
32263
32264	// Provides information about the status and settings of the Baidu (Baidu Cloud
32265	// Push) channel for an application.
32266	//
32267	// BaiduChannelResponse is a required field
32268	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
32269}
32270
32271// String returns the string representation
32272func (s UpdateBaiduChannelOutput) String() string {
32273	return awsutil.Prettify(s)
32274}
32275
32276// GoString returns the string representation
32277func (s UpdateBaiduChannelOutput) GoString() string {
32278	return s.String()
32279}
32280
32281// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
32282func (s *UpdateBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *UpdateBaiduChannelOutput {
32283	s.BaiduChannelResponse = v
32284	return s
32285}
32286
32287type UpdateCampaignInput struct {
32288	_ struct{} `type:"structure" payload:"WriteCampaignRequest"`
32289
32290	// ApplicationId is a required field
32291	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32292
32293	// CampaignId is a required field
32294	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
32295
32296	// Specifies the configuration and other settings for a campaign.
32297	//
32298	// WriteCampaignRequest is a required field
32299	WriteCampaignRequest *WriteCampaignRequest `type:"structure" required:"true"`
32300}
32301
32302// String returns the string representation
32303func (s UpdateCampaignInput) String() string {
32304	return awsutil.Prettify(s)
32305}
32306
32307// GoString returns the string representation
32308func (s UpdateCampaignInput) GoString() string {
32309	return s.String()
32310}
32311
32312// Validate inspects the fields of the type to determine if they are valid.
32313func (s *UpdateCampaignInput) Validate() error {
32314	invalidParams := request.ErrInvalidParams{Context: "UpdateCampaignInput"}
32315	if s.ApplicationId == nil {
32316		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32317	}
32318	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32319		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32320	}
32321	if s.CampaignId == nil {
32322		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
32323	}
32324	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
32325		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
32326	}
32327	if s.WriteCampaignRequest == nil {
32328		invalidParams.Add(request.NewErrParamRequired("WriteCampaignRequest"))
32329	}
32330	if s.WriteCampaignRequest != nil {
32331		if err := s.WriteCampaignRequest.Validate(); err != nil {
32332			invalidParams.AddNested("WriteCampaignRequest", err.(request.ErrInvalidParams))
32333		}
32334	}
32335
32336	if invalidParams.Len() > 0 {
32337		return invalidParams
32338	}
32339	return nil
32340}
32341
32342// SetApplicationId sets the ApplicationId field's value.
32343func (s *UpdateCampaignInput) SetApplicationId(v string) *UpdateCampaignInput {
32344	s.ApplicationId = &v
32345	return s
32346}
32347
32348// SetCampaignId sets the CampaignId field's value.
32349func (s *UpdateCampaignInput) SetCampaignId(v string) *UpdateCampaignInput {
32350	s.CampaignId = &v
32351	return s
32352}
32353
32354// SetWriteCampaignRequest sets the WriteCampaignRequest field's value.
32355func (s *UpdateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) *UpdateCampaignInput {
32356	s.WriteCampaignRequest = v
32357	return s
32358}
32359
32360type UpdateCampaignOutput struct {
32361	_ struct{} `type:"structure" payload:"CampaignResponse"`
32362
32363	// Provides information about the status, configuration, and other settings
32364	// for a campaign.
32365	//
32366	// CampaignResponse is a required field
32367	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
32368}
32369
32370// String returns the string representation
32371func (s UpdateCampaignOutput) String() string {
32372	return awsutil.Prettify(s)
32373}
32374
32375// GoString returns the string representation
32376func (s UpdateCampaignOutput) GoString() string {
32377	return s.String()
32378}
32379
32380// SetCampaignResponse sets the CampaignResponse field's value.
32381func (s *UpdateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *UpdateCampaignOutput {
32382	s.CampaignResponse = v
32383	return s
32384}
32385
32386type UpdateEmailChannelInput struct {
32387	_ struct{} `type:"structure" payload:"EmailChannelRequest"`
32388
32389	// ApplicationId is a required field
32390	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32391
32392	// Specifies the status and settings of the email channel for an application.
32393	//
32394	// EmailChannelRequest is a required field
32395	EmailChannelRequest *EmailChannelRequest `type:"structure" required:"true"`
32396}
32397
32398// String returns the string representation
32399func (s UpdateEmailChannelInput) String() string {
32400	return awsutil.Prettify(s)
32401}
32402
32403// GoString returns the string representation
32404func (s UpdateEmailChannelInput) GoString() string {
32405	return s.String()
32406}
32407
32408// Validate inspects the fields of the type to determine if they are valid.
32409func (s *UpdateEmailChannelInput) Validate() error {
32410	invalidParams := request.ErrInvalidParams{Context: "UpdateEmailChannelInput"}
32411	if s.ApplicationId == nil {
32412		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32413	}
32414	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32415		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32416	}
32417	if s.EmailChannelRequest == nil {
32418		invalidParams.Add(request.NewErrParamRequired("EmailChannelRequest"))
32419	}
32420	if s.EmailChannelRequest != nil {
32421		if err := s.EmailChannelRequest.Validate(); err != nil {
32422			invalidParams.AddNested("EmailChannelRequest", err.(request.ErrInvalidParams))
32423		}
32424	}
32425
32426	if invalidParams.Len() > 0 {
32427		return invalidParams
32428	}
32429	return nil
32430}
32431
32432// SetApplicationId sets the ApplicationId field's value.
32433func (s *UpdateEmailChannelInput) SetApplicationId(v string) *UpdateEmailChannelInput {
32434	s.ApplicationId = &v
32435	return s
32436}
32437
32438// SetEmailChannelRequest sets the EmailChannelRequest field's value.
32439func (s *UpdateEmailChannelInput) SetEmailChannelRequest(v *EmailChannelRequest) *UpdateEmailChannelInput {
32440	s.EmailChannelRequest = v
32441	return s
32442}
32443
32444type UpdateEmailChannelOutput struct {
32445	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
32446
32447	// Provides information about the status and settings of the email channel for
32448	// an application.
32449	//
32450	// EmailChannelResponse is a required field
32451	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
32452}
32453
32454// String returns the string representation
32455func (s UpdateEmailChannelOutput) String() string {
32456	return awsutil.Prettify(s)
32457}
32458
32459// GoString returns the string representation
32460func (s UpdateEmailChannelOutput) GoString() string {
32461	return s.String()
32462}
32463
32464// SetEmailChannelResponse sets the EmailChannelResponse field's value.
32465func (s *UpdateEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *UpdateEmailChannelOutput {
32466	s.EmailChannelResponse = v
32467	return s
32468}
32469
32470type UpdateEmailTemplateInput struct {
32471	_ struct{} `type:"structure" payload:"EmailTemplateRequest"`
32472
32473	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
32474
32475	// Specifies the content and settings for a message template that can be used
32476	// in messages that are sent through the email channel.
32477	//
32478	// EmailTemplateRequest is a required field
32479	EmailTemplateRequest *EmailTemplateRequest `type:"structure" required:"true"`
32480
32481	// TemplateName is a required field
32482	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
32483
32484	Version *string `location:"querystring" locationName:"version" type:"string"`
32485}
32486
32487// String returns the string representation
32488func (s UpdateEmailTemplateInput) String() string {
32489	return awsutil.Prettify(s)
32490}
32491
32492// GoString returns the string representation
32493func (s UpdateEmailTemplateInput) GoString() string {
32494	return s.String()
32495}
32496
32497// Validate inspects the fields of the type to determine if they are valid.
32498func (s *UpdateEmailTemplateInput) Validate() error {
32499	invalidParams := request.ErrInvalidParams{Context: "UpdateEmailTemplateInput"}
32500	if s.EmailTemplateRequest == nil {
32501		invalidParams.Add(request.NewErrParamRequired("EmailTemplateRequest"))
32502	}
32503	if s.TemplateName == nil {
32504		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
32505	}
32506	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
32507		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
32508	}
32509
32510	if invalidParams.Len() > 0 {
32511		return invalidParams
32512	}
32513	return nil
32514}
32515
32516// SetCreateNewVersion sets the CreateNewVersion field's value.
32517func (s *UpdateEmailTemplateInput) SetCreateNewVersion(v bool) *UpdateEmailTemplateInput {
32518	s.CreateNewVersion = &v
32519	return s
32520}
32521
32522// SetEmailTemplateRequest sets the EmailTemplateRequest field's value.
32523func (s *UpdateEmailTemplateInput) SetEmailTemplateRequest(v *EmailTemplateRequest) *UpdateEmailTemplateInput {
32524	s.EmailTemplateRequest = v
32525	return s
32526}
32527
32528// SetTemplateName sets the TemplateName field's value.
32529func (s *UpdateEmailTemplateInput) SetTemplateName(v string) *UpdateEmailTemplateInput {
32530	s.TemplateName = &v
32531	return s
32532}
32533
32534// SetVersion sets the Version field's value.
32535func (s *UpdateEmailTemplateInput) SetVersion(v string) *UpdateEmailTemplateInput {
32536	s.Version = &v
32537	return s
32538}
32539
32540type UpdateEmailTemplateOutput struct {
32541	_ struct{} `type:"structure" payload:"MessageBody"`
32542
32543	// Provides information about an API request or response.
32544	//
32545	// MessageBody is a required field
32546	MessageBody *MessageBody `type:"structure" required:"true"`
32547}
32548
32549// String returns the string representation
32550func (s UpdateEmailTemplateOutput) String() string {
32551	return awsutil.Prettify(s)
32552}
32553
32554// GoString returns the string representation
32555func (s UpdateEmailTemplateOutput) GoString() string {
32556	return s.String()
32557}
32558
32559// SetMessageBody sets the MessageBody field's value.
32560func (s *UpdateEmailTemplateOutput) SetMessageBody(v *MessageBody) *UpdateEmailTemplateOutput {
32561	s.MessageBody = v
32562	return s
32563}
32564
32565type UpdateEndpointInput struct {
32566	_ struct{} `type:"structure" payload:"EndpointRequest"`
32567
32568	// ApplicationId is a required field
32569	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32570
32571	// EndpointId is a required field
32572	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
32573
32574	// Specifies the channel type and other settings for an endpoint.
32575	//
32576	// EndpointRequest is a required field
32577	EndpointRequest *EndpointRequest `type:"structure" required:"true"`
32578}
32579
32580// String returns the string representation
32581func (s UpdateEndpointInput) String() string {
32582	return awsutil.Prettify(s)
32583}
32584
32585// GoString returns the string representation
32586func (s UpdateEndpointInput) GoString() string {
32587	return s.String()
32588}
32589
32590// Validate inspects the fields of the type to determine if they are valid.
32591func (s *UpdateEndpointInput) Validate() error {
32592	invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointInput"}
32593	if s.ApplicationId == nil {
32594		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32595	}
32596	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32597		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32598	}
32599	if s.EndpointId == nil {
32600		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
32601	}
32602	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
32603		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
32604	}
32605	if s.EndpointRequest == nil {
32606		invalidParams.Add(request.NewErrParamRequired("EndpointRequest"))
32607	}
32608
32609	if invalidParams.Len() > 0 {
32610		return invalidParams
32611	}
32612	return nil
32613}
32614
32615// SetApplicationId sets the ApplicationId field's value.
32616func (s *UpdateEndpointInput) SetApplicationId(v string) *UpdateEndpointInput {
32617	s.ApplicationId = &v
32618	return s
32619}
32620
32621// SetEndpointId sets the EndpointId field's value.
32622func (s *UpdateEndpointInput) SetEndpointId(v string) *UpdateEndpointInput {
32623	s.EndpointId = &v
32624	return s
32625}
32626
32627// SetEndpointRequest sets the EndpointRequest field's value.
32628func (s *UpdateEndpointInput) SetEndpointRequest(v *EndpointRequest) *UpdateEndpointInput {
32629	s.EndpointRequest = v
32630	return s
32631}
32632
32633type UpdateEndpointOutput struct {
32634	_ struct{} `type:"structure" payload:"MessageBody"`
32635
32636	// Provides information about an API request or response.
32637	//
32638	// MessageBody is a required field
32639	MessageBody *MessageBody `type:"structure" required:"true"`
32640}
32641
32642// String returns the string representation
32643func (s UpdateEndpointOutput) String() string {
32644	return awsutil.Prettify(s)
32645}
32646
32647// GoString returns the string representation
32648func (s UpdateEndpointOutput) GoString() string {
32649	return s.String()
32650}
32651
32652// SetMessageBody sets the MessageBody field's value.
32653func (s *UpdateEndpointOutput) SetMessageBody(v *MessageBody) *UpdateEndpointOutput {
32654	s.MessageBody = v
32655	return s
32656}
32657
32658type UpdateEndpointsBatchInput struct {
32659	_ struct{} `type:"structure" payload:"EndpointBatchRequest"`
32660
32661	// ApplicationId is a required field
32662	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32663
32664	// Specifies a batch of endpoints to create or update and the settings and attributes
32665	// to set or change for each endpoint.
32666	//
32667	// EndpointBatchRequest is a required field
32668	EndpointBatchRequest *EndpointBatchRequest `type:"structure" required:"true"`
32669}
32670
32671// String returns the string representation
32672func (s UpdateEndpointsBatchInput) String() string {
32673	return awsutil.Prettify(s)
32674}
32675
32676// GoString returns the string representation
32677func (s UpdateEndpointsBatchInput) GoString() string {
32678	return s.String()
32679}
32680
32681// Validate inspects the fields of the type to determine if they are valid.
32682func (s *UpdateEndpointsBatchInput) Validate() error {
32683	invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointsBatchInput"}
32684	if s.ApplicationId == nil {
32685		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32686	}
32687	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32688		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32689	}
32690	if s.EndpointBatchRequest == nil {
32691		invalidParams.Add(request.NewErrParamRequired("EndpointBatchRequest"))
32692	}
32693	if s.EndpointBatchRequest != nil {
32694		if err := s.EndpointBatchRequest.Validate(); err != nil {
32695			invalidParams.AddNested("EndpointBatchRequest", err.(request.ErrInvalidParams))
32696		}
32697	}
32698
32699	if invalidParams.Len() > 0 {
32700		return invalidParams
32701	}
32702	return nil
32703}
32704
32705// SetApplicationId sets the ApplicationId field's value.
32706func (s *UpdateEndpointsBatchInput) SetApplicationId(v string) *UpdateEndpointsBatchInput {
32707	s.ApplicationId = &v
32708	return s
32709}
32710
32711// SetEndpointBatchRequest sets the EndpointBatchRequest field's value.
32712func (s *UpdateEndpointsBatchInput) SetEndpointBatchRequest(v *EndpointBatchRequest) *UpdateEndpointsBatchInput {
32713	s.EndpointBatchRequest = v
32714	return s
32715}
32716
32717type UpdateEndpointsBatchOutput struct {
32718	_ struct{} `type:"structure" payload:"MessageBody"`
32719
32720	// Provides information about an API request or response.
32721	//
32722	// MessageBody is a required field
32723	MessageBody *MessageBody `type:"structure" required:"true"`
32724}
32725
32726// String returns the string representation
32727func (s UpdateEndpointsBatchOutput) String() string {
32728	return awsutil.Prettify(s)
32729}
32730
32731// GoString returns the string representation
32732func (s UpdateEndpointsBatchOutput) GoString() string {
32733	return s.String()
32734}
32735
32736// SetMessageBody sets the MessageBody field's value.
32737func (s *UpdateEndpointsBatchOutput) SetMessageBody(v *MessageBody) *UpdateEndpointsBatchOutput {
32738	s.MessageBody = v
32739	return s
32740}
32741
32742type UpdateGcmChannelInput struct {
32743	_ struct{} `type:"structure" payload:"GCMChannelRequest"`
32744
32745	// ApplicationId is a required field
32746	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32747
32748	// Specifies the status and settings of the GCM channel for an application.
32749	// This channel enables Amazon Pinpoint to send push notifications through the
32750	// Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.
32751	//
32752	// GCMChannelRequest is a required field
32753	GCMChannelRequest *GCMChannelRequest `type:"structure" required:"true"`
32754}
32755
32756// String returns the string representation
32757func (s UpdateGcmChannelInput) String() string {
32758	return awsutil.Prettify(s)
32759}
32760
32761// GoString returns the string representation
32762func (s UpdateGcmChannelInput) GoString() string {
32763	return s.String()
32764}
32765
32766// Validate inspects the fields of the type to determine if they are valid.
32767func (s *UpdateGcmChannelInput) Validate() error {
32768	invalidParams := request.ErrInvalidParams{Context: "UpdateGcmChannelInput"}
32769	if s.ApplicationId == nil {
32770		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32771	}
32772	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32773		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32774	}
32775	if s.GCMChannelRequest == nil {
32776		invalidParams.Add(request.NewErrParamRequired("GCMChannelRequest"))
32777	}
32778	if s.GCMChannelRequest != nil {
32779		if err := s.GCMChannelRequest.Validate(); err != nil {
32780			invalidParams.AddNested("GCMChannelRequest", err.(request.ErrInvalidParams))
32781		}
32782	}
32783
32784	if invalidParams.Len() > 0 {
32785		return invalidParams
32786	}
32787	return nil
32788}
32789
32790// SetApplicationId sets the ApplicationId field's value.
32791func (s *UpdateGcmChannelInput) SetApplicationId(v string) *UpdateGcmChannelInput {
32792	s.ApplicationId = &v
32793	return s
32794}
32795
32796// SetGCMChannelRequest sets the GCMChannelRequest field's value.
32797func (s *UpdateGcmChannelInput) SetGCMChannelRequest(v *GCMChannelRequest) *UpdateGcmChannelInput {
32798	s.GCMChannelRequest = v
32799	return s
32800}
32801
32802type UpdateGcmChannelOutput struct {
32803	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
32804
32805	// Provides information about the status and settings of the GCM channel for
32806	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
32807	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
32808	// (GCM), service.
32809	//
32810	// GCMChannelResponse is a required field
32811	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
32812}
32813
32814// String returns the string representation
32815func (s UpdateGcmChannelOutput) String() string {
32816	return awsutil.Prettify(s)
32817}
32818
32819// GoString returns the string representation
32820func (s UpdateGcmChannelOutput) GoString() string {
32821	return s.String()
32822}
32823
32824// SetGCMChannelResponse sets the GCMChannelResponse field's value.
32825func (s *UpdateGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *UpdateGcmChannelOutput {
32826	s.GCMChannelResponse = v
32827	return s
32828}
32829
32830type UpdateJourneyInput struct {
32831	_ struct{} `type:"structure" payload:"WriteJourneyRequest"`
32832
32833	// ApplicationId is a required field
32834	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32835
32836	// JourneyId is a required field
32837	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
32838
32839	// Specifies the configuration and other settings for a journey.
32840	//
32841	// WriteJourneyRequest is a required field
32842	WriteJourneyRequest *WriteJourneyRequest `type:"structure" required:"true"`
32843}
32844
32845// String returns the string representation
32846func (s UpdateJourneyInput) String() string {
32847	return awsutil.Prettify(s)
32848}
32849
32850// GoString returns the string representation
32851func (s UpdateJourneyInput) GoString() string {
32852	return s.String()
32853}
32854
32855// Validate inspects the fields of the type to determine if they are valid.
32856func (s *UpdateJourneyInput) Validate() error {
32857	invalidParams := request.ErrInvalidParams{Context: "UpdateJourneyInput"}
32858	if s.ApplicationId == nil {
32859		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32860	}
32861	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32862		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32863	}
32864	if s.JourneyId == nil {
32865		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
32866	}
32867	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
32868		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
32869	}
32870	if s.WriteJourneyRequest == nil {
32871		invalidParams.Add(request.NewErrParamRequired("WriteJourneyRequest"))
32872	}
32873	if s.WriteJourneyRequest != nil {
32874		if err := s.WriteJourneyRequest.Validate(); err != nil {
32875			invalidParams.AddNested("WriteJourneyRequest", err.(request.ErrInvalidParams))
32876		}
32877	}
32878
32879	if invalidParams.Len() > 0 {
32880		return invalidParams
32881	}
32882	return nil
32883}
32884
32885// SetApplicationId sets the ApplicationId field's value.
32886func (s *UpdateJourneyInput) SetApplicationId(v string) *UpdateJourneyInput {
32887	s.ApplicationId = &v
32888	return s
32889}
32890
32891// SetJourneyId sets the JourneyId field's value.
32892func (s *UpdateJourneyInput) SetJourneyId(v string) *UpdateJourneyInput {
32893	s.JourneyId = &v
32894	return s
32895}
32896
32897// SetWriteJourneyRequest sets the WriteJourneyRequest field's value.
32898func (s *UpdateJourneyInput) SetWriteJourneyRequest(v *WriteJourneyRequest) *UpdateJourneyInput {
32899	s.WriteJourneyRequest = v
32900	return s
32901}
32902
32903type UpdateJourneyOutput struct {
32904	_ struct{} `type:"structure" payload:"JourneyResponse"`
32905
32906	// Provides information about the status, configuration, and other settings
32907	// for a journey.
32908	//
32909	// JourneyResponse is a required field
32910	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
32911}
32912
32913// String returns the string representation
32914func (s UpdateJourneyOutput) String() string {
32915	return awsutil.Prettify(s)
32916}
32917
32918// GoString returns the string representation
32919func (s UpdateJourneyOutput) GoString() string {
32920	return s.String()
32921}
32922
32923// SetJourneyResponse sets the JourneyResponse field's value.
32924func (s *UpdateJourneyOutput) SetJourneyResponse(v *JourneyResponse) *UpdateJourneyOutput {
32925	s.JourneyResponse = v
32926	return s
32927}
32928
32929type UpdateJourneyStateInput struct {
32930	_ struct{} `type:"structure" payload:"JourneyStateRequest"`
32931
32932	// ApplicationId is a required field
32933	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32934
32935	// JourneyId is a required field
32936	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
32937
32938	// Changes the status of a journey.
32939	//
32940	// JourneyStateRequest is a required field
32941	JourneyStateRequest *JourneyStateRequest `type:"structure" required:"true"`
32942}
32943
32944// String returns the string representation
32945func (s UpdateJourneyStateInput) String() string {
32946	return awsutil.Prettify(s)
32947}
32948
32949// GoString returns the string representation
32950func (s UpdateJourneyStateInput) GoString() string {
32951	return s.String()
32952}
32953
32954// Validate inspects the fields of the type to determine if they are valid.
32955func (s *UpdateJourneyStateInput) Validate() error {
32956	invalidParams := request.ErrInvalidParams{Context: "UpdateJourneyStateInput"}
32957	if s.ApplicationId == nil {
32958		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32959	}
32960	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32961		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32962	}
32963	if s.JourneyId == nil {
32964		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
32965	}
32966	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
32967		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
32968	}
32969	if s.JourneyStateRequest == nil {
32970		invalidParams.Add(request.NewErrParamRequired("JourneyStateRequest"))
32971	}
32972
32973	if invalidParams.Len() > 0 {
32974		return invalidParams
32975	}
32976	return nil
32977}
32978
32979// SetApplicationId sets the ApplicationId field's value.
32980func (s *UpdateJourneyStateInput) SetApplicationId(v string) *UpdateJourneyStateInput {
32981	s.ApplicationId = &v
32982	return s
32983}
32984
32985// SetJourneyId sets the JourneyId field's value.
32986func (s *UpdateJourneyStateInput) SetJourneyId(v string) *UpdateJourneyStateInput {
32987	s.JourneyId = &v
32988	return s
32989}
32990
32991// SetJourneyStateRequest sets the JourneyStateRequest field's value.
32992func (s *UpdateJourneyStateInput) SetJourneyStateRequest(v *JourneyStateRequest) *UpdateJourneyStateInput {
32993	s.JourneyStateRequest = v
32994	return s
32995}
32996
32997type UpdateJourneyStateOutput struct {
32998	_ struct{} `type:"structure" payload:"JourneyResponse"`
32999
33000	// Provides information about the status, configuration, and other settings
33001	// for a journey.
33002	//
33003	// JourneyResponse is a required field
33004	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
33005}
33006
33007// String returns the string representation
33008func (s UpdateJourneyStateOutput) String() string {
33009	return awsutil.Prettify(s)
33010}
33011
33012// GoString returns the string representation
33013func (s UpdateJourneyStateOutput) GoString() string {
33014	return s.String()
33015}
33016
33017// SetJourneyResponse sets the JourneyResponse field's value.
33018func (s *UpdateJourneyStateOutput) SetJourneyResponse(v *JourneyResponse) *UpdateJourneyStateOutput {
33019	s.JourneyResponse = v
33020	return s
33021}
33022
33023type UpdatePushTemplateInput struct {
33024	_ struct{} `type:"structure" payload:"PushNotificationTemplateRequest"`
33025
33026	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
33027
33028	// Specifies the content and settings for a message template that can be used
33029	// in messages that are sent through a push notification channel.
33030	//
33031	// PushNotificationTemplateRequest is a required field
33032	PushNotificationTemplateRequest *PushNotificationTemplateRequest `type:"structure" required:"true"`
33033
33034	// TemplateName is a required field
33035	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
33036
33037	Version *string `location:"querystring" locationName:"version" type:"string"`
33038}
33039
33040// String returns the string representation
33041func (s UpdatePushTemplateInput) String() string {
33042	return awsutil.Prettify(s)
33043}
33044
33045// GoString returns the string representation
33046func (s UpdatePushTemplateInput) GoString() string {
33047	return s.String()
33048}
33049
33050// Validate inspects the fields of the type to determine if they are valid.
33051func (s *UpdatePushTemplateInput) Validate() error {
33052	invalidParams := request.ErrInvalidParams{Context: "UpdatePushTemplateInput"}
33053	if s.PushNotificationTemplateRequest == nil {
33054		invalidParams.Add(request.NewErrParamRequired("PushNotificationTemplateRequest"))
33055	}
33056	if s.TemplateName == nil {
33057		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
33058	}
33059	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
33060		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
33061	}
33062
33063	if invalidParams.Len() > 0 {
33064		return invalidParams
33065	}
33066	return nil
33067}
33068
33069// SetCreateNewVersion sets the CreateNewVersion field's value.
33070func (s *UpdatePushTemplateInput) SetCreateNewVersion(v bool) *UpdatePushTemplateInput {
33071	s.CreateNewVersion = &v
33072	return s
33073}
33074
33075// SetPushNotificationTemplateRequest sets the PushNotificationTemplateRequest field's value.
33076func (s *UpdatePushTemplateInput) SetPushNotificationTemplateRequest(v *PushNotificationTemplateRequest) *UpdatePushTemplateInput {
33077	s.PushNotificationTemplateRequest = v
33078	return s
33079}
33080
33081// SetTemplateName sets the TemplateName field's value.
33082func (s *UpdatePushTemplateInput) SetTemplateName(v string) *UpdatePushTemplateInput {
33083	s.TemplateName = &v
33084	return s
33085}
33086
33087// SetVersion sets the Version field's value.
33088func (s *UpdatePushTemplateInput) SetVersion(v string) *UpdatePushTemplateInput {
33089	s.Version = &v
33090	return s
33091}
33092
33093type UpdatePushTemplateOutput struct {
33094	_ struct{} `type:"structure" payload:"MessageBody"`
33095
33096	// Provides information about an API request or response.
33097	//
33098	// MessageBody is a required field
33099	MessageBody *MessageBody `type:"structure" required:"true"`
33100}
33101
33102// String returns the string representation
33103func (s UpdatePushTemplateOutput) String() string {
33104	return awsutil.Prettify(s)
33105}
33106
33107// GoString returns the string representation
33108func (s UpdatePushTemplateOutput) GoString() string {
33109	return s.String()
33110}
33111
33112// SetMessageBody sets the MessageBody field's value.
33113func (s *UpdatePushTemplateOutput) SetMessageBody(v *MessageBody) *UpdatePushTemplateOutput {
33114	s.MessageBody = v
33115	return s
33116}
33117
33118// Specifies Amazon Pinpoint configuration settings for retrieving and processing
33119// recommendation data from a recommender model.
33120type UpdateRecommenderConfiguration struct {
33121	_ struct{} `type:"structure"`
33122
33123	// A map of key-value pairs that defines 1-10 custom endpoint or user attributes,
33124	// depending on the value for the RecommendationProviderIdType property. Each
33125	// of these attributes temporarily stores a recommended item that's retrieved
33126	// from the recommender model and sent to an AWS Lambda function for additional
33127	// processing. Each attribute can be used as a message variable in a message
33128	// template.
33129	//
33130	// In the map, the key is the name of a custom attribute and the value is a
33131	// custom display name for that attribute. The display name appears in the Attribute
33132	// finder of the template editor on the Amazon Pinpoint console. The following
33133	// restrictions apply to these names:
33134	//
33135	//    * An attribute name must start with a letter or number and it can contain
33136	//    up to 50 characters. The characters can be letters, numbers, underscores
33137	//    (_), or hyphens (-). Attribute names are case sensitive and must be unique.
33138	//
33139	//    * An attribute display name must start with a letter or number and it
33140	//    can contain up to 25 characters. The characters can be letters, numbers,
33141	//    spaces, underscores (_), or hyphens (-).
33142	//
33143	// This object is required if the configuration invokes an AWS Lambda function
33144	// (RecommendationTransformerUri) to process recommendation data. Otherwise,
33145	// don't include this object in your request.
33146	Attributes map[string]*string `type:"map"`
33147
33148	// A custom description of the configuration for the recommender model. The
33149	// description can contain up to 128 characters. The characters can be letters,
33150	// numbers, spaces, or the following symbols: _ ; () , ‐.
33151	Description *string `type:"string"`
33152
33153	// A custom name of the configuration for the recommender model. The name must
33154	// start with a letter or number and it can contain up to 128 characters. The
33155	// characters can be letters, numbers, spaces, underscores (_), or hyphens (-).
33156	Name *string `type:"string"`
33157
33158	// The type of Amazon Pinpoint ID to associate with unique user IDs in the recommender
33159	// model. This value enables the model to use attribute and event data that’s
33160	// specific to a particular endpoint or user in an Amazon Pinpoint application.
33161	// Valid values are:
33162	//
33163	//    * PINPOINT_ENDPOINT_ID - Associate each user in the model with a particular
33164	//    endpoint in Amazon Pinpoint. The data is correlated based on endpoint
33165	//    IDs in Amazon Pinpoint. This is the default value.
33166	//
33167	//    * PINPOINT_USER_ID - Associate each user in the model with a particular
33168	//    user and endpoint in Amazon Pinpoint. The data is correlated based on
33169	//    user IDs in Amazon Pinpoint. If you specify this value, an endpoint definition
33170	//    in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint
33171	//    ID. Otherwise, messages won’t be sent to the user's endpoint.
33172	RecommendationProviderIdType *string `type:"string"`
33173
33174	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
33175	// (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data
33176	// from the recommender model.
33177	//
33178	// RecommendationProviderRoleArn is a required field
33179	RecommendationProviderRoleArn *string `type:"string" required:"true"`
33180
33181	// The Amazon Resource Name (ARN) of the recommender model to retrieve recommendation
33182	// data from. This value must match the ARN of an Amazon Personalize campaign.
33183	//
33184	// RecommendationProviderUri is a required field
33185	RecommendationProviderUri *string `type:"string" required:"true"`
33186
33187	// The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke
33188	// for additional processing of recommendation data that's retrieved from the
33189	// recommender model.
33190	RecommendationTransformerUri *string `type:"string"`
33191
33192	// A custom display name for the standard endpoint or user attribute (RecommendationItems)
33193	// that temporarily stores recommended items for each endpoint or user, depending
33194	// on the value for the RecommendationProviderIdType property. This value is
33195	// required if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri)
33196	// to perform additional processing of recommendation data.
33197	//
33198	// This name appears in the Attribute finder of the template editor on the Amazon
33199	// Pinpoint console. The name can contain up to 25 characters. The characters
33200	// can be letters, numbers, spaces, underscores (_), or hyphens (-). These restrictions
33201	// don't apply to attribute values.
33202	RecommendationsDisplayName *string `type:"string"`
33203
33204	// The number of recommended items to retrieve from the model for each endpoint
33205	// or user, depending on the value for the RecommendationProviderIdType property.
33206	// This number determines how many recommended items are available for use in
33207	// message variables. The minimum value is 1. The maximum value is 5. The default
33208	// value is 5.
33209	//
33210	// To use multiple recommended items and custom attributes with message variables,
33211	// you have to use an AWS Lambda function (RecommendationTransformerUri) to
33212	// perform additional processing of recommendation data.
33213	RecommendationsPerMessage *int64 `type:"integer"`
33214}
33215
33216// String returns the string representation
33217func (s UpdateRecommenderConfiguration) String() string {
33218	return awsutil.Prettify(s)
33219}
33220
33221// GoString returns the string representation
33222func (s UpdateRecommenderConfiguration) GoString() string {
33223	return s.String()
33224}
33225
33226// Validate inspects the fields of the type to determine if they are valid.
33227func (s *UpdateRecommenderConfiguration) Validate() error {
33228	invalidParams := request.ErrInvalidParams{Context: "UpdateRecommenderConfiguration"}
33229	if s.RecommendationProviderRoleArn == nil {
33230		invalidParams.Add(request.NewErrParamRequired("RecommendationProviderRoleArn"))
33231	}
33232	if s.RecommendationProviderUri == nil {
33233		invalidParams.Add(request.NewErrParamRequired("RecommendationProviderUri"))
33234	}
33235
33236	if invalidParams.Len() > 0 {
33237		return invalidParams
33238	}
33239	return nil
33240}
33241
33242// SetAttributes sets the Attributes field's value.
33243func (s *UpdateRecommenderConfiguration) SetAttributes(v map[string]*string) *UpdateRecommenderConfiguration {
33244	s.Attributes = v
33245	return s
33246}
33247
33248// SetDescription sets the Description field's value.
33249func (s *UpdateRecommenderConfiguration) SetDescription(v string) *UpdateRecommenderConfiguration {
33250	s.Description = &v
33251	return s
33252}
33253
33254// SetName sets the Name field's value.
33255func (s *UpdateRecommenderConfiguration) SetName(v string) *UpdateRecommenderConfiguration {
33256	s.Name = &v
33257	return s
33258}
33259
33260// SetRecommendationProviderIdType sets the RecommendationProviderIdType field's value.
33261func (s *UpdateRecommenderConfiguration) SetRecommendationProviderIdType(v string) *UpdateRecommenderConfiguration {
33262	s.RecommendationProviderIdType = &v
33263	return s
33264}
33265
33266// SetRecommendationProviderRoleArn sets the RecommendationProviderRoleArn field's value.
33267func (s *UpdateRecommenderConfiguration) SetRecommendationProviderRoleArn(v string) *UpdateRecommenderConfiguration {
33268	s.RecommendationProviderRoleArn = &v
33269	return s
33270}
33271
33272// SetRecommendationProviderUri sets the RecommendationProviderUri field's value.
33273func (s *UpdateRecommenderConfiguration) SetRecommendationProviderUri(v string) *UpdateRecommenderConfiguration {
33274	s.RecommendationProviderUri = &v
33275	return s
33276}
33277
33278// SetRecommendationTransformerUri sets the RecommendationTransformerUri field's value.
33279func (s *UpdateRecommenderConfiguration) SetRecommendationTransformerUri(v string) *UpdateRecommenderConfiguration {
33280	s.RecommendationTransformerUri = &v
33281	return s
33282}
33283
33284// SetRecommendationsDisplayName sets the RecommendationsDisplayName field's value.
33285func (s *UpdateRecommenderConfiguration) SetRecommendationsDisplayName(v string) *UpdateRecommenderConfiguration {
33286	s.RecommendationsDisplayName = &v
33287	return s
33288}
33289
33290// SetRecommendationsPerMessage sets the RecommendationsPerMessage field's value.
33291func (s *UpdateRecommenderConfiguration) SetRecommendationsPerMessage(v int64) *UpdateRecommenderConfiguration {
33292	s.RecommendationsPerMessage = &v
33293	return s
33294}
33295
33296type UpdateRecommenderConfigurationInput struct {
33297	_ struct{} `type:"structure" payload:"UpdateRecommenderConfiguration"`
33298
33299	// RecommenderId is a required field
33300	RecommenderId *string `location:"uri" locationName:"recommender-id" type:"string" required:"true"`
33301
33302	// Specifies Amazon Pinpoint configuration settings for retrieving and processing
33303	// recommendation data from a recommender model.
33304	//
33305	// UpdateRecommenderConfiguration is a required field
33306	UpdateRecommenderConfiguration *UpdateRecommenderConfiguration `type:"structure" required:"true"`
33307}
33308
33309// String returns the string representation
33310func (s UpdateRecommenderConfigurationInput) String() string {
33311	return awsutil.Prettify(s)
33312}
33313
33314// GoString returns the string representation
33315func (s UpdateRecommenderConfigurationInput) GoString() string {
33316	return s.String()
33317}
33318
33319// Validate inspects the fields of the type to determine if they are valid.
33320func (s *UpdateRecommenderConfigurationInput) Validate() error {
33321	invalidParams := request.ErrInvalidParams{Context: "UpdateRecommenderConfigurationInput"}
33322	if s.RecommenderId == nil {
33323		invalidParams.Add(request.NewErrParamRequired("RecommenderId"))
33324	}
33325	if s.RecommenderId != nil && len(*s.RecommenderId) < 1 {
33326		invalidParams.Add(request.NewErrParamMinLen("RecommenderId", 1))
33327	}
33328	if s.UpdateRecommenderConfiguration == nil {
33329		invalidParams.Add(request.NewErrParamRequired("UpdateRecommenderConfiguration"))
33330	}
33331	if s.UpdateRecommenderConfiguration != nil {
33332		if err := s.UpdateRecommenderConfiguration.Validate(); err != nil {
33333			invalidParams.AddNested("UpdateRecommenderConfiguration", err.(request.ErrInvalidParams))
33334		}
33335	}
33336
33337	if invalidParams.Len() > 0 {
33338		return invalidParams
33339	}
33340	return nil
33341}
33342
33343// SetRecommenderId sets the RecommenderId field's value.
33344func (s *UpdateRecommenderConfigurationInput) SetRecommenderId(v string) *UpdateRecommenderConfigurationInput {
33345	s.RecommenderId = &v
33346	return s
33347}
33348
33349// SetUpdateRecommenderConfiguration sets the UpdateRecommenderConfiguration field's value.
33350func (s *UpdateRecommenderConfigurationInput) SetUpdateRecommenderConfiguration(v *UpdateRecommenderConfiguration) *UpdateRecommenderConfigurationInput {
33351	s.UpdateRecommenderConfiguration = v
33352	return s
33353}
33354
33355type UpdateRecommenderConfigurationOutput struct {
33356	_ struct{} `type:"structure" payload:"RecommenderConfigurationResponse"`
33357
33358	// Provides information about Amazon Pinpoint configuration settings for retrieving
33359	// and processing data from a recommender model.
33360	//
33361	// RecommenderConfigurationResponse is a required field
33362	RecommenderConfigurationResponse *RecommenderConfigurationResponse `type:"structure" required:"true"`
33363}
33364
33365// String returns the string representation
33366func (s UpdateRecommenderConfigurationOutput) String() string {
33367	return awsutil.Prettify(s)
33368}
33369
33370// GoString returns the string representation
33371func (s UpdateRecommenderConfigurationOutput) GoString() string {
33372	return s.String()
33373}
33374
33375// SetRecommenderConfigurationResponse sets the RecommenderConfigurationResponse field's value.
33376func (s *UpdateRecommenderConfigurationOutput) SetRecommenderConfigurationResponse(v *RecommenderConfigurationResponse) *UpdateRecommenderConfigurationOutput {
33377	s.RecommenderConfigurationResponse = v
33378	return s
33379}
33380
33381type UpdateSegmentInput struct {
33382	_ struct{} `type:"structure" payload:"WriteSegmentRequest"`
33383
33384	// ApplicationId is a required field
33385	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
33386
33387	// SegmentId is a required field
33388	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
33389
33390	// Specifies the configuration, dimension, and other settings for a segment.
33391	// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
33392	// object, but not both.
33393	//
33394	// WriteSegmentRequest is a required field
33395	WriteSegmentRequest *WriteSegmentRequest `type:"structure" required:"true"`
33396}
33397
33398// String returns the string representation
33399func (s UpdateSegmentInput) String() string {
33400	return awsutil.Prettify(s)
33401}
33402
33403// GoString returns the string representation
33404func (s UpdateSegmentInput) GoString() string {
33405	return s.String()
33406}
33407
33408// Validate inspects the fields of the type to determine if they are valid.
33409func (s *UpdateSegmentInput) Validate() error {
33410	invalidParams := request.ErrInvalidParams{Context: "UpdateSegmentInput"}
33411	if s.ApplicationId == nil {
33412		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
33413	}
33414	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
33415		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
33416	}
33417	if s.SegmentId == nil {
33418		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
33419	}
33420	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
33421		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
33422	}
33423	if s.WriteSegmentRequest == nil {
33424		invalidParams.Add(request.NewErrParamRequired("WriteSegmentRequest"))
33425	}
33426	if s.WriteSegmentRequest != nil {
33427		if err := s.WriteSegmentRequest.Validate(); err != nil {
33428			invalidParams.AddNested("WriteSegmentRequest", err.(request.ErrInvalidParams))
33429		}
33430	}
33431
33432	if invalidParams.Len() > 0 {
33433		return invalidParams
33434	}
33435	return nil
33436}
33437
33438// SetApplicationId sets the ApplicationId field's value.
33439func (s *UpdateSegmentInput) SetApplicationId(v string) *UpdateSegmentInput {
33440	s.ApplicationId = &v
33441	return s
33442}
33443
33444// SetSegmentId sets the SegmentId field's value.
33445func (s *UpdateSegmentInput) SetSegmentId(v string) *UpdateSegmentInput {
33446	s.SegmentId = &v
33447	return s
33448}
33449
33450// SetWriteSegmentRequest sets the WriteSegmentRequest field's value.
33451func (s *UpdateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *UpdateSegmentInput {
33452	s.WriteSegmentRequest = v
33453	return s
33454}
33455
33456type UpdateSegmentOutput struct {
33457	_ struct{} `type:"structure" payload:"SegmentResponse"`
33458
33459	// Provides information about the configuration, dimension, and other settings
33460	// for a segment.
33461	//
33462	// SegmentResponse is a required field
33463	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
33464}
33465
33466// String returns the string representation
33467func (s UpdateSegmentOutput) String() string {
33468	return awsutil.Prettify(s)
33469}
33470
33471// GoString returns the string representation
33472func (s UpdateSegmentOutput) GoString() string {
33473	return s.String()
33474}
33475
33476// SetSegmentResponse sets the SegmentResponse field's value.
33477func (s *UpdateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *UpdateSegmentOutput {
33478	s.SegmentResponse = v
33479	return s
33480}
33481
33482type UpdateSmsChannelInput struct {
33483	_ struct{} `type:"structure" payload:"SMSChannelRequest"`
33484
33485	// ApplicationId is a required field
33486	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
33487
33488	// Specifies the status and settings of the SMS channel for an application.
33489	//
33490	// SMSChannelRequest is a required field
33491	SMSChannelRequest *SMSChannelRequest `type:"structure" required:"true"`
33492}
33493
33494// String returns the string representation
33495func (s UpdateSmsChannelInput) String() string {
33496	return awsutil.Prettify(s)
33497}
33498
33499// GoString returns the string representation
33500func (s UpdateSmsChannelInput) GoString() string {
33501	return s.String()
33502}
33503
33504// Validate inspects the fields of the type to determine if they are valid.
33505func (s *UpdateSmsChannelInput) Validate() error {
33506	invalidParams := request.ErrInvalidParams{Context: "UpdateSmsChannelInput"}
33507	if s.ApplicationId == nil {
33508		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
33509	}
33510	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
33511		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
33512	}
33513	if s.SMSChannelRequest == nil {
33514		invalidParams.Add(request.NewErrParamRequired("SMSChannelRequest"))
33515	}
33516
33517	if invalidParams.Len() > 0 {
33518		return invalidParams
33519	}
33520	return nil
33521}
33522
33523// SetApplicationId sets the ApplicationId field's value.
33524func (s *UpdateSmsChannelInput) SetApplicationId(v string) *UpdateSmsChannelInput {
33525	s.ApplicationId = &v
33526	return s
33527}
33528
33529// SetSMSChannelRequest sets the SMSChannelRequest field's value.
33530func (s *UpdateSmsChannelInput) SetSMSChannelRequest(v *SMSChannelRequest) *UpdateSmsChannelInput {
33531	s.SMSChannelRequest = v
33532	return s
33533}
33534
33535type UpdateSmsChannelOutput struct {
33536	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
33537
33538	// Provides information about the status and settings of the SMS channel for
33539	// an application.
33540	//
33541	// SMSChannelResponse is a required field
33542	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
33543}
33544
33545// String returns the string representation
33546func (s UpdateSmsChannelOutput) String() string {
33547	return awsutil.Prettify(s)
33548}
33549
33550// GoString returns the string representation
33551func (s UpdateSmsChannelOutput) GoString() string {
33552	return s.String()
33553}
33554
33555// SetSMSChannelResponse sets the SMSChannelResponse field's value.
33556func (s *UpdateSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *UpdateSmsChannelOutput {
33557	s.SMSChannelResponse = v
33558	return s
33559}
33560
33561type UpdateSmsTemplateInput struct {
33562	_ struct{} `type:"structure" payload:"SMSTemplateRequest"`
33563
33564	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
33565
33566	// Specifies the content and settings for a message template that can be used
33567	// in text messages that are sent through the SMS channel.
33568	//
33569	// SMSTemplateRequest is a required field
33570	SMSTemplateRequest *SMSTemplateRequest `type:"structure" required:"true"`
33571
33572	// TemplateName is a required field
33573	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
33574
33575	Version *string `location:"querystring" locationName:"version" type:"string"`
33576}
33577
33578// String returns the string representation
33579func (s UpdateSmsTemplateInput) String() string {
33580	return awsutil.Prettify(s)
33581}
33582
33583// GoString returns the string representation
33584func (s UpdateSmsTemplateInput) GoString() string {
33585	return s.String()
33586}
33587
33588// Validate inspects the fields of the type to determine if they are valid.
33589func (s *UpdateSmsTemplateInput) Validate() error {
33590	invalidParams := request.ErrInvalidParams{Context: "UpdateSmsTemplateInput"}
33591	if s.SMSTemplateRequest == nil {
33592		invalidParams.Add(request.NewErrParamRequired("SMSTemplateRequest"))
33593	}
33594	if s.TemplateName == nil {
33595		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
33596	}
33597	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
33598		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
33599	}
33600
33601	if invalidParams.Len() > 0 {
33602		return invalidParams
33603	}
33604	return nil
33605}
33606
33607// SetCreateNewVersion sets the CreateNewVersion field's value.
33608func (s *UpdateSmsTemplateInput) SetCreateNewVersion(v bool) *UpdateSmsTemplateInput {
33609	s.CreateNewVersion = &v
33610	return s
33611}
33612
33613// SetSMSTemplateRequest sets the SMSTemplateRequest field's value.
33614func (s *UpdateSmsTemplateInput) SetSMSTemplateRequest(v *SMSTemplateRequest) *UpdateSmsTemplateInput {
33615	s.SMSTemplateRequest = v
33616	return s
33617}
33618
33619// SetTemplateName sets the TemplateName field's value.
33620func (s *UpdateSmsTemplateInput) SetTemplateName(v string) *UpdateSmsTemplateInput {
33621	s.TemplateName = &v
33622	return s
33623}
33624
33625// SetVersion sets the Version field's value.
33626func (s *UpdateSmsTemplateInput) SetVersion(v string) *UpdateSmsTemplateInput {
33627	s.Version = &v
33628	return s
33629}
33630
33631type UpdateSmsTemplateOutput struct {
33632	_ struct{} `type:"structure" payload:"MessageBody"`
33633
33634	// Provides information about an API request or response.
33635	//
33636	// MessageBody is a required field
33637	MessageBody *MessageBody `type:"structure" required:"true"`
33638}
33639
33640// String returns the string representation
33641func (s UpdateSmsTemplateOutput) String() string {
33642	return awsutil.Prettify(s)
33643}
33644
33645// GoString returns the string representation
33646func (s UpdateSmsTemplateOutput) GoString() string {
33647	return s.String()
33648}
33649
33650// SetMessageBody sets the MessageBody field's value.
33651func (s *UpdateSmsTemplateOutput) SetMessageBody(v *MessageBody) *UpdateSmsTemplateOutput {
33652	s.MessageBody = v
33653	return s
33654}
33655
33656type UpdateTemplateActiveVersionInput struct {
33657	_ struct{} `type:"structure" payload:"TemplateActiveVersionRequest"`
33658
33659	// Specifies which version of a message template to use as the active version
33660	// of the template.
33661	//
33662	// TemplateActiveVersionRequest is a required field
33663	TemplateActiveVersionRequest *TemplateActiveVersionRequest `type:"structure" required:"true"`
33664
33665	// TemplateName is a required field
33666	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
33667
33668	// TemplateType is a required field
33669	TemplateType *string `location:"uri" locationName:"template-type" type:"string" required:"true"`
33670}
33671
33672// String returns the string representation
33673func (s UpdateTemplateActiveVersionInput) String() string {
33674	return awsutil.Prettify(s)
33675}
33676
33677// GoString returns the string representation
33678func (s UpdateTemplateActiveVersionInput) GoString() string {
33679	return s.String()
33680}
33681
33682// Validate inspects the fields of the type to determine if they are valid.
33683func (s *UpdateTemplateActiveVersionInput) Validate() error {
33684	invalidParams := request.ErrInvalidParams{Context: "UpdateTemplateActiveVersionInput"}
33685	if s.TemplateActiveVersionRequest == nil {
33686		invalidParams.Add(request.NewErrParamRequired("TemplateActiveVersionRequest"))
33687	}
33688	if s.TemplateName == nil {
33689		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
33690	}
33691	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
33692		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
33693	}
33694	if s.TemplateType == nil {
33695		invalidParams.Add(request.NewErrParamRequired("TemplateType"))
33696	}
33697	if s.TemplateType != nil && len(*s.TemplateType) < 1 {
33698		invalidParams.Add(request.NewErrParamMinLen("TemplateType", 1))
33699	}
33700
33701	if invalidParams.Len() > 0 {
33702		return invalidParams
33703	}
33704	return nil
33705}
33706
33707// SetTemplateActiveVersionRequest sets the TemplateActiveVersionRequest field's value.
33708func (s *UpdateTemplateActiveVersionInput) SetTemplateActiveVersionRequest(v *TemplateActiveVersionRequest) *UpdateTemplateActiveVersionInput {
33709	s.TemplateActiveVersionRequest = v
33710	return s
33711}
33712
33713// SetTemplateName sets the TemplateName field's value.
33714func (s *UpdateTemplateActiveVersionInput) SetTemplateName(v string) *UpdateTemplateActiveVersionInput {
33715	s.TemplateName = &v
33716	return s
33717}
33718
33719// SetTemplateType sets the TemplateType field's value.
33720func (s *UpdateTemplateActiveVersionInput) SetTemplateType(v string) *UpdateTemplateActiveVersionInput {
33721	s.TemplateType = &v
33722	return s
33723}
33724
33725type UpdateTemplateActiveVersionOutput struct {
33726	_ struct{} `type:"structure" payload:"MessageBody"`
33727
33728	// Provides information about an API request or response.
33729	//
33730	// MessageBody is a required field
33731	MessageBody *MessageBody `type:"structure" required:"true"`
33732}
33733
33734// String returns the string representation
33735func (s UpdateTemplateActiveVersionOutput) String() string {
33736	return awsutil.Prettify(s)
33737}
33738
33739// GoString returns the string representation
33740func (s UpdateTemplateActiveVersionOutput) GoString() string {
33741	return s.String()
33742}
33743
33744// SetMessageBody sets the MessageBody field's value.
33745func (s *UpdateTemplateActiveVersionOutput) SetMessageBody(v *MessageBody) *UpdateTemplateActiveVersionOutput {
33746	s.MessageBody = v
33747	return s
33748}
33749
33750type UpdateVoiceChannelInput struct {
33751	_ struct{} `type:"structure" payload:"VoiceChannelRequest"`
33752
33753	// ApplicationId is a required field
33754	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
33755
33756	// Specifies the status and settings of the voice channel for an application.
33757	//
33758	// VoiceChannelRequest is a required field
33759	VoiceChannelRequest *VoiceChannelRequest `type:"structure" required:"true"`
33760}
33761
33762// String returns the string representation
33763func (s UpdateVoiceChannelInput) String() string {
33764	return awsutil.Prettify(s)
33765}
33766
33767// GoString returns the string representation
33768func (s UpdateVoiceChannelInput) GoString() string {
33769	return s.String()
33770}
33771
33772// Validate inspects the fields of the type to determine if they are valid.
33773func (s *UpdateVoiceChannelInput) Validate() error {
33774	invalidParams := request.ErrInvalidParams{Context: "UpdateVoiceChannelInput"}
33775	if s.ApplicationId == nil {
33776		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
33777	}
33778	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
33779		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
33780	}
33781	if s.VoiceChannelRequest == nil {
33782		invalidParams.Add(request.NewErrParamRequired("VoiceChannelRequest"))
33783	}
33784
33785	if invalidParams.Len() > 0 {
33786		return invalidParams
33787	}
33788	return nil
33789}
33790
33791// SetApplicationId sets the ApplicationId field's value.
33792func (s *UpdateVoiceChannelInput) SetApplicationId(v string) *UpdateVoiceChannelInput {
33793	s.ApplicationId = &v
33794	return s
33795}
33796
33797// SetVoiceChannelRequest sets the VoiceChannelRequest field's value.
33798func (s *UpdateVoiceChannelInput) SetVoiceChannelRequest(v *VoiceChannelRequest) *UpdateVoiceChannelInput {
33799	s.VoiceChannelRequest = v
33800	return s
33801}
33802
33803type UpdateVoiceChannelOutput struct {
33804	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
33805
33806	// Provides information about the status and settings of the voice channel for
33807	// an application.
33808	//
33809	// VoiceChannelResponse is a required field
33810	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
33811}
33812
33813// String returns the string representation
33814func (s UpdateVoiceChannelOutput) String() string {
33815	return awsutil.Prettify(s)
33816}
33817
33818// GoString returns the string representation
33819func (s UpdateVoiceChannelOutput) GoString() string {
33820	return s.String()
33821}
33822
33823// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
33824func (s *UpdateVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *UpdateVoiceChannelOutput {
33825	s.VoiceChannelResponse = v
33826	return s
33827}
33828
33829type UpdateVoiceTemplateInput struct {
33830	_ struct{} `type:"structure" payload:"VoiceTemplateRequest"`
33831
33832	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
33833
33834	// TemplateName is a required field
33835	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
33836
33837	Version *string `location:"querystring" locationName:"version" type:"string"`
33838
33839	// Specifies the content and settings for a message template that can be used
33840	// in messages that are sent through the voice channel.
33841	//
33842	// VoiceTemplateRequest is a required field
33843	VoiceTemplateRequest *VoiceTemplateRequest `type:"structure" required:"true"`
33844}
33845
33846// String returns the string representation
33847func (s UpdateVoiceTemplateInput) String() string {
33848	return awsutil.Prettify(s)
33849}
33850
33851// GoString returns the string representation
33852func (s UpdateVoiceTemplateInput) GoString() string {
33853	return s.String()
33854}
33855
33856// Validate inspects the fields of the type to determine if they are valid.
33857func (s *UpdateVoiceTemplateInput) Validate() error {
33858	invalidParams := request.ErrInvalidParams{Context: "UpdateVoiceTemplateInput"}
33859	if s.TemplateName == nil {
33860		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
33861	}
33862	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
33863		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
33864	}
33865	if s.VoiceTemplateRequest == nil {
33866		invalidParams.Add(request.NewErrParamRequired("VoiceTemplateRequest"))
33867	}
33868
33869	if invalidParams.Len() > 0 {
33870		return invalidParams
33871	}
33872	return nil
33873}
33874
33875// SetCreateNewVersion sets the CreateNewVersion field's value.
33876func (s *UpdateVoiceTemplateInput) SetCreateNewVersion(v bool) *UpdateVoiceTemplateInput {
33877	s.CreateNewVersion = &v
33878	return s
33879}
33880
33881// SetTemplateName sets the TemplateName field's value.
33882func (s *UpdateVoiceTemplateInput) SetTemplateName(v string) *UpdateVoiceTemplateInput {
33883	s.TemplateName = &v
33884	return s
33885}
33886
33887// SetVersion sets the Version field's value.
33888func (s *UpdateVoiceTemplateInput) SetVersion(v string) *UpdateVoiceTemplateInput {
33889	s.Version = &v
33890	return s
33891}
33892
33893// SetVoiceTemplateRequest sets the VoiceTemplateRequest field's value.
33894func (s *UpdateVoiceTemplateInput) SetVoiceTemplateRequest(v *VoiceTemplateRequest) *UpdateVoiceTemplateInput {
33895	s.VoiceTemplateRequest = v
33896	return s
33897}
33898
33899type UpdateVoiceTemplateOutput struct {
33900	_ struct{} `type:"structure" payload:"MessageBody"`
33901
33902	// Provides information about an API request or response.
33903	//
33904	// MessageBody is a required field
33905	MessageBody *MessageBody `type:"structure" required:"true"`
33906}
33907
33908// String returns the string representation
33909func (s UpdateVoiceTemplateOutput) String() string {
33910	return awsutil.Prettify(s)
33911}
33912
33913// GoString returns the string representation
33914func (s UpdateVoiceTemplateOutput) GoString() string {
33915	return s.String()
33916}
33917
33918// SetMessageBody sets the MessageBody field's value.
33919func (s *UpdateVoiceTemplateOutput) SetMessageBody(v *MessageBody) *UpdateVoiceTemplateOutput {
33920	s.MessageBody = v
33921	return s
33922}
33923
33924// Specifies the status and settings of the voice channel for an application.
33925type VoiceChannelRequest struct {
33926	_ struct{} `type:"structure"`
33927
33928	// Specifies whether to enable the voice channel for the application.
33929	Enabled *bool `type:"boolean"`
33930}
33931
33932// String returns the string representation
33933func (s VoiceChannelRequest) String() string {
33934	return awsutil.Prettify(s)
33935}
33936
33937// GoString returns the string representation
33938func (s VoiceChannelRequest) GoString() string {
33939	return s.String()
33940}
33941
33942// SetEnabled sets the Enabled field's value.
33943func (s *VoiceChannelRequest) SetEnabled(v bool) *VoiceChannelRequest {
33944	s.Enabled = &v
33945	return s
33946}
33947
33948// Provides information about the status and settings of the voice channel for
33949// an application.
33950type VoiceChannelResponse struct {
33951	_ struct{} `type:"structure"`
33952
33953	// The unique identifier for the application that the voice channel applies
33954	// to.
33955	ApplicationId *string `type:"string"`
33956
33957	// The date and time, in ISO 8601 format, when the voice channel was enabled.
33958	CreationDate *string `type:"string"`
33959
33960	// Specifies whether the voice channel is enabled for the application.
33961	Enabled *bool `type:"boolean"`
33962
33963	// (Not used) This property is retained only for backward compatibility.
33964	HasCredential *bool `type:"boolean"`
33965
33966	// (Deprecated) An identifier for the voice channel. This property is retained
33967	// only for backward compatibility.
33968	Id *string `type:"string"`
33969
33970	// Specifies whether the voice channel is archived.
33971	IsArchived *bool `type:"boolean"`
33972
33973	// The user who last modified the voice channel.
33974	LastModifiedBy *string `type:"string"`
33975
33976	// The date and time, in ISO 8601 format, when the voice channel was last modified.
33977	LastModifiedDate *string `type:"string"`
33978
33979	// The type of messaging or notification platform for the channel. For the voice
33980	// channel, this value is VOICE.
33981	//
33982	// Platform is a required field
33983	Platform *string `type:"string" required:"true"`
33984
33985	// The current version of the voice channel.
33986	Version *int64 `type:"integer"`
33987}
33988
33989// String returns the string representation
33990func (s VoiceChannelResponse) String() string {
33991	return awsutil.Prettify(s)
33992}
33993
33994// GoString returns the string representation
33995func (s VoiceChannelResponse) GoString() string {
33996	return s.String()
33997}
33998
33999// SetApplicationId sets the ApplicationId field's value.
34000func (s *VoiceChannelResponse) SetApplicationId(v string) *VoiceChannelResponse {
34001	s.ApplicationId = &v
34002	return s
34003}
34004
34005// SetCreationDate sets the CreationDate field's value.
34006func (s *VoiceChannelResponse) SetCreationDate(v string) *VoiceChannelResponse {
34007	s.CreationDate = &v
34008	return s
34009}
34010
34011// SetEnabled sets the Enabled field's value.
34012func (s *VoiceChannelResponse) SetEnabled(v bool) *VoiceChannelResponse {
34013	s.Enabled = &v
34014	return s
34015}
34016
34017// SetHasCredential sets the HasCredential field's value.
34018func (s *VoiceChannelResponse) SetHasCredential(v bool) *VoiceChannelResponse {
34019	s.HasCredential = &v
34020	return s
34021}
34022
34023// SetId sets the Id field's value.
34024func (s *VoiceChannelResponse) SetId(v string) *VoiceChannelResponse {
34025	s.Id = &v
34026	return s
34027}
34028
34029// SetIsArchived sets the IsArchived field's value.
34030func (s *VoiceChannelResponse) SetIsArchived(v bool) *VoiceChannelResponse {
34031	s.IsArchived = &v
34032	return s
34033}
34034
34035// SetLastModifiedBy sets the LastModifiedBy field's value.
34036func (s *VoiceChannelResponse) SetLastModifiedBy(v string) *VoiceChannelResponse {
34037	s.LastModifiedBy = &v
34038	return s
34039}
34040
34041// SetLastModifiedDate sets the LastModifiedDate field's value.
34042func (s *VoiceChannelResponse) SetLastModifiedDate(v string) *VoiceChannelResponse {
34043	s.LastModifiedDate = &v
34044	return s
34045}
34046
34047// SetPlatform sets the Platform field's value.
34048func (s *VoiceChannelResponse) SetPlatform(v string) *VoiceChannelResponse {
34049	s.Platform = &v
34050	return s
34051}
34052
34053// SetVersion sets the Version field's value.
34054func (s *VoiceChannelResponse) SetVersion(v int64) *VoiceChannelResponse {
34055	s.Version = &v
34056	return s
34057}
34058
34059// Specifies the settings for a one-time voice message that's sent directly
34060// to an endpoint through the voice channel.
34061type VoiceMessage struct {
34062	_ struct{} `type:"structure"`
34063
34064	// The text of the script to use for the voice message.
34065	Body *string `type:"string"`
34066
34067	// The code for the language to use when synthesizing the text of the message
34068	// script. For a list of supported languages and the code for each one, see
34069	// the Amazon Polly Developer Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
34070	LanguageCode *string `type:"string"`
34071
34072	// The long code to send the voice message from. This value should be one of
34073	// the dedicated long codes that's assigned to your AWS account. Although it
34074	// isn't required, we recommend that you specify the long code in E.164 format,
34075	// for example +12065550100, to ensure prompt and accurate delivery of the message.
34076	OriginationNumber *string `type:"string"`
34077
34078	// The default message variables to use in the voice message. You can override
34079	// the default variables with individual address variables.
34080	Substitutions map[string][]*string `type:"map"`
34081
34082	// The name of the voice to use when delivering the message. For a list of supported
34083	// voices, see the Amazon Polly Developer Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
34084	VoiceId *string `type:"string"`
34085}
34086
34087// String returns the string representation
34088func (s VoiceMessage) String() string {
34089	return awsutil.Prettify(s)
34090}
34091
34092// GoString returns the string representation
34093func (s VoiceMessage) GoString() string {
34094	return s.String()
34095}
34096
34097// SetBody sets the Body field's value.
34098func (s *VoiceMessage) SetBody(v string) *VoiceMessage {
34099	s.Body = &v
34100	return s
34101}
34102
34103// SetLanguageCode sets the LanguageCode field's value.
34104func (s *VoiceMessage) SetLanguageCode(v string) *VoiceMessage {
34105	s.LanguageCode = &v
34106	return s
34107}
34108
34109// SetOriginationNumber sets the OriginationNumber field's value.
34110func (s *VoiceMessage) SetOriginationNumber(v string) *VoiceMessage {
34111	s.OriginationNumber = &v
34112	return s
34113}
34114
34115// SetSubstitutions sets the Substitutions field's value.
34116func (s *VoiceMessage) SetSubstitutions(v map[string][]*string) *VoiceMessage {
34117	s.Substitutions = v
34118	return s
34119}
34120
34121// SetVoiceId sets the VoiceId field's value.
34122func (s *VoiceMessage) SetVoiceId(v string) *VoiceMessage {
34123	s.VoiceId = &v
34124	return s
34125}
34126
34127// Specifies the content and settings for a message template that can be used
34128// in messages that are sent through the voice channel.
34129type VoiceTemplateRequest struct {
34130	_ struct{} `type:"structure"`
34131
34132	// The text of the script to use in messages that are based on the message template,
34133	// in plain text format.
34134	Body *string `type:"string"`
34135
34136	// A JSON object that specifies the default values to use for message variables
34137	// in the message template. This object is a set of key-value pairs. Each key
34138	// defines a message variable in the template. The corresponding value defines
34139	// the default value for that variable. When you create a message that's based
34140	// on the template, you can override these defaults with message-specific and
34141	// address-specific variables and values.
34142	DefaultSubstitutions *string `type:"string"`
34143
34144	// The code for the language to use when synthesizing the text of the script
34145	// in messages that are based on the message template. For a list of supported
34146	// languages and the code for each one, see the Amazon Polly Developer Guide
34147	// (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
34148	LanguageCode *string `type:"string"`
34149
34150	// A string-to-string map of key-value pairs that defines the tags to associate
34151	// with the message template. Each tag consists of a required tag key and an
34152	// associated tag value.
34153	Tags map[string]*string `locationName:"tags" type:"map"`
34154
34155	// A custom description of the message template.
34156	TemplateDescription *string `type:"string"`
34157
34158	// The name of the voice to use when delivering messages that are based on the
34159	// message template. For a list of supported voices, see the Amazon Polly Developer
34160	// Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
34161	VoiceId *string `type:"string"`
34162}
34163
34164// String returns the string representation
34165func (s VoiceTemplateRequest) String() string {
34166	return awsutil.Prettify(s)
34167}
34168
34169// GoString returns the string representation
34170func (s VoiceTemplateRequest) GoString() string {
34171	return s.String()
34172}
34173
34174// SetBody sets the Body field's value.
34175func (s *VoiceTemplateRequest) SetBody(v string) *VoiceTemplateRequest {
34176	s.Body = &v
34177	return s
34178}
34179
34180// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
34181func (s *VoiceTemplateRequest) SetDefaultSubstitutions(v string) *VoiceTemplateRequest {
34182	s.DefaultSubstitutions = &v
34183	return s
34184}
34185
34186// SetLanguageCode sets the LanguageCode field's value.
34187func (s *VoiceTemplateRequest) SetLanguageCode(v string) *VoiceTemplateRequest {
34188	s.LanguageCode = &v
34189	return s
34190}
34191
34192// SetTags sets the Tags field's value.
34193func (s *VoiceTemplateRequest) SetTags(v map[string]*string) *VoiceTemplateRequest {
34194	s.Tags = v
34195	return s
34196}
34197
34198// SetTemplateDescription sets the TemplateDescription field's value.
34199func (s *VoiceTemplateRequest) SetTemplateDescription(v string) *VoiceTemplateRequest {
34200	s.TemplateDescription = &v
34201	return s
34202}
34203
34204// SetVoiceId sets the VoiceId field's value.
34205func (s *VoiceTemplateRequest) SetVoiceId(v string) *VoiceTemplateRequest {
34206	s.VoiceId = &v
34207	return s
34208}
34209
34210// Provides information about the content and settings for a message template
34211// that can be used in messages that are sent through the voice channel.
34212type VoiceTemplateResponse struct {
34213	_ struct{} `type:"structure"`
34214
34215	// The Amazon Resource Name (ARN) of the message template.
34216	Arn *string `type:"string"`
34217
34218	// The text of the script that's used in messages that are based on the message
34219	// template, in plain text format.
34220	Body *string `type:"string"`
34221
34222	// The date, in ISO 8601 format, when the message template was created.
34223	//
34224	// CreationDate is a required field
34225	CreationDate *string `type:"string" required:"true"`
34226
34227	// The JSON object that specifies the default values that are used for message
34228	// variables in the message template. This object is a set of key-value pairs.
34229	// Each key defines a message variable in the template. The corresponding value
34230	// defines the default value for that variable.
34231	DefaultSubstitutions *string `type:"string"`
34232
34233	// The code for the language that's used when synthesizing the text of the script
34234	// in messages that are based on the message template. For a list of supported
34235	// languages and the code for each one, see the Amazon Polly Developer Guide
34236	// (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
34237	LanguageCode *string `type:"string"`
34238
34239	// The date, in ISO 8601 format, when the message template was last modified.
34240	//
34241	// LastModifiedDate is a required field
34242	LastModifiedDate *string `type:"string" required:"true"`
34243
34244	// A string-to-string map of key-value pairs that identifies the tags that are
34245	// associated with the message template. Each tag consists of a required tag
34246	// key and an associated tag value.
34247	Tags map[string]*string `locationName:"tags" type:"map"`
34248
34249	// The custom description of the message template.
34250	TemplateDescription *string `type:"string"`
34251
34252	// The name of the message template.
34253	//
34254	// TemplateName is a required field
34255	TemplateName *string `type:"string" required:"true"`
34256
34257	// The type of channel that the message template is designed for. For a voice
34258	// template, this value is VOICE.
34259	//
34260	// TemplateType is a required field
34261	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
34262
34263	// The unique identifier, as an integer, for the active version of the message
34264	// template, or the version of the template that you specified by using the
34265	// version parameter in your request.
34266	Version *string `type:"string"`
34267
34268	// The name of the voice that's used when delivering messages that are based
34269	// on the message template. For a list of supported voices, see the Amazon Polly
34270	// Developer Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
34271	VoiceId *string `type:"string"`
34272}
34273
34274// String returns the string representation
34275func (s VoiceTemplateResponse) String() string {
34276	return awsutil.Prettify(s)
34277}
34278
34279// GoString returns the string representation
34280func (s VoiceTemplateResponse) GoString() string {
34281	return s.String()
34282}
34283
34284// SetArn sets the Arn field's value.
34285func (s *VoiceTemplateResponse) SetArn(v string) *VoiceTemplateResponse {
34286	s.Arn = &v
34287	return s
34288}
34289
34290// SetBody sets the Body field's value.
34291func (s *VoiceTemplateResponse) SetBody(v string) *VoiceTemplateResponse {
34292	s.Body = &v
34293	return s
34294}
34295
34296// SetCreationDate sets the CreationDate field's value.
34297func (s *VoiceTemplateResponse) SetCreationDate(v string) *VoiceTemplateResponse {
34298	s.CreationDate = &v
34299	return s
34300}
34301
34302// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
34303func (s *VoiceTemplateResponse) SetDefaultSubstitutions(v string) *VoiceTemplateResponse {
34304	s.DefaultSubstitutions = &v
34305	return s
34306}
34307
34308// SetLanguageCode sets the LanguageCode field's value.
34309func (s *VoiceTemplateResponse) SetLanguageCode(v string) *VoiceTemplateResponse {
34310	s.LanguageCode = &v
34311	return s
34312}
34313
34314// SetLastModifiedDate sets the LastModifiedDate field's value.
34315func (s *VoiceTemplateResponse) SetLastModifiedDate(v string) *VoiceTemplateResponse {
34316	s.LastModifiedDate = &v
34317	return s
34318}
34319
34320// SetTags sets the Tags field's value.
34321func (s *VoiceTemplateResponse) SetTags(v map[string]*string) *VoiceTemplateResponse {
34322	s.Tags = v
34323	return s
34324}
34325
34326// SetTemplateDescription sets the TemplateDescription field's value.
34327func (s *VoiceTemplateResponse) SetTemplateDescription(v string) *VoiceTemplateResponse {
34328	s.TemplateDescription = &v
34329	return s
34330}
34331
34332// SetTemplateName sets the TemplateName field's value.
34333func (s *VoiceTemplateResponse) SetTemplateName(v string) *VoiceTemplateResponse {
34334	s.TemplateName = &v
34335	return s
34336}
34337
34338// SetTemplateType sets the TemplateType field's value.
34339func (s *VoiceTemplateResponse) SetTemplateType(v string) *VoiceTemplateResponse {
34340	s.TemplateType = &v
34341	return s
34342}
34343
34344// SetVersion sets the Version field's value.
34345func (s *VoiceTemplateResponse) SetVersion(v string) *VoiceTemplateResponse {
34346	s.Version = &v
34347	return s
34348}
34349
34350// SetVoiceId sets the VoiceId field's value.
34351func (s *VoiceTemplateResponse) SetVoiceId(v string) *VoiceTemplateResponse {
34352	s.VoiceId = &v
34353	return s
34354}
34355
34356// Specifies the settings for a wait activity in a journey. This type of activity
34357// waits for a certain amount of time or until a specific date and time before
34358// moving participants to the next activity in a journey.
34359type WaitActivity struct {
34360	_ struct{} `type:"structure"`
34361
34362	// The unique identifier for the next activity to perform, after performing
34363	// the wait activity.
34364	NextActivity *string `type:"string"`
34365
34366	// The amount of time to wait or the date and time when the activity moves participants
34367	// to the next activity in the journey.
34368	WaitTime *WaitTime `type:"structure"`
34369}
34370
34371// String returns the string representation
34372func (s WaitActivity) String() string {
34373	return awsutil.Prettify(s)
34374}
34375
34376// GoString returns the string representation
34377func (s WaitActivity) GoString() string {
34378	return s.String()
34379}
34380
34381// SetNextActivity sets the NextActivity field's value.
34382func (s *WaitActivity) SetNextActivity(v string) *WaitActivity {
34383	s.NextActivity = &v
34384	return s
34385}
34386
34387// SetWaitTime sets the WaitTime field's value.
34388func (s *WaitActivity) SetWaitTime(v *WaitTime) *WaitActivity {
34389	s.WaitTime = v
34390	return s
34391}
34392
34393// Specifies a duration or a date and time that indicates when Amazon Pinpoint
34394// determines whether an activity's conditions have been met or an activity
34395// moves participants to the next activity in a journey.
34396type WaitTime struct {
34397	_ struct{} `type:"structure"`
34398
34399	// The amount of time to wait, as a duration in ISO 8601 format, before determining
34400	// whether the activity's conditions have been met or moving participants to
34401	// the next activity in the journey.
34402	WaitFor *string `type:"string"`
34403
34404	// The date and time, in ISO 8601 format, when Amazon Pinpoint determines whether
34405	// the activity's conditions have been met or the activity moves participants
34406	// to the next activity in the journey.
34407	WaitUntil *string `type:"string"`
34408}
34409
34410// String returns the string representation
34411func (s WaitTime) String() string {
34412	return awsutil.Prettify(s)
34413}
34414
34415// GoString returns the string representation
34416func (s WaitTime) GoString() string {
34417	return s.String()
34418}
34419
34420// SetWaitFor sets the WaitFor field's value.
34421func (s *WaitTime) SetWaitFor(v string) *WaitTime {
34422	s.WaitFor = &v
34423	return s
34424}
34425
34426// SetWaitUntil sets the WaitUntil field's value.
34427func (s *WaitTime) SetWaitUntil(v string) *WaitTime {
34428	s.WaitUntil = &v
34429	return s
34430}
34431
34432// Specifies the default settings for an application.
34433type WriteApplicationSettingsRequest struct {
34434	_ struct{} `type:"structure"`
34435
34436	// The settings for the AWS Lambda function to invoke by default as a code hook
34437	// for campaigns in the application. You can use this hook to customize segments
34438	// that are used by campaigns in the application.
34439	//
34440	// To override these settings and define custom settings for a specific campaign,
34441	// use the CampaignHook object of the Campaign resource.
34442	CampaignHook *CampaignHook `type:"structure"`
34443
34444	// Specifies whether to enable application-related alarms in Amazon CloudWatch.
34445	CloudWatchMetricsEnabled *bool `type:"boolean"`
34446
34447	// The default sending limits for campaigns in the application. To override
34448	// these limits and define custom limits for a specific campaign or journey,
34449	// use the Campaign resource or the Journey resource, respectively.
34450	Limits *CampaignLimits `type:"structure"`
34451
34452	// The default quiet time for campaigns in the application. Quiet time is a
34453	// specific time range when messages aren't sent to endpoints, if all the following
34454	// conditions are met:
34455	//
34456	//    * The EndpointDemographic.Timezone property of the endpoint is set to
34457	//    a valid value.
34458	//
34459	//    * The current time in the endpoint's time zone is later than or equal
34460	//    to the time specified by the QuietTime.Start property for the application
34461	//    (or a campaign or journey that has custom quiet time settings).
34462	//
34463	//    * The current time in the endpoint's time zone is earlier than or equal
34464	//    to the time specified by the QuietTime.End property for the application
34465	//    (or a campaign or journey that has custom quiet time settings).
34466	//
34467	// If any of the preceding conditions isn't met, the endpoint will receive messages
34468	// from a campaign or journey, even if quiet time is enabled.
34469	//
34470	// To override the default quiet time settings for a specific campaign or journey,
34471	// use the Campaign resource or the Journey resource to define a custom quiet
34472	// time for the campaign or journey.
34473	QuietTime *QuietTime `type:"structure"`
34474}
34475
34476// String returns the string representation
34477func (s WriteApplicationSettingsRequest) String() string {
34478	return awsutil.Prettify(s)
34479}
34480
34481// GoString returns the string representation
34482func (s WriteApplicationSettingsRequest) GoString() string {
34483	return s.String()
34484}
34485
34486// SetCampaignHook sets the CampaignHook field's value.
34487func (s *WriteApplicationSettingsRequest) SetCampaignHook(v *CampaignHook) *WriteApplicationSettingsRequest {
34488	s.CampaignHook = v
34489	return s
34490}
34491
34492// SetCloudWatchMetricsEnabled sets the CloudWatchMetricsEnabled field's value.
34493func (s *WriteApplicationSettingsRequest) SetCloudWatchMetricsEnabled(v bool) *WriteApplicationSettingsRequest {
34494	s.CloudWatchMetricsEnabled = &v
34495	return s
34496}
34497
34498// SetLimits sets the Limits field's value.
34499func (s *WriteApplicationSettingsRequest) SetLimits(v *CampaignLimits) *WriteApplicationSettingsRequest {
34500	s.Limits = v
34501	return s
34502}
34503
34504// SetQuietTime sets the QuietTime field's value.
34505func (s *WriteApplicationSettingsRequest) SetQuietTime(v *QuietTime) *WriteApplicationSettingsRequest {
34506	s.QuietTime = v
34507	return s
34508}
34509
34510// Specifies the configuration and other settings for a campaign.
34511type WriteCampaignRequest struct {
34512	_ struct{} `type:"structure"`
34513
34514	// An array of requests that defines additional treatments for the campaign,
34515	// in addition to the default treatment for the campaign.
34516	AdditionalTreatments []*WriteTreatmentResource `type:"list"`
34517
34518	// The delivery configuration settings for sending the campaign through a custom
34519	// channel. This object is required if the MessageConfiguration object for the
34520	// campaign specifies a CustomMessage object.
34521	CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"`
34522
34523	// A custom description of the campaign.
34524	Description *string `type:"string"`
34525
34526	// The allocated percentage of users (segment members) who shouldn't receive
34527	// messages from the campaign.
34528	HoldoutPercent *int64 `type:"integer"`
34529
34530	// The settings for the AWS Lambda function to invoke as a code hook for the
34531	// campaign. You can use this hook to customize the segment that's used by the
34532	// campaign.
34533	Hook *CampaignHook `type:"structure"`
34534
34535	// Specifies whether to pause the campaign. A paused campaign doesn't run unless
34536	// you resume it by changing this value to false.
34537	IsPaused *bool `type:"boolean"`
34538
34539	// The messaging limits for the campaign.
34540	Limits *CampaignLimits `type:"structure"`
34541
34542	// The message configuration settings for the campaign.
34543	MessageConfiguration *MessageConfiguration `type:"structure"`
34544
34545	// A custom name for the campaign.
34546	Name *string `type:"string"`
34547
34548	// The schedule settings for the campaign.
34549	Schedule *Schedule `type:"structure"`
34550
34551	// The unique identifier for the segment to associate with the campaign.
34552	SegmentId *string `type:"string"`
34553
34554	// The version of the segment to associate with the campaign.
34555	SegmentVersion *int64 `type:"integer"`
34556
34557	// A string-to-string map of key-value pairs that defines the tags to associate
34558	// with the campaign. Each tag consists of a required tag key and an associated
34559	// tag value.
34560	Tags map[string]*string `locationName:"tags" type:"map"`
34561
34562	// The message template to use for the campaign.
34563	TemplateConfiguration *TemplateConfiguration `type:"structure"`
34564
34565	// A custom description of the default treatment for the campaign.
34566	TreatmentDescription *string `type:"string"`
34567
34568	// A custom name of the default treatment for the campaign, if the campaign
34569	// has multiple treatments. A treatment is a variation of a campaign that's
34570	// used for A/B testing.
34571	TreatmentName *string `type:"string"`
34572}
34573
34574// String returns the string representation
34575func (s WriteCampaignRequest) String() string {
34576	return awsutil.Prettify(s)
34577}
34578
34579// GoString returns the string representation
34580func (s WriteCampaignRequest) GoString() string {
34581	return s.String()
34582}
34583
34584// Validate inspects the fields of the type to determine if they are valid.
34585func (s *WriteCampaignRequest) Validate() error {
34586	invalidParams := request.ErrInvalidParams{Context: "WriteCampaignRequest"}
34587	if s.AdditionalTreatments != nil {
34588		for i, v := range s.AdditionalTreatments {
34589			if v == nil {
34590				continue
34591			}
34592			if err := v.Validate(); err != nil {
34593				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalTreatments", i), err.(request.ErrInvalidParams))
34594			}
34595		}
34596	}
34597	if s.CustomDeliveryConfiguration != nil {
34598		if err := s.CustomDeliveryConfiguration.Validate(); err != nil {
34599			invalidParams.AddNested("CustomDeliveryConfiguration", err.(request.ErrInvalidParams))
34600		}
34601	}
34602	if s.Schedule != nil {
34603		if err := s.Schedule.Validate(); err != nil {
34604			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
34605		}
34606	}
34607
34608	if invalidParams.Len() > 0 {
34609		return invalidParams
34610	}
34611	return nil
34612}
34613
34614// SetAdditionalTreatments sets the AdditionalTreatments field's value.
34615func (s *WriteCampaignRequest) SetAdditionalTreatments(v []*WriteTreatmentResource) *WriteCampaignRequest {
34616	s.AdditionalTreatments = v
34617	return s
34618}
34619
34620// SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value.
34621func (s *WriteCampaignRequest) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *WriteCampaignRequest {
34622	s.CustomDeliveryConfiguration = v
34623	return s
34624}
34625
34626// SetDescription sets the Description field's value.
34627func (s *WriteCampaignRequest) SetDescription(v string) *WriteCampaignRequest {
34628	s.Description = &v
34629	return s
34630}
34631
34632// SetHoldoutPercent sets the HoldoutPercent field's value.
34633func (s *WriteCampaignRequest) SetHoldoutPercent(v int64) *WriteCampaignRequest {
34634	s.HoldoutPercent = &v
34635	return s
34636}
34637
34638// SetHook sets the Hook field's value.
34639func (s *WriteCampaignRequest) SetHook(v *CampaignHook) *WriteCampaignRequest {
34640	s.Hook = v
34641	return s
34642}
34643
34644// SetIsPaused sets the IsPaused field's value.
34645func (s *WriteCampaignRequest) SetIsPaused(v bool) *WriteCampaignRequest {
34646	s.IsPaused = &v
34647	return s
34648}
34649
34650// SetLimits sets the Limits field's value.
34651func (s *WriteCampaignRequest) SetLimits(v *CampaignLimits) *WriteCampaignRequest {
34652	s.Limits = v
34653	return s
34654}
34655
34656// SetMessageConfiguration sets the MessageConfiguration field's value.
34657func (s *WriteCampaignRequest) SetMessageConfiguration(v *MessageConfiguration) *WriteCampaignRequest {
34658	s.MessageConfiguration = v
34659	return s
34660}
34661
34662// SetName sets the Name field's value.
34663func (s *WriteCampaignRequest) SetName(v string) *WriteCampaignRequest {
34664	s.Name = &v
34665	return s
34666}
34667
34668// SetSchedule sets the Schedule field's value.
34669func (s *WriteCampaignRequest) SetSchedule(v *Schedule) *WriteCampaignRequest {
34670	s.Schedule = v
34671	return s
34672}
34673
34674// SetSegmentId sets the SegmentId field's value.
34675func (s *WriteCampaignRequest) SetSegmentId(v string) *WriteCampaignRequest {
34676	s.SegmentId = &v
34677	return s
34678}
34679
34680// SetSegmentVersion sets the SegmentVersion field's value.
34681func (s *WriteCampaignRequest) SetSegmentVersion(v int64) *WriteCampaignRequest {
34682	s.SegmentVersion = &v
34683	return s
34684}
34685
34686// SetTags sets the Tags field's value.
34687func (s *WriteCampaignRequest) SetTags(v map[string]*string) *WriteCampaignRequest {
34688	s.Tags = v
34689	return s
34690}
34691
34692// SetTemplateConfiguration sets the TemplateConfiguration field's value.
34693func (s *WriteCampaignRequest) SetTemplateConfiguration(v *TemplateConfiguration) *WriteCampaignRequest {
34694	s.TemplateConfiguration = v
34695	return s
34696}
34697
34698// SetTreatmentDescription sets the TreatmentDescription field's value.
34699func (s *WriteCampaignRequest) SetTreatmentDescription(v string) *WriteCampaignRequest {
34700	s.TreatmentDescription = &v
34701	return s
34702}
34703
34704// SetTreatmentName sets the TreatmentName field's value.
34705func (s *WriteCampaignRequest) SetTreatmentName(v string) *WriteCampaignRequest {
34706	s.TreatmentName = &v
34707	return s
34708}
34709
34710// Specifies the Amazon Resource Name (ARN) of an event stream to publish events
34711// to and the AWS Identity and Access Management (IAM) role to use when publishing
34712// those events.
34713type WriteEventStream struct {
34714	_ struct{} `type:"structure"`
34715
34716	// The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon
34717	// Kinesis Data Firehose delivery stream that you want to publish event data
34718	// to.
34719	//
34720	// For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name
34721	//
34722	// For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name
34723	//
34724	// DestinationStreamArn is a required field
34725	DestinationStreamArn *string `type:"string" required:"true"`
34726
34727	// The AWS Identity and Access Management (IAM) role that authorizes Amazon
34728	// Pinpoint to publish event data to the stream in your AWS account.
34729	//
34730	// RoleArn is a required field
34731	RoleArn *string `type:"string" required:"true"`
34732}
34733
34734// String returns the string representation
34735func (s WriteEventStream) String() string {
34736	return awsutil.Prettify(s)
34737}
34738
34739// GoString returns the string representation
34740func (s WriteEventStream) GoString() string {
34741	return s.String()
34742}
34743
34744// Validate inspects the fields of the type to determine if they are valid.
34745func (s *WriteEventStream) Validate() error {
34746	invalidParams := request.ErrInvalidParams{Context: "WriteEventStream"}
34747	if s.DestinationStreamArn == nil {
34748		invalidParams.Add(request.NewErrParamRequired("DestinationStreamArn"))
34749	}
34750	if s.RoleArn == nil {
34751		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
34752	}
34753
34754	if invalidParams.Len() > 0 {
34755		return invalidParams
34756	}
34757	return nil
34758}
34759
34760// SetDestinationStreamArn sets the DestinationStreamArn field's value.
34761func (s *WriteEventStream) SetDestinationStreamArn(v string) *WriteEventStream {
34762	s.DestinationStreamArn = &v
34763	return s
34764}
34765
34766// SetRoleArn sets the RoleArn field's value.
34767func (s *WriteEventStream) SetRoleArn(v string) *WriteEventStream {
34768	s.RoleArn = &v
34769	return s
34770}
34771
34772// Specifies the configuration and other settings for a journey.
34773type WriteJourneyRequest struct {
34774	_ struct{} `type:"structure"`
34775
34776	// A map that contains a set of Activity objects, one object for each activity
34777	// in the journey. For each Activity object, the key is the unique identifier
34778	// (string) for an activity and the value is the settings for the activity.
34779	// An activity identifier can contain a maximum of 100 characters. The characters
34780	// must be alphanumeric characters.
34781	Activities map[string]*Activity `type:"map"`
34782
34783	// The date, in ISO 8601 format, when the journey was created.
34784	CreationDate *string `type:"string"`
34785
34786	// The date, in ISO 8601 format, when the journey was last modified.
34787	LastModifiedDate *string `type:"string"`
34788
34789	// The messaging and entry limits for the journey.
34790	Limits *JourneyLimits `type:"structure"`
34791
34792	// Specifies whether the journey's scheduled start and end times use each participant's
34793	// local time. To base the schedule on each participant's local time, set this
34794	// value to true.
34795	LocalTime *bool `type:"boolean"`
34796
34797	// The name of the journey. A journey name can contain a maximum of 150 characters.
34798	// The characters can be alphanumeric characters or symbols, such as underscores
34799	// (_) or hyphens (-). A journey name can't contain any spaces.
34800	//
34801	// Name is a required field
34802	Name *string `type:"string" required:"true"`
34803
34804	// The quiet time settings for the journey. Quiet time is a specific time range
34805	// when a journey doesn't send messages to participants, if all the following
34806	// conditions are met:
34807	//
34808	//    * The EndpointDemographic.Timezone property of the endpoint for the participant
34809	//    is set to a valid value.
34810	//
34811	//    * The current time in the participant's time zone is later than or equal
34812	//    to the time specified by the QuietTime.Start property for the journey.
34813	//
34814	//    * The current time in the participant's time zone is earlier than or equal
34815	//    to the time specified by the QuietTime.End property for the journey.
34816	//
34817	// If any of the preceding conditions isn't met, the participant will receive
34818	// messages from the journey, even if quiet time is enabled.
34819	QuietTime *QuietTime `type:"structure"`
34820
34821	// The frequency with which Amazon Pinpoint evaluates segment and event data
34822	// for the journey, as a duration in ISO 8601 format.
34823	RefreshFrequency *string `type:"string"`
34824
34825	// The schedule settings for the journey.
34826	Schedule *JourneySchedule `type:"structure"`
34827
34828	// The unique identifier for the first activity in the journey. The identifier
34829	// for this activity can contain a maximum of 128 characters. The characters
34830	// must be alphanumeric characters.
34831	StartActivity *string `type:"string"`
34832
34833	// The segment that defines which users are participants in the journey.
34834	StartCondition *StartCondition `type:"structure"`
34835
34836	// The status of the journey. Valid values are:
34837	//
34838	//    * DRAFT - Saves the journey and doesn't publish it.
34839	//
34840	//    * ACTIVE - Saves and publishes the journey. Depending on the journey's
34841	//    schedule, the journey starts running immediately or at the scheduled start
34842	//    time. If a journey's status is ACTIVE, you can't add, change, or remove
34843	//    activities from it.
34844	//
34845	// The CANCELLED, COMPLETED, and CLOSED values are not supported in requests
34846	// to create or update a journey. To cancel a journey, use the Journey State
34847	// resource.
34848	State *string `type:"string" enum:"State"`
34849}
34850
34851// String returns the string representation
34852func (s WriteJourneyRequest) String() string {
34853	return awsutil.Prettify(s)
34854}
34855
34856// GoString returns the string representation
34857func (s WriteJourneyRequest) GoString() string {
34858	return s.String()
34859}
34860
34861// Validate inspects the fields of the type to determine if they are valid.
34862func (s *WriteJourneyRequest) Validate() error {
34863	invalidParams := request.ErrInvalidParams{Context: "WriteJourneyRequest"}
34864	if s.Name == nil {
34865		invalidParams.Add(request.NewErrParamRequired("Name"))
34866	}
34867	if s.Activities != nil {
34868		for i, v := range s.Activities {
34869			if v == nil {
34870				continue
34871			}
34872			if err := v.Validate(); err != nil {
34873				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Activities", i), err.(request.ErrInvalidParams))
34874			}
34875		}
34876	}
34877	if s.StartCondition != nil {
34878		if err := s.StartCondition.Validate(); err != nil {
34879			invalidParams.AddNested("StartCondition", err.(request.ErrInvalidParams))
34880		}
34881	}
34882
34883	if invalidParams.Len() > 0 {
34884		return invalidParams
34885	}
34886	return nil
34887}
34888
34889// SetActivities sets the Activities field's value.
34890func (s *WriteJourneyRequest) SetActivities(v map[string]*Activity) *WriteJourneyRequest {
34891	s.Activities = v
34892	return s
34893}
34894
34895// SetCreationDate sets the CreationDate field's value.
34896func (s *WriteJourneyRequest) SetCreationDate(v string) *WriteJourneyRequest {
34897	s.CreationDate = &v
34898	return s
34899}
34900
34901// SetLastModifiedDate sets the LastModifiedDate field's value.
34902func (s *WriteJourneyRequest) SetLastModifiedDate(v string) *WriteJourneyRequest {
34903	s.LastModifiedDate = &v
34904	return s
34905}
34906
34907// SetLimits sets the Limits field's value.
34908func (s *WriteJourneyRequest) SetLimits(v *JourneyLimits) *WriteJourneyRequest {
34909	s.Limits = v
34910	return s
34911}
34912
34913// SetLocalTime sets the LocalTime field's value.
34914func (s *WriteJourneyRequest) SetLocalTime(v bool) *WriteJourneyRequest {
34915	s.LocalTime = &v
34916	return s
34917}
34918
34919// SetName sets the Name field's value.
34920func (s *WriteJourneyRequest) SetName(v string) *WriteJourneyRequest {
34921	s.Name = &v
34922	return s
34923}
34924
34925// SetQuietTime sets the QuietTime field's value.
34926func (s *WriteJourneyRequest) SetQuietTime(v *QuietTime) *WriteJourneyRequest {
34927	s.QuietTime = v
34928	return s
34929}
34930
34931// SetRefreshFrequency sets the RefreshFrequency field's value.
34932func (s *WriteJourneyRequest) SetRefreshFrequency(v string) *WriteJourneyRequest {
34933	s.RefreshFrequency = &v
34934	return s
34935}
34936
34937// SetSchedule sets the Schedule field's value.
34938func (s *WriteJourneyRequest) SetSchedule(v *JourneySchedule) *WriteJourneyRequest {
34939	s.Schedule = v
34940	return s
34941}
34942
34943// SetStartActivity sets the StartActivity field's value.
34944func (s *WriteJourneyRequest) SetStartActivity(v string) *WriteJourneyRequest {
34945	s.StartActivity = &v
34946	return s
34947}
34948
34949// SetStartCondition sets the StartCondition field's value.
34950func (s *WriteJourneyRequest) SetStartCondition(v *StartCondition) *WriteJourneyRequest {
34951	s.StartCondition = v
34952	return s
34953}
34954
34955// SetState sets the State field's value.
34956func (s *WriteJourneyRequest) SetState(v string) *WriteJourneyRequest {
34957	s.State = &v
34958	return s
34959}
34960
34961// Specifies the configuration, dimension, and other settings for a segment.
34962// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
34963// object, but not both.
34964type WriteSegmentRequest struct {
34965	_ struct{} `type:"structure"`
34966
34967	// The criteria that define the dimensions for the segment.
34968	Dimensions *SegmentDimensions `type:"structure"`
34969
34970	// The name of the segment.
34971	Name *string `type:"string"`
34972
34973	// The segment group to use and the dimensions to apply to the group's base
34974	// segments in order to build the segment. A segment group can consist of zero
34975	// or more base segments. Your request can include only one segment group.
34976	SegmentGroups *SegmentGroupList `type:"structure"`
34977
34978	// A string-to-string map of key-value pairs that defines the tags to associate
34979	// with the segment. Each tag consists of a required tag key and an associated
34980	// tag value.
34981	Tags map[string]*string `locationName:"tags" type:"map"`
34982}
34983
34984// String returns the string representation
34985func (s WriteSegmentRequest) String() string {
34986	return awsutil.Prettify(s)
34987}
34988
34989// GoString returns the string representation
34990func (s WriteSegmentRequest) GoString() string {
34991	return s.String()
34992}
34993
34994// Validate inspects the fields of the type to determine if they are valid.
34995func (s *WriteSegmentRequest) Validate() error {
34996	invalidParams := request.ErrInvalidParams{Context: "WriteSegmentRequest"}
34997	if s.Dimensions != nil {
34998		if err := s.Dimensions.Validate(); err != nil {
34999			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
35000		}
35001	}
35002	if s.SegmentGroups != nil {
35003		if err := s.SegmentGroups.Validate(); err != nil {
35004			invalidParams.AddNested("SegmentGroups", err.(request.ErrInvalidParams))
35005		}
35006	}
35007
35008	if invalidParams.Len() > 0 {
35009		return invalidParams
35010	}
35011	return nil
35012}
35013
35014// SetDimensions sets the Dimensions field's value.
35015func (s *WriteSegmentRequest) SetDimensions(v *SegmentDimensions) *WriteSegmentRequest {
35016	s.Dimensions = v
35017	return s
35018}
35019
35020// SetName sets the Name field's value.
35021func (s *WriteSegmentRequest) SetName(v string) *WriteSegmentRequest {
35022	s.Name = &v
35023	return s
35024}
35025
35026// SetSegmentGroups sets the SegmentGroups field's value.
35027func (s *WriteSegmentRequest) SetSegmentGroups(v *SegmentGroupList) *WriteSegmentRequest {
35028	s.SegmentGroups = v
35029	return s
35030}
35031
35032// SetTags sets the Tags field's value.
35033func (s *WriteSegmentRequest) SetTags(v map[string]*string) *WriteSegmentRequest {
35034	s.Tags = v
35035	return s
35036}
35037
35038// Specifies the settings for a campaign treatment. A treatment is a variation
35039// of a campaign that's used for A/B testing of a campaign.
35040type WriteTreatmentResource struct {
35041	_ struct{} `type:"structure"`
35042
35043	// The delivery configuration settings for sending the treatment through a custom
35044	// channel. This object is required if the MessageConfiguration object for the
35045	// treatment specifies a CustomMessage object.
35046	CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"`
35047
35048	// The message configuration settings for the treatment.
35049	MessageConfiguration *MessageConfiguration `type:"structure"`
35050
35051	// The schedule settings for the treatment.
35052	Schedule *Schedule `type:"structure"`
35053
35054	// The allocated percentage of users (segment members) to send the treatment
35055	// to.
35056	//
35057	// SizePercent is a required field
35058	SizePercent *int64 `type:"integer" required:"true"`
35059
35060	// The message template to use for the treatment.
35061	TemplateConfiguration *TemplateConfiguration `type:"structure"`
35062
35063	// A custom description of the treatment.
35064	TreatmentDescription *string `type:"string"`
35065
35066	// A custom name for the treatment.
35067	TreatmentName *string `type:"string"`
35068}
35069
35070// String returns the string representation
35071func (s WriteTreatmentResource) String() string {
35072	return awsutil.Prettify(s)
35073}
35074
35075// GoString returns the string representation
35076func (s WriteTreatmentResource) GoString() string {
35077	return s.String()
35078}
35079
35080// Validate inspects the fields of the type to determine if they are valid.
35081func (s *WriteTreatmentResource) Validate() error {
35082	invalidParams := request.ErrInvalidParams{Context: "WriteTreatmentResource"}
35083	if s.SizePercent == nil {
35084		invalidParams.Add(request.NewErrParamRequired("SizePercent"))
35085	}
35086	if s.CustomDeliveryConfiguration != nil {
35087		if err := s.CustomDeliveryConfiguration.Validate(); err != nil {
35088			invalidParams.AddNested("CustomDeliveryConfiguration", err.(request.ErrInvalidParams))
35089		}
35090	}
35091	if s.Schedule != nil {
35092		if err := s.Schedule.Validate(); err != nil {
35093			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
35094		}
35095	}
35096
35097	if invalidParams.Len() > 0 {
35098		return invalidParams
35099	}
35100	return nil
35101}
35102
35103// SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value.
35104func (s *WriteTreatmentResource) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *WriteTreatmentResource {
35105	s.CustomDeliveryConfiguration = v
35106	return s
35107}
35108
35109// SetMessageConfiguration sets the MessageConfiguration field's value.
35110func (s *WriteTreatmentResource) SetMessageConfiguration(v *MessageConfiguration) *WriteTreatmentResource {
35111	s.MessageConfiguration = v
35112	return s
35113}
35114
35115// SetSchedule sets the Schedule field's value.
35116func (s *WriteTreatmentResource) SetSchedule(v *Schedule) *WriteTreatmentResource {
35117	s.Schedule = v
35118	return s
35119}
35120
35121// SetSizePercent sets the SizePercent field's value.
35122func (s *WriteTreatmentResource) SetSizePercent(v int64) *WriteTreatmentResource {
35123	s.SizePercent = &v
35124	return s
35125}
35126
35127// SetTemplateConfiguration sets the TemplateConfiguration field's value.
35128func (s *WriteTreatmentResource) SetTemplateConfiguration(v *TemplateConfiguration) *WriteTreatmentResource {
35129	s.TemplateConfiguration = v
35130	return s
35131}
35132
35133// SetTreatmentDescription sets the TreatmentDescription field's value.
35134func (s *WriteTreatmentResource) SetTreatmentDescription(v string) *WriteTreatmentResource {
35135	s.TreatmentDescription = &v
35136	return s
35137}
35138
35139// SetTreatmentName sets the TreatmentName field's value.
35140func (s *WriteTreatmentResource) SetTreatmentName(v string) *WriteTreatmentResource {
35141	s.TreatmentName = &v
35142	return s
35143}
35144
35145const (
35146	// ActionOpenApp is a Action enum value
35147	ActionOpenApp = "OPEN_APP"
35148
35149	// ActionDeepLink is a Action enum value
35150	ActionDeepLink = "DEEP_LINK"
35151
35152	// ActionUrl is a Action enum value
35153	ActionUrl = "URL"
35154)
35155
35156// Action_Values returns all elements of the Action enum
35157func Action_Values() []string {
35158	return []string{
35159		ActionOpenApp,
35160		ActionDeepLink,
35161		ActionUrl,
35162	}
35163}
35164
35165const (
35166	// AttributeTypeInclusive is a AttributeType enum value
35167	AttributeTypeInclusive = "INCLUSIVE"
35168
35169	// AttributeTypeExclusive is a AttributeType enum value
35170	AttributeTypeExclusive = "EXCLUSIVE"
35171
35172	// AttributeTypeContains is a AttributeType enum value
35173	AttributeTypeContains = "CONTAINS"
35174
35175	// AttributeTypeBefore is a AttributeType enum value
35176	AttributeTypeBefore = "BEFORE"
35177
35178	// AttributeTypeAfter is a AttributeType enum value
35179	AttributeTypeAfter = "AFTER"
35180
35181	// AttributeTypeBetween is a AttributeType enum value
35182	AttributeTypeBetween = "BETWEEN"
35183
35184	// AttributeTypeOn is a AttributeType enum value
35185	AttributeTypeOn = "ON"
35186)
35187
35188// AttributeType_Values returns all elements of the AttributeType enum
35189func AttributeType_Values() []string {
35190	return []string{
35191		AttributeTypeInclusive,
35192		AttributeTypeExclusive,
35193		AttributeTypeContains,
35194		AttributeTypeBefore,
35195		AttributeTypeAfter,
35196		AttributeTypeBetween,
35197		AttributeTypeOn,
35198	}
35199}
35200
35201const (
35202	// CampaignStatusScheduled is a CampaignStatus enum value
35203	CampaignStatusScheduled = "SCHEDULED"
35204
35205	// CampaignStatusExecuting is a CampaignStatus enum value
35206	CampaignStatusExecuting = "EXECUTING"
35207
35208	// CampaignStatusPendingNextRun is a CampaignStatus enum value
35209	CampaignStatusPendingNextRun = "PENDING_NEXT_RUN"
35210
35211	// CampaignStatusCompleted is a CampaignStatus enum value
35212	CampaignStatusCompleted = "COMPLETED"
35213
35214	// CampaignStatusPaused is a CampaignStatus enum value
35215	CampaignStatusPaused = "PAUSED"
35216
35217	// CampaignStatusDeleted is a CampaignStatus enum value
35218	CampaignStatusDeleted = "DELETED"
35219
35220	// CampaignStatusInvalid is a CampaignStatus enum value
35221	CampaignStatusInvalid = "INVALID"
35222)
35223
35224// CampaignStatus_Values returns all elements of the CampaignStatus enum
35225func CampaignStatus_Values() []string {
35226	return []string{
35227		CampaignStatusScheduled,
35228		CampaignStatusExecuting,
35229		CampaignStatusPendingNextRun,
35230		CampaignStatusCompleted,
35231		CampaignStatusPaused,
35232		CampaignStatusDeleted,
35233		CampaignStatusInvalid,
35234	}
35235}
35236
35237const (
35238	// ChannelTypePush is a ChannelType enum value
35239	ChannelTypePush = "PUSH"
35240
35241	// ChannelTypeGcm is a ChannelType enum value
35242	ChannelTypeGcm = "GCM"
35243
35244	// ChannelTypeApns is a ChannelType enum value
35245	ChannelTypeApns = "APNS"
35246
35247	// ChannelTypeApnsSandbox is a ChannelType enum value
35248	ChannelTypeApnsSandbox = "APNS_SANDBOX"
35249
35250	// ChannelTypeApnsVoip is a ChannelType enum value
35251	ChannelTypeApnsVoip = "APNS_VOIP"
35252
35253	// ChannelTypeApnsVoipSandbox is a ChannelType enum value
35254	ChannelTypeApnsVoipSandbox = "APNS_VOIP_SANDBOX"
35255
35256	// ChannelTypeAdm is a ChannelType enum value
35257	ChannelTypeAdm = "ADM"
35258
35259	// ChannelTypeSms is a ChannelType enum value
35260	ChannelTypeSms = "SMS"
35261
35262	// ChannelTypeVoice is a ChannelType enum value
35263	ChannelTypeVoice = "VOICE"
35264
35265	// ChannelTypeEmail is a ChannelType enum value
35266	ChannelTypeEmail = "EMAIL"
35267
35268	// ChannelTypeBaidu is a ChannelType enum value
35269	ChannelTypeBaidu = "BAIDU"
35270
35271	// ChannelTypeCustom is a ChannelType enum value
35272	ChannelTypeCustom = "CUSTOM"
35273)
35274
35275// ChannelType_Values returns all elements of the ChannelType enum
35276func ChannelType_Values() []string {
35277	return []string{
35278		ChannelTypePush,
35279		ChannelTypeGcm,
35280		ChannelTypeApns,
35281		ChannelTypeApnsSandbox,
35282		ChannelTypeApnsVoip,
35283		ChannelTypeApnsVoipSandbox,
35284		ChannelTypeAdm,
35285		ChannelTypeSms,
35286		ChannelTypeVoice,
35287		ChannelTypeEmail,
35288		ChannelTypeBaidu,
35289		ChannelTypeCustom,
35290	}
35291}
35292
35293const (
35294	// DeliveryStatusSuccessful is a DeliveryStatus enum value
35295	DeliveryStatusSuccessful = "SUCCESSFUL"
35296
35297	// DeliveryStatusThrottled is a DeliveryStatus enum value
35298	DeliveryStatusThrottled = "THROTTLED"
35299
35300	// DeliveryStatusTemporaryFailure is a DeliveryStatus enum value
35301	DeliveryStatusTemporaryFailure = "TEMPORARY_FAILURE"
35302
35303	// DeliveryStatusPermanentFailure is a DeliveryStatus enum value
35304	DeliveryStatusPermanentFailure = "PERMANENT_FAILURE"
35305
35306	// DeliveryStatusUnknownFailure is a DeliveryStatus enum value
35307	DeliveryStatusUnknownFailure = "UNKNOWN_FAILURE"
35308
35309	// DeliveryStatusOptOut is a DeliveryStatus enum value
35310	DeliveryStatusOptOut = "OPT_OUT"
35311
35312	// DeliveryStatusDuplicate is a DeliveryStatus enum value
35313	DeliveryStatusDuplicate = "DUPLICATE"
35314)
35315
35316// DeliveryStatus_Values returns all elements of the DeliveryStatus enum
35317func DeliveryStatus_Values() []string {
35318	return []string{
35319		DeliveryStatusSuccessful,
35320		DeliveryStatusThrottled,
35321		DeliveryStatusTemporaryFailure,
35322		DeliveryStatusPermanentFailure,
35323		DeliveryStatusUnknownFailure,
35324		DeliveryStatusOptOut,
35325		DeliveryStatusDuplicate,
35326	}
35327}
35328
35329const (
35330	// DimensionTypeInclusive is a DimensionType enum value
35331	DimensionTypeInclusive = "INCLUSIVE"
35332
35333	// DimensionTypeExclusive is a DimensionType enum value
35334	DimensionTypeExclusive = "EXCLUSIVE"
35335)
35336
35337// DimensionType_Values returns all elements of the DimensionType enum
35338func DimensionType_Values() []string {
35339	return []string{
35340		DimensionTypeInclusive,
35341		DimensionTypeExclusive,
35342	}
35343}
35344
35345const (
35346	// DurationHr24 is a Duration enum value
35347	DurationHr24 = "HR_24"
35348
35349	// DurationDay7 is a Duration enum value
35350	DurationDay7 = "DAY_7"
35351
35352	// DurationDay14 is a Duration enum value
35353	DurationDay14 = "DAY_14"
35354
35355	// DurationDay30 is a Duration enum value
35356	DurationDay30 = "DAY_30"
35357)
35358
35359// Duration_Values returns all elements of the Duration enum
35360func Duration_Values() []string {
35361	return []string{
35362		DurationHr24,
35363		DurationDay7,
35364		DurationDay14,
35365		DurationDay30,
35366	}
35367}
35368
35369const (
35370	// EndpointTypesElementPush is a EndpointTypesElement enum value
35371	EndpointTypesElementPush = "PUSH"
35372
35373	// EndpointTypesElementGcm is a EndpointTypesElement enum value
35374	EndpointTypesElementGcm = "GCM"
35375
35376	// EndpointTypesElementApns is a EndpointTypesElement enum value
35377	EndpointTypesElementApns = "APNS"
35378
35379	// EndpointTypesElementApnsSandbox is a EndpointTypesElement enum value
35380	EndpointTypesElementApnsSandbox = "APNS_SANDBOX"
35381
35382	// EndpointTypesElementApnsVoip is a EndpointTypesElement enum value
35383	EndpointTypesElementApnsVoip = "APNS_VOIP"
35384
35385	// EndpointTypesElementApnsVoipSandbox is a EndpointTypesElement enum value
35386	EndpointTypesElementApnsVoipSandbox = "APNS_VOIP_SANDBOX"
35387
35388	// EndpointTypesElementAdm is a EndpointTypesElement enum value
35389	EndpointTypesElementAdm = "ADM"
35390
35391	// EndpointTypesElementSms is a EndpointTypesElement enum value
35392	EndpointTypesElementSms = "SMS"
35393
35394	// EndpointTypesElementVoice is a EndpointTypesElement enum value
35395	EndpointTypesElementVoice = "VOICE"
35396
35397	// EndpointTypesElementEmail is a EndpointTypesElement enum value
35398	EndpointTypesElementEmail = "EMAIL"
35399
35400	// EndpointTypesElementBaidu is a EndpointTypesElement enum value
35401	EndpointTypesElementBaidu = "BAIDU"
35402
35403	// EndpointTypesElementCustom is a EndpointTypesElement enum value
35404	EndpointTypesElementCustom = "CUSTOM"
35405)
35406
35407// EndpointTypesElement_Values returns all elements of the EndpointTypesElement enum
35408func EndpointTypesElement_Values() []string {
35409	return []string{
35410		EndpointTypesElementPush,
35411		EndpointTypesElementGcm,
35412		EndpointTypesElementApns,
35413		EndpointTypesElementApnsSandbox,
35414		EndpointTypesElementApnsVoip,
35415		EndpointTypesElementApnsVoipSandbox,
35416		EndpointTypesElementAdm,
35417		EndpointTypesElementSms,
35418		EndpointTypesElementVoice,
35419		EndpointTypesElementEmail,
35420		EndpointTypesElementBaidu,
35421		EndpointTypesElementCustom,
35422	}
35423}
35424
35425const (
35426	// FilterTypeSystem is a FilterType enum value
35427	FilterTypeSystem = "SYSTEM"
35428
35429	// FilterTypeEndpoint is a FilterType enum value
35430	FilterTypeEndpoint = "ENDPOINT"
35431)
35432
35433// FilterType_Values returns all elements of the FilterType enum
35434func FilterType_Values() []string {
35435	return []string{
35436		FilterTypeSystem,
35437		FilterTypeEndpoint,
35438	}
35439}
35440
35441const (
35442	// FormatCsv is a Format enum value
35443	FormatCsv = "CSV"
35444
35445	// FormatJson is a Format enum value
35446	FormatJson = "JSON"
35447)
35448
35449// Format_Values returns all elements of the Format enum
35450func Format_Values() []string {
35451	return []string{
35452		FormatCsv,
35453		FormatJson,
35454	}
35455}
35456
35457const (
35458	// FrequencyOnce is a Frequency enum value
35459	FrequencyOnce = "ONCE"
35460
35461	// FrequencyHourly is a Frequency enum value
35462	FrequencyHourly = "HOURLY"
35463
35464	// FrequencyDaily is a Frequency enum value
35465	FrequencyDaily = "DAILY"
35466
35467	// FrequencyWeekly is a Frequency enum value
35468	FrequencyWeekly = "WEEKLY"
35469
35470	// FrequencyMonthly is a Frequency enum value
35471	FrequencyMonthly = "MONTHLY"
35472
35473	// FrequencyEvent is a Frequency enum value
35474	FrequencyEvent = "EVENT"
35475)
35476
35477// Frequency_Values returns all elements of the Frequency enum
35478func Frequency_Values() []string {
35479	return []string{
35480		FrequencyOnce,
35481		FrequencyHourly,
35482		FrequencyDaily,
35483		FrequencyWeekly,
35484		FrequencyMonthly,
35485		FrequencyEvent,
35486	}
35487}
35488
35489const (
35490	// IncludeAll is a Include enum value
35491	IncludeAll = "ALL"
35492
35493	// IncludeAny is a Include enum value
35494	IncludeAny = "ANY"
35495
35496	// IncludeNone is a Include enum value
35497	IncludeNone = "NONE"
35498)
35499
35500// Include_Values returns all elements of the Include enum
35501func Include_Values() []string {
35502	return []string{
35503		IncludeAll,
35504		IncludeAny,
35505		IncludeNone,
35506	}
35507}
35508
35509const (
35510	// JobStatusCreated is a JobStatus enum value
35511	JobStatusCreated = "CREATED"
35512
35513	// JobStatusPreparingForInitialization is a JobStatus enum value
35514	JobStatusPreparingForInitialization = "PREPARING_FOR_INITIALIZATION"
35515
35516	// JobStatusInitializing is a JobStatus enum value
35517	JobStatusInitializing = "INITIALIZING"
35518
35519	// JobStatusProcessing is a JobStatus enum value
35520	JobStatusProcessing = "PROCESSING"
35521
35522	// JobStatusPendingJob is a JobStatus enum value
35523	JobStatusPendingJob = "PENDING_JOB"
35524
35525	// JobStatusCompleting is a JobStatus enum value
35526	JobStatusCompleting = "COMPLETING"
35527
35528	// JobStatusCompleted is a JobStatus enum value
35529	JobStatusCompleted = "COMPLETED"
35530
35531	// JobStatusFailing is a JobStatus enum value
35532	JobStatusFailing = "FAILING"
35533
35534	// JobStatusFailed is a JobStatus enum value
35535	JobStatusFailed = "FAILED"
35536)
35537
35538// JobStatus_Values returns all elements of the JobStatus enum
35539func JobStatus_Values() []string {
35540	return []string{
35541		JobStatusCreated,
35542		JobStatusPreparingForInitialization,
35543		JobStatusInitializing,
35544		JobStatusProcessing,
35545		JobStatusPendingJob,
35546		JobStatusCompleting,
35547		JobStatusCompleted,
35548		JobStatusFailing,
35549		JobStatusFailed,
35550	}
35551}
35552
35553const (
35554	// MessageTypeTransactional is a MessageType enum value
35555	MessageTypeTransactional = "TRANSACTIONAL"
35556
35557	// MessageTypePromotional is a MessageType enum value
35558	MessageTypePromotional = "PROMOTIONAL"
35559)
35560
35561// MessageType_Values returns all elements of the MessageType enum
35562func MessageType_Values() []string {
35563	return []string{
35564		MessageTypeTransactional,
35565		MessageTypePromotional,
35566	}
35567}
35568
35569const (
35570	// ModeDelivery is a Mode enum value
35571	ModeDelivery = "DELIVERY"
35572
35573	// ModeFilter is a Mode enum value
35574	ModeFilter = "FILTER"
35575)
35576
35577// Mode_Values returns all elements of the Mode enum
35578func Mode_Values() []string {
35579	return []string{
35580		ModeDelivery,
35581		ModeFilter,
35582	}
35583}
35584
35585const (
35586	// OperatorAll is a Operator enum value
35587	OperatorAll = "ALL"
35588
35589	// OperatorAny is a Operator enum value
35590	OperatorAny = "ANY"
35591)
35592
35593// Operator_Values returns all elements of the Operator enum
35594func Operator_Values() []string {
35595	return []string{
35596		OperatorAll,
35597		OperatorAny,
35598	}
35599}
35600
35601const (
35602	// RecencyTypeActive is a RecencyType enum value
35603	RecencyTypeActive = "ACTIVE"
35604
35605	// RecencyTypeInactive is a RecencyType enum value
35606	RecencyTypeInactive = "INACTIVE"
35607)
35608
35609// RecencyType_Values returns all elements of the RecencyType enum
35610func RecencyType_Values() []string {
35611	return []string{
35612		RecencyTypeActive,
35613		RecencyTypeInactive,
35614	}
35615}
35616
35617const (
35618	// SegmentTypeDimensional is a SegmentType enum value
35619	SegmentTypeDimensional = "DIMENSIONAL"
35620
35621	// SegmentTypeImport is a SegmentType enum value
35622	SegmentTypeImport = "IMPORT"
35623)
35624
35625// SegmentType_Values returns all elements of the SegmentType enum
35626func SegmentType_Values() []string {
35627	return []string{
35628		SegmentTypeDimensional,
35629		SegmentTypeImport,
35630	}
35631}
35632
35633const (
35634	// SourceTypeAll is a SourceType enum value
35635	SourceTypeAll = "ALL"
35636
35637	// SourceTypeAny is a SourceType enum value
35638	SourceTypeAny = "ANY"
35639
35640	// SourceTypeNone is a SourceType enum value
35641	SourceTypeNone = "NONE"
35642)
35643
35644// SourceType_Values returns all elements of the SourceType enum
35645func SourceType_Values() []string {
35646	return []string{
35647		SourceTypeAll,
35648		SourceTypeAny,
35649		SourceTypeNone,
35650	}
35651}
35652
35653const (
35654	// StateDraft is a State enum value
35655	StateDraft = "DRAFT"
35656
35657	// StateActive is a State enum value
35658	StateActive = "ACTIVE"
35659
35660	// StateCompleted is a State enum value
35661	StateCompleted = "COMPLETED"
35662
35663	// StateCancelled is a State enum value
35664	StateCancelled = "CANCELLED"
35665
35666	// StateClosed is a State enum value
35667	StateClosed = "CLOSED"
35668)
35669
35670// State_Values returns all elements of the State enum
35671func State_Values() []string {
35672	return []string{
35673		StateDraft,
35674		StateActive,
35675		StateCompleted,
35676		StateCancelled,
35677		StateClosed,
35678	}
35679}
35680
35681const (
35682	// TemplateTypeEmail is a TemplateType enum value
35683	TemplateTypeEmail = "EMAIL"
35684
35685	// TemplateTypeSms is a TemplateType enum value
35686	TemplateTypeSms = "SMS"
35687
35688	// TemplateTypeVoice is a TemplateType enum value
35689	TemplateTypeVoice = "VOICE"
35690
35691	// TemplateTypePush is a TemplateType enum value
35692	TemplateTypePush = "PUSH"
35693)
35694
35695// TemplateType_Values returns all elements of the TemplateType enum
35696func TemplateType_Values() []string {
35697	return []string{
35698		TemplateTypeEmail,
35699		TemplateTypeSms,
35700		TemplateTypeVoice,
35701		TemplateTypePush,
35702	}
35703}
35704
35705const (
35706	// TypeAll is a Type enum value
35707	TypeAll = "ALL"
35708
35709	// TypeAny is a Type enum value
35710	TypeAny = "ANY"
35711
35712	// TypeNone is a Type enum value
35713	TypeNone = "NONE"
35714)
35715
35716// Type_Values returns all elements of the Type enum
35717func Type_Values() []string {
35718	return []string{
35719		TypeAll,
35720		TypeAny,
35721		TypeNone,
35722	}
35723}
35724