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// Pause, resume or cancels (stops) a 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 entity ID or Principal Entity (PE) id received from the regulatory body
14486	// for sending SMS in your country.
14487	EntityId *string `type:"string"`
14488
14489	// The SMS message type. Valid values are TRANSACTIONAL (for messages that are
14490	// critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL
14491	// (for messsages that aren't critical or time-sensitive, such as marketing
14492	// messages).
14493	MessageType *string `type:"string" enum:"MessageType"`
14494
14495	// The long code to send the SMS message from. This value should be one of the
14496	// dedicated long codes that's assigned to your AWS account. Although it isn't
14497	// required, we recommend that you specify the long code using an E.164 format
14498	// to ensure prompt and accurate delivery of the message. For example, +12065550100.
14499	OriginationNumber *string `type:"string"`
14500
14501	// The sender ID to display on recipients' devices when they receive the SMS
14502	// message.
14503	SenderId *string `type:"string"`
14504
14505	// The template ID received from the regulatory body for sending SMS in your
14506	// country.
14507	TemplateId *string `type:"string"`
14508}
14509
14510// String returns the string representation
14511func (s CampaignSmsMessage) String() string {
14512	return awsutil.Prettify(s)
14513}
14514
14515// GoString returns the string representation
14516func (s CampaignSmsMessage) GoString() string {
14517	return s.String()
14518}
14519
14520// SetBody sets the Body field's value.
14521func (s *CampaignSmsMessage) SetBody(v string) *CampaignSmsMessage {
14522	s.Body = &v
14523	return s
14524}
14525
14526// SetEntityId sets the EntityId field's value.
14527func (s *CampaignSmsMessage) SetEntityId(v string) *CampaignSmsMessage {
14528	s.EntityId = &v
14529	return s
14530}
14531
14532// SetMessageType sets the MessageType field's value.
14533func (s *CampaignSmsMessage) SetMessageType(v string) *CampaignSmsMessage {
14534	s.MessageType = &v
14535	return s
14536}
14537
14538// SetOriginationNumber sets the OriginationNumber field's value.
14539func (s *CampaignSmsMessage) SetOriginationNumber(v string) *CampaignSmsMessage {
14540	s.OriginationNumber = &v
14541	return s
14542}
14543
14544// SetSenderId sets the SenderId field's value.
14545func (s *CampaignSmsMessage) SetSenderId(v string) *CampaignSmsMessage {
14546	s.SenderId = &v
14547	return s
14548}
14549
14550// SetTemplateId sets the TemplateId field's value.
14551func (s *CampaignSmsMessage) SetTemplateId(v string) *CampaignSmsMessage {
14552	s.TemplateId = &v
14553	return s
14554}
14555
14556// Provides information about the status of a campaign.
14557type CampaignState struct {
14558	_ struct{} `type:"structure"`
14559
14560	// The current status of the campaign, or the current status of a treatment
14561	// that belongs to an A/B test campaign.
14562	//
14563	// If a campaign uses A/B testing, the campaign has a status of COMPLETED only
14564	// if all campaign treatments have a status of COMPLETED. If you delete the
14565	// segment that's associated with a campaign, the campaign fails and has a status
14566	// of DELETED.
14567	CampaignStatus *string `type:"string" enum:"CampaignStatus"`
14568}
14569
14570// String returns the string representation
14571func (s CampaignState) String() string {
14572	return awsutil.Prettify(s)
14573}
14574
14575// GoString returns the string representation
14576func (s CampaignState) GoString() string {
14577	return s.String()
14578}
14579
14580// SetCampaignStatus sets the CampaignStatus field's value.
14581func (s *CampaignState) SetCampaignStatus(v string) *CampaignState {
14582	s.CampaignStatus = &v
14583	return s
14584}
14585
14586// Provides information about the configuration and other settings for all the
14587// campaigns that are associated with an application.
14588type CampaignsResponse struct {
14589	_ struct{} `type:"structure"`
14590
14591	// An array of responses, one for each campaign that's associated with the application.
14592	//
14593	// Item is a required field
14594	Item []*CampaignResponse `type:"list" required:"true"`
14595
14596	// The string to use in a subsequent request to get the next page of results
14597	// in a paginated response. This value is null if there are no additional pages.
14598	NextToken *string `type:"string"`
14599}
14600
14601// String returns the string representation
14602func (s CampaignsResponse) String() string {
14603	return awsutil.Prettify(s)
14604}
14605
14606// GoString returns the string representation
14607func (s CampaignsResponse) GoString() string {
14608	return s.String()
14609}
14610
14611// SetItem sets the Item field's value.
14612func (s *CampaignsResponse) SetItem(v []*CampaignResponse) *CampaignsResponse {
14613	s.Item = v
14614	return s
14615}
14616
14617// SetNextToken sets the NextToken field's value.
14618func (s *CampaignsResponse) SetNextToken(v string) *CampaignsResponse {
14619	s.NextToken = &v
14620	return s
14621}
14622
14623// Provides information about the general settings and status of a channel for
14624// an application.
14625type ChannelResponse struct {
14626	_ struct{} `type:"structure"`
14627
14628	// The unique identifier for the application.
14629	ApplicationId *string `type:"string"`
14630
14631	// The date and time, in ISO 8601 format, when the channel was enabled.
14632	CreationDate *string `type:"string"`
14633
14634	// Specifies whether the channel is enabled for the application.
14635	Enabled *bool `type:"boolean"`
14636
14637	// (Not used) This property is retained only for backward compatibility.
14638	HasCredential *bool `type:"boolean"`
14639
14640	// (Deprecated) An identifier for the channel. This property is retained only
14641	// for backward compatibility.
14642	Id *string `type:"string"`
14643
14644	// Specifies whether the channel is archived.
14645	IsArchived *bool `type:"boolean"`
14646
14647	// The user who last modified the channel.
14648	LastModifiedBy *string `type:"string"`
14649
14650	// The date and time, in ISO 8601 format, when the channel was last modified.
14651	LastModifiedDate *string `type:"string"`
14652
14653	// The current version of the channel.
14654	Version *int64 `type:"integer"`
14655}
14656
14657// String returns the string representation
14658func (s ChannelResponse) String() string {
14659	return awsutil.Prettify(s)
14660}
14661
14662// GoString returns the string representation
14663func (s ChannelResponse) GoString() string {
14664	return s.String()
14665}
14666
14667// SetApplicationId sets the ApplicationId field's value.
14668func (s *ChannelResponse) SetApplicationId(v string) *ChannelResponse {
14669	s.ApplicationId = &v
14670	return s
14671}
14672
14673// SetCreationDate sets the CreationDate field's value.
14674func (s *ChannelResponse) SetCreationDate(v string) *ChannelResponse {
14675	s.CreationDate = &v
14676	return s
14677}
14678
14679// SetEnabled sets the Enabled field's value.
14680func (s *ChannelResponse) SetEnabled(v bool) *ChannelResponse {
14681	s.Enabled = &v
14682	return s
14683}
14684
14685// SetHasCredential sets the HasCredential field's value.
14686func (s *ChannelResponse) SetHasCredential(v bool) *ChannelResponse {
14687	s.HasCredential = &v
14688	return s
14689}
14690
14691// SetId sets the Id field's value.
14692func (s *ChannelResponse) SetId(v string) *ChannelResponse {
14693	s.Id = &v
14694	return s
14695}
14696
14697// SetIsArchived sets the IsArchived field's value.
14698func (s *ChannelResponse) SetIsArchived(v bool) *ChannelResponse {
14699	s.IsArchived = &v
14700	return s
14701}
14702
14703// SetLastModifiedBy sets the LastModifiedBy field's value.
14704func (s *ChannelResponse) SetLastModifiedBy(v string) *ChannelResponse {
14705	s.LastModifiedBy = &v
14706	return s
14707}
14708
14709// SetLastModifiedDate sets the LastModifiedDate field's value.
14710func (s *ChannelResponse) SetLastModifiedDate(v string) *ChannelResponse {
14711	s.LastModifiedDate = &v
14712	return s
14713}
14714
14715// SetVersion sets the Version field's value.
14716func (s *ChannelResponse) SetVersion(v int64) *ChannelResponse {
14717	s.Version = &v
14718	return s
14719}
14720
14721// Provides information about the general settings and status of all channels
14722// for an application, including channels that aren't enabled for the application.
14723type ChannelsResponse struct {
14724	_ struct{} `type:"structure"`
14725
14726	// A map that contains a multipart response for each channel. For each item
14727	// in this object, the ChannelType is the key and the Channel is the value.
14728	//
14729	// Channels is a required field
14730	Channels map[string]*ChannelResponse `type:"map" required:"true"`
14731}
14732
14733// String returns the string representation
14734func (s ChannelsResponse) String() string {
14735	return awsutil.Prettify(s)
14736}
14737
14738// GoString returns the string representation
14739func (s ChannelsResponse) GoString() string {
14740	return s.String()
14741}
14742
14743// SetChannels sets the Channels field's value.
14744func (s *ChannelsResponse) SetChannels(v map[string]*ChannelResponse) *ChannelsResponse {
14745	s.Channels = v
14746	return s
14747}
14748
14749// Specifies the conditions to evaluate for an activity in a journey, and how
14750// to evaluate those conditions.
14751type Condition struct {
14752	_ struct{} `type:"structure"`
14753
14754	// The conditions to evaluate for the activity.
14755	Conditions []*SimpleCondition `type:"list"`
14756
14757	// Specifies how to handle multiple conditions for the activity. For example,
14758	// if you specify two conditions for an activity, whether both or only one of
14759	// the conditions must be met for the activity to be performed.
14760	Operator *string `type:"string" enum:"Operator"`
14761}
14762
14763// String returns the string representation
14764func (s Condition) String() string {
14765	return awsutil.Prettify(s)
14766}
14767
14768// GoString returns the string representation
14769func (s Condition) GoString() string {
14770	return s.String()
14771}
14772
14773// Validate inspects the fields of the type to determine if they are valid.
14774func (s *Condition) Validate() error {
14775	invalidParams := request.ErrInvalidParams{Context: "Condition"}
14776	if s.Conditions != nil {
14777		for i, v := range s.Conditions {
14778			if v == nil {
14779				continue
14780			}
14781			if err := v.Validate(); err != nil {
14782				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Conditions", i), err.(request.ErrInvalidParams))
14783			}
14784		}
14785	}
14786
14787	if invalidParams.Len() > 0 {
14788		return invalidParams
14789	}
14790	return nil
14791}
14792
14793// SetConditions sets the Conditions field's value.
14794func (s *Condition) SetConditions(v []*SimpleCondition) *Condition {
14795	s.Conditions = v
14796	return s
14797}
14798
14799// SetOperator sets the Operator field's value.
14800func (s *Condition) SetOperator(v string) *Condition {
14801	s.Operator = &v
14802	return s
14803}
14804
14805// Specifies the settings for a yes/no split activity in a journey. This type
14806// of activity sends participants down one of two paths in a journey, based
14807// on conditions that you specify.
14808//
14809// To create yes/no split activities that send participants down different paths
14810// based on push notification events (such as Open or Received events), your
14811// mobile app has to specify the User ID and Endpoint ID values. For more information,
14812// see Integrating Amazon Pinpoint with your application (https://docs.aws.amazon.com/pinpoint/latest/developerguide/integrate.html)
14813// in the Amazon Pinpoint Developer Guide.
14814type ConditionalSplitActivity struct {
14815	_ struct{} `type:"structure"`
14816
14817	// The conditions that define the paths for the activity, and the relationship
14818	// between the conditions.
14819	Condition *Condition `type:"structure"`
14820
14821	// The amount of time to wait before determining whether the conditions are
14822	// met, or the date and time when Amazon Pinpoint determines whether the conditions
14823	// are met.
14824	EvaluationWaitTime *WaitTime `type:"structure"`
14825
14826	// The unique identifier for the activity to perform if the conditions aren't
14827	// met.
14828	FalseActivity *string `type:"string"`
14829
14830	// The unique identifier for the activity to perform if the conditions are met.
14831	TrueActivity *string `type:"string"`
14832}
14833
14834// String returns the string representation
14835func (s ConditionalSplitActivity) String() string {
14836	return awsutil.Prettify(s)
14837}
14838
14839// GoString returns the string representation
14840func (s ConditionalSplitActivity) GoString() string {
14841	return s.String()
14842}
14843
14844// Validate inspects the fields of the type to determine if they are valid.
14845func (s *ConditionalSplitActivity) Validate() error {
14846	invalidParams := request.ErrInvalidParams{Context: "ConditionalSplitActivity"}
14847	if s.Condition != nil {
14848		if err := s.Condition.Validate(); err != nil {
14849			invalidParams.AddNested("Condition", err.(request.ErrInvalidParams))
14850		}
14851	}
14852
14853	if invalidParams.Len() > 0 {
14854		return invalidParams
14855	}
14856	return nil
14857}
14858
14859// SetCondition sets the Condition field's value.
14860func (s *ConditionalSplitActivity) SetCondition(v *Condition) *ConditionalSplitActivity {
14861	s.Condition = v
14862	return s
14863}
14864
14865// SetEvaluationWaitTime sets the EvaluationWaitTime field's value.
14866func (s *ConditionalSplitActivity) SetEvaluationWaitTime(v *WaitTime) *ConditionalSplitActivity {
14867	s.EvaluationWaitTime = v
14868	return s
14869}
14870
14871// SetFalseActivity sets the FalseActivity field's value.
14872func (s *ConditionalSplitActivity) SetFalseActivity(v string) *ConditionalSplitActivity {
14873	s.FalseActivity = &v
14874	return s
14875}
14876
14877// SetTrueActivity sets the TrueActivity field's value.
14878func (s *ConditionalSplitActivity) SetTrueActivity(v string) *ConditionalSplitActivity {
14879	s.TrueActivity = &v
14880	return s
14881}
14882
14883// Provides information about an API request or response.
14884type ConflictException struct {
14885	_            struct{}                  `type:"structure"`
14886	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14887
14888	Message_ *string `locationName:"Message" type:"string"`
14889
14890	RequestID_ *string `locationName:"RequestID" type:"string"`
14891}
14892
14893// String returns the string representation
14894func (s ConflictException) String() string {
14895	return awsutil.Prettify(s)
14896}
14897
14898// GoString returns the string representation
14899func (s ConflictException) GoString() string {
14900	return s.String()
14901}
14902
14903func newErrorConflictException(v protocol.ResponseMetadata) error {
14904	return &ConflictException{
14905		RespMetadata: v,
14906	}
14907}
14908
14909// Code returns the exception type name.
14910func (s *ConflictException) Code() string {
14911	return "ConflictException"
14912}
14913
14914// Message returns the exception's message.
14915func (s *ConflictException) Message() string {
14916	if s.Message_ != nil {
14917		return *s.Message_
14918	}
14919	return ""
14920}
14921
14922// OrigErr always returns nil, satisfies awserr.Error interface.
14923func (s *ConflictException) OrigErr() error {
14924	return nil
14925}
14926
14927func (s *ConflictException) Error() string {
14928	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
14929}
14930
14931// Status code returns the HTTP status code for the request's response error.
14932func (s *ConflictException) StatusCode() int {
14933	return s.RespMetadata.StatusCode
14934}
14935
14936// RequestID returns the service's response RequestID for request.
14937func (s *ConflictException) RequestID() string {
14938	return s.RespMetadata.RequestID
14939}
14940
14941type CreateAppInput struct {
14942	_ struct{} `type:"structure" payload:"CreateApplicationRequest"`
14943
14944	// Specifies the display name of an application and the tags to associate with
14945	// the application.
14946	//
14947	// CreateApplicationRequest is a required field
14948	CreateApplicationRequest *CreateApplicationRequest `type:"structure" required:"true"`
14949}
14950
14951// String returns the string representation
14952func (s CreateAppInput) String() string {
14953	return awsutil.Prettify(s)
14954}
14955
14956// GoString returns the string representation
14957func (s CreateAppInput) GoString() string {
14958	return s.String()
14959}
14960
14961// Validate inspects the fields of the type to determine if they are valid.
14962func (s *CreateAppInput) Validate() error {
14963	invalidParams := request.ErrInvalidParams{Context: "CreateAppInput"}
14964	if s.CreateApplicationRequest == nil {
14965		invalidParams.Add(request.NewErrParamRequired("CreateApplicationRequest"))
14966	}
14967	if s.CreateApplicationRequest != nil {
14968		if err := s.CreateApplicationRequest.Validate(); err != nil {
14969			invalidParams.AddNested("CreateApplicationRequest", err.(request.ErrInvalidParams))
14970		}
14971	}
14972
14973	if invalidParams.Len() > 0 {
14974		return invalidParams
14975	}
14976	return nil
14977}
14978
14979// SetCreateApplicationRequest sets the CreateApplicationRequest field's value.
14980func (s *CreateAppInput) SetCreateApplicationRequest(v *CreateApplicationRequest) *CreateAppInput {
14981	s.CreateApplicationRequest = v
14982	return s
14983}
14984
14985type CreateAppOutput struct {
14986	_ struct{} `type:"structure" payload:"ApplicationResponse"`
14987
14988	// Provides information about an application.
14989	//
14990	// ApplicationResponse is a required field
14991	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
14992}
14993
14994// String returns the string representation
14995func (s CreateAppOutput) String() string {
14996	return awsutil.Prettify(s)
14997}
14998
14999// GoString returns the string representation
15000func (s CreateAppOutput) GoString() string {
15001	return s.String()
15002}
15003
15004// SetApplicationResponse sets the ApplicationResponse field's value.
15005func (s *CreateAppOutput) SetApplicationResponse(v *ApplicationResponse) *CreateAppOutput {
15006	s.ApplicationResponse = v
15007	return s
15008}
15009
15010// Specifies the display name of an application and the tags to associate with
15011// the application.
15012type CreateApplicationRequest struct {
15013	_ struct{} `type:"structure"`
15014
15015	// The display name of the application. This name is displayed as the Project
15016	// name on the Amazon Pinpoint console.
15017	//
15018	// Name is a required field
15019	Name *string `type:"string" required:"true"`
15020
15021	// A string-to-string map of key-value pairs that defines the tags to associate
15022	// with the application. Each tag consists of a required tag key and an associated
15023	// tag value.
15024	Tags map[string]*string `locationName:"tags" type:"map"`
15025}
15026
15027// String returns the string representation
15028func (s CreateApplicationRequest) String() string {
15029	return awsutil.Prettify(s)
15030}
15031
15032// GoString returns the string representation
15033func (s CreateApplicationRequest) GoString() string {
15034	return s.String()
15035}
15036
15037// Validate inspects the fields of the type to determine if they are valid.
15038func (s *CreateApplicationRequest) Validate() error {
15039	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationRequest"}
15040	if s.Name == nil {
15041		invalidParams.Add(request.NewErrParamRequired("Name"))
15042	}
15043
15044	if invalidParams.Len() > 0 {
15045		return invalidParams
15046	}
15047	return nil
15048}
15049
15050// SetName sets the Name field's value.
15051func (s *CreateApplicationRequest) SetName(v string) *CreateApplicationRequest {
15052	s.Name = &v
15053	return s
15054}
15055
15056// SetTags sets the Tags field's value.
15057func (s *CreateApplicationRequest) SetTags(v map[string]*string) *CreateApplicationRequest {
15058	s.Tags = v
15059	return s
15060}
15061
15062type CreateCampaignInput struct {
15063	_ struct{} `type:"structure" payload:"WriteCampaignRequest"`
15064
15065	// ApplicationId is a required field
15066	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15067
15068	// Specifies the configuration and other settings for a campaign.
15069	//
15070	// WriteCampaignRequest is a required field
15071	WriteCampaignRequest *WriteCampaignRequest `type:"structure" required:"true"`
15072}
15073
15074// String returns the string representation
15075func (s CreateCampaignInput) String() string {
15076	return awsutil.Prettify(s)
15077}
15078
15079// GoString returns the string representation
15080func (s CreateCampaignInput) GoString() string {
15081	return s.String()
15082}
15083
15084// Validate inspects the fields of the type to determine if they are valid.
15085func (s *CreateCampaignInput) Validate() error {
15086	invalidParams := request.ErrInvalidParams{Context: "CreateCampaignInput"}
15087	if s.ApplicationId == nil {
15088		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15089	}
15090	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15091		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15092	}
15093	if s.WriteCampaignRequest == nil {
15094		invalidParams.Add(request.NewErrParamRequired("WriteCampaignRequest"))
15095	}
15096	if s.WriteCampaignRequest != nil {
15097		if err := s.WriteCampaignRequest.Validate(); err != nil {
15098			invalidParams.AddNested("WriteCampaignRequest", err.(request.ErrInvalidParams))
15099		}
15100	}
15101
15102	if invalidParams.Len() > 0 {
15103		return invalidParams
15104	}
15105	return nil
15106}
15107
15108// SetApplicationId sets the ApplicationId field's value.
15109func (s *CreateCampaignInput) SetApplicationId(v string) *CreateCampaignInput {
15110	s.ApplicationId = &v
15111	return s
15112}
15113
15114// SetWriteCampaignRequest sets the WriteCampaignRequest field's value.
15115func (s *CreateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) *CreateCampaignInput {
15116	s.WriteCampaignRequest = v
15117	return s
15118}
15119
15120type CreateCampaignOutput struct {
15121	_ struct{} `type:"structure" payload:"CampaignResponse"`
15122
15123	// Provides information about the status, configuration, and other settings
15124	// for a campaign.
15125	//
15126	// CampaignResponse is a required field
15127	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
15128}
15129
15130// String returns the string representation
15131func (s CreateCampaignOutput) String() string {
15132	return awsutil.Prettify(s)
15133}
15134
15135// GoString returns the string representation
15136func (s CreateCampaignOutput) GoString() string {
15137	return s.String()
15138}
15139
15140// SetCampaignResponse sets the CampaignResponse field's value.
15141func (s *CreateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *CreateCampaignOutput {
15142	s.CampaignResponse = v
15143	return s
15144}
15145
15146type CreateEmailTemplateInput struct {
15147	_ struct{} `type:"structure" payload:"EmailTemplateRequest"`
15148
15149	// Specifies the content and settings for a message template that can be used
15150	// in messages that are sent through the email channel.
15151	//
15152	// EmailTemplateRequest is a required field
15153	EmailTemplateRequest *EmailTemplateRequest `type:"structure" required:"true"`
15154
15155	// TemplateName is a required field
15156	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
15157}
15158
15159// String returns the string representation
15160func (s CreateEmailTemplateInput) String() string {
15161	return awsutil.Prettify(s)
15162}
15163
15164// GoString returns the string representation
15165func (s CreateEmailTemplateInput) GoString() string {
15166	return s.String()
15167}
15168
15169// Validate inspects the fields of the type to determine if they are valid.
15170func (s *CreateEmailTemplateInput) Validate() error {
15171	invalidParams := request.ErrInvalidParams{Context: "CreateEmailTemplateInput"}
15172	if s.EmailTemplateRequest == nil {
15173		invalidParams.Add(request.NewErrParamRequired("EmailTemplateRequest"))
15174	}
15175	if s.TemplateName == nil {
15176		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
15177	}
15178	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
15179		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
15180	}
15181
15182	if invalidParams.Len() > 0 {
15183		return invalidParams
15184	}
15185	return nil
15186}
15187
15188// SetEmailTemplateRequest sets the EmailTemplateRequest field's value.
15189func (s *CreateEmailTemplateInput) SetEmailTemplateRequest(v *EmailTemplateRequest) *CreateEmailTemplateInput {
15190	s.EmailTemplateRequest = v
15191	return s
15192}
15193
15194// SetTemplateName sets the TemplateName field's value.
15195func (s *CreateEmailTemplateInput) SetTemplateName(v string) *CreateEmailTemplateInput {
15196	s.TemplateName = &v
15197	return s
15198}
15199
15200type CreateEmailTemplateOutput struct {
15201	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
15202
15203	// Provides information about a request to create a message template.
15204	//
15205	// CreateTemplateMessageBody is a required field
15206	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
15207}
15208
15209// String returns the string representation
15210func (s CreateEmailTemplateOutput) String() string {
15211	return awsutil.Prettify(s)
15212}
15213
15214// GoString returns the string representation
15215func (s CreateEmailTemplateOutput) GoString() string {
15216	return s.String()
15217}
15218
15219// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
15220func (s *CreateEmailTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateEmailTemplateOutput {
15221	s.CreateTemplateMessageBody = v
15222	return s
15223}
15224
15225type CreateExportJobInput struct {
15226	_ struct{} `type:"structure" payload:"ExportJobRequest"`
15227
15228	// ApplicationId is a required field
15229	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15230
15231	// Specifies the settings for a job that exports endpoint definitions to an
15232	// Amazon Simple Storage Service (Amazon S3) bucket.
15233	//
15234	// ExportJobRequest is a required field
15235	ExportJobRequest *ExportJobRequest `type:"structure" required:"true"`
15236}
15237
15238// String returns the string representation
15239func (s CreateExportJobInput) String() string {
15240	return awsutil.Prettify(s)
15241}
15242
15243// GoString returns the string representation
15244func (s CreateExportJobInput) GoString() string {
15245	return s.String()
15246}
15247
15248// Validate inspects the fields of the type to determine if they are valid.
15249func (s *CreateExportJobInput) Validate() error {
15250	invalidParams := request.ErrInvalidParams{Context: "CreateExportJobInput"}
15251	if s.ApplicationId == nil {
15252		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15253	}
15254	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15255		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15256	}
15257	if s.ExportJobRequest == nil {
15258		invalidParams.Add(request.NewErrParamRequired("ExportJobRequest"))
15259	}
15260	if s.ExportJobRequest != nil {
15261		if err := s.ExportJobRequest.Validate(); err != nil {
15262			invalidParams.AddNested("ExportJobRequest", err.(request.ErrInvalidParams))
15263		}
15264	}
15265
15266	if invalidParams.Len() > 0 {
15267		return invalidParams
15268	}
15269	return nil
15270}
15271
15272// SetApplicationId sets the ApplicationId field's value.
15273func (s *CreateExportJobInput) SetApplicationId(v string) *CreateExportJobInput {
15274	s.ApplicationId = &v
15275	return s
15276}
15277
15278// SetExportJobRequest sets the ExportJobRequest field's value.
15279func (s *CreateExportJobInput) SetExportJobRequest(v *ExportJobRequest) *CreateExportJobInput {
15280	s.ExportJobRequest = v
15281	return s
15282}
15283
15284type CreateExportJobOutput struct {
15285	_ struct{} `type:"structure" payload:"ExportJobResponse"`
15286
15287	// Provides information about the status and settings of a job that exports
15288	// endpoint definitions to a file. The file can be added directly to an Amazon
15289	// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
15290	// or downloaded directly to a computer by using the Amazon Pinpoint console.
15291	//
15292	// ExportJobResponse is a required field
15293	ExportJobResponse *ExportJobResponse `type:"structure" required:"true"`
15294}
15295
15296// String returns the string representation
15297func (s CreateExportJobOutput) String() string {
15298	return awsutil.Prettify(s)
15299}
15300
15301// GoString returns the string representation
15302func (s CreateExportJobOutput) GoString() string {
15303	return s.String()
15304}
15305
15306// SetExportJobResponse sets the ExportJobResponse field's value.
15307func (s *CreateExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *CreateExportJobOutput {
15308	s.ExportJobResponse = v
15309	return s
15310}
15311
15312type CreateImportJobInput struct {
15313	_ struct{} `type:"structure" payload:"ImportJobRequest"`
15314
15315	// ApplicationId is a required field
15316	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15317
15318	// Specifies the settings for a job that imports endpoint definitions from an
15319	// Amazon Simple Storage Service (Amazon S3) bucket.
15320	//
15321	// ImportJobRequest is a required field
15322	ImportJobRequest *ImportJobRequest `type:"structure" required:"true"`
15323}
15324
15325// String returns the string representation
15326func (s CreateImportJobInput) String() string {
15327	return awsutil.Prettify(s)
15328}
15329
15330// GoString returns the string representation
15331func (s CreateImportJobInput) GoString() string {
15332	return s.String()
15333}
15334
15335// Validate inspects the fields of the type to determine if they are valid.
15336func (s *CreateImportJobInput) Validate() error {
15337	invalidParams := request.ErrInvalidParams{Context: "CreateImportJobInput"}
15338	if s.ApplicationId == nil {
15339		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15340	}
15341	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15342		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15343	}
15344	if s.ImportJobRequest == nil {
15345		invalidParams.Add(request.NewErrParamRequired("ImportJobRequest"))
15346	}
15347	if s.ImportJobRequest != nil {
15348		if err := s.ImportJobRequest.Validate(); err != nil {
15349			invalidParams.AddNested("ImportJobRequest", err.(request.ErrInvalidParams))
15350		}
15351	}
15352
15353	if invalidParams.Len() > 0 {
15354		return invalidParams
15355	}
15356	return nil
15357}
15358
15359// SetApplicationId sets the ApplicationId field's value.
15360func (s *CreateImportJobInput) SetApplicationId(v string) *CreateImportJobInput {
15361	s.ApplicationId = &v
15362	return s
15363}
15364
15365// SetImportJobRequest sets the ImportJobRequest field's value.
15366func (s *CreateImportJobInput) SetImportJobRequest(v *ImportJobRequest) *CreateImportJobInput {
15367	s.ImportJobRequest = v
15368	return s
15369}
15370
15371type CreateImportJobOutput struct {
15372	_ struct{} `type:"structure" payload:"ImportJobResponse"`
15373
15374	// Provides information about the status and settings of a job that imports
15375	// endpoint definitions from one or more files. The files can be stored in an
15376	// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
15377	// a computer by using the Amazon Pinpoint console.
15378	//
15379	// ImportJobResponse is a required field
15380	ImportJobResponse *ImportJobResponse `type:"structure" required:"true"`
15381}
15382
15383// String returns the string representation
15384func (s CreateImportJobOutput) String() string {
15385	return awsutil.Prettify(s)
15386}
15387
15388// GoString returns the string representation
15389func (s CreateImportJobOutput) GoString() string {
15390	return s.String()
15391}
15392
15393// SetImportJobResponse sets the ImportJobResponse field's value.
15394func (s *CreateImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *CreateImportJobOutput {
15395	s.ImportJobResponse = v
15396	return s
15397}
15398
15399type CreateJourneyInput struct {
15400	_ struct{} `type:"structure" payload:"WriteJourneyRequest"`
15401
15402	// ApplicationId is a required field
15403	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15404
15405	// Specifies the configuration and other settings for a journey.
15406	//
15407	// WriteJourneyRequest is a required field
15408	WriteJourneyRequest *WriteJourneyRequest `type:"structure" required:"true"`
15409}
15410
15411// String returns the string representation
15412func (s CreateJourneyInput) String() string {
15413	return awsutil.Prettify(s)
15414}
15415
15416// GoString returns the string representation
15417func (s CreateJourneyInput) GoString() string {
15418	return s.String()
15419}
15420
15421// Validate inspects the fields of the type to determine if they are valid.
15422func (s *CreateJourneyInput) Validate() error {
15423	invalidParams := request.ErrInvalidParams{Context: "CreateJourneyInput"}
15424	if s.ApplicationId == nil {
15425		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15426	}
15427	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15428		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15429	}
15430	if s.WriteJourneyRequest == nil {
15431		invalidParams.Add(request.NewErrParamRequired("WriteJourneyRequest"))
15432	}
15433	if s.WriteJourneyRequest != nil {
15434		if err := s.WriteJourneyRequest.Validate(); err != nil {
15435			invalidParams.AddNested("WriteJourneyRequest", err.(request.ErrInvalidParams))
15436		}
15437	}
15438
15439	if invalidParams.Len() > 0 {
15440		return invalidParams
15441	}
15442	return nil
15443}
15444
15445// SetApplicationId sets the ApplicationId field's value.
15446func (s *CreateJourneyInput) SetApplicationId(v string) *CreateJourneyInput {
15447	s.ApplicationId = &v
15448	return s
15449}
15450
15451// SetWriteJourneyRequest sets the WriteJourneyRequest field's value.
15452func (s *CreateJourneyInput) SetWriteJourneyRequest(v *WriteJourneyRequest) *CreateJourneyInput {
15453	s.WriteJourneyRequest = v
15454	return s
15455}
15456
15457type CreateJourneyOutput struct {
15458	_ struct{} `type:"structure" payload:"JourneyResponse"`
15459
15460	// Provides information about the status, configuration, and other settings
15461	// for a journey.
15462	//
15463	// JourneyResponse is a required field
15464	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
15465}
15466
15467// String returns the string representation
15468func (s CreateJourneyOutput) String() string {
15469	return awsutil.Prettify(s)
15470}
15471
15472// GoString returns the string representation
15473func (s CreateJourneyOutput) GoString() string {
15474	return s.String()
15475}
15476
15477// SetJourneyResponse sets the JourneyResponse field's value.
15478func (s *CreateJourneyOutput) SetJourneyResponse(v *JourneyResponse) *CreateJourneyOutput {
15479	s.JourneyResponse = v
15480	return s
15481}
15482
15483type CreatePushTemplateInput struct {
15484	_ struct{} `type:"structure" payload:"PushNotificationTemplateRequest"`
15485
15486	// Specifies the content and settings for a message template that can be used
15487	// in messages that are sent through a push notification channel.
15488	//
15489	// PushNotificationTemplateRequest is a required field
15490	PushNotificationTemplateRequest *PushNotificationTemplateRequest `type:"structure" required:"true"`
15491
15492	// TemplateName is a required field
15493	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
15494}
15495
15496// String returns the string representation
15497func (s CreatePushTemplateInput) String() string {
15498	return awsutil.Prettify(s)
15499}
15500
15501// GoString returns the string representation
15502func (s CreatePushTemplateInput) GoString() string {
15503	return s.String()
15504}
15505
15506// Validate inspects the fields of the type to determine if they are valid.
15507func (s *CreatePushTemplateInput) Validate() error {
15508	invalidParams := request.ErrInvalidParams{Context: "CreatePushTemplateInput"}
15509	if s.PushNotificationTemplateRequest == nil {
15510		invalidParams.Add(request.NewErrParamRequired("PushNotificationTemplateRequest"))
15511	}
15512	if s.TemplateName == nil {
15513		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
15514	}
15515	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
15516		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
15517	}
15518
15519	if invalidParams.Len() > 0 {
15520		return invalidParams
15521	}
15522	return nil
15523}
15524
15525// SetPushNotificationTemplateRequest sets the PushNotificationTemplateRequest field's value.
15526func (s *CreatePushTemplateInput) SetPushNotificationTemplateRequest(v *PushNotificationTemplateRequest) *CreatePushTemplateInput {
15527	s.PushNotificationTemplateRequest = v
15528	return s
15529}
15530
15531// SetTemplateName sets the TemplateName field's value.
15532func (s *CreatePushTemplateInput) SetTemplateName(v string) *CreatePushTemplateInput {
15533	s.TemplateName = &v
15534	return s
15535}
15536
15537type CreatePushTemplateOutput struct {
15538	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
15539
15540	// Provides information about a request to create a message template.
15541	//
15542	// CreateTemplateMessageBody is a required field
15543	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
15544}
15545
15546// String returns the string representation
15547func (s CreatePushTemplateOutput) String() string {
15548	return awsutil.Prettify(s)
15549}
15550
15551// GoString returns the string representation
15552func (s CreatePushTemplateOutput) GoString() string {
15553	return s.String()
15554}
15555
15556// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
15557func (s *CreatePushTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreatePushTemplateOutput {
15558	s.CreateTemplateMessageBody = v
15559	return s
15560}
15561
15562// Specifies Amazon Pinpoint configuration settings for retrieving and processing
15563// recommendation data from a recommender model.
15564type CreateRecommenderConfiguration struct {
15565	_ struct{} `type:"structure"`
15566
15567	// A map of key-value pairs that defines 1-10 custom endpoint or user attributes,
15568	// depending on the value for the RecommendationProviderIdType property. Each
15569	// of these attributes temporarily stores a recommended item that's retrieved
15570	// from the recommender model and sent to an AWS Lambda function for additional
15571	// processing. Each attribute can be used as a message variable in a message
15572	// template.
15573	//
15574	// In the map, the key is the name of a custom attribute and the value is a
15575	// custom display name for that attribute. The display name appears in the Attribute
15576	// finder of the template editor on the Amazon Pinpoint console. The following
15577	// restrictions apply to these names:
15578	//
15579	//    * An attribute name must start with a letter or number and it can contain
15580	//    up to 50 characters. The characters can be letters, numbers, underscores
15581	//    (_), or hyphens (-). Attribute names are case sensitive and must be unique.
15582	//
15583	//    * An attribute display name must start with a letter or number and it
15584	//    can contain up to 25 characters. The characters can be letters, numbers,
15585	//    spaces, underscores (_), or hyphens (-).
15586	//
15587	// This object is required if the configuration invokes an AWS Lambda function
15588	// (RecommendationTransformerUri) to process recommendation data. Otherwise,
15589	// don't include this object in your request.
15590	Attributes map[string]*string `type:"map"`
15591
15592	// A custom description of the configuration for the recommender model. The
15593	// description can contain up to 128 characters. The characters can be letters,
15594	// numbers, spaces, or the following symbols: _ ; () , ‐.
15595	Description *string `type:"string"`
15596
15597	// A custom name of the configuration for the recommender model. The name must
15598	// start with a letter or number and it can contain up to 128 characters. The
15599	// characters can be letters, numbers, spaces, underscores (_), or hyphens (-).
15600	Name *string `type:"string"`
15601
15602	// The type of Amazon Pinpoint ID to associate with unique user IDs in the recommender
15603	// model. This value enables the model to use attribute and event data that’s
15604	// specific to a particular endpoint or user in an Amazon Pinpoint application.
15605	// Valid values are:
15606	//
15607	//    * PINPOINT_ENDPOINT_ID - Associate each user in the model with a particular
15608	//    endpoint in Amazon Pinpoint. The data is correlated based on endpoint
15609	//    IDs in Amazon Pinpoint. This is the default value.
15610	//
15611	//    * PINPOINT_USER_ID - Associate each user in the model with a particular
15612	//    user and endpoint in Amazon Pinpoint. The data is correlated based on
15613	//    user IDs in Amazon Pinpoint. If you specify this value, an endpoint definition
15614	//    in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint
15615	//    ID. Otherwise, messages won’t be sent to the user's endpoint.
15616	RecommendationProviderIdType *string `type:"string"`
15617
15618	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
15619	// (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data
15620	// from the recommender model.
15621	//
15622	// RecommendationProviderRoleArn is a required field
15623	RecommendationProviderRoleArn *string `type:"string" required:"true"`
15624
15625	// The Amazon Resource Name (ARN) of the recommender model to retrieve recommendation
15626	// data from. This value must match the ARN of an Amazon Personalize campaign.
15627	//
15628	// RecommendationProviderUri is a required field
15629	RecommendationProviderUri *string `type:"string" required:"true"`
15630
15631	// The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke
15632	// for additional processing of recommendation data that's retrieved from the
15633	// recommender model.
15634	RecommendationTransformerUri *string `type:"string"`
15635
15636	// A custom display name for the standard endpoint or user attribute (RecommendationItems)
15637	// that temporarily stores recommended items for each endpoint or user, depending
15638	// on the value for the RecommendationProviderIdType property. This value is
15639	// required if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri)
15640	// to perform additional processing of recommendation data.
15641	//
15642	// This name appears in the Attribute finder of the template editor on the Amazon
15643	// Pinpoint console. The name can contain up to 25 characters. The characters
15644	// can be letters, numbers, spaces, underscores (_), or hyphens (-). These restrictions
15645	// don't apply to attribute values.
15646	RecommendationsDisplayName *string `type:"string"`
15647
15648	// The number of recommended items to retrieve from the model for each endpoint
15649	// or user, depending on the value for the RecommendationProviderIdType property.
15650	// This number determines how many recommended items are available for use in
15651	// message variables. The minimum value is 1. The maximum value is 5. The default
15652	// value is 5.
15653	//
15654	// To use multiple recommended items and custom attributes with message variables,
15655	// you have to use an AWS Lambda function (RecommendationTransformerUri) to
15656	// perform additional processing of recommendation data.
15657	RecommendationsPerMessage *int64 `type:"integer"`
15658}
15659
15660// String returns the string representation
15661func (s CreateRecommenderConfiguration) String() string {
15662	return awsutil.Prettify(s)
15663}
15664
15665// GoString returns the string representation
15666func (s CreateRecommenderConfiguration) GoString() string {
15667	return s.String()
15668}
15669
15670// Validate inspects the fields of the type to determine if they are valid.
15671func (s *CreateRecommenderConfiguration) Validate() error {
15672	invalidParams := request.ErrInvalidParams{Context: "CreateRecommenderConfiguration"}
15673	if s.RecommendationProviderRoleArn == nil {
15674		invalidParams.Add(request.NewErrParamRequired("RecommendationProviderRoleArn"))
15675	}
15676	if s.RecommendationProviderUri == nil {
15677		invalidParams.Add(request.NewErrParamRequired("RecommendationProviderUri"))
15678	}
15679
15680	if invalidParams.Len() > 0 {
15681		return invalidParams
15682	}
15683	return nil
15684}
15685
15686// SetAttributes sets the Attributes field's value.
15687func (s *CreateRecommenderConfiguration) SetAttributes(v map[string]*string) *CreateRecommenderConfiguration {
15688	s.Attributes = v
15689	return s
15690}
15691
15692// SetDescription sets the Description field's value.
15693func (s *CreateRecommenderConfiguration) SetDescription(v string) *CreateRecommenderConfiguration {
15694	s.Description = &v
15695	return s
15696}
15697
15698// SetName sets the Name field's value.
15699func (s *CreateRecommenderConfiguration) SetName(v string) *CreateRecommenderConfiguration {
15700	s.Name = &v
15701	return s
15702}
15703
15704// SetRecommendationProviderIdType sets the RecommendationProviderIdType field's value.
15705func (s *CreateRecommenderConfiguration) SetRecommendationProviderIdType(v string) *CreateRecommenderConfiguration {
15706	s.RecommendationProviderIdType = &v
15707	return s
15708}
15709
15710// SetRecommendationProviderRoleArn sets the RecommendationProviderRoleArn field's value.
15711func (s *CreateRecommenderConfiguration) SetRecommendationProviderRoleArn(v string) *CreateRecommenderConfiguration {
15712	s.RecommendationProviderRoleArn = &v
15713	return s
15714}
15715
15716// SetRecommendationProviderUri sets the RecommendationProviderUri field's value.
15717func (s *CreateRecommenderConfiguration) SetRecommendationProviderUri(v string) *CreateRecommenderConfiguration {
15718	s.RecommendationProviderUri = &v
15719	return s
15720}
15721
15722// SetRecommendationTransformerUri sets the RecommendationTransformerUri field's value.
15723func (s *CreateRecommenderConfiguration) SetRecommendationTransformerUri(v string) *CreateRecommenderConfiguration {
15724	s.RecommendationTransformerUri = &v
15725	return s
15726}
15727
15728// SetRecommendationsDisplayName sets the RecommendationsDisplayName field's value.
15729func (s *CreateRecommenderConfiguration) SetRecommendationsDisplayName(v string) *CreateRecommenderConfiguration {
15730	s.RecommendationsDisplayName = &v
15731	return s
15732}
15733
15734// SetRecommendationsPerMessage sets the RecommendationsPerMessage field's value.
15735func (s *CreateRecommenderConfiguration) SetRecommendationsPerMessage(v int64) *CreateRecommenderConfiguration {
15736	s.RecommendationsPerMessage = &v
15737	return s
15738}
15739
15740type CreateRecommenderConfigurationInput struct {
15741	_ struct{} `type:"structure" payload:"CreateRecommenderConfiguration"`
15742
15743	// Specifies Amazon Pinpoint configuration settings for retrieving and processing
15744	// recommendation data from a recommender model.
15745	//
15746	// CreateRecommenderConfiguration is a required field
15747	CreateRecommenderConfiguration *CreateRecommenderConfiguration `type:"structure" required:"true"`
15748}
15749
15750// String returns the string representation
15751func (s CreateRecommenderConfigurationInput) String() string {
15752	return awsutil.Prettify(s)
15753}
15754
15755// GoString returns the string representation
15756func (s CreateRecommenderConfigurationInput) GoString() string {
15757	return s.String()
15758}
15759
15760// Validate inspects the fields of the type to determine if they are valid.
15761func (s *CreateRecommenderConfigurationInput) Validate() error {
15762	invalidParams := request.ErrInvalidParams{Context: "CreateRecommenderConfigurationInput"}
15763	if s.CreateRecommenderConfiguration == nil {
15764		invalidParams.Add(request.NewErrParamRequired("CreateRecommenderConfiguration"))
15765	}
15766	if s.CreateRecommenderConfiguration != nil {
15767		if err := s.CreateRecommenderConfiguration.Validate(); err != nil {
15768			invalidParams.AddNested("CreateRecommenderConfiguration", err.(request.ErrInvalidParams))
15769		}
15770	}
15771
15772	if invalidParams.Len() > 0 {
15773		return invalidParams
15774	}
15775	return nil
15776}
15777
15778// SetCreateRecommenderConfiguration sets the CreateRecommenderConfiguration field's value.
15779func (s *CreateRecommenderConfigurationInput) SetCreateRecommenderConfiguration(v *CreateRecommenderConfiguration) *CreateRecommenderConfigurationInput {
15780	s.CreateRecommenderConfiguration = v
15781	return s
15782}
15783
15784type CreateRecommenderConfigurationOutput struct {
15785	_ struct{} `type:"structure" payload:"RecommenderConfigurationResponse"`
15786
15787	// Provides information about Amazon Pinpoint configuration settings for retrieving
15788	// and processing data from a recommender model.
15789	//
15790	// RecommenderConfigurationResponse is a required field
15791	RecommenderConfigurationResponse *RecommenderConfigurationResponse `type:"structure" required:"true"`
15792}
15793
15794// String returns the string representation
15795func (s CreateRecommenderConfigurationOutput) String() string {
15796	return awsutil.Prettify(s)
15797}
15798
15799// GoString returns the string representation
15800func (s CreateRecommenderConfigurationOutput) GoString() string {
15801	return s.String()
15802}
15803
15804// SetRecommenderConfigurationResponse sets the RecommenderConfigurationResponse field's value.
15805func (s *CreateRecommenderConfigurationOutput) SetRecommenderConfigurationResponse(v *RecommenderConfigurationResponse) *CreateRecommenderConfigurationOutput {
15806	s.RecommenderConfigurationResponse = v
15807	return s
15808}
15809
15810type CreateSegmentInput struct {
15811	_ struct{} `type:"structure" payload:"WriteSegmentRequest"`
15812
15813	// ApplicationId is a required field
15814	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15815
15816	// Specifies the configuration, dimension, and other settings for a segment.
15817	// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
15818	// object, but not both.
15819	//
15820	// WriteSegmentRequest is a required field
15821	WriteSegmentRequest *WriteSegmentRequest `type:"structure" required:"true"`
15822}
15823
15824// String returns the string representation
15825func (s CreateSegmentInput) String() string {
15826	return awsutil.Prettify(s)
15827}
15828
15829// GoString returns the string representation
15830func (s CreateSegmentInput) GoString() string {
15831	return s.String()
15832}
15833
15834// Validate inspects the fields of the type to determine if they are valid.
15835func (s *CreateSegmentInput) Validate() error {
15836	invalidParams := request.ErrInvalidParams{Context: "CreateSegmentInput"}
15837	if s.ApplicationId == nil {
15838		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15839	}
15840	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15841		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15842	}
15843	if s.WriteSegmentRequest == nil {
15844		invalidParams.Add(request.NewErrParamRequired("WriteSegmentRequest"))
15845	}
15846	if s.WriteSegmentRequest != nil {
15847		if err := s.WriteSegmentRequest.Validate(); err != nil {
15848			invalidParams.AddNested("WriteSegmentRequest", err.(request.ErrInvalidParams))
15849		}
15850	}
15851
15852	if invalidParams.Len() > 0 {
15853		return invalidParams
15854	}
15855	return nil
15856}
15857
15858// SetApplicationId sets the ApplicationId field's value.
15859func (s *CreateSegmentInput) SetApplicationId(v string) *CreateSegmentInput {
15860	s.ApplicationId = &v
15861	return s
15862}
15863
15864// SetWriteSegmentRequest sets the WriteSegmentRequest field's value.
15865func (s *CreateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *CreateSegmentInput {
15866	s.WriteSegmentRequest = v
15867	return s
15868}
15869
15870type CreateSegmentOutput struct {
15871	_ struct{} `type:"structure" payload:"SegmentResponse"`
15872
15873	// Provides information about the configuration, dimension, and other settings
15874	// for a segment.
15875	//
15876	// SegmentResponse is a required field
15877	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
15878}
15879
15880// String returns the string representation
15881func (s CreateSegmentOutput) String() string {
15882	return awsutil.Prettify(s)
15883}
15884
15885// GoString returns the string representation
15886func (s CreateSegmentOutput) GoString() string {
15887	return s.String()
15888}
15889
15890// SetSegmentResponse sets the SegmentResponse field's value.
15891func (s *CreateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *CreateSegmentOutput {
15892	s.SegmentResponse = v
15893	return s
15894}
15895
15896type CreateSmsTemplateInput struct {
15897	_ struct{} `type:"structure" payload:"SMSTemplateRequest"`
15898
15899	// Specifies the content and settings for a message template that can be used
15900	// in text messages that are sent through the SMS channel.
15901	//
15902	// SMSTemplateRequest is a required field
15903	SMSTemplateRequest *SMSTemplateRequest `type:"structure" required:"true"`
15904
15905	// TemplateName is a required field
15906	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
15907}
15908
15909// String returns the string representation
15910func (s CreateSmsTemplateInput) String() string {
15911	return awsutil.Prettify(s)
15912}
15913
15914// GoString returns the string representation
15915func (s CreateSmsTemplateInput) GoString() string {
15916	return s.String()
15917}
15918
15919// Validate inspects the fields of the type to determine if they are valid.
15920func (s *CreateSmsTemplateInput) Validate() error {
15921	invalidParams := request.ErrInvalidParams{Context: "CreateSmsTemplateInput"}
15922	if s.SMSTemplateRequest == nil {
15923		invalidParams.Add(request.NewErrParamRequired("SMSTemplateRequest"))
15924	}
15925	if s.TemplateName == nil {
15926		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
15927	}
15928	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
15929		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
15930	}
15931
15932	if invalidParams.Len() > 0 {
15933		return invalidParams
15934	}
15935	return nil
15936}
15937
15938// SetSMSTemplateRequest sets the SMSTemplateRequest field's value.
15939func (s *CreateSmsTemplateInput) SetSMSTemplateRequest(v *SMSTemplateRequest) *CreateSmsTemplateInput {
15940	s.SMSTemplateRequest = v
15941	return s
15942}
15943
15944// SetTemplateName sets the TemplateName field's value.
15945func (s *CreateSmsTemplateInput) SetTemplateName(v string) *CreateSmsTemplateInput {
15946	s.TemplateName = &v
15947	return s
15948}
15949
15950type CreateSmsTemplateOutput struct {
15951	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
15952
15953	// Provides information about a request to create a message template.
15954	//
15955	// CreateTemplateMessageBody is a required field
15956	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
15957}
15958
15959// String returns the string representation
15960func (s CreateSmsTemplateOutput) String() string {
15961	return awsutil.Prettify(s)
15962}
15963
15964// GoString returns the string representation
15965func (s CreateSmsTemplateOutput) GoString() string {
15966	return s.String()
15967}
15968
15969// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
15970func (s *CreateSmsTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateSmsTemplateOutput {
15971	s.CreateTemplateMessageBody = v
15972	return s
15973}
15974
15975// Provides information about a request to create a message template.
15976type CreateTemplateMessageBody struct {
15977	_ struct{} `type:"structure"`
15978
15979	// The Amazon Resource Name (ARN) of the message template that was created.
15980	Arn *string `type:"string"`
15981
15982	// The message that's returned from the API for the request to create the message
15983	// template.
15984	Message *string `type:"string"`
15985
15986	// The unique identifier for the request to create the message template.
15987	RequestID *string `type:"string"`
15988}
15989
15990// String returns the string representation
15991func (s CreateTemplateMessageBody) String() string {
15992	return awsutil.Prettify(s)
15993}
15994
15995// GoString returns the string representation
15996func (s CreateTemplateMessageBody) GoString() string {
15997	return s.String()
15998}
15999
16000// SetArn sets the Arn field's value.
16001func (s *CreateTemplateMessageBody) SetArn(v string) *CreateTemplateMessageBody {
16002	s.Arn = &v
16003	return s
16004}
16005
16006// SetMessage sets the Message field's value.
16007func (s *CreateTemplateMessageBody) SetMessage(v string) *CreateTemplateMessageBody {
16008	s.Message = &v
16009	return s
16010}
16011
16012// SetRequestID sets the RequestID field's value.
16013func (s *CreateTemplateMessageBody) SetRequestID(v string) *CreateTemplateMessageBody {
16014	s.RequestID = &v
16015	return s
16016}
16017
16018type CreateVoiceTemplateInput struct {
16019	_ struct{} `type:"structure" payload:"VoiceTemplateRequest"`
16020
16021	// TemplateName is a required field
16022	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
16023
16024	// Specifies the content and settings for a message template that can be used
16025	// in messages that are sent through the voice channel.
16026	//
16027	// VoiceTemplateRequest is a required field
16028	VoiceTemplateRequest *VoiceTemplateRequest `type:"structure" required:"true"`
16029}
16030
16031// String returns the string representation
16032func (s CreateVoiceTemplateInput) String() string {
16033	return awsutil.Prettify(s)
16034}
16035
16036// GoString returns the string representation
16037func (s CreateVoiceTemplateInput) GoString() string {
16038	return s.String()
16039}
16040
16041// Validate inspects the fields of the type to determine if they are valid.
16042func (s *CreateVoiceTemplateInput) Validate() error {
16043	invalidParams := request.ErrInvalidParams{Context: "CreateVoiceTemplateInput"}
16044	if s.TemplateName == nil {
16045		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
16046	}
16047	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
16048		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
16049	}
16050	if s.VoiceTemplateRequest == nil {
16051		invalidParams.Add(request.NewErrParamRequired("VoiceTemplateRequest"))
16052	}
16053
16054	if invalidParams.Len() > 0 {
16055		return invalidParams
16056	}
16057	return nil
16058}
16059
16060// SetTemplateName sets the TemplateName field's value.
16061func (s *CreateVoiceTemplateInput) SetTemplateName(v string) *CreateVoiceTemplateInput {
16062	s.TemplateName = &v
16063	return s
16064}
16065
16066// SetVoiceTemplateRequest sets the VoiceTemplateRequest field's value.
16067func (s *CreateVoiceTemplateInput) SetVoiceTemplateRequest(v *VoiceTemplateRequest) *CreateVoiceTemplateInput {
16068	s.VoiceTemplateRequest = v
16069	return s
16070}
16071
16072type CreateVoiceTemplateOutput struct {
16073	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
16074
16075	// Provides information about a request to create a message template.
16076	//
16077	// CreateTemplateMessageBody is a required field
16078	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
16079}
16080
16081// String returns the string representation
16082func (s CreateVoiceTemplateOutput) String() string {
16083	return awsutil.Prettify(s)
16084}
16085
16086// GoString returns the string representation
16087func (s CreateVoiceTemplateOutput) GoString() string {
16088	return s.String()
16089}
16090
16091// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
16092func (s *CreateVoiceTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateVoiceTemplateOutput {
16093	s.CreateTemplateMessageBody = v
16094	return s
16095}
16096
16097// Specifies the delivery configuration settings for sending a campaign or campaign
16098// treatment through a custom channel. This object is required if you use the
16099// CampaignCustomMessage object to define the message to send for the campaign
16100// or campaign treatment.
16101type CustomDeliveryConfiguration struct {
16102	_ struct{} `type:"structure"`
16103
16104	// The destination to send the campaign or treatment to. This value can be one
16105	// of the following:
16106	//
16107	//    * The name or Amazon Resource Name (ARN) of an AWS Lambda function to
16108	//    invoke to handle delivery of the campaign or treatment.
16109	//
16110	//    * The URL for a web application or service that supports HTTPS and can
16111	//    receive the message. The URL has to be a full URL, including the HTTPS
16112	//    protocol.
16113	//
16114	// DeliveryUri is a required field
16115	DeliveryUri *string `type:"string" required:"true"`
16116
16117	// The types of endpoints to send the campaign or treatment to. Each valid value
16118	// maps to a type of channel that you can associate with an endpoint by using
16119	// the ChannelType property of an endpoint.
16120	EndpointTypes []*string `type:"list"`
16121}
16122
16123// String returns the string representation
16124func (s CustomDeliveryConfiguration) String() string {
16125	return awsutil.Prettify(s)
16126}
16127
16128// GoString returns the string representation
16129func (s CustomDeliveryConfiguration) GoString() string {
16130	return s.String()
16131}
16132
16133// Validate inspects the fields of the type to determine if they are valid.
16134func (s *CustomDeliveryConfiguration) Validate() error {
16135	invalidParams := request.ErrInvalidParams{Context: "CustomDeliveryConfiguration"}
16136	if s.DeliveryUri == nil {
16137		invalidParams.Add(request.NewErrParamRequired("DeliveryUri"))
16138	}
16139
16140	if invalidParams.Len() > 0 {
16141		return invalidParams
16142	}
16143	return nil
16144}
16145
16146// SetDeliveryUri sets the DeliveryUri field's value.
16147func (s *CustomDeliveryConfiguration) SetDeliveryUri(v string) *CustomDeliveryConfiguration {
16148	s.DeliveryUri = &v
16149	return s
16150}
16151
16152// SetEndpointTypes sets the EndpointTypes field's value.
16153func (s *CustomDeliveryConfiguration) SetEndpointTypes(v []*string) *CustomDeliveryConfiguration {
16154	s.EndpointTypes = v
16155	return s
16156}
16157
16158// The settings for a custom message activity. This type of activity calls an
16159// AWS Lambda function or web hook that sends messages to participants.
16160type CustomMessageActivity struct {
16161	_ struct{} `type:"structure"`
16162
16163	// The destination to send the campaign or treatment to. This value can be one
16164	// of the following:
16165	//
16166	//    * The name or Amazon Resource Name (ARN) of an AWS Lambda function to
16167	//    invoke to handle delivery of the campaign or treatment.
16168	//
16169	//    * The URL for a web application or service that supports HTTPS and can
16170	//    receive the message. The URL has to be a full URL, including the HTTPS
16171	//    protocol.
16172	DeliveryUri *string `type:"string"`
16173
16174	// The types of endpoints to send the custom message to. Each valid value maps
16175	// to a type of channel that you can associate with an endpoint by using the
16176	// ChannelType property of an endpoint.
16177	EndpointTypes []*string `type:"list"`
16178
16179	// Specifies the message data included in a custom channel message that's sent
16180	// to participants in a journey.
16181	MessageConfig *JourneyCustomMessage `type:"structure"`
16182
16183	// The unique identifier for the next activity to perform, after Amazon Pinpoint
16184	// calls the AWS Lambda function or web hook.
16185	NextActivity *string `type:"string"`
16186
16187	// The name of the custom message template to use for the message. If specified,
16188	// this value must match the name of an existing message template.
16189	TemplateName *string `type:"string"`
16190
16191	// The unique identifier for the version of the message template to use for
16192	// the message. If specified, this value must match the identifier for an existing
16193	// template version. To retrieve a list of versions and version identifiers
16194	// for a template, use the Template Versions resource.
16195	//
16196	// If you don't specify a value for this property, Amazon Pinpoint uses the
16197	// active version of the template. The active version is typically the version
16198	// of a template that's been most recently reviewed and approved for use, depending
16199	// on your workflow. It isn't necessarily the latest version of a template.
16200	TemplateVersion *string `type:"string"`
16201}
16202
16203// String returns the string representation
16204func (s CustomMessageActivity) String() string {
16205	return awsutil.Prettify(s)
16206}
16207
16208// GoString returns the string representation
16209func (s CustomMessageActivity) GoString() string {
16210	return s.String()
16211}
16212
16213// SetDeliveryUri sets the DeliveryUri field's value.
16214func (s *CustomMessageActivity) SetDeliveryUri(v string) *CustomMessageActivity {
16215	s.DeliveryUri = &v
16216	return s
16217}
16218
16219// SetEndpointTypes sets the EndpointTypes field's value.
16220func (s *CustomMessageActivity) SetEndpointTypes(v []*string) *CustomMessageActivity {
16221	s.EndpointTypes = v
16222	return s
16223}
16224
16225// SetMessageConfig sets the MessageConfig field's value.
16226func (s *CustomMessageActivity) SetMessageConfig(v *JourneyCustomMessage) *CustomMessageActivity {
16227	s.MessageConfig = v
16228	return s
16229}
16230
16231// SetNextActivity sets the NextActivity field's value.
16232func (s *CustomMessageActivity) SetNextActivity(v string) *CustomMessageActivity {
16233	s.NextActivity = &v
16234	return s
16235}
16236
16237// SetTemplateName sets the TemplateName field's value.
16238func (s *CustomMessageActivity) SetTemplateName(v string) *CustomMessageActivity {
16239	s.TemplateName = &v
16240	return s
16241}
16242
16243// SetTemplateVersion sets the TemplateVersion field's value.
16244func (s *CustomMessageActivity) SetTemplateVersion(v string) *CustomMessageActivity {
16245	s.TemplateVersion = &v
16246	return s
16247}
16248
16249// Specifies the default message for all channels.
16250type DefaultMessage struct {
16251	_ struct{} `type:"structure"`
16252
16253	// The default body of the message.
16254	Body *string `type:"string"`
16255
16256	// The default message variables to use in the message. You can override these
16257	// default variables with individual address variables.
16258	Substitutions map[string][]*string `type:"map"`
16259}
16260
16261// String returns the string representation
16262func (s DefaultMessage) String() string {
16263	return awsutil.Prettify(s)
16264}
16265
16266// GoString returns the string representation
16267func (s DefaultMessage) GoString() string {
16268	return s.String()
16269}
16270
16271// SetBody sets the Body field's value.
16272func (s *DefaultMessage) SetBody(v string) *DefaultMessage {
16273	s.Body = &v
16274	return s
16275}
16276
16277// SetSubstitutions sets the Substitutions field's value.
16278func (s *DefaultMessage) SetSubstitutions(v map[string][]*string) *DefaultMessage {
16279	s.Substitutions = v
16280	return s
16281}
16282
16283// Specifies the default settings and content for a push notification that's
16284// sent directly to an endpoint.
16285type DefaultPushNotificationMessage struct {
16286	_ struct{} `type:"structure"`
16287
16288	// The default action to occur if a recipient taps the push notification. Valid
16289	// values are:
16290	//
16291	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
16292	//    sent to the background. This is the default action.
16293	//
16294	//    * DEEP_LINK - Your app opens and displays a designated user interface
16295	//    in the app. This setting uses the deep-linking features of the iOS and
16296	//    Android platforms.
16297	//
16298	//    * URL - The default mobile browser on the recipient's device opens and
16299	//    loads the web page at a URL that you specify.
16300	Action *string `type:"string" enum:"Action"`
16301
16302	// The default body of the notification message.
16303	Body *string `type:"string"`
16304
16305	// The JSON data payload to use for the default push notification, if the notification
16306	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
16307	// object of the notification.
16308	Data map[string]*string `type:"map"`
16309
16310	// Specifies whether the default notification is a silent push notification,
16311	// which is a push notification that doesn't display on a recipient's device.
16312	// Silent push notifications can be used for cases such as updating an app's
16313	// configuration or delivering messages to an in-app notification center.
16314	SilentPush *bool `type:"boolean"`
16315
16316	// The default message variables to use in the notification message. You can
16317	// override the default variables with individual address variables.
16318	Substitutions map[string][]*string `type:"map"`
16319
16320	// The default title to display above the notification message on a recipient's
16321	// device.
16322	Title *string `type:"string"`
16323
16324	// The default URL to open in a recipient's default mobile browser, if a recipient
16325	// taps the push notification and the value of the Action property is URL.
16326	Url *string `type:"string"`
16327}
16328
16329// String returns the string representation
16330func (s DefaultPushNotificationMessage) String() string {
16331	return awsutil.Prettify(s)
16332}
16333
16334// GoString returns the string representation
16335func (s DefaultPushNotificationMessage) GoString() string {
16336	return s.String()
16337}
16338
16339// SetAction sets the Action field's value.
16340func (s *DefaultPushNotificationMessage) SetAction(v string) *DefaultPushNotificationMessage {
16341	s.Action = &v
16342	return s
16343}
16344
16345// SetBody sets the Body field's value.
16346func (s *DefaultPushNotificationMessage) SetBody(v string) *DefaultPushNotificationMessage {
16347	s.Body = &v
16348	return s
16349}
16350
16351// SetData sets the Data field's value.
16352func (s *DefaultPushNotificationMessage) SetData(v map[string]*string) *DefaultPushNotificationMessage {
16353	s.Data = v
16354	return s
16355}
16356
16357// SetSilentPush sets the SilentPush field's value.
16358func (s *DefaultPushNotificationMessage) SetSilentPush(v bool) *DefaultPushNotificationMessage {
16359	s.SilentPush = &v
16360	return s
16361}
16362
16363// SetSubstitutions sets the Substitutions field's value.
16364func (s *DefaultPushNotificationMessage) SetSubstitutions(v map[string][]*string) *DefaultPushNotificationMessage {
16365	s.Substitutions = v
16366	return s
16367}
16368
16369// SetTitle sets the Title field's value.
16370func (s *DefaultPushNotificationMessage) SetTitle(v string) *DefaultPushNotificationMessage {
16371	s.Title = &v
16372	return s
16373}
16374
16375// SetUrl sets the Url field's value.
16376func (s *DefaultPushNotificationMessage) SetUrl(v string) *DefaultPushNotificationMessage {
16377	s.Url = &v
16378	return s
16379}
16380
16381// Specifies the default settings and content for a message template that can
16382// be used in messages that are sent through a push notification channel.
16383type DefaultPushNotificationTemplate struct {
16384	_ struct{} `type:"structure"`
16385
16386	// The action to occur if a recipient taps a push notification that's based
16387	// on the message template. Valid values are:
16388	//
16389	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
16390	//    sent to the background. This is the default action.
16391	//
16392	//    * DEEP_LINK - Your app opens and displays a designated user interface
16393	//    in the app. This setting uses the deep-linking features of the iOS and
16394	//    Android platforms.
16395	//
16396	//    * URL - The default mobile browser on the recipient's device opens and
16397	//    loads the web page at a URL that you specify.
16398	Action *string `type:"string" enum:"Action"`
16399
16400	// The message body to use in push notifications that are based on the message
16401	// template.
16402	Body *string `type:"string"`
16403
16404	// The sound to play when a recipient receives a push notification that's based
16405	// on the message template. You can use the default stream or specify the file
16406	// name of a sound resource that's bundled in your app. On an Android platform,
16407	// the sound file must reside in /res/raw/.
16408	//
16409	// For an iOS platform, this value is the key for the name of a sound file in
16410	// your app's main bundle or the Library/Sounds folder in your app's data container.
16411	// If the sound file can't be found or you specify default for the value, the
16412	// system plays the default alert sound.
16413	Sound *string `type:"string"`
16414
16415	// The title to use in push notifications that are based on the message template.
16416	// This title appears above the notification message on a recipient's device.
16417	Title *string `type:"string"`
16418
16419	// The URL to open in a recipient's default mobile browser, if a recipient taps
16420	// a push notification that's based on the message template and the value of
16421	// the Action property is URL.
16422	Url *string `type:"string"`
16423}
16424
16425// String returns the string representation
16426func (s DefaultPushNotificationTemplate) String() string {
16427	return awsutil.Prettify(s)
16428}
16429
16430// GoString returns the string representation
16431func (s DefaultPushNotificationTemplate) GoString() string {
16432	return s.String()
16433}
16434
16435// SetAction sets the Action field's value.
16436func (s *DefaultPushNotificationTemplate) SetAction(v string) *DefaultPushNotificationTemplate {
16437	s.Action = &v
16438	return s
16439}
16440
16441// SetBody sets the Body field's value.
16442func (s *DefaultPushNotificationTemplate) SetBody(v string) *DefaultPushNotificationTemplate {
16443	s.Body = &v
16444	return s
16445}
16446
16447// SetSound sets the Sound field's value.
16448func (s *DefaultPushNotificationTemplate) SetSound(v string) *DefaultPushNotificationTemplate {
16449	s.Sound = &v
16450	return s
16451}
16452
16453// SetTitle sets the Title field's value.
16454func (s *DefaultPushNotificationTemplate) SetTitle(v string) *DefaultPushNotificationTemplate {
16455	s.Title = &v
16456	return s
16457}
16458
16459// SetUrl sets the Url field's value.
16460func (s *DefaultPushNotificationTemplate) SetUrl(v string) *DefaultPushNotificationTemplate {
16461	s.Url = &v
16462	return s
16463}
16464
16465type DeleteAdmChannelInput struct {
16466	_ struct{} `type:"structure"`
16467
16468	// ApplicationId is a required field
16469	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16470}
16471
16472// String returns the string representation
16473func (s DeleteAdmChannelInput) String() string {
16474	return awsutil.Prettify(s)
16475}
16476
16477// GoString returns the string representation
16478func (s DeleteAdmChannelInput) GoString() string {
16479	return s.String()
16480}
16481
16482// Validate inspects the fields of the type to determine if they are valid.
16483func (s *DeleteAdmChannelInput) Validate() error {
16484	invalidParams := request.ErrInvalidParams{Context: "DeleteAdmChannelInput"}
16485	if s.ApplicationId == nil {
16486		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16487	}
16488	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16489		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16490	}
16491
16492	if invalidParams.Len() > 0 {
16493		return invalidParams
16494	}
16495	return nil
16496}
16497
16498// SetApplicationId sets the ApplicationId field's value.
16499func (s *DeleteAdmChannelInput) SetApplicationId(v string) *DeleteAdmChannelInput {
16500	s.ApplicationId = &v
16501	return s
16502}
16503
16504type DeleteAdmChannelOutput struct {
16505	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
16506
16507	// Provides information about the status and settings of the ADM (Amazon Device
16508	// Messaging) channel for an application.
16509	//
16510	// ADMChannelResponse is a required field
16511	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
16512}
16513
16514// String returns the string representation
16515func (s DeleteAdmChannelOutput) String() string {
16516	return awsutil.Prettify(s)
16517}
16518
16519// GoString returns the string representation
16520func (s DeleteAdmChannelOutput) GoString() string {
16521	return s.String()
16522}
16523
16524// SetADMChannelResponse sets the ADMChannelResponse field's value.
16525func (s *DeleteAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *DeleteAdmChannelOutput {
16526	s.ADMChannelResponse = v
16527	return s
16528}
16529
16530type DeleteApnsChannelInput struct {
16531	_ struct{} `type:"structure"`
16532
16533	// ApplicationId is a required field
16534	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16535}
16536
16537// String returns the string representation
16538func (s DeleteApnsChannelInput) String() string {
16539	return awsutil.Prettify(s)
16540}
16541
16542// GoString returns the string representation
16543func (s DeleteApnsChannelInput) GoString() string {
16544	return s.String()
16545}
16546
16547// Validate inspects the fields of the type to determine if they are valid.
16548func (s *DeleteApnsChannelInput) Validate() error {
16549	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsChannelInput"}
16550	if s.ApplicationId == nil {
16551		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16552	}
16553	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16554		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16555	}
16556
16557	if invalidParams.Len() > 0 {
16558		return invalidParams
16559	}
16560	return nil
16561}
16562
16563// SetApplicationId sets the ApplicationId field's value.
16564func (s *DeleteApnsChannelInput) SetApplicationId(v string) *DeleteApnsChannelInput {
16565	s.ApplicationId = &v
16566	return s
16567}
16568
16569type DeleteApnsChannelOutput struct {
16570	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
16571
16572	// Provides information about the status and settings of the APNs (Apple Push
16573	// Notification service) channel for an application.
16574	//
16575	// APNSChannelResponse is a required field
16576	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
16577}
16578
16579// String returns the string representation
16580func (s DeleteApnsChannelOutput) String() string {
16581	return awsutil.Prettify(s)
16582}
16583
16584// GoString returns the string representation
16585func (s DeleteApnsChannelOutput) GoString() string {
16586	return s.String()
16587}
16588
16589// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
16590func (s *DeleteApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *DeleteApnsChannelOutput {
16591	s.APNSChannelResponse = v
16592	return s
16593}
16594
16595type DeleteApnsSandboxChannelInput struct {
16596	_ struct{} `type:"structure"`
16597
16598	// ApplicationId is a required field
16599	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16600}
16601
16602// String returns the string representation
16603func (s DeleteApnsSandboxChannelInput) String() string {
16604	return awsutil.Prettify(s)
16605}
16606
16607// GoString returns the string representation
16608func (s DeleteApnsSandboxChannelInput) GoString() string {
16609	return s.String()
16610}
16611
16612// Validate inspects the fields of the type to determine if they are valid.
16613func (s *DeleteApnsSandboxChannelInput) Validate() error {
16614	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsSandboxChannelInput"}
16615	if s.ApplicationId == nil {
16616		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16617	}
16618	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16619		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16620	}
16621
16622	if invalidParams.Len() > 0 {
16623		return invalidParams
16624	}
16625	return nil
16626}
16627
16628// SetApplicationId sets the ApplicationId field's value.
16629func (s *DeleteApnsSandboxChannelInput) SetApplicationId(v string) *DeleteApnsSandboxChannelInput {
16630	s.ApplicationId = &v
16631	return s
16632}
16633
16634type DeleteApnsSandboxChannelOutput struct {
16635	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
16636
16637	// Provides information about the status and settings of the APNs (Apple Push
16638	// Notification service) sandbox channel for an application.
16639	//
16640	// APNSSandboxChannelResponse is a required field
16641	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
16642}
16643
16644// String returns the string representation
16645func (s DeleteApnsSandboxChannelOutput) String() string {
16646	return awsutil.Prettify(s)
16647}
16648
16649// GoString returns the string representation
16650func (s DeleteApnsSandboxChannelOutput) GoString() string {
16651	return s.String()
16652}
16653
16654// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
16655func (s *DeleteApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *DeleteApnsSandboxChannelOutput {
16656	s.APNSSandboxChannelResponse = v
16657	return s
16658}
16659
16660type DeleteApnsVoipChannelInput struct {
16661	_ struct{} `type:"structure"`
16662
16663	// ApplicationId is a required field
16664	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16665}
16666
16667// String returns the string representation
16668func (s DeleteApnsVoipChannelInput) String() string {
16669	return awsutil.Prettify(s)
16670}
16671
16672// GoString returns the string representation
16673func (s DeleteApnsVoipChannelInput) GoString() string {
16674	return s.String()
16675}
16676
16677// Validate inspects the fields of the type to determine if they are valid.
16678func (s *DeleteApnsVoipChannelInput) Validate() error {
16679	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipChannelInput"}
16680	if s.ApplicationId == nil {
16681		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16682	}
16683	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16684		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16685	}
16686
16687	if invalidParams.Len() > 0 {
16688		return invalidParams
16689	}
16690	return nil
16691}
16692
16693// SetApplicationId sets the ApplicationId field's value.
16694func (s *DeleteApnsVoipChannelInput) SetApplicationId(v string) *DeleteApnsVoipChannelInput {
16695	s.ApplicationId = &v
16696	return s
16697}
16698
16699type DeleteApnsVoipChannelOutput struct {
16700	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
16701
16702	// Provides information about the status and settings of the APNs (Apple Push
16703	// Notification service) VoIP channel for an application.
16704	//
16705	// APNSVoipChannelResponse is a required field
16706	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
16707}
16708
16709// String returns the string representation
16710func (s DeleteApnsVoipChannelOutput) String() string {
16711	return awsutil.Prettify(s)
16712}
16713
16714// GoString returns the string representation
16715func (s DeleteApnsVoipChannelOutput) GoString() string {
16716	return s.String()
16717}
16718
16719// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
16720func (s *DeleteApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *DeleteApnsVoipChannelOutput {
16721	s.APNSVoipChannelResponse = v
16722	return s
16723}
16724
16725type DeleteApnsVoipSandboxChannelInput struct {
16726	_ struct{} `type:"structure"`
16727
16728	// ApplicationId is a required field
16729	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16730}
16731
16732// String returns the string representation
16733func (s DeleteApnsVoipSandboxChannelInput) String() string {
16734	return awsutil.Prettify(s)
16735}
16736
16737// GoString returns the string representation
16738func (s DeleteApnsVoipSandboxChannelInput) GoString() string {
16739	return s.String()
16740}
16741
16742// Validate inspects the fields of the type to determine if they are valid.
16743func (s *DeleteApnsVoipSandboxChannelInput) Validate() error {
16744	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipSandboxChannelInput"}
16745	if s.ApplicationId == nil {
16746		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16747	}
16748	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16749		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16750	}
16751
16752	if invalidParams.Len() > 0 {
16753		return invalidParams
16754	}
16755	return nil
16756}
16757
16758// SetApplicationId sets the ApplicationId field's value.
16759func (s *DeleteApnsVoipSandboxChannelInput) SetApplicationId(v string) *DeleteApnsVoipSandboxChannelInput {
16760	s.ApplicationId = &v
16761	return s
16762}
16763
16764type DeleteApnsVoipSandboxChannelOutput struct {
16765	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
16766
16767	// Provides information about the status and settings of the APNs (Apple Push
16768	// Notification service) VoIP sandbox channel for an application.
16769	//
16770	// APNSVoipSandboxChannelResponse is a required field
16771	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
16772}
16773
16774// String returns the string representation
16775func (s DeleteApnsVoipSandboxChannelOutput) String() string {
16776	return awsutil.Prettify(s)
16777}
16778
16779// GoString returns the string representation
16780func (s DeleteApnsVoipSandboxChannelOutput) GoString() string {
16781	return s.String()
16782}
16783
16784// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
16785func (s *DeleteApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *DeleteApnsVoipSandboxChannelOutput {
16786	s.APNSVoipSandboxChannelResponse = v
16787	return s
16788}
16789
16790type DeleteAppInput struct {
16791	_ struct{} `type:"structure"`
16792
16793	// ApplicationId is a required field
16794	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16795}
16796
16797// String returns the string representation
16798func (s DeleteAppInput) String() string {
16799	return awsutil.Prettify(s)
16800}
16801
16802// GoString returns the string representation
16803func (s DeleteAppInput) GoString() string {
16804	return s.String()
16805}
16806
16807// Validate inspects the fields of the type to determine if they are valid.
16808func (s *DeleteAppInput) Validate() error {
16809	invalidParams := request.ErrInvalidParams{Context: "DeleteAppInput"}
16810	if s.ApplicationId == nil {
16811		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16812	}
16813	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16814		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16815	}
16816
16817	if invalidParams.Len() > 0 {
16818		return invalidParams
16819	}
16820	return nil
16821}
16822
16823// SetApplicationId sets the ApplicationId field's value.
16824func (s *DeleteAppInput) SetApplicationId(v string) *DeleteAppInput {
16825	s.ApplicationId = &v
16826	return s
16827}
16828
16829type DeleteAppOutput struct {
16830	_ struct{} `type:"structure" payload:"ApplicationResponse"`
16831
16832	// Provides information about an application.
16833	//
16834	// ApplicationResponse is a required field
16835	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
16836}
16837
16838// String returns the string representation
16839func (s DeleteAppOutput) String() string {
16840	return awsutil.Prettify(s)
16841}
16842
16843// GoString returns the string representation
16844func (s DeleteAppOutput) GoString() string {
16845	return s.String()
16846}
16847
16848// SetApplicationResponse sets the ApplicationResponse field's value.
16849func (s *DeleteAppOutput) SetApplicationResponse(v *ApplicationResponse) *DeleteAppOutput {
16850	s.ApplicationResponse = v
16851	return s
16852}
16853
16854type DeleteBaiduChannelInput struct {
16855	_ struct{} `type:"structure"`
16856
16857	// ApplicationId is a required field
16858	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16859}
16860
16861// String returns the string representation
16862func (s DeleteBaiduChannelInput) String() string {
16863	return awsutil.Prettify(s)
16864}
16865
16866// GoString returns the string representation
16867func (s DeleteBaiduChannelInput) GoString() string {
16868	return s.String()
16869}
16870
16871// Validate inspects the fields of the type to determine if they are valid.
16872func (s *DeleteBaiduChannelInput) Validate() error {
16873	invalidParams := request.ErrInvalidParams{Context: "DeleteBaiduChannelInput"}
16874	if s.ApplicationId == nil {
16875		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16876	}
16877	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16878		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16879	}
16880
16881	if invalidParams.Len() > 0 {
16882		return invalidParams
16883	}
16884	return nil
16885}
16886
16887// SetApplicationId sets the ApplicationId field's value.
16888func (s *DeleteBaiduChannelInput) SetApplicationId(v string) *DeleteBaiduChannelInput {
16889	s.ApplicationId = &v
16890	return s
16891}
16892
16893type DeleteBaiduChannelOutput struct {
16894	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
16895
16896	// Provides information about the status and settings of the Baidu (Baidu Cloud
16897	// Push) channel for an application.
16898	//
16899	// BaiduChannelResponse is a required field
16900	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
16901}
16902
16903// String returns the string representation
16904func (s DeleteBaiduChannelOutput) String() string {
16905	return awsutil.Prettify(s)
16906}
16907
16908// GoString returns the string representation
16909func (s DeleteBaiduChannelOutput) GoString() string {
16910	return s.String()
16911}
16912
16913// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
16914func (s *DeleteBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *DeleteBaiduChannelOutput {
16915	s.BaiduChannelResponse = v
16916	return s
16917}
16918
16919type DeleteCampaignInput struct {
16920	_ struct{} `type:"structure"`
16921
16922	// ApplicationId is a required field
16923	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16924
16925	// CampaignId is a required field
16926	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
16927}
16928
16929// String returns the string representation
16930func (s DeleteCampaignInput) String() string {
16931	return awsutil.Prettify(s)
16932}
16933
16934// GoString returns the string representation
16935func (s DeleteCampaignInput) GoString() string {
16936	return s.String()
16937}
16938
16939// Validate inspects the fields of the type to determine if they are valid.
16940func (s *DeleteCampaignInput) Validate() error {
16941	invalidParams := request.ErrInvalidParams{Context: "DeleteCampaignInput"}
16942	if s.ApplicationId == nil {
16943		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16944	}
16945	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16946		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16947	}
16948	if s.CampaignId == nil {
16949		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
16950	}
16951	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
16952		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
16953	}
16954
16955	if invalidParams.Len() > 0 {
16956		return invalidParams
16957	}
16958	return nil
16959}
16960
16961// SetApplicationId sets the ApplicationId field's value.
16962func (s *DeleteCampaignInput) SetApplicationId(v string) *DeleteCampaignInput {
16963	s.ApplicationId = &v
16964	return s
16965}
16966
16967// SetCampaignId sets the CampaignId field's value.
16968func (s *DeleteCampaignInput) SetCampaignId(v string) *DeleteCampaignInput {
16969	s.CampaignId = &v
16970	return s
16971}
16972
16973type DeleteCampaignOutput struct {
16974	_ struct{} `type:"structure" payload:"CampaignResponse"`
16975
16976	// Provides information about the status, configuration, and other settings
16977	// for a campaign.
16978	//
16979	// CampaignResponse is a required field
16980	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
16981}
16982
16983// String returns the string representation
16984func (s DeleteCampaignOutput) String() string {
16985	return awsutil.Prettify(s)
16986}
16987
16988// GoString returns the string representation
16989func (s DeleteCampaignOutput) GoString() string {
16990	return s.String()
16991}
16992
16993// SetCampaignResponse sets the CampaignResponse field's value.
16994func (s *DeleteCampaignOutput) SetCampaignResponse(v *CampaignResponse) *DeleteCampaignOutput {
16995	s.CampaignResponse = v
16996	return s
16997}
16998
16999type DeleteEmailChannelInput struct {
17000	_ struct{} `type:"structure"`
17001
17002	// ApplicationId is a required field
17003	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17004}
17005
17006// String returns the string representation
17007func (s DeleteEmailChannelInput) String() string {
17008	return awsutil.Prettify(s)
17009}
17010
17011// GoString returns the string representation
17012func (s DeleteEmailChannelInput) GoString() string {
17013	return s.String()
17014}
17015
17016// Validate inspects the fields of the type to determine if they are valid.
17017func (s *DeleteEmailChannelInput) Validate() error {
17018	invalidParams := request.ErrInvalidParams{Context: "DeleteEmailChannelInput"}
17019	if s.ApplicationId == nil {
17020		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17021	}
17022	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17023		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17024	}
17025
17026	if invalidParams.Len() > 0 {
17027		return invalidParams
17028	}
17029	return nil
17030}
17031
17032// SetApplicationId sets the ApplicationId field's value.
17033func (s *DeleteEmailChannelInput) SetApplicationId(v string) *DeleteEmailChannelInput {
17034	s.ApplicationId = &v
17035	return s
17036}
17037
17038type DeleteEmailChannelOutput struct {
17039	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
17040
17041	// Provides information about the status and settings of the email channel for
17042	// an application.
17043	//
17044	// EmailChannelResponse is a required field
17045	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
17046}
17047
17048// String returns the string representation
17049func (s DeleteEmailChannelOutput) String() string {
17050	return awsutil.Prettify(s)
17051}
17052
17053// GoString returns the string representation
17054func (s DeleteEmailChannelOutput) GoString() string {
17055	return s.String()
17056}
17057
17058// SetEmailChannelResponse sets the EmailChannelResponse field's value.
17059func (s *DeleteEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *DeleteEmailChannelOutput {
17060	s.EmailChannelResponse = v
17061	return s
17062}
17063
17064type DeleteEmailTemplateInput struct {
17065	_ struct{} `type:"structure"`
17066
17067	// TemplateName is a required field
17068	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
17069
17070	Version *string `location:"querystring" locationName:"version" type:"string"`
17071}
17072
17073// String returns the string representation
17074func (s DeleteEmailTemplateInput) String() string {
17075	return awsutil.Prettify(s)
17076}
17077
17078// GoString returns the string representation
17079func (s DeleteEmailTemplateInput) GoString() string {
17080	return s.String()
17081}
17082
17083// Validate inspects the fields of the type to determine if they are valid.
17084func (s *DeleteEmailTemplateInput) Validate() error {
17085	invalidParams := request.ErrInvalidParams{Context: "DeleteEmailTemplateInput"}
17086	if s.TemplateName == nil {
17087		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
17088	}
17089	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
17090		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
17091	}
17092
17093	if invalidParams.Len() > 0 {
17094		return invalidParams
17095	}
17096	return nil
17097}
17098
17099// SetTemplateName sets the TemplateName field's value.
17100func (s *DeleteEmailTemplateInput) SetTemplateName(v string) *DeleteEmailTemplateInput {
17101	s.TemplateName = &v
17102	return s
17103}
17104
17105// SetVersion sets the Version field's value.
17106func (s *DeleteEmailTemplateInput) SetVersion(v string) *DeleteEmailTemplateInput {
17107	s.Version = &v
17108	return s
17109}
17110
17111type DeleteEmailTemplateOutput struct {
17112	_ struct{} `type:"structure" payload:"MessageBody"`
17113
17114	// Provides information about an API request or response.
17115	//
17116	// MessageBody is a required field
17117	MessageBody *MessageBody `type:"structure" required:"true"`
17118}
17119
17120// String returns the string representation
17121func (s DeleteEmailTemplateOutput) String() string {
17122	return awsutil.Prettify(s)
17123}
17124
17125// GoString returns the string representation
17126func (s DeleteEmailTemplateOutput) GoString() string {
17127	return s.String()
17128}
17129
17130// SetMessageBody sets the MessageBody field's value.
17131func (s *DeleteEmailTemplateOutput) SetMessageBody(v *MessageBody) *DeleteEmailTemplateOutput {
17132	s.MessageBody = v
17133	return s
17134}
17135
17136type DeleteEndpointInput struct {
17137	_ struct{} `type:"structure"`
17138
17139	// ApplicationId is a required field
17140	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17141
17142	// EndpointId is a required field
17143	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
17144}
17145
17146// String returns the string representation
17147func (s DeleteEndpointInput) String() string {
17148	return awsutil.Prettify(s)
17149}
17150
17151// GoString returns the string representation
17152func (s DeleteEndpointInput) GoString() string {
17153	return s.String()
17154}
17155
17156// Validate inspects the fields of the type to determine if they are valid.
17157func (s *DeleteEndpointInput) Validate() error {
17158	invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointInput"}
17159	if s.ApplicationId == nil {
17160		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17161	}
17162	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17163		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17164	}
17165	if s.EndpointId == nil {
17166		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
17167	}
17168	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
17169		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
17170	}
17171
17172	if invalidParams.Len() > 0 {
17173		return invalidParams
17174	}
17175	return nil
17176}
17177
17178// SetApplicationId sets the ApplicationId field's value.
17179func (s *DeleteEndpointInput) SetApplicationId(v string) *DeleteEndpointInput {
17180	s.ApplicationId = &v
17181	return s
17182}
17183
17184// SetEndpointId sets the EndpointId field's value.
17185func (s *DeleteEndpointInput) SetEndpointId(v string) *DeleteEndpointInput {
17186	s.EndpointId = &v
17187	return s
17188}
17189
17190type DeleteEndpointOutput struct {
17191	_ struct{} `type:"structure" payload:"EndpointResponse"`
17192
17193	// Provides information about the channel type and other settings for an endpoint.
17194	//
17195	// EndpointResponse is a required field
17196	EndpointResponse *EndpointResponse `type:"structure" required:"true"`
17197}
17198
17199// String returns the string representation
17200func (s DeleteEndpointOutput) String() string {
17201	return awsutil.Prettify(s)
17202}
17203
17204// GoString returns the string representation
17205func (s DeleteEndpointOutput) GoString() string {
17206	return s.String()
17207}
17208
17209// SetEndpointResponse sets the EndpointResponse field's value.
17210func (s *DeleteEndpointOutput) SetEndpointResponse(v *EndpointResponse) *DeleteEndpointOutput {
17211	s.EndpointResponse = v
17212	return s
17213}
17214
17215type DeleteEventStreamInput struct {
17216	_ struct{} `type:"structure"`
17217
17218	// ApplicationId is a required field
17219	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17220}
17221
17222// String returns the string representation
17223func (s DeleteEventStreamInput) String() string {
17224	return awsutil.Prettify(s)
17225}
17226
17227// GoString returns the string representation
17228func (s DeleteEventStreamInput) GoString() string {
17229	return s.String()
17230}
17231
17232// Validate inspects the fields of the type to determine if they are valid.
17233func (s *DeleteEventStreamInput) Validate() error {
17234	invalidParams := request.ErrInvalidParams{Context: "DeleteEventStreamInput"}
17235	if s.ApplicationId == nil {
17236		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17237	}
17238	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17239		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17240	}
17241
17242	if invalidParams.Len() > 0 {
17243		return invalidParams
17244	}
17245	return nil
17246}
17247
17248// SetApplicationId sets the ApplicationId field's value.
17249func (s *DeleteEventStreamInput) SetApplicationId(v string) *DeleteEventStreamInput {
17250	s.ApplicationId = &v
17251	return s
17252}
17253
17254type DeleteEventStreamOutput struct {
17255	_ struct{} `type:"structure" payload:"EventStream"`
17256
17257	// Specifies settings for publishing event data to an Amazon Kinesis data stream
17258	// or an Amazon Kinesis Data Firehose delivery stream.
17259	//
17260	// EventStream is a required field
17261	EventStream *EventStream `type:"structure" required:"true"`
17262}
17263
17264// String returns the string representation
17265func (s DeleteEventStreamOutput) String() string {
17266	return awsutil.Prettify(s)
17267}
17268
17269// GoString returns the string representation
17270func (s DeleteEventStreamOutput) GoString() string {
17271	return s.String()
17272}
17273
17274// SetEventStream sets the EventStream field's value.
17275func (s *DeleteEventStreamOutput) SetEventStream(v *EventStream) *DeleteEventStreamOutput {
17276	s.EventStream = v
17277	return s
17278}
17279
17280type DeleteGcmChannelInput struct {
17281	_ struct{} `type:"structure"`
17282
17283	// ApplicationId is a required field
17284	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17285}
17286
17287// String returns the string representation
17288func (s DeleteGcmChannelInput) String() string {
17289	return awsutil.Prettify(s)
17290}
17291
17292// GoString returns the string representation
17293func (s DeleteGcmChannelInput) GoString() string {
17294	return s.String()
17295}
17296
17297// Validate inspects the fields of the type to determine if they are valid.
17298func (s *DeleteGcmChannelInput) Validate() error {
17299	invalidParams := request.ErrInvalidParams{Context: "DeleteGcmChannelInput"}
17300	if s.ApplicationId == nil {
17301		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17302	}
17303	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17304		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17305	}
17306
17307	if invalidParams.Len() > 0 {
17308		return invalidParams
17309	}
17310	return nil
17311}
17312
17313// SetApplicationId sets the ApplicationId field's value.
17314func (s *DeleteGcmChannelInput) SetApplicationId(v string) *DeleteGcmChannelInput {
17315	s.ApplicationId = &v
17316	return s
17317}
17318
17319type DeleteGcmChannelOutput struct {
17320	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
17321
17322	// Provides information about the status and settings of the GCM channel for
17323	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
17324	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
17325	// (GCM), service.
17326	//
17327	// GCMChannelResponse is a required field
17328	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
17329}
17330
17331// String returns the string representation
17332func (s DeleteGcmChannelOutput) String() string {
17333	return awsutil.Prettify(s)
17334}
17335
17336// GoString returns the string representation
17337func (s DeleteGcmChannelOutput) GoString() string {
17338	return s.String()
17339}
17340
17341// SetGCMChannelResponse sets the GCMChannelResponse field's value.
17342func (s *DeleteGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *DeleteGcmChannelOutput {
17343	s.GCMChannelResponse = v
17344	return s
17345}
17346
17347type DeleteJourneyInput struct {
17348	_ struct{} `type:"structure"`
17349
17350	// ApplicationId is a required field
17351	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17352
17353	// JourneyId is a required field
17354	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
17355}
17356
17357// String returns the string representation
17358func (s DeleteJourneyInput) String() string {
17359	return awsutil.Prettify(s)
17360}
17361
17362// GoString returns the string representation
17363func (s DeleteJourneyInput) GoString() string {
17364	return s.String()
17365}
17366
17367// Validate inspects the fields of the type to determine if they are valid.
17368func (s *DeleteJourneyInput) Validate() error {
17369	invalidParams := request.ErrInvalidParams{Context: "DeleteJourneyInput"}
17370	if s.ApplicationId == nil {
17371		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17372	}
17373	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17374		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17375	}
17376	if s.JourneyId == nil {
17377		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
17378	}
17379	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
17380		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
17381	}
17382
17383	if invalidParams.Len() > 0 {
17384		return invalidParams
17385	}
17386	return nil
17387}
17388
17389// SetApplicationId sets the ApplicationId field's value.
17390func (s *DeleteJourneyInput) SetApplicationId(v string) *DeleteJourneyInput {
17391	s.ApplicationId = &v
17392	return s
17393}
17394
17395// SetJourneyId sets the JourneyId field's value.
17396func (s *DeleteJourneyInput) SetJourneyId(v string) *DeleteJourneyInput {
17397	s.JourneyId = &v
17398	return s
17399}
17400
17401type DeleteJourneyOutput struct {
17402	_ struct{} `type:"structure" payload:"JourneyResponse"`
17403
17404	// Provides information about the status, configuration, and other settings
17405	// for a journey.
17406	//
17407	// JourneyResponse is a required field
17408	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
17409}
17410
17411// String returns the string representation
17412func (s DeleteJourneyOutput) String() string {
17413	return awsutil.Prettify(s)
17414}
17415
17416// GoString returns the string representation
17417func (s DeleteJourneyOutput) GoString() string {
17418	return s.String()
17419}
17420
17421// SetJourneyResponse sets the JourneyResponse field's value.
17422func (s *DeleteJourneyOutput) SetJourneyResponse(v *JourneyResponse) *DeleteJourneyOutput {
17423	s.JourneyResponse = v
17424	return s
17425}
17426
17427type DeletePushTemplateInput struct {
17428	_ struct{} `type:"structure"`
17429
17430	// TemplateName is a required field
17431	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
17432
17433	Version *string `location:"querystring" locationName:"version" type:"string"`
17434}
17435
17436// String returns the string representation
17437func (s DeletePushTemplateInput) String() string {
17438	return awsutil.Prettify(s)
17439}
17440
17441// GoString returns the string representation
17442func (s DeletePushTemplateInput) GoString() string {
17443	return s.String()
17444}
17445
17446// Validate inspects the fields of the type to determine if they are valid.
17447func (s *DeletePushTemplateInput) Validate() error {
17448	invalidParams := request.ErrInvalidParams{Context: "DeletePushTemplateInput"}
17449	if s.TemplateName == nil {
17450		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
17451	}
17452	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
17453		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
17454	}
17455
17456	if invalidParams.Len() > 0 {
17457		return invalidParams
17458	}
17459	return nil
17460}
17461
17462// SetTemplateName sets the TemplateName field's value.
17463func (s *DeletePushTemplateInput) SetTemplateName(v string) *DeletePushTemplateInput {
17464	s.TemplateName = &v
17465	return s
17466}
17467
17468// SetVersion sets the Version field's value.
17469func (s *DeletePushTemplateInput) SetVersion(v string) *DeletePushTemplateInput {
17470	s.Version = &v
17471	return s
17472}
17473
17474type DeletePushTemplateOutput struct {
17475	_ struct{} `type:"structure" payload:"MessageBody"`
17476
17477	// Provides information about an API request or response.
17478	//
17479	// MessageBody is a required field
17480	MessageBody *MessageBody `type:"structure" required:"true"`
17481}
17482
17483// String returns the string representation
17484func (s DeletePushTemplateOutput) String() string {
17485	return awsutil.Prettify(s)
17486}
17487
17488// GoString returns the string representation
17489func (s DeletePushTemplateOutput) GoString() string {
17490	return s.String()
17491}
17492
17493// SetMessageBody sets the MessageBody field's value.
17494func (s *DeletePushTemplateOutput) SetMessageBody(v *MessageBody) *DeletePushTemplateOutput {
17495	s.MessageBody = v
17496	return s
17497}
17498
17499type DeleteRecommenderConfigurationInput struct {
17500	_ struct{} `type:"structure"`
17501
17502	// RecommenderId is a required field
17503	RecommenderId *string `location:"uri" locationName:"recommender-id" type:"string" required:"true"`
17504}
17505
17506// String returns the string representation
17507func (s DeleteRecommenderConfigurationInput) String() string {
17508	return awsutil.Prettify(s)
17509}
17510
17511// GoString returns the string representation
17512func (s DeleteRecommenderConfigurationInput) GoString() string {
17513	return s.String()
17514}
17515
17516// Validate inspects the fields of the type to determine if they are valid.
17517func (s *DeleteRecommenderConfigurationInput) Validate() error {
17518	invalidParams := request.ErrInvalidParams{Context: "DeleteRecommenderConfigurationInput"}
17519	if s.RecommenderId == nil {
17520		invalidParams.Add(request.NewErrParamRequired("RecommenderId"))
17521	}
17522	if s.RecommenderId != nil && len(*s.RecommenderId) < 1 {
17523		invalidParams.Add(request.NewErrParamMinLen("RecommenderId", 1))
17524	}
17525
17526	if invalidParams.Len() > 0 {
17527		return invalidParams
17528	}
17529	return nil
17530}
17531
17532// SetRecommenderId sets the RecommenderId field's value.
17533func (s *DeleteRecommenderConfigurationInput) SetRecommenderId(v string) *DeleteRecommenderConfigurationInput {
17534	s.RecommenderId = &v
17535	return s
17536}
17537
17538type DeleteRecommenderConfigurationOutput struct {
17539	_ struct{} `type:"structure" payload:"RecommenderConfigurationResponse"`
17540
17541	// Provides information about Amazon Pinpoint configuration settings for retrieving
17542	// and processing data from a recommender model.
17543	//
17544	// RecommenderConfigurationResponse is a required field
17545	RecommenderConfigurationResponse *RecommenderConfigurationResponse `type:"structure" required:"true"`
17546}
17547
17548// String returns the string representation
17549func (s DeleteRecommenderConfigurationOutput) String() string {
17550	return awsutil.Prettify(s)
17551}
17552
17553// GoString returns the string representation
17554func (s DeleteRecommenderConfigurationOutput) GoString() string {
17555	return s.String()
17556}
17557
17558// SetRecommenderConfigurationResponse sets the RecommenderConfigurationResponse field's value.
17559func (s *DeleteRecommenderConfigurationOutput) SetRecommenderConfigurationResponse(v *RecommenderConfigurationResponse) *DeleteRecommenderConfigurationOutput {
17560	s.RecommenderConfigurationResponse = v
17561	return s
17562}
17563
17564type DeleteSegmentInput struct {
17565	_ struct{} `type:"structure"`
17566
17567	// ApplicationId is a required field
17568	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17569
17570	// SegmentId is a required field
17571	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
17572}
17573
17574// String returns the string representation
17575func (s DeleteSegmentInput) String() string {
17576	return awsutil.Prettify(s)
17577}
17578
17579// GoString returns the string representation
17580func (s DeleteSegmentInput) GoString() string {
17581	return s.String()
17582}
17583
17584// Validate inspects the fields of the type to determine if they are valid.
17585func (s *DeleteSegmentInput) Validate() error {
17586	invalidParams := request.ErrInvalidParams{Context: "DeleteSegmentInput"}
17587	if s.ApplicationId == nil {
17588		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17589	}
17590	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17591		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17592	}
17593	if s.SegmentId == nil {
17594		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
17595	}
17596	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
17597		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
17598	}
17599
17600	if invalidParams.Len() > 0 {
17601		return invalidParams
17602	}
17603	return nil
17604}
17605
17606// SetApplicationId sets the ApplicationId field's value.
17607func (s *DeleteSegmentInput) SetApplicationId(v string) *DeleteSegmentInput {
17608	s.ApplicationId = &v
17609	return s
17610}
17611
17612// SetSegmentId sets the SegmentId field's value.
17613func (s *DeleteSegmentInput) SetSegmentId(v string) *DeleteSegmentInput {
17614	s.SegmentId = &v
17615	return s
17616}
17617
17618type DeleteSegmentOutput struct {
17619	_ struct{} `type:"structure" payload:"SegmentResponse"`
17620
17621	// Provides information about the configuration, dimension, and other settings
17622	// for a segment.
17623	//
17624	// SegmentResponse is a required field
17625	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
17626}
17627
17628// String returns the string representation
17629func (s DeleteSegmentOutput) String() string {
17630	return awsutil.Prettify(s)
17631}
17632
17633// GoString returns the string representation
17634func (s DeleteSegmentOutput) GoString() string {
17635	return s.String()
17636}
17637
17638// SetSegmentResponse sets the SegmentResponse field's value.
17639func (s *DeleteSegmentOutput) SetSegmentResponse(v *SegmentResponse) *DeleteSegmentOutput {
17640	s.SegmentResponse = v
17641	return s
17642}
17643
17644type DeleteSmsChannelInput struct {
17645	_ struct{} `type:"structure"`
17646
17647	// ApplicationId is a required field
17648	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17649}
17650
17651// String returns the string representation
17652func (s DeleteSmsChannelInput) String() string {
17653	return awsutil.Prettify(s)
17654}
17655
17656// GoString returns the string representation
17657func (s DeleteSmsChannelInput) GoString() string {
17658	return s.String()
17659}
17660
17661// Validate inspects the fields of the type to determine if they are valid.
17662func (s *DeleteSmsChannelInput) Validate() error {
17663	invalidParams := request.ErrInvalidParams{Context: "DeleteSmsChannelInput"}
17664	if s.ApplicationId == nil {
17665		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17666	}
17667	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17668		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17669	}
17670
17671	if invalidParams.Len() > 0 {
17672		return invalidParams
17673	}
17674	return nil
17675}
17676
17677// SetApplicationId sets the ApplicationId field's value.
17678func (s *DeleteSmsChannelInput) SetApplicationId(v string) *DeleteSmsChannelInput {
17679	s.ApplicationId = &v
17680	return s
17681}
17682
17683type DeleteSmsChannelOutput struct {
17684	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
17685
17686	// Provides information about the status and settings of the SMS channel for
17687	// an application.
17688	//
17689	// SMSChannelResponse is a required field
17690	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
17691}
17692
17693// String returns the string representation
17694func (s DeleteSmsChannelOutput) String() string {
17695	return awsutil.Prettify(s)
17696}
17697
17698// GoString returns the string representation
17699func (s DeleteSmsChannelOutput) GoString() string {
17700	return s.String()
17701}
17702
17703// SetSMSChannelResponse sets the SMSChannelResponse field's value.
17704func (s *DeleteSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *DeleteSmsChannelOutput {
17705	s.SMSChannelResponse = v
17706	return s
17707}
17708
17709type DeleteSmsTemplateInput struct {
17710	_ struct{} `type:"structure"`
17711
17712	// TemplateName is a required field
17713	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
17714
17715	Version *string `location:"querystring" locationName:"version" type:"string"`
17716}
17717
17718// String returns the string representation
17719func (s DeleteSmsTemplateInput) String() string {
17720	return awsutil.Prettify(s)
17721}
17722
17723// GoString returns the string representation
17724func (s DeleteSmsTemplateInput) GoString() string {
17725	return s.String()
17726}
17727
17728// Validate inspects the fields of the type to determine if they are valid.
17729func (s *DeleteSmsTemplateInput) Validate() error {
17730	invalidParams := request.ErrInvalidParams{Context: "DeleteSmsTemplateInput"}
17731	if s.TemplateName == nil {
17732		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
17733	}
17734	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
17735		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
17736	}
17737
17738	if invalidParams.Len() > 0 {
17739		return invalidParams
17740	}
17741	return nil
17742}
17743
17744// SetTemplateName sets the TemplateName field's value.
17745func (s *DeleteSmsTemplateInput) SetTemplateName(v string) *DeleteSmsTemplateInput {
17746	s.TemplateName = &v
17747	return s
17748}
17749
17750// SetVersion sets the Version field's value.
17751func (s *DeleteSmsTemplateInput) SetVersion(v string) *DeleteSmsTemplateInput {
17752	s.Version = &v
17753	return s
17754}
17755
17756type DeleteSmsTemplateOutput struct {
17757	_ struct{} `type:"structure" payload:"MessageBody"`
17758
17759	// Provides information about an API request or response.
17760	//
17761	// MessageBody is a required field
17762	MessageBody *MessageBody `type:"structure" required:"true"`
17763}
17764
17765// String returns the string representation
17766func (s DeleteSmsTemplateOutput) String() string {
17767	return awsutil.Prettify(s)
17768}
17769
17770// GoString returns the string representation
17771func (s DeleteSmsTemplateOutput) GoString() string {
17772	return s.String()
17773}
17774
17775// SetMessageBody sets the MessageBody field's value.
17776func (s *DeleteSmsTemplateOutput) SetMessageBody(v *MessageBody) *DeleteSmsTemplateOutput {
17777	s.MessageBody = v
17778	return s
17779}
17780
17781type DeleteUserEndpointsInput struct {
17782	_ struct{} `type:"structure"`
17783
17784	// ApplicationId is a required field
17785	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17786
17787	// UserId is a required field
17788	UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"`
17789}
17790
17791// String returns the string representation
17792func (s DeleteUserEndpointsInput) String() string {
17793	return awsutil.Prettify(s)
17794}
17795
17796// GoString returns the string representation
17797func (s DeleteUserEndpointsInput) GoString() string {
17798	return s.String()
17799}
17800
17801// Validate inspects the fields of the type to determine if they are valid.
17802func (s *DeleteUserEndpointsInput) Validate() error {
17803	invalidParams := request.ErrInvalidParams{Context: "DeleteUserEndpointsInput"}
17804	if s.ApplicationId == nil {
17805		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17806	}
17807	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17808		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17809	}
17810	if s.UserId == nil {
17811		invalidParams.Add(request.NewErrParamRequired("UserId"))
17812	}
17813	if s.UserId != nil && len(*s.UserId) < 1 {
17814		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
17815	}
17816
17817	if invalidParams.Len() > 0 {
17818		return invalidParams
17819	}
17820	return nil
17821}
17822
17823// SetApplicationId sets the ApplicationId field's value.
17824func (s *DeleteUserEndpointsInput) SetApplicationId(v string) *DeleteUserEndpointsInput {
17825	s.ApplicationId = &v
17826	return s
17827}
17828
17829// SetUserId sets the UserId field's value.
17830func (s *DeleteUserEndpointsInput) SetUserId(v string) *DeleteUserEndpointsInput {
17831	s.UserId = &v
17832	return s
17833}
17834
17835type DeleteUserEndpointsOutput struct {
17836	_ struct{} `type:"structure" payload:"EndpointsResponse"`
17837
17838	// Provides information about all the endpoints that are associated with a user
17839	// ID.
17840	//
17841	// EndpointsResponse is a required field
17842	EndpointsResponse *EndpointsResponse `type:"structure" required:"true"`
17843}
17844
17845// String returns the string representation
17846func (s DeleteUserEndpointsOutput) String() string {
17847	return awsutil.Prettify(s)
17848}
17849
17850// GoString returns the string representation
17851func (s DeleteUserEndpointsOutput) GoString() string {
17852	return s.String()
17853}
17854
17855// SetEndpointsResponse sets the EndpointsResponse field's value.
17856func (s *DeleteUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *DeleteUserEndpointsOutput {
17857	s.EndpointsResponse = v
17858	return s
17859}
17860
17861type DeleteVoiceChannelInput struct {
17862	_ struct{} `type:"structure"`
17863
17864	// ApplicationId is a required field
17865	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17866}
17867
17868// String returns the string representation
17869func (s DeleteVoiceChannelInput) String() string {
17870	return awsutil.Prettify(s)
17871}
17872
17873// GoString returns the string representation
17874func (s DeleteVoiceChannelInput) GoString() string {
17875	return s.String()
17876}
17877
17878// Validate inspects the fields of the type to determine if they are valid.
17879func (s *DeleteVoiceChannelInput) Validate() error {
17880	invalidParams := request.ErrInvalidParams{Context: "DeleteVoiceChannelInput"}
17881	if s.ApplicationId == nil {
17882		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17883	}
17884	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17885		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17886	}
17887
17888	if invalidParams.Len() > 0 {
17889		return invalidParams
17890	}
17891	return nil
17892}
17893
17894// SetApplicationId sets the ApplicationId field's value.
17895func (s *DeleteVoiceChannelInput) SetApplicationId(v string) *DeleteVoiceChannelInput {
17896	s.ApplicationId = &v
17897	return s
17898}
17899
17900type DeleteVoiceChannelOutput struct {
17901	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
17902
17903	// Provides information about the status and settings of the voice channel for
17904	// an application.
17905	//
17906	// VoiceChannelResponse is a required field
17907	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
17908}
17909
17910// String returns the string representation
17911func (s DeleteVoiceChannelOutput) String() string {
17912	return awsutil.Prettify(s)
17913}
17914
17915// GoString returns the string representation
17916func (s DeleteVoiceChannelOutput) GoString() string {
17917	return s.String()
17918}
17919
17920// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
17921func (s *DeleteVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *DeleteVoiceChannelOutput {
17922	s.VoiceChannelResponse = v
17923	return s
17924}
17925
17926type DeleteVoiceTemplateInput struct {
17927	_ struct{} `type:"structure"`
17928
17929	// TemplateName is a required field
17930	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
17931
17932	Version *string `location:"querystring" locationName:"version" type:"string"`
17933}
17934
17935// String returns the string representation
17936func (s DeleteVoiceTemplateInput) String() string {
17937	return awsutil.Prettify(s)
17938}
17939
17940// GoString returns the string representation
17941func (s DeleteVoiceTemplateInput) GoString() string {
17942	return s.String()
17943}
17944
17945// Validate inspects the fields of the type to determine if they are valid.
17946func (s *DeleteVoiceTemplateInput) Validate() error {
17947	invalidParams := request.ErrInvalidParams{Context: "DeleteVoiceTemplateInput"}
17948	if s.TemplateName == nil {
17949		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
17950	}
17951	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
17952		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
17953	}
17954
17955	if invalidParams.Len() > 0 {
17956		return invalidParams
17957	}
17958	return nil
17959}
17960
17961// SetTemplateName sets the TemplateName field's value.
17962func (s *DeleteVoiceTemplateInput) SetTemplateName(v string) *DeleteVoiceTemplateInput {
17963	s.TemplateName = &v
17964	return s
17965}
17966
17967// SetVersion sets the Version field's value.
17968func (s *DeleteVoiceTemplateInput) SetVersion(v string) *DeleteVoiceTemplateInput {
17969	s.Version = &v
17970	return s
17971}
17972
17973type DeleteVoiceTemplateOutput struct {
17974	_ struct{} `type:"structure" payload:"MessageBody"`
17975
17976	// Provides information about an API request or response.
17977	//
17978	// MessageBody is a required field
17979	MessageBody *MessageBody `type:"structure" required:"true"`
17980}
17981
17982// String returns the string representation
17983func (s DeleteVoiceTemplateOutput) String() string {
17984	return awsutil.Prettify(s)
17985}
17986
17987// GoString returns the string representation
17988func (s DeleteVoiceTemplateOutput) GoString() string {
17989	return s.String()
17990}
17991
17992// SetMessageBody sets the MessageBody field's value.
17993func (s *DeleteVoiceTemplateOutput) SetMessageBody(v *MessageBody) *DeleteVoiceTemplateOutput {
17994	s.MessageBody = v
17995	return s
17996}
17997
17998// Specifies the settings and content for the default message and any default
17999// messages that you tailored for specific channels.
18000type DirectMessageConfiguration struct {
18001	_ struct{} `type:"structure"`
18002
18003	// The default push notification message for the ADM (Amazon Device Messaging)
18004	// channel. This message overrides the default push notification message (DefaultPushNotificationMessage).
18005	ADMMessage *ADMMessage `type:"structure"`
18006
18007	// The default push notification message for the APNs (Apple Push Notification
18008	// service) channel. This message overrides the default push notification message
18009	// (DefaultPushNotificationMessage).
18010	APNSMessage *APNSMessage `type:"structure"`
18011
18012	// The default push notification message for the Baidu (Baidu Cloud Push) channel.
18013	// This message overrides the default push notification message (DefaultPushNotificationMessage).
18014	BaiduMessage *BaiduMessage `type:"structure"`
18015
18016	// The default message for all channels.
18017	DefaultMessage *DefaultMessage `type:"structure"`
18018
18019	// The default push notification message for all push notification channels.
18020	DefaultPushNotificationMessage *DefaultPushNotificationMessage `type:"structure"`
18021
18022	// The default message for the email channel. This message overrides the default
18023	// message (DefaultMessage).
18024	EmailMessage *EmailMessage `type:"structure"`
18025
18026	// The default push notification message for the GCM channel, which is used
18027	// to send notifications through the Firebase Cloud Messaging (FCM), formerly
18028	// Google Cloud Messaging (GCM), service. This message overrides the default
18029	// push notification message (DefaultPushNotificationMessage).
18030	GCMMessage *GCMMessage `type:"structure"`
18031
18032	// The default message for the SMS channel. This message overrides the default
18033	// message (DefaultMessage).
18034	SMSMessage *SMSMessage `type:"structure"`
18035
18036	// The default message for the voice channel. This message overrides the default
18037	// message (DefaultMessage).
18038	VoiceMessage *VoiceMessage `type:"structure"`
18039}
18040
18041// String returns the string representation
18042func (s DirectMessageConfiguration) String() string {
18043	return awsutil.Prettify(s)
18044}
18045
18046// GoString returns the string representation
18047func (s DirectMessageConfiguration) GoString() string {
18048	return s.String()
18049}
18050
18051// SetADMMessage sets the ADMMessage field's value.
18052func (s *DirectMessageConfiguration) SetADMMessage(v *ADMMessage) *DirectMessageConfiguration {
18053	s.ADMMessage = v
18054	return s
18055}
18056
18057// SetAPNSMessage sets the APNSMessage field's value.
18058func (s *DirectMessageConfiguration) SetAPNSMessage(v *APNSMessage) *DirectMessageConfiguration {
18059	s.APNSMessage = v
18060	return s
18061}
18062
18063// SetBaiduMessage sets the BaiduMessage field's value.
18064func (s *DirectMessageConfiguration) SetBaiduMessage(v *BaiduMessage) *DirectMessageConfiguration {
18065	s.BaiduMessage = v
18066	return s
18067}
18068
18069// SetDefaultMessage sets the DefaultMessage field's value.
18070func (s *DirectMessageConfiguration) SetDefaultMessage(v *DefaultMessage) *DirectMessageConfiguration {
18071	s.DefaultMessage = v
18072	return s
18073}
18074
18075// SetDefaultPushNotificationMessage sets the DefaultPushNotificationMessage field's value.
18076func (s *DirectMessageConfiguration) SetDefaultPushNotificationMessage(v *DefaultPushNotificationMessage) *DirectMessageConfiguration {
18077	s.DefaultPushNotificationMessage = v
18078	return s
18079}
18080
18081// SetEmailMessage sets the EmailMessage field's value.
18082func (s *DirectMessageConfiguration) SetEmailMessage(v *EmailMessage) *DirectMessageConfiguration {
18083	s.EmailMessage = v
18084	return s
18085}
18086
18087// SetGCMMessage sets the GCMMessage field's value.
18088func (s *DirectMessageConfiguration) SetGCMMessage(v *GCMMessage) *DirectMessageConfiguration {
18089	s.GCMMessage = v
18090	return s
18091}
18092
18093// SetSMSMessage sets the SMSMessage field's value.
18094func (s *DirectMessageConfiguration) SetSMSMessage(v *SMSMessage) *DirectMessageConfiguration {
18095	s.SMSMessage = v
18096	return s
18097}
18098
18099// SetVoiceMessage sets the VoiceMessage field's value.
18100func (s *DirectMessageConfiguration) SetVoiceMessage(v *VoiceMessage) *DirectMessageConfiguration {
18101	s.VoiceMessage = v
18102	return s
18103}
18104
18105// Specifies the status and settings of the email channel for an application.
18106type EmailChannelRequest struct {
18107	_ struct{} `type:"structure"`
18108
18109	// The Amazon SES configuration set (https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html)
18110	// that you want to apply to messages that you send through the channel.
18111	ConfigurationSet *string `type:"string"`
18112
18113	// Specifies whether to enable the email channel for the application.
18114	Enabled *bool `type:"boolean"`
18115
18116	// The verified email address that you want to send email from when you send
18117	// email through the channel.
18118	//
18119	// FromAddress is a required field
18120	FromAddress *string `type:"string" required:"true"`
18121
18122	// The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
18123	// Email Service (Amazon SES), that you want to use when you send email through
18124	// the channel.
18125	//
18126	// Identity is a required field
18127	Identity *string `type:"string" required:"true"`
18128
18129	// The ARN of the AWS Identity and Access Management (IAM) role that you want
18130	// Amazon Pinpoint to use when it submits email-related event data for the channel.
18131	RoleArn *string `type:"string"`
18132}
18133
18134// String returns the string representation
18135func (s EmailChannelRequest) String() string {
18136	return awsutil.Prettify(s)
18137}
18138
18139// GoString returns the string representation
18140func (s EmailChannelRequest) GoString() string {
18141	return s.String()
18142}
18143
18144// Validate inspects the fields of the type to determine if they are valid.
18145func (s *EmailChannelRequest) Validate() error {
18146	invalidParams := request.ErrInvalidParams{Context: "EmailChannelRequest"}
18147	if s.FromAddress == nil {
18148		invalidParams.Add(request.NewErrParamRequired("FromAddress"))
18149	}
18150	if s.Identity == nil {
18151		invalidParams.Add(request.NewErrParamRequired("Identity"))
18152	}
18153
18154	if invalidParams.Len() > 0 {
18155		return invalidParams
18156	}
18157	return nil
18158}
18159
18160// SetConfigurationSet sets the ConfigurationSet field's value.
18161func (s *EmailChannelRequest) SetConfigurationSet(v string) *EmailChannelRequest {
18162	s.ConfigurationSet = &v
18163	return s
18164}
18165
18166// SetEnabled sets the Enabled field's value.
18167func (s *EmailChannelRequest) SetEnabled(v bool) *EmailChannelRequest {
18168	s.Enabled = &v
18169	return s
18170}
18171
18172// SetFromAddress sets the FromAddress field's value.
18173func (s *EmailChannelRequest) SetFromAddress(v string) *EmailChannelRequest {
18174	s.FromAddress = &v
18175	return s
18176}
18177
18178// SetIdentity sets the Identity field's value.
18179func (s *EmailChannelRequest) SetIdentity(v string) *EmailChannelRequest {
18180	s.Identity = &v
18181	return s
18182}
18183
18184// SetRoleArn sets the RoleArn field's value.
18185func (s *EmailChannelRequest) SetRoleArn(v string) *EmailChannelRequest {
18186	s.RoleArn = &v
18187	return s
18188}
18189
18190// Provides information about the status and settings of the email channel for
18191// an application.
18192type EmailChannelResponse struct {
18193	_ struct{} `type:"structure"`
18194
18195	// The unique identifier for the application that the email channel applies
18196	// to.
18197	ApplicationId *string `type:"string"`
18198
18199	// The Amazon SES configuration set (https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html)
18200	// that's applied to messages that are sent through the channel.
18201	ConfigurationSet *string `type:"string"`
18202
18203	// The date and time, in ISO 8601 format, when the email channel was enabled.
18204	CreationDate *string `type:"string"`
18205
18206	// Specifies whether the email channel is enabled for the application.
18207	Enabled *bool `type:"boolean"`
18208
18209	// The verified email address that email is sent from when you send email through
18210	// the channel.
18211	FromAddress *string `type:"string"`
18212
18213	// (Not used) This property is retained only for backward compatibility.
18214	HasCredential *bool `type:"boolean"`
18215
18216	// (Deprecated) An identifier for the email channel. This property is retained
18217	// only for backward compatibility.
18218	Id *string `type:"string"`
18219
18220	// The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
18221	// Email Service (Amazon SES), that's used when you send email through the channel.
18222	Identity *string `type:"string"`
18223
18224	// Specifies whether the email channel is archived.
18225	IsArchived *bool `type:"boolean"`
18226
18227	// The user who last modified the email channel.
18228	LastModifiedBy *string `type:"string"`
18229
18230	// The date and time, in ISO 8601 format, when the email channel was last modified.
18231	LastModifiedDate *string `type:"string"`
18232
18233	// The maximum number of emails that can be sent through the channel each second.
18234	MessagesPerSecond *int64 `type:"integer"`
18235
18236	// The type of messaging or notification platform for the channel. For the email
18237	// channel, this value is EMAIL.
18238	//
18239	// Platform is a required field
18240	Platform *string `type:"string" required:"true"`
18241
18242	// The ARN of the AWS Identity and Access Management (IAM) role that Amazon
18243	// Pinpoint uses to submit email-related event data for the channel.
18244	RoleArn *string `type:"string"`
18245
18246	// The current version of the email channel.
18247	Version *int64 `type:"integer"`
18248}
18249
18250// String returns the string representation
18251func (s EmailChannelResponse) String() string {
18252	return awsutil.Prettify(s)
18253}
18254
18255// GoString returns the string representation
18256func (s EmailChannelResponse) GoString() string {
18257	return s.String()
18258}
18259
18260// SetApplicationId sets the ApplicationId field's value.
18261func (s *EmailChannelResponse) SetApplicationId(v string) *EmailChannelResponse {
18262	s.ApplicationId = &v
18263	return s
18264}
18265
18266// SetConfigurationSet sets the ConfigurationSet field's value.
18267func (s *EmailChannelResponse) SetConfigurationSet(v string) *EmailChannelResponse {
18268	s.ConfigurationSet = &v
18269	return s
18270}
18271
18272// SetCreationDate sets the CreationDate field's value.
18273func (s *EmailChannelResponse) SetCreationDate(v string) *EmailChannelResponse {
18274	s.CreationDate = &v
18275	return s
18276}
18277
18278// SetEnabled sets the Enabled field's value.
18279func (s *EmailChannelResponse) SetEnabled(v bool) *EmailChannelResponse {
18280	s.Enabled = &v
18281	return s
18282}
18283
18284// SetFromAddress sets the FromAddress field's value.
18285func (s *EmailChannelResponse) SetFromAddress(v string) *EmailChannelResponse {
18286	s.FromAddress = &v
18287	return s
18288}
18289
18290// SetHasCredential sets the HasCredential field's value.
18291func (s *EmailChannelResponse) SetHasCredential(v bool) *EmailChannelResponse {
18292	s.HasCredential = &v
18293	return s
18294}
18295
18296// SetId sets the Id field's value.
18297func (s *EmailChannelResponse) SetId(v string) *EmailChannelResponse {
18298	s.Id = &v
18299	return s
18300}
18301
18302// SetIdentity sets the Identity field's value.
18303func (s *EmailChannelResponse) SetIdentity(v string) *EmailChannelResponse {
18304	s.Identity = &v
18305	return s
18306}
18307
18308// SetIsArchived sets the IsArchived field's value.
18309func (s *EmailChannelResponse) SetIsArchived(v bool) *EmailChannelResponse {
18310	s.IsArchived = &v
18311	return s
18312}
18313
18314// SetLastModifiedBy sets the LastModifiedBy field's value.
18315func (s *EmailChannelResponse) SetLastModifiedBy(v string) *EmailChannelResponse {
18316	s.LastModifiedBy = &v
18317	return s
18318}
18319
18320// SetLastModifiedDate sets the LastModifiedDate field's value.
18321func (s *EmailChannelResponse) SetLastModifiedDate(v string) *EmailChannelResponse {
18322	s.LastModifiedDate = &v
18323	return s
18324}
18325
18326// SetMessagesPerSecond sets the MessagesPerSecond field's value.
18327func (s *EmailChannelResponse) SetMessagesPerSecond(v int64) *EmailChannelResponse {
18328	s.MessagesPerSecond = &v
18329	return s
18330}
18331
18332// SetPlatform sets the Platform field's value.
18333func (s *EmailChannelResponse) SetPlatform(v string) *EmailChannelResponse {
18334	s.Platform = &v
18335	return s
18336}
18337
18338// SetRoleArn sets the RoleArn field's value.
18339func (s *EmailChannelResponse) SetRoleArn(v string) *EmailChannelResponse {
18340	s.RoleArn = &v
18341	return s
18342}
18343
18344// SetVersion sets the Version field's value.
18345func (s *EmailChannelResponse) SetVersion(v int64) *EmailChannelResponse {
18346	s.Version = &v
18347	return s
18348}
18349
18350// Specifies the default settings and content for a one-time email message that's
18351// sent directly to an endpoint.
18352type EmailMessage struct {
18353	_ struct{} `type:"structure"`
18354
18355	// The body of the email message.
18356	Body *string `type:"string"`
18357
18358	// The email address to forward bounces and complaints to, if feedback forwarding
18359	// is enabled.
18360	FeedbackForwardingAddress *string `type:"string"`
18361
18362	// The verified email address to send the email message from. The default value
18363	// is the FromAddress specified for the email channel.
18364	FromAddress *string `type:"string"`
18365
18366	// The email message, represented as a raw MIME message.
18367	RawEmail *RawEmail `type:"structure"`
18368
18369	// The reply-to email address(es) for the email message. If a recipient replies
18370	// to the email, each reply-to address receives the reply.
18371	ReplyToAddresses []*string `type:"list"`
18372
18373	// The email message, composed of a subject, a text part, and an HTML part.
18374	SimpleEmail *SimpleEmail `type:"structure"`
18375
18376	// The default message variables to use in the email message. You can override
18377	// the default variables with individual address variables.
18378	Substitutions map[string][]*string `type:"map"`
18379}
18380
18381// String returns the string representation
18382func (s EmailMessage) String() string {
18383	return awsutil.Prettify(s)
18384}
18385
18386// GoString returns the string representation
18387func (s EmailMessage) GoString() string {
18388	return s.String()
18389}
18390
18391// SetBody sets the Body field's value.
18392func (s *EmailMessage) SetBody(v string) *EmailMessage {
18393	s.Body = &v
18394	return s
18395}
18396
18397// SetFeedbackForwardingAddress sets the FeedbackForwardingAddress field's value.
18398func (s *EmailMessage) SetFeedbackForwardingAddress(v string) *EmailMessage {
18399	s.FeedbackForwardingAddress = &v
18400	return s
18401}
18402
18403// SetFromAddress sets the FromAddress field's value.
18404func (s *EmailMessage) SetFromAddress(v string) *EmailMessage {
18405	s.FromAddress = &v
18406	return s
18407}
18408
18409// SetRawEmail sets the RawEmail field's value.
18410func (s *EmailMessage) SetRawEmail(v *RawEmail) *EmailMessage {
18411	s.RawEmail = v
18412	return s
18413}
18414
18415// SetReplyToAddresses sets the ReplyToAddresses field's value.
18416func (s *EmailMessage) SetReplyToAddresses(v []*string) *EmailMessage {
18417	s.ReplyToAddresses = v
18418	return s
18419}
18420
18421// SetSimpleEmail sets the SimpleEmail field's value.
18422func (s *EmailMessage) SetSimpleEmail(v *SimpleEmail) *EmailMessage {
18423	s.SimpleEmail = v
18424	return s
18425}
18426
18427// SetSubstitutions sets the Substitutions field's value.
18428func (s *EmailMessage) SetSubstitutions(v map[string][]*string) *EmailMessage {
18429	s.Substitutions = v
18430	return s
18431}
18432
18433// Specifies the settings for an email activity in a journey. This type of activity
18434// sends an email message to participants.
18435type EmailMessageActivity struct {
18436	_ struct{} `type:"structure"`
18437
18438	// Specifies the sender address for an email message that's sent to participants
18439	// in the journey.
18440	MessageConfig *JourneyEmailMessage `type:"structure"`
18441
18442	// The unique identifier for the next activity to perform, after the message
18443	// is sent.
18444	NextActivity *string `type:"string"`
18445
18446	// The name of the email message template to use for the message. If specified,
18447	// this value must match the name of an existing message template.
18448	TemplateName *string `type:"string"`
18449
18450	// The unique identifier for the version of the email template to use for the
18451	// message. If specified, this value must match the identifier for an existing
18452	// template version. To retrieve a list of versions and version identifiers
18453	// for a template, use the Template Versions resource.
18454	//
18455	// If you don't specify a value for this property, Amazon Pinpoint uses the
18456	// active version of the template. The active version is typically the version
18457	// of a template that's been most recently reviewed and approved for use, depending
18458	// on your workflow. It isn't necessarily the latest version of a template.
18459	TemplateVersion *string `type:"string"`
18460}
18461
18462// String returns the string representation
18463func (s EmailMessageActivity) String() string {
18464	return awsutil.Prettify(s)
18465}
18466
18467// GoString returns the string representation
18468func (s EmailMessageActivity) GoString() string {
18469	return s.String()
18470}
18471
18472// SetMessageConfig sets the MessageConfig field's value.
18473func (s *EmailMessageActivity) SetMessageConfig(v *JourneyEmailMessage) *EmailMessageActivity {
18474	s.MessageConfig = v
18475	return s
18476}
18477
18478// SetNextActivity sets the NextActivity field's value.
18479func (s *EmailMessageActivity) SetNextActivity(v string) *EmailMessageActivity {
18480	s.NextActivity = &v
18481	return s
18482}
18483
18484// SetTemplateName sets the TemplateName field's value.
18485func (s *EmailMessageActivity) SetTemplateName(v string) *EmailMessageActivity {
18486	s.TemplateName = &v
18487	return s
18488}
18489
18490// SetTemplateVersion sets the TemplateVersion field's value.
18491func (s *EmailMessageActivity) SetTemplateVersion(v string) *EmailMessageActivity {
18492	s.TemplateVersion = &v
18493	return s
18494}
18495
18496// Specifies the content and settings for a message template that can be used
18497// in messages that are sent through the email channel.
18498type EmailTemplateRequest struct {
18499	_ struct{} `type:"structure"`
18500
18501	// A JSON object that specifies the default values to use for message variables
18502	// in the message template. This object is a set of key-value pairs. Each key
18503	// defines a message variable in the template. The corresponding value defines
18504	// the default value for that variable. When you create a message that's based
18505	// on the template, you can override these defaults with message-specific and
18506	// address-specific variables and values.
18507	DefaultSubstitutions *string `type:"string"`
18508
18509	// The message body, in HTML format, to use in email messages that are based
18510	// on the message template. We recommend using HTML format for email clients
18511	// that render HTML content. You can include links, formatted text, and more
18512	// in an HTML message.
18513	HtmlPart *string `type:"string"`
18514
18515	// The unique identifier for the recommender model to use for the message template.
18516	// Amazon Pinpoint uses this value to determine how to retrieve and process
18517	// data from a recommender model when it sends messages that use the template,
18518	// if the template contains message variables for recommendation data.
18519	RecommenderId *string `type:"string"`
18520
18521	// The subject line, or title, to use in email messages that are based on the
18522	// message template.
18523	Subject *string `type:"string"`
18524
18525	// A string-to-string map of key-value pairs that defines the tags to associate
18526	// with the message template. Each tag consists of a required tag key and an
18527	// associated tag value.
18528	Tags map[string]*string `locationName:"tags" type:"map"`
18529
18530	// A custom description of the message template.
18531	TemplateDescription *string `type:"string"`
18532
18533	// The message body, in plain text format, to use in email messages that are
18534	// based on the message template. We recommend using plain text format for email
18535	// clients that don't render HTML content and clients that are connected to
18536	// high-latency networks, such as mobile devices.
18537	TextPart *string `type:"string"`
18538}
18539
18540// String returns the string representation
18541func (s EmailTemplateRequest) String() string {
18542	return awsutil.Prettify(s)
18543}
18544
18545// GoString returns the string representation
18546func (s EmailTemplateRequest) GoString() string {
18547	return s.String()
18548}
18549
18550// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
18551func (s *EmailTemplateRequest) SetDefaultSubstitutions(v string) *EmailTemplateRequest {
18552	s.DefaultSubstitutions = &v
18553	return s
18554}
18555
18556// SetHtmlPart sets the HtmlPart field's value.
18557func (s *EmailTemplateRequest) SetHtmlPart(v string) *EmailTemplateRequest {
18558	s.HtmlPart = &v
18559	return s
18560}
18561
18562// SetRecommenderId sets the RecommenderId field's value.
18563func (s *EmailTemplateRequest) SetRecommenderId(v string) *EmailTemplateRequest {
18564	s.RecommenderId = &v
18565	return s
18566}
18567
18568// SetSubject sets the Subject field's value.
18569func (s *EmailTemplateRequest) SetSubject(v string) *EmailTemplateRequest {
18570	s.Subject = &v
18571	return s
18572}
18573
18574// SetTags sets the Tags field's value.
18575func (s *EmailTemplateRequest) SetTags(v map[string]*string) *EmailTemplateRequest {
18576	s.Tags = v
18577	return s
18578}
18579
18580// SetTemplateDescription sets the TemplateDescription field's value.
18581func (s *EmailTemplateRequest) SetTemplateDescription(v string) *EmailTemplateRequest {
18582	s.TemplateDescription = &v
18583	return s
18584}
18585
18586// SetTextPart sets the TextPart field's value.
18587func (s *EmailTemplateRequest) SetTextPart(v string) *EmailTemplateRequest {
18588	s.TextPart = &v
18589	return s
18590}
18591
18592// Provides information about the content and settings for a message template
18593// that can be used in messages that are sent through the email channel.
18594type EmailTemplateResponse struct {
18595	_ struct{} `type:"structure"`
18596
18597	// The Amazon Resource Name (ARN) of the message template.
18598	Arn *string `type:"string"`
18599
18600	// The date, in ISO 8601 format, when the message template was created.
18601	//
18602	// CreationDate is a required field
18603	CreationDate *string `type:"string" required:"true"`
18604
18605	// The JSON object that specifies the default values that are used for message
18606	// variables in the message template. This object is a set of key-value pairs.
18607	// Each key defines a message variable in the template. The corresponding value
18608	// defines the default value for that variable.
18609	DefaultSubstitutions *string `type:"string"`
18610
18611	// The message body, in HTML format, that's used in email messages that are
18612	// based on the message template.
18613	HtmlPart *string `type:"string"`
18614
18615	// The date, in ISO 8601 format, when the message template was last modified.
18616	//
18617	// LastModifiedDate is a required field
18618	LastModifiedDate *string `type:"string" required:"true"`
18619
18620	// The unique identifier for the recommender model that's used by the message
18621	// template.
18622	RecommenderId *string `type:"string"`
18623
18624	// The subject line, or title, that's used in email messages that are based
18625	// on the message template.
18626	Subject *string `type:"string"`
18627
18628	// A string-to-string map of key-value pairs that identifies the tags that are
18629	// associated with the message template. Each tag consists of a required tag
18630	// key and an associated tag value.
18631	Tags map[string]*string `locationName:"tags" type:"map"`
18632
18633	// The custom description of the message template.
18634	TemplateDescription *string `type:"string"`
18635
18636	// The name of the message template.
18637	//
18638	// TemplateName is a required field
18639	TemplateName *string `type:"string" required:"true"`
18640
18641	// The type of channel that the message template is designed for. For an email
18642	// template, this value is EMAIL.
18643	//
18644	// TemplateType is a required field
18645	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
18646
18647	// The message body, in plain text format, that's used in email messages that
18648	// are based on the message template.
18649	TextPart *string `type:"string"`
18650
18651	// The unique identifier, as an integer, for the active version of the message
18652	// template, or the version of the template that you specified by using the
18653	// version parameter in your request.
18654	Version *string `type:"string"`
18655}
18656
18657// String returns the string representation
18658func (s EmailTemplateResponse) String() string {
18659	return awsutil.Prettify(s)
18660}
18661
18662// GoString returns the string representation
18663func (s EmailTemplateResponse) GoString() string {
18664	return s.String()
18665}
18666
18667// SetArn sets the Arn field's value.
18668func (s *EmailTemplateResponse) SetArn(v string) *EmailTemplateResponse {
18669	s.Arn = &v
18670	return s
18671}
18672
18673// SetCreationDate sets the CreationDate field's value.
18674func (s *EmailTemplateResponse) SetCreationDate(v string) *EmailTemplateResponse {
18675	s.CreationDate = &v
18676	return s
18677}
18678
18679// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
18680func (s *EmailTemplateResponse) SetDefaultSubstitutions(v string) *EmailTemplateResponse {
18681	s.DefaultSubstitutions = &v
18682	return s
18683}
18684
18685// SetHtmlPart sets the HtmlPart field's value.
18686func (s *EmailTemplateResponse) SetHtmlPart(v string) *EmailTemplateResponse {
18687	s.HtmlPart = &v
18688	return s
18689}
18690
18691// SetLastModifiedDate sets the LastModifiedDate field's value.
18692func (s *EmailTemplateResponse) SetLastModifiedDate(v string) *EmailTemplateResponse {
18693	s.LastModifiedDate = &v
18694	return s
18695}
18696
18697// SetRecommenderId sets the RecommenderId field's value.
18698func (s *EmailTemplateResponse) SetRecommenderId(v string) *EmailTemplateResponse {
18699	s.RecommenderId = &v
18700	return s
18701}
18702
18703// SetSubject sets the Subject field's value.
18704func (s *EmailTemplateResponse) SetSubject(v string) *EmailTemplateResponse {
18705	s.Subject = &v
18706	return s
18707}
18708
18709// SetTags sets the Tags field's value.
18710func (s *EmailTemplateResponse) SetTags(v map[string]*string) *EmailTemplateResponse {
18711	s.Tags = v
18712	return s
18713}
18714
18715// SetTemplateDescription sets the TemplateDescription field's value.
18716func (s *EmailTemplateResponse) SetTemplateDescription(v string) *EmailTemplateResponse {
18717	s.TemplateDescription = &v
18718	return s
18719}
18720
18721// SetTemplateName sets the TemplateName field's value.
18722func (s *EmailTemplateResponse) SetTemplateName(v string) *EmailTemplateResponse {
18723	s.TemplateName = &v
18724	return s
18725}
18726
18727// SetTemplateType sets the TemplateType field's value.
18728func (s *EmailTemplateResponse) SetTemplateType(v string) *EmailTemplateResponse {
18729	s.TemplateType = &v
18730	return s
18731}
18732
18733// SetTextPart sets the TextPart field's value.
18734func (s *EmailTemplateResponse) SetTextPart(v string) *EmailTemplateResponse {
18735	s.TextPart = &v
18736	return s
18737}
18738
18739// SetVersion sets the Version field's value.
18740func (s *EmailTemplateResponse) SetVersion(v string) *EmailTemplateResponse {
18741	s.Version = &v
18742	return s
18743}
18744
18745// Specifies an endpoint to create or update and the settings and attributes
18746// to set or change for the endpoint.
18747type EndpointBatchItem struct {
18748	_ struct{} `type:"structure"`
18749
18750	// The destination address for messages or push notifications that you send
18751	// to the endpoint. The address varies by channel. For a push-notification channel,
18752	// use the token provided by the push notification service, such as an Apple
18753	// Push Notification service (APNs) device token or a Firebase Cloud Messaging
18754	// (FCM) registration token. For the SMS channel, use a phone number in E.164
18755	// format, such as +12065550100. For the email channel, use an email address.
18756	Address *string `type:"string"`
18757
18758	// One or more custom attributes that describe the endpoint by associating a
18759	// name with an array of values. For example, the value of a custom attribute
18760	// named Interests might be: ["Science", "Music", "Travel"]. You can use these
18761	// attributes as filter criteria when you create segments. Attribute names are
18762	// case sensitive.
18763	//
18764	// An attribute name can contain up to 50 characters. An attribute value can
18765	// contain up to 100 characters. When you define the name of a custom attribute,
18766	// avoid using the following characters: number sign (#), colon (:), question
18767	// mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't
18768	// display attribute names that contain these characters. This restriction doesn't
18769	// apply to attribute values.
18770	Attributes map[string][]*string `type:"map"`
18771
18772	// The channel to use when sending messages or push notifications to the endpoint.
18773	ChannelType *string `type:"string" enum:"ChannelType"`
18774
18775	// The demographic information for the endpoint, such as the time zone and platform.
18776	Demographic *EndpointDemographic `type:"structure"`
18777
18778	// The date and time, in ISO 8601 format, when the endpoint was created or updated.
18779	EffectiveDate *string `type:"string"`
18780
18781	// Specifies whether to send messages or push notifications to the endpoint.
18782	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
18783	// messages aren’t sent to the endpoint.
18784	//
18785	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
18786	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
18787	// this value to INACTIVE if you update another endpoint that has the same address
18788	// specified by the Address property.
18789	EndpointStatus *string `type:"string"`
18790
18791	// The unique identifier for the endpoint in the context of the batch.
18792	Id *string `type:"string"`
18793
18794	// The geographic information for the endpoint.
18795	Location *EndpointLocation `type:"structure"`
18796
18797	// One or more custom metrics that your app reports to Amazon Pinpoint for the
18798	// endpoint.
18799	Metrics map[string]*float64 `type:"map"`
18800
18801	// Specifies whether the user who's associated with the endpoint has opted out
18802	// of receiving messages and push notifications from you. Possible values are:
18803	// ALL, the user has opted out and doesn't want to receive any messages or push
18804	// notifications; and, NONE, the user hasn't opted out and wants to receive
18805	// all messages and push notifications.
18806	OptOut *string `type:"string"`
18807
18808	// The unique identifier for the request to create or update the endpoint.
18809	RequestId *string `type:"string"`
18810
18811	// One or more custom attributes that describe the user who's associated with
18812	// the endpoint.
18813	User *EndpointUser `type:"structure"`
18814}
18815
18816// String returns the string representation
18817func (s EndpointBatchItem) String() string {
18818	return awsutil.Prettify(s)
18819}
18820
18821// GoString returns the string representation
18822func (s EndpointBatchItem) GoString() string {
18823	return s.String()
18824}
18825
18826// SetAddress sets the Address field's value.
18827func (s *EndpointBatchItem) SetAddress(v string) *EndpointBatchItem {
18828	s.Address = &v
18829	return s
18830}
18831
18832// SetAttributes sets the Attributes field's value.
18833func (s *EndpointBatchItem) SetAttributes(v map[string][]*string) *EndpointBatchItem {
18834	s.Attributes = v
18835	return s
18836}
18837
18838// SetChannelType sets the ChannelType field's value.
18839func (s *EndpointBatchItem) SetChannelType(v string) *EndpointBatchItem {
18840	s.ChannelType = &v
18841	return s
18842}
18843
18844// SetDemographic sets the Demographic field's value.
18845func (s *EndpointBatchItem) SetDemographic(v *EndpointDemographic) *EndpointBatchItem {
18846	s.Demographic = v
18847	return s
18848}
18849
18850// SetEffectiveDate sets the EffectiveDate field's value.
18851func (s *EndpointBatchItem) SetEffectiveDate(v string) *EndpointBatchItem {
18852	s.EffectiveDate = &v
18853	return s
18854}
18855
18856// SetEndpointStatus sets the EndpointStatus field's value.
18857func (s *EndpointBatchItem) SetEndpointStatus(v string) *EndpointBatchItem {
18858	s.EndpointStatus = &v
18859	return s
18860}
18861
18862// SetId sets the Id field's value.
18863func (s *EndpointBatchItem) SetId(v string) *EndpointBatchItem {
18864	s.Id = &v
18865	return s
18866}
18867
18868// SetLocation sets the Location field's value.
18869func (s *EndpointBatchItem) SetLocation(v *EndpointLocation) *EndpointBatchItem {
18870	s.Location = v
18871	return s
18872}
18873
18874// SetMetrics sets the Metrics field's value.
18875func (s *EndpointBatchItem) SetMetrics(v map[string]*float64) *EndpointBatchItem {
18876	s.Metrics = v
18877	return s
18878}
18879
18880// SetOptOut sets the OptOut field's value.
18881func (s *EndpointBatchItem) SetOptOut(v string) *EndpointBatchItem {
18882	s.OptOut = &v
18883	return s
18884}
18885
18886// SetRequestId sets the RequestId field's value.
18887func (s *EndpointBatchItem) SetRequestId(v string) *EndpointBatchItem {
18888	s.RequestId = &v
18889	return s
18890}
18891
18892// SetUser sets the User field's value.
18893func (s *EndpointBatchItem) SetUser(v *EndpointUser) *EndpointBatchItem {
18894	s.User = v
18895	return s
18896}
18897
18898// Specifies a batch of endpoints to create or update and the settings and attributes
18899// to set or change for each endpoint.
18900type EndpointBatchRequest struct {
18901	_ struct{} `type:"structure"`
18902
18903	// An array that defines the endpoints to create or update and, for each endpoint,
18904	// the property values to set or change. An array can contain a maximum of 100
18905	// items.
18906	//
18907	// Item is a required field
18908	Item []*EndpointBatchItem `type:"list" required:"true"`
18909}
18910
18911// String returns the string representation
18912func (s EndpointBatchRequest) String() string {
18913	return awsutil.Prettify(s)
18914}
18915
18916// GoString returns the string representation
18917func (s EndpointBatchRequest) GoString() string {
18918	return s.String()
18919}
18920
18921// Validate inspects the fields of the type to determine if they are valid.
18922func (s *EndpointBatchRequest) Validate() error {
18923	invalidParams := request.ErrInvalidParams{Context: "EndpointBatchRequest"}
18924	if s.Item == nil {
18925		invalidParams.Add(request.NewErrParamRequired("Item"))
18926	}
18927
18928	if invalidParams.Len() > 0 {
18929		return invalidParams
18930	}
18931	return nil
18932}
18933
18934// SetItem sets the Item field's value.
18935func (s *EndpointBatchRequest) SetItem(v []*EndpointBatchItem) *EndpointBatchRequest {
18936	s.Item = v
18937	return s
18938}
18939
18940// Specifies demographic information about an endpoint, such as the applicable
18941// time zone and platform.
18942type EndpointDemographic struct {
18943	_ struct{} `type:"structure"`
18944
18945	// The version of the app that's associated with the endpoint.
18946	AppVersion *string `type:"string"`
18947
18948	// The locale of the endpoint, in the following format: the ISO 639-1 alpha-2
18949	// code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 value.
18950	Locale *string `type:"string"`
18951
18952	// The manufacturer of the endpoint device, such as apple or samsung.
18953	Make *string `type:"string"`
18954
18955	// The model name or number of the endpoint device, such as iPhone or SM-G900F.
18956	Model *string `type:"string"`
18957
18958	// The model version of the endpoint device.
18959	ModelVersion *string `type:"string"`
18960
18961	// The platform of the endpoint device, such as ios.
18962	Platform *string `type:"string"`
18963
18964	// The platform version of the endpoint device.
18965	PlatformVersion *string `type:"string"`
18966
18967	// The time zone of the endpoint, specified as a tz database name value, such
18968	// as America/Los_Angeles.
18969	Timezone *string `type:"string"`
18970}
18971
18972// String returns the string representation
18973func (s EndpointDemographic) String() string {
18974	return awsutil.Prettify(s)
18975}
18976
18977// GoString returns the string representation
18978func (s EndpointDemographic) GoString() string {
18979	return s.String()
18980}
18981
18982// SetAppVersion sets the AppVersion field's value.
18983func (s *EndpointDemographic) SetAppVersion(v string) *EndpointDemographic {
18984	s.AppVersion = &v
18985	return s
18986}
18987
18988// SetLocale sets the Locale field's value.
18989func (s *EndpointDemographic) SetLocale(v string) *EndpointDemographic {
18990	s.Locale = &v
18991	return s
18992}
18993
18994// SetMake sets the Make field's value.
18995func (s *EndpointDemographic) SetMake(v string) *EndpointDemographic {
18996	s.Make = &v
18997	return s
18998}
18999
19000// SetModel sets the Model field's value.
19001func (s *EndpointDemographic) SetModel(v string) *EndpointDemographic {
19002	s.Model = &v
19003	return s
19004}
19005
19006// SetModelVersion sets the ModelVersion field's value.
19007func (s *EndpointDemographic) SetModelVersion(v string) *EndpointDemographic {
19008	s.ModelVersion = &v
19009	return s
19010}
19011
19012// SetPlatform sets the Platform field's value.
19013func (s *EndpointDemographic) SetPlatform(v string) *EndpointDemographic {
19014	s.Platform = &v
19015	return s
19016}
19017
19018// SetPlatformVersion sets the PlatformVersion field's value.
19019func (s *EndpointDemographic) SetPlatformVersion(v string) *EndpointDemographic {
19020	s.PlatformVersion = &v
19021	return s
19022}
19023
19024// SetTimezone sets the Timezone field's value.
19025func (s *EndpointDemographic) SetTimezone(v string) *EndpointDemographic {
19026	s.Timezone = &v
19027	return s
19028}
19029
19030// Provides the status code and message that result from processing data for
19031// an endpoint.
19032type EndpointItemResponse struct {
19033	_ struct{} `type:"structure"`
19034
19035	// The custom message that's returned in the response as a result of processing
19036	// the endpoint data.
19037	Message *string `type:"string"`
19038
19039	// The status code that's returned in the response as a result of processing
19040	// the endpoint data.
19041	StatusCode *int64 `type:"integer"`
19042}
19043
19044// String returns the string representation
19045func (s EndpointItemResponse) String() string {
19046	return awsutil.Prettify(s)
19047}
19048
19049// GoString returns the string representation
19050func (s EndpointItemResponse) GoString() string {
19051	return s.String()
19052}
19053
19054// SetMessage sets the Message field's value.
19055func (s *EndpointItemResponse) SetMessage(v string) *EndpointItemResponse {
19056	s.Message = &v
19057	return s
19058}
19059
19060// SetStatusCode sets the StatusCode field's value.
19061func (s *EndpointItemResponse) SetStatusCode(v int64) *EndpointItemResponse {
19062	s.StatusCode = &v
19063	return s
19064}
19065
19066// Specifies geographic information about an endpoint.
19067type EndpointLocation struct {
19068	_ struct{} `type:"structure"`
19069
19070	// The name of the city where the endpoint is located.
19071	City *string `type:"string"`
19072
19073	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
19074	// region where the endpoint is located. For example, US for the United States.
19075	Country *string `type:"string"`
19076
19077	// The latitude coordinate of the endpoint location, rounded to one decimal
19078	// place.
19079	Latitude *float64 `type:"double"`
19080
19081	// The longitude coordinate of the endpoint location, rounded to one decimal
19082	// place.
19083	Longitude *float64 `type:"double"`
19084
19085	// The postal or ZIP code for the area where the endpoint is located.
19086	PostalCode *string `type:"string"`
19087
19088	// The name of the region where the endpoint is located. For locations in the
19089	// United States, this value is the name of a state.
19090	Region *string `type:"string"`
19091}
19092
19093// String returns the string representation
19094func (s EndpointLocation) String() string {
19095	return awsutil.Prettify(s)
19096}
19097
19098// GoString returns the string representation
19099func (s EndpointLocation) GoString() string {
19100	return s.String()
19101}
19102
19103// SetCity sets the City field's value.
19104func (s *EndpointLocation) SetCity(v string) *EndpointLocation {
19105	s.City = &v
19106	return s
19107}
19108
19109// SetCountry sets the Country field's value.
19110func (s *EndpointLocation) SetCountry(v string) *EndpointLocation {
19111	s.Country = &v
19112	return s
19113}
19114
19115// SetLatitude sets the Latitude field's value.
19116func (s *EndpointLocation) SetLatitude(v float64) *EndpointLocation {
19117	s.Latitude = &v
19118	return s
19119}
19120
19121// SetLongitude sets the Longitude field's value.
19122func (s *EndpointLocation) SetLongitude(v float64) *EndpointLocation {
19123	s.Longitude = &v
19124	return s
19125}
19126
19127// SetPostalCode sets the PostalCode field's value.
19128func (s *EndpointLocation) SetPostalCode(v string) *EndpointLocation {
19129	s.PostalCode = &v
19130	return s
19131}
19132
19133// SetRegion sets the Region field's value.
19134func (s *EndpointLocation) SetRegion(v string) *EndpointLocation {
19135	s.Region = &v
19136	return s
19137}
19138
19139// Provides information about the delivery status and results of sending a message
19140// directly to an endpoint.
19141type EndpointMessageResult struct {
19142	_ struct{} `type:"structure"`
19143
19144	// The endpoint address that the message was delivered to.
19145	Address *string `type:"string"`
19146
19147	// The delivery status of the message. Possible values are:
19148	//
19149	//    * DUPLICATE - The endpoint address is a duplicate of another endpoint
19150	//    address. Amazon Pinpoint won't attempt to send the message again.
19151	//
19152	//    * OPT_OUT - The user who's associated with the endpoint has opted out
19153	//    of receiving messages from you. Amazon Pinpoint won't attempt to send
19154	//    the message again.
19155	//
19156	//    * PERMANENT_FAILURE - An error occurred when delivering the message to
19157	//    the endpoint. Amazon Pinpoint won't attempt to send the message again.
19158	//
19159	//    * SUCCESSFUL - The message was successfully delivered to the endpoint.
19160	//
19161	//    * TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't
19162	//    attempt to send the message again.
19163	//
19164	//    * THROTTLED - Amazon Pinpoint throttled the operation to send the message
19165	//    to the endpoint.
19166	//
19167	//    * TIMEOUT - The message couldn't be sent within the timeout period.
19168	//
19169	//    * UNKNOWN_FAILURE - An unknown error occurred.
19170	//
19171	// DeliveryStatus is a required field
19172	DeliveryStatus *string `type:"string" required:"true" enum:"DeliveryStatus"`
19173
19174	// The unique identifier for the message that was sent.
19175	MessageId *string `type:"string"`
19176
19177	// The downstream service status code for delivering the message.
19178	//
19179	// StatusCode is a required field
19180	StatusCode *int64 `type:"integer" required:"true"`
19181
19182	// The status message for delivering the message.
19183	StatusMessage *string `type:"string"`
19184
19185	// For push notifications that are sent through the GCM channel, specifies whether
19186	// the endpoint's device registration token was updated as part of delivering
19187	// the message.
19188	UpdatedToken *string `type:"string"`
19189}
19190
19191// String returns the string representation
19192func (s EndpointMessageResult) String() string {
19193	return awsutil.Prettify(s)
19194}
19195
19196// GoString returns the string representation
19197func (s EndpointMessageResult) GoString() string {
19198	return s.String()
19199}
19200
19201// SetAddress sets the Address field's value.
19202func (s *EndpointMessageResult) SetAddress(v string) *EndpointMessageResult {
19203	s.Address = &v
19204	return s
19205}
19206
19207// SetDeliveryStatus sets the DeliveryStatus field's value.
19208func (s *EndpointMessageResult) SetDeliveryStatus(v string) *EndpointMessageResult {
19209	s.DeliveryStatus = &v
19210	return s
19211}
19212
19213// SetMessageId sets the MessageId field's value.
19214func (s *EndpointMessageResult) SetMessageId(v string) *EndpointMessageResult {
19215	s.MessageId = &v
19216	return s
19217}
19218
19219// SetStatusCode sets the StatusCode field's value.
19220func (s *EndpointMessageResult) SetStatusCode(v int64) *EndpointMessageResult {
19221	s.StatusCode = &v
19222	return s
19223}
19224
19225// SetStatusMessage sets the StatusMessage field's value.
19226func (s *EndpointMessageResult) SetStatusMessage(v string) *EndpointMessageResult {
19227	s.StatusMessage = &v
19228	return s
19229}
19230
19231// SetUpdatedToken sets the UpdatedToken field's value.
19232func (s *EndpointMessageResult) SetUpdatedToken(v string) *EndpointMessageResult {
19233	s.UpdatedToken = &v
19234	return s
19235}
19236
19237// Specifies the channel type and other settings for an endpoint.
19238type EndpointRequest struct {
19239	_ struct{} `type:"structure"`
19240
19241	// The destination address for messages or push notifications that you send
19242	// to the endpoint. The address varies by channel. For a push-notification channel,
19243	// use the token provided by the push notification service, such as an Apple
19244	// Push Notification service (APNs) device token or a Firebase Cloud Messaging
19245	// (FCM) registration token. For the SMS channel, use a phone number in E.164
19246	// format, such as +12065550100. For the email channel, use an email address.
19247	Address *string `type:"string"`
19248
19249	// One or more custom attributes that describe the endpoint by associating a
19250	// name with an array of values. For example, the value of a custom attribute
19251	// named Interests might be: ["Science", "Music", "Travel"]. You can use these
19252	// attributes as filter criteria when you create segments. Attribute names are
19253	// case sensitive.
19254	//
19255	// An attribute name can contain up to 50 characters. An attribute value can
19256	// contain up to 100 characters. When you define the name of a custom attribute,
19257	// avoid using the following characters: number sign (#), colon (:), question
19258	// mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't
19259	// display attribute names that contain these characters. This restriction doesn't
19260	// apply to attribute values.
19261	Attributes map[string][]*string `type:"map"`
19262
19263	// The channel to use when sending messages or push notifications to the endpoint.
19264	ChannelType *string `type:"string" enum:"ChannelType"`
19265
19266	// The demographic information for the endpoint, such as the time zone and platform.
19267	Demographic *EndpointDemographic `type:"structure"`
19268
19269	// The date and time, in ISO 8601 format, when the endpoint is updated.
19270	EffectiveDate *string `type:"string"`
19271
19272	// Specifies whether to send messages or push notifications to the endpoint.
19273	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
19274	// messages aren’t sent to the endpoint.
19275	//
19276	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
19277	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
19278	// this value to INACTIVE if you update another endpoint that has the same address
19279	// specified by the Address property.
19280	EndpointStatus *string `type:"string"`
19281
19282	// The geographic information for the endpoint.
19283	Location *EndpointLocation `type:"structure"`
19284
19285	// One or more custom metrics that your app reports to Amazon Pinpoint for the
19286	// endpoint.
19287	Metrics map[string]*float64 `type:"map"`
19288
19289	// Specifies whether the user who's associated with the endpoint has opted out
19290	// of receiving messages and push notifications from you. Possible values are:
19291	// ALL, the user has opted out and doesn't want to receive any messages or push
19292	// notifications; and, NONE, the user hasn't opted out and wants to receive
19293	// all messages and push notifications.
19294	OptOut *string `type:"string"`
19295
19296	// The unique identifier for the most recent request to update the endpoint.
19297	RequestId *string `type:"string"`
19298
19299	// One or more custom attributes that describe the user who's associated with
19300	// the endpoint.
19301	User *EndpointUser `type:"structure"`
19302}
19303
19304// String returns the string representation
19305func (s EndpointRequest) String() string {
19306	return awsutil.Prettify(s)
19307}
19308
19309// GoString returns the string representation
19310func (s EndpointRequest) GoString() string {
19311	return s.String()
19312}
19313
19314// SetAddress sets the Address field's value.
19315func (s *EndpointRequest) SetAddress(v string) *EndpointRequest {
19316	s.Address = &v
19317	return s
19318}
19319
19320// SetAttributes sets the Attributes field's value.
19321func (s *EndpointRequest) SetAttributes(v map[string][]*string) *EndpointRequest {
19322	s.Attributes = v
19323	return s
19324}
19325
19326// SetChannelType sets the ChannelType field's value.
19327func (s *EndpointRequest) SetChannelType(v string) *EndpointRequest {
19328	s.ChannelType = &v
19329	return s
19330}
19331
19332// SetDemographic sets the Demographic field's value.
19333func (s *EndpointRequest) SetDemographic(v *EndpointDemographic) *EndpointRequest {
19334	s.Demographic = v
19335	return s
19336}
19337
19338// SetEffectiveDate sets the EffectiveDate field's value.
19339func (s *EndpointRequest) SetEffectiveDate(v string) *EndpointRequest {
19340	s.EffectiveDate = &v
19341	return s
19342}
19343
19344// SetEndpointStatus sets the EndpointStatus field's value.
19345func (s *EndpointRequest) SetEndpointStatus(v string) *EndpointRequest {
19346	s.EndpointStatus = &v
19347	return s
19348}
19349
19350// SetLocation sets the Location field's value.
19351func (s *EndpointRequest) SetLocation(v *EndpointLocation) *EndpointRequest {
19352	s.Location = v
19353	return s
19354}
19355
19356// SetMetrics sets the Metrics field's value.
19357func (s *EndpointRequest) SetMetrics(v map[string]*float64) *EndpointRequest {
19358	s.Metrics = v
19359	return s
19360}
19361
19362// SetOptOut sets the OptOut field's value.
19363func (s *EndpointRequest) SetOptOut(v string) *EndpointRequest {
19364	s.OptOut = &v
19365	return s
19366}
19367
19368// SetRequestId sets the RequestId field's value.
19369func (s *EndpointRequest) SetRequestId(v string) *EndpointRequest {
19370	s.RequestId = &v
19371	return s
19372}
19373
19374// SetUser sets the User field's value.
19375func (s *EndpointRequest) SetUser(v *EndpointUser) *EndpointRequest {
19376	s.User = v
19377	return s
19378}
19379
19380// Provides information about the channel type and other settings for an endpoint.
19381type EndpointResponse struct {
19382	_ struct{} `type:"structure"`
19383
19384	// The destination address for messages or push notifications that you send
19385	// to the endpoint. The address varies by channel. For example, the address
19386	// for a push-notification channel is typically the token provided by a push
19387	// notification service, such as an Apple Push Notification service (APNs) device
19388	// token or a Firebase Cloud Messaging (FCM) registration token. The address
19389	// for the SMS channel is a phone number in E.164 format, such as +12065550100.
19390	// The address for the email channel is an email address.
19391	Address *string `type:"string"`
19392
19393	// The unique identifier for the application that's associated with the endpoint.
19394	ApplicationId *string `type:"string"`
19395
19396	// One or more custom attributes that describe the endpoint by associating a
19397	// name with an array of values. For example, the value of a custom attribute
19398	// named Interests might be: ["Science", "Music", "Travel"]. You can use these
19399	// attributes as filter criteria when you create segments.
19400	Attributes map[string][]*string `type:"map"`
19401
19402	// The channel that's used when sending messages or push notifications to the
19403	// endpoint.
19404	ChannelType *string `type:"string" enum:"ChannelType"`
19405
19406	// A number from 0-99 that represents the cohort that the endpoint is assigned
19407	// to. Endpoints are grouped into cohorts randomly, and each cohort contains
19408	// approximately 1 percent of the endpoints for an application. Amazon Pinpoint
19409	// assigns cohorts to the holdout or treatment allocations for campaigns.
19410	CohortId *string `type:"string"`
19411
19412	// The date and time, in ISO 8601 format, when the endpoint was created.
19413	CreationDate *string `type:"string"`
19414
19415	// The demographic information for the endpoint, such as the time zone and platform.
19416	Demographic *EndpointDemographic `type:"structure"`
19417
19418	// The date and time, in ISO 8601 format, when the endpoint was last updated.
19419	EffectiveDate *string `type:"string"`
19420
19421	// Specifies whether messages or push notifications are sent to the endpoint.
19422	// Possible values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
19423	// messages aren’t sent to the endpoint.
19424	//
19425	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
19426	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
19427	// this value to INACTIVE if you update another endpoint that has the same address
19428	// specified by the Address property.
19429	EndpointStatus *string `type:"string"`
19430
19431	// The unique identifier that you assigned to the endpoint. The identifier should
19432	// be a globally unique identifier (GUID) to ensure that it doesn't conflict
19433	// with other endpoint identifiers that are associated with the application.
19434	Id *string `type:"string"`
19435
19436	// The geographic information for the endpoint.
19437	Location *EndpointLocation `type:"structure"`
19438
19439	// One or more custom metrics that your app reports to Amazon Pinpoint for the
19440	// endpoint.
19441	Metrics map[string]*float64 `type:"map"`
19442
19443	// Specifies whether the user who's associated with the endpoint has opted out
19444	// of receiving messages and push notifications from you. Possible values are:
19445	// ALL, the user has opted out and doesn't want to receive any messages or push
19446	// notifications; and, NONE, the user hasn't opted out and wants to receive
19447	// all messages and push notifications.
19448	OptOut *string `type:"string"`
19449
19450	// The unique identifier for the most recent request to update the endpoint.
19451	RequestId *string `type:"string"`
19452
19453	// One or more custom user attributes that your app reports to Amazon Pinpoint
19454	// for the user who's associated with the endpoint.
19455	User *EndpointUser `type:"structure"`
19456}
19457
19458// String returns the string representation
19459func (s EndpointResponse) String() string {
19460	return awsutil.Prettify(s)
19461}
19462
19463// GoString returns the string representation
19464func (s EndpointResponse) GoString() string {
19465	return s.String()
19466}
19467
19468// SetAddress sets the Address field's value.
19469func (s *EndpointResponse) SetAddress(v string) *EndpointResponse {
19470	s.Address = &v
19471	return s
19472}
19473
19474// SetApplicationId sets the ApplicationId field's value.
19475func (s *EndpointResponse) SetApplicationId(v string) *EndpointResponse {
19476	s.ApplicationId = &v
19477	return s
19478}
19479
19480// SetAttributes sets the Attributes field's value.
19481func (s *EndpointResponse) SetAttributes(v map[string][]*string) *EndpointResponse {
19482	s.Attributes = v
19483	return s
19484}
19485
19486// SetChannelType sets the ChannelType field's value.
19487func (s *EndpointResponse) SetChannelType(v string) *EndpointResponse {
19488	s.ChannelType = &v
19489	return s
19490}
19491
19492// SetCohortId sets the CohortId field's value.
19493func (s *EndpointResponse) SetCohortId(v string) *EndpointResponse {
19494	s.CohortId = &v
19495	return s
19496}
19497
19498// SetCreationDate sets the CreationDate field's value.
19499func (s *EndpointResponse) SetCreationDate(v string) *EndpointResponse {
19500	s.CreationDate = &v
19501	return s
19502}
19503
19504// SetDemographic sets the Demographic field's value.
19505func (s *EndpointResponse) SetDemographic(v *EndpointDemographic) *EndpointResponse {
19506	s.Demographic = v
19507	return s
19508}
19509
19510// SetEffectiveDate sets the EffectiveDate field's value.
19511func (s *EndpointResponse) SetEffectiveDate(v string) *EndpointResponse {
19512	s.EffectiveDate = &v
19513	return s
19514}
19515
19516// SetEndpointStatus sets the EndpointStatus field's value.
19517func (s *EndpointResponse) SetEndpointStatus(v string) *EndpointResponse {
19518	s.EndpointStatus = &v
19519	return s
19520}
19521
19522// SetId sets the Id field's value.
19523func (s *EndpointResponse) SetId(v string) *EndpointResponse {
19524	s.Id = &v
19525	return s
19526}
19527
19528// SetLocation sets the Location field's value.
19529func (s *EndpointResponse) SetLocation(v *EndpointLocation) *EndpointResponse {
19530	s.Location = v
19531	return s
19532}
19533
19534// SetMetrics sets the Metrics field's value.
19535func (s *EndpointResponse) SetMetrics(v map[string]*float64) *EndpointResponse {
19536	s.Metrics = v
19537	return s
19538}
19539
19540// SetOptOut sets the OptOut field's value.
19541func (s *EndpointResponse) SetOptOut(v string) *EndpointResponse {
19542	s.OptOut = &v
19543	return s
19544}
19545
19546// SetRequestId sets the RequestId field's value.
19547func (s *EndpointResponse) SetRequestId(v string) *EndpointResponse {
19548	s.RequestId = &v
19549	return s
19550}
19551
19552// SetUser sets the User field's value.
19553func (s *EndpointResponse) SetUser(v *EndpointUser) *EndpointResponse {
19554	s.User = v
19555	return s
19556}
19557
19558// Specifies the content, including message variables and attributes, to use
19559// in a message that's sent directly to an endpoint.
19560type EndpointSendConfiguration struct {
19561	_ struct{} `type:"structure"`
19562
19563	// The body of the message. If specified, this value overrides the default message
19564	// body.
19565	BodyOverride *string `type:"string"`
19566
19567	// A map of custom attributes to attach to the message for the address. Attribute
19568	// names are case sensitive.
19569	//
19570	// For a push notification, this payload is added to the data.pinpoint object.
19571	// For an email or text message, this payload is added to email/SMS delivery
19572	// receipt event attributes.
19573	Context map[string]*string `type:"map"`
19574
19575	// The raw, JSON-formatted string to use as the payload for the message. If
19576	// specified, this value overrides all other values for the message.
19577	RawContent *string `type:"string"`
19578
19579	// A map of the message variables to merge with the variables specified for
19580	// the default message (DefaultMessage.Substitutions). The variables specified
19581	// in this map take precedence over all other variables.
19582	Substitutions map[string][]*string `type:"map"`
19583
19584	// The title or subject line of the message. If specified, this value overrides
19585	// the default message title or subject line.
19586	TitleOverride *string `type:"string"`
19587}
19588
19589// String returns the string representation
19590func (s EndpointSendConfiguration) String() string {
19591	return awsutil.Prettify(s)
19592}
19593
19594// GoString returns the string representation
19595func (s EndpointSendConfiguration) GoString() string {
19596	return s.String()
19597}
19598
19599// SetBodyOverride sets the BodyOverride field's value.
19600func (s *EndpointSendConfiguration) SetBodyOverride(v string) *EndpointSendConfiguration {
19601	s.BodyOverride = &v
19602	return s
19603}
19604
19605// SetContext sets the Context field's value.
19606func (s *EndpointSendConfiguration) SetContext(v map[string]*string) *EndpointSendConfiguration {
19607	s.Context = v
19608	return s
19609}
19610
19611// SetRawContent sets the RawContent field's value.
19612func (s *EndpointSendConfiguration) SetRawContent(v string) *EndpointSendConfiguration {
19613	s.RawContent = &v
19614	return s
19615}
19616
19617// SetSubstitutions sets the Substitutions field's value.
19618func (s *EndpointSendConfiguration) SetSubstitutions(v map[string][]*string) *EndpointSendConfiguration {
19619	s.Substitutions = v
19620	return s
19621}
19622
19623// SetTitleOverride sets the TitleOverride field's value.
19624func (s *EndpointSendConfiguration) SetTitleOverride(v string) *EndpointSendConfiguration {
19625	s.TitleOverride = &v
19626	return s
19627}
19628
19629// Specifies data for one or more attributes that describe the user who's associated
19630// with an endpoint.
19631type EndpointUser struct {
19632	_ struct{} `type:"structure"`
19633
19634	// One or more custom attributes that describe the user by associating a name
19635	// with an array of values. For example, the value of an attribute named Interests
19636	// might be: ["Science", "Music", "Travel"]. You can use these attributes as
19637	// filter criteria when you create segments. Attribute names are case sensitive.
19638	//
19639	// An attribute name can contain up to 50 characters. An attribute value can
19640	// contain up to 100 characters. When you define the name of a custom attribute,
19641	// avoid using the following characters: number sign (#), colon (:), question
19642	// mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't
19643	// display attribute names that contain these characters. This restriction doesn't
19644	// apply to attribute values.
19645	UserAttributes map[string][]*string `type:"map"`
19646
19647	// The unique identifier for the user.
19648	UserId *string `type:"string"`
19649}
19650
19651// String returns the string representation
19652func (s EndpointUser) String() string {
19653	return awsutil.Prettify(s)
19654}
19655
19656// GoString returns the string representation
19657func (s EndpointUser) GoString() string {
19658	return s.String()
19659}
19660
19661// SetUserAttributes sets the UserAttributes field's value.
19662func (s *EndpointUser) SetUserAttributes(v map[string][]*string) *EndpointUser {
19663	s.UserAttributes = v
19664	return s
19665}
19666
19667// SetUserId sets the UserId field's value.
19668func (s *EndpointUser) SetUserId(v string) *EndpointUser {
19669	s.UserId = &v
19670	return s
19671}
19672
19673// Provides information about all the endpoints that are associated with a user
19674// ID.
19675type EndpointsResponse struct {
19676	_ struct{} `type:"structure"`
19677
19678	// An array of responses, one for each endpoint that's associated with the user
19679	// ID.
19680	//
19681	// Item is a required field
19682	Item []*EndpointResponse `type:"list" required:"true"`
19683}
19684
19685// String returns the string representation
19686func (s EndpointsResponse) String() string {
19687	return awsutil.Prettify(s)
19688}
19689
19690// GoString returns the string representation
19691func (s EndpointsResponse) GoString() string {
19692	return s.String()
19693}
19694
19695// SetItem sets the Item field's value.
19696func (s *EndpointsResponse) SetItem(v []*EndpointResponse) *EndpointsResponse {
19697	s.Item = v
19698	return s
19699}
19700
19701// Specifies information about an event that reports data to Amazon Pinpoint.
19702type Event struct {
19703	_ struct{} `type:"structure"`
19704
19705	// The package name of the app that's recording the event.
19706	AppPackageName *string `type:"string"`
19707
19708	// The title of the app that's recording the event.
19709	AppTitle *string `type:"string"`
19710
19711	// The version number of the app that's recording the event.
19712	AppVersionCode *string `type:"string"`
19713
19714	// One or more custom attributes that are associated with the event.
19715	Attributes map[string]*string `type:"map"`
19716
19717	// The version of the SDK that's running on the client device.
19718	ClientSdkVersion *string `type:"string"`
19719
19720	// The name of the event.
19721	//
19722	// EventType is a required field
19723	EventType *string `type:"string" required:"true"`
19724
19725	// One or more custom metrics that are associated with the event.
19726	Metrics map[string]*float64 `type:"map"`
19727
19728	// The name of the SDK that's being used to record the event.
19729	SdkName *string `type:"string"`
19730
19731	// Information about the session in which the event occurred.
19732	Session *Session `type:"structure"`
19733
19734	// The date and time, in ISO 8601 format, when the event occurred.
19735	//
19736	// Timestamp is a required field
19737	Timestamp *string `type:"string" required:"true"`
19738}
19739
19740// String returns the string representation
19741func (s Event) String() string {
19742	return awsutil.Prettify(s)
19743}
19744
19745// GoString returns the string representation
19746func (s Event) GoString() string {
19747	return s.String()
19748}
19749
19750// Validate inspects the fields of the type to determine if they are valid.
19751func (s *Event) Validate() error {
19752	invalidParams := request.ErrInvalidParams{Context: "Event"}
19753	if s.EventType == nil {
19754		invalidParams.Add(request.NewErrParamRequired("EventType"))
19755	}
19756	if s.Timestamp == nil {
19757		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
19758	}
19759	if s.Session != nil {
19760		if err := s.Session.Validate(); err != nil {
19761			invalidParams.AddNested("Session", err.(request.ErrInvalidParams))
19762		}
19763	}
19764
19765	if invalidParams.Len() > 0 {
19766		return invalidParams
19767	}
19768	return nil
19769}
19770
19771// SetAppPackageName sets the AppPackageName field's value.
19772func (s *Event) SetAppPackageName(v string) *Event {
19773	s.AppPackageName = &v
19774	return s
19775}
19776
19777// SetAppTitle sets the AppTitle field's value.
19778func (s *Event) SetAppTitle(v string) *Event {
19779	s.AppTitle = &v
19780	return s
19781}
19782
19783// SetAppVersionCode sets the AppVersionCode field's value.
19784func (s *Event) SetAppVersionCode(v string) *Event {
19785	s.AppVersionCode = &v
19786	return s
19787}
19788
19789// SetAttributes sets the Attributes field's value.
19790func (s *Event) SetAttributes(v map[string]*string) *Event {
19791	s.Attributes = v
19792	return s
19793}
19794
19795// SetClientSdkVersion sets the ClientSdkVersion field's value.
19796func (s *Event) SetClientSdkVersion(v string) *Event {
19797	s.ClientSdkVersion = &v
19798	return s
19799}
19800
19801// SetEventType sets the EventType field's value.
19802func (s *Event) SetEventType(v string) *Event {
19803	s.EventType = &v
19804	return s
19805}
19806
19807// SetMetrics sets the Metrics field's value.
19808func (s *Event) SetMetrics(v map[string]*float64) *Event {
19809	s.Metrics = v
19810	return s
19811}
19812
19813// SetSdkName sets the SdkName field's value.
19814func (s *Event) SetSdkName(v string) *Event {
19815	s.SdkName = &v
19816	return s
19817}
19818
19819// SetSession sets the Session field's value.
19820func (s *Event) SetSession(v *Session) *Event {
19821	s.Session = v
19822	return s
19823}
19824
19825// SetTimestamp sets the Timestamp field's value.
19826func (s *Event) SetTimestamp(v string) *Event {
19827	s.Timestamp = &v
19828	return s
19829}
19830
19831// Specifies the conditions to evaluate for an event that applies to an activity
19832// in a journey.
19833type EventCondition struct {
19834	_ struct{} `type:"structure"`
19835
19836	// The dimensions for the event filter to use for the activity.
19837	Dimensions *EventDimensions `type:"structure"`
19838
19839	// The message identifier (message_id) for the message to use when determining
19840	// whether message events meet the condition.
19841	MessageActivity *string `type:"string"`
19842}
19843
19844// String returns the string representation
19845func (s EventCondition) String() string {
19846	return awsutil.Prettify(s)
19847}
19848
19849// GoString returns the string representation
19850func (s EventCondition) GoString() string {
19851	return s.String()
19852}
19853
19854// Validate inspects the fields of the type to determine if they are valid.
19855func (s *EventCondition) Validate() error {
19856	invalidParams := request.ErrInvalidParams{Context: "EventCondition"}
19857	if s.Dimensions != nil {
19858		if err := s.Dimensions.Validate(); err != nil {
19859			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
19860		}
19861	}
19862
19863	if invalidParams.Len() > 0 {
19864		return invalidParams
19865	}
19866	return nil
19867}
19868
19869// SetDimensions sets the Dimensions field's value.
19870func (s *EventCondition) SetDimensions(v *EventDimensions) *EventCondition {
19871	s.Dimensions = v
19872	return s
19873}
19874
19875// SetMessageActivity sets the MessageActivity field's value.
19876func (s *EventCondition) SetMessageActivity(v string) *EventCondition {
19877	s.MessageActivity = &v
19878	return s
19879}
19880
19881// Specifies the dimensions for an event filter that determines when a campaign
19882// is sent or a journey activity is performed.
19883type EventDimensions struct {
19884	_ struct{} `type:"structure"`
19885
19886	// One or more custom attributes that your application reports to Amazon Pinpoint.
19887	// You can use these attributes as selection criteria when you create an event
19888	// filter.
19889	Attributes map[string]*AttributeDimension `type:"map"`
19890
19891	// The name of the event that causes the campaign to be sent or the journey
19892	// activity to be performed. This can be a standard event that Amazon Pinpoint
19893	// generates, such as _email.delivered. For campaigns, this can also be a custom
19894	// event that's specific to your application. For information about standard
19895	// events, see Streaming Amazon Pinpoint Events (https://docs.aws.amazon.com/pinpoint/latest/developerguide/event-streams.html)
19896	// in the Amazon Pinpoint Developer Guide.
19897	EventType *SetDimension `type:"structure"`
19898
19899	// One or more custom metrics that your application reports to Amazon Pinpoint.
19900	// You can use these metrics as selection criteria when you create an event
19901	// filter.
19902	Metrics map[string]*MetricDimension `type:"map"`
19903}
19904
19905// String returns the string representation
19906func (s EventDimensions) String() string {
19907	return awsutil.Prettify(s)
19908}
19909
19910// GoString returns the string representation
19911func (s EventDimensions) GoString() string {
19912	return s.String()
19913}
19914
19915// Validate inspects the fields of the type to determine if they are valid.
19916func (s *EventDimensions) Validate() error {
19917	invalidParams := request.ErrInvalidParams{Context: "EventDimensions"}
19918	if s.Attributes != nil {
19919		for i, v := range s.Attributes {
19920			if v == nil {
19921				continue
19922			}
19923			if err := v.Validate(); err != nil {
19924				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
19925			}
19926		}
19927	}
19928	if s.EventType != nil {
19929		if err := s.EventType.Validate(); err != nil {
19930			invalidParams.AddNested("EventType", err.(request.ErrInvalidParams))
19931		}
19932	}
19933	if s.Metrics != nil {
19934		for i, v := range s.Metrics {
19935			if v == nil {
19936				continue
19937			}
19938			if err := v.Validate(); err != nil {
19939				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams))
19940			}
19941		}
19942	}
19943
19944	if invalidParams.Len() > 0 {
19945		return invalidParams
19946	}
19947	return nil
19948}
19949
19950// SetAttributes sets the Attributes field's value.
19951func (s *EventDimensions) SetAttributes(v map[string]*AttributeDimension) *EventDimensions {
19952	s.Attributes = v
19953	return s
19954}
19955
19956// SetEventType sets the EventType field's value.
19957func (s *EventDimensions) SetEventType(v *SetDimension) *EventDimensions {
19958	s.EventType = v
19959	return s
19960}
19961
19962// SetMetrics sets the Metrics field's value.
19963func (s *EventDimensions) SetMetrics(v map[string]*MetricDimension) *EventDimensions {
19964	s.Metrics = v
19965	return s
19966}
19967
19968// Specifies the settings for an event that causes a campaign to be sent or
19969// a journey activity to be performed.
19970type EventFilter struct {
19971	_ struct{} `type:"structure"`
19972
19973	// The dimensions for the event filter to use for the campaign or the journey
19974	// activity.
19975	//
19976	// Dimensions is a required field
19977	Dimensions *EventDimensions `type:"structure" required:"true"`
19978
19979	// The type of event that causes the campaign to be sent or the journey activity
19980	// to be performed. Valid values are: SYSTEM, sends the campaign or performs
19981	// the activity when a system event occurs; and, ENDPOINT, sends the campaign
19982	// or performs the activity when an endpoint event (Events resource) occurs.
19983	//
19984	// FilterType is a required field
19985	FilterType *string `type:"string" required:"true" enum:"FilterType"`
19986}
19987
19988// String returns the string representation
19989func (s EventFilter) String() string {
19990	return awsutil.Prettify(s)
19991}
19992
19993// GoString returns the string representation
19994func (s EventFilter) GoString() string {
19995	return s.String()
19996}
19997
19998// Validate inspects the fields of the type to determine if they are valid.
19999func (s *EventFilter) Validate() error {
20000	invalidParams := request.ErrInvalidParams{Context: "EventFilter"}
20001	if s.Dimensions == nil {
20002		invalidParams.Add(request.NewErrParamRequired("Dimensions"))
20003	}
20004	if s.FilterType == nil {
20005		invalidParams.Add(request.NewErrParamRequired("FilterType"))
20006	}
20007	if s.Dimensions != nil {
20008		if err := s.Dimensions.Validate(); err != nil {
20009			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
20010		}
20011	}
20012
20013	if invalidParams.Len() > 0 {
20014		return invalidParams
20015	}
20016	return nil
20017}
20018
20019// SetDimensions sets the Dimensions field's value.
20020func (s *EventFilter) SetDimensions(v *EventDimensions) *EventFilter {
20021	s.Dimensions = v
20022	return s
20023}
20024
20025// SetFilterType sets the FilterType field's value.
20026func (s *EventFilter) SetFilterType(v string) *EventFilter {
20027	s.FilterType = &v
20028	return s
20029}
20030
20031// Provides the status code and message that result from processing an event.
20032type EventItemResponse struct {
20033	_ struct{} `type:"structure"`
20034
20035	// A custom message that's returned in the response as a result of processing
20036	// the event.
20037	Message *string `type:"string"`
20038
20039	// The status code that's returned in the response as a result of processing
20040	// the event. Possible values are: 202, for events that were accepted; and,
20041	// 400, for events that weren't valid.
20042	StatusCode *int64 `type:"integer"`
20043}
20044
20045// String returns the string representation
20046func (s EventItemResponse) String() string {
20047	return awsutil.Prettify(s)
20048}
20049
20050// GoString returns the string representation
20051func (s EventItemResponse) GoString() string {
20052	return s.String()
20053}
20054
20055// SetMessage sets the Message field's value.
20056func (s *EventItemResponse) SetMessage(v string) *EventItemResponse {
20057	s.Message = &v
20058	return s
20059}
20060
20061// SetStatusCode sets the StatusCode field's value.
20062func (s *EventItemResponse) SetStatusCode(v int64) *EventItemResponse {
20063	s.StatusCode = &v
20064	return s
20065}
20066
20067// Specifies the settings for an event that causes a journey activity to start.
20068type EventStartCondition struct {
20069	_ struct{} `type:"structure"`
20070
20071	// Specifies the settings for an event that causes a campaign to be sent or
20072	// a journey activity to be performed.
20073	EventFilter *EventFilter `type:"structure"`
20074
20075	SegmentId *string `type:"string"`
20076}
20077
20078// String returns the string representation
20079func (s EventStartCondition) String() string {
20080	return awsutil.Prettify(s)
20081}
20082
20083// GoString returns the string representation
20084func (s EventStartCondition) GoString() string {
20085	return s.String()
20086}
20087
20088// Validate inspects the fields of the type to determine if they are valid.
20089func (s *EventStartCondition) Validate() error {
20090	invalidParams := request.ErrInvalidParams{Context: "EventStartCondition"}
20091	if s.EventFilter != nil {
20092		if err := s.EventFilter.Validate(); err != nil {
20093			invalidParams.AddNested("EventFilter", err.(request.ErrInvalidParams))
20094		}
20095	}
20096
20097	if invalidParams.Len() > 0 {
20098		return invalidParams
20099	}
20100	return nil
20101}
20102
20103// SetEventFilter sets the EventFilter field's value.
20104func (s *EventStartCondition) SetEventFilter(v *EventFilter) *EventStartCondition {
20105	s.EventFilter = v
20106	return s
20107}
20108
20109// SetSegmentId sets the SegmentId field's value.
20110func (s *EventStartCondition) SetSegmentId(v string) *EventStartCondition {
20111	s.SegmentId = &v
20112	return s
20113}
20114
20115// Specifies settings for publishing event data to an Amazon Kinesis data stream
20116// or an Amazon Kinesis Data Firehose delivery stream.
20117type EventStream struct {
20118	_ struct{} `type:"structure"`
20119
20120	// The unique identifier for the application to publish event data for.
20121	//
20122	// ApplicationId is a required field
20123	ApplicationId *string `type:"string" required:"true"`
20124
20125	// The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon
20126	// Kinesis Data Firehose delivery stream to publish event data to.
20127	//
20128	// For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name
20129	//
20130	// For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name
20131	//
20132	// DestinationStreamArn is a required field
20133	DestinationStreamArn *string `type:"string" required:"true"`
20134
20135	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
20136	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
20137	// an IAM role when publishing event data, but we removed this requirement.
20138	// We don't recommend use of external IDs for IAM roles that are assumed by
20139	// Amazon Pinpoint.
20140	ExternalId *string `type:"string"`
20141
20142	// The date, in ISO 8601 format, when the event stream was last modified.
20143	LastModifiedDate *string `type:"string"`
20144
20145	// The IAM user who last modified the event stream.
20146	LastUpdatedBy *string `type:"string"`
20147
20148	// The AWS Identity and Access Management (IAM) role that authorizes Amazon
20149	// Pinpoint to publish event data to the stream in your AWS account.
20150	//
20151	// RoleArn is a required field
20152	RoleArn *string `type:"string" required:"true"`
20153}
20154
20155// String returns the string representation
20156func (s EventStream) String() string {
20157	return awsutil.Prettify(s)
20158}
20159
20160// GoString returns the string representation
20161func (s EventStream) GoString() string {
20162	return s.String()
20163}
20164
20165// SetApplicationId sets the ApplicationId field's value.
20166func (s *EventStream) SetApplicationId(v string) *EventStream {
20167	s.ApplicationId = &v
20168	return s
20169}
20170
20171// SetDestinationStreamArn sets the DestinationStreamArn field's value.
20172func (s *EventStream) SetDestinationStreamArn(v string) *EventStream {
20173	s.DestinationStreamArn = &v
20174	return s
20175}
20176
20177// SetExternalId sets the ExternalId field's value.
20178func (s *EventStream) SetExternalId(v string) *EventStream {
20179	s.ExternalId = &v
20180	return s
20181}
20182
20183// SetLastModifiedDate sets the LastModifiedDate field's value.
20184func (s *EventStream) SetLastModifiedDate(v string) *EventStream {
20185	s.LastModifiedDate = &v
20186	return s
20187}
20188
20189// SetLastUpdatedBy sets the LastUpdatedBy field's value.
20190func (s *EventStream) SetLastUpdatedBy(v string) *EventStream {
20191	s.LastUpdatedBy = &v
20192	return s
20193}
20194
20195// SetRoleArn sets the RoleArn field's value.
20196func (s *EventStream) SetRoleArn(v string) *EventStream {
20197	s.RoleArn = &v
20198	return s
20199}
20200
20201// Specifies a batch of endpoints and events to process.
20202type EventsBatch struct {
20203	_ struct{} `type:"structure"`
20204
20205	// A set of properties and attributes that are associated with the endpoint.
20206	//
20207	// Endpoint is a required field
20208	Endpoint *PublicEndpoint `type:"structure" required:"true"`
20209
20210	// A set of properties that are associated with the event.
20211	//
20212	// Events is a required field
20213	Events map[string]*Event `type:"map" required:"true"`
20214}
20215
20216// String returns the string representation
20217func (s EventsBatch) String() string {
20218	return awsutil.Prettify(s)
20219}
20220
20221// GoString returns the string representation
20222func (s EventsBatch) GoString() string {
20223	return s.String()
20224}
20225
20226// Validate inspects the fields of the type to determine if they are valid.
20227func (s *EventsBatch) Validate() error {
20228	invalidParams := request.ErrInvalidParams{Context: "EventsBatch"}
20229	if s.Endpoint == nil {
20230		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
20231	}
20232	if s.Events == nil {
20233		invalidParams.Add(request.NewErrParamRequired("Events"))
20234	}
20235	if s.Events != nil {
20236		for i, v := range s.Events {
20237			if v == nil {
20238				continue
20239			}
20240			if err := v.Validate(); err != nil {
20241				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams))
20242			}
20243		}
20244	}
20245
20246	if invalidParams.Len() > 0 {
20247		return invalidParams
20248	}
20249	return nil
20250}
20251
20252// SetEndpoint sets the Endpoint field's value.
20253func (s *EventsBatch) SetEndpoint(v *PublicEndpoint) *EventsBatch {
20254	s.Endpoint = v
20255	return s
20256}
20257
20258// SetEvents sets the Events field's value.
20259func (s *EventsBatch) SetEvents(v map[string]*Event) *EventsBatch {
20260	s.Events = v
20261	return s
20262}
20263
20264// Specifies a batch of events to process.
20265type EventsRequest struct {
20266	_ struct{} `type:"structure"`
20267
20268	// The batch of events to process. For each item in a batch, the endpoint ID
20269	// acts as a key that has an EventsBatch object as its value.
20270	//
20271	// BatchItem is a required field
20272	BatchItem map[string]*EventsBatch `type:"map" required:"true"`
20273}
20274
20275// String returns the string representation
20276func (s EventsRequest) String() string {
20277	return awsutil.Prettify(s)
20278}
20279
20280// GoString returns the string representation
20281func (s EventsRequest) GoString() string {
20282	return s.String()
20283}
20284
20285// Validate inspects the fields of the type to determine if they are valid.
20286func (s *EventsRequest) Validate() error {
20287	invalidParams := request.ErrInvalidParams{Context: "EventsRequest"}
20288	if s.BatchItem == nil {
20289		invalidParams.Add(request.NewErrParamRequired("BatchItem"))
20290	}
20291	if s.BatchItem != nil {
20292		for i, v := range s.BatchItem {
20293			if v == nil {
20294				continue
20295			}
20296			if err := v.Validate(); err != nil {
20297				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BatchItem", i), err.(request.ErrInvalidParams))
20298			}
20299		}
20300	}
20301
20302	if invalidParams.Len() > 0 {
20303		return invalidParams
20304	}
20305	return nil
20306}
20307
20308// SetBatchItem sets the BatchItem field's value.
20309func (s *EventsRequest) SetBatchItem(v map[string]*EventsBatch) *EventsRequest {
20310	s.BatchItem = v
20311	return s
20312}
20313
20314// Provides information about endpoints and the events that they're associated
20315// with.
20316type EventsResponse struct {
20317	_ struct{} `type:"structure"`
20318
20319	// A map that contains a multipart response for each endpoint. For each item
20320	// in this object, the endpoint ID is the key and the item response is the value.
20321	// If no item response exists, the value can also be one of the following: 202,
20322	// the request was processed successfully; or 400, the payload wasn't valid
20323	// or required fields were missing.
20324	Results map[string]*ItemResponse `type:"map"`
20325}
20326
20327// String returns the string representation
20328func (s EventsResponse) String() string {
20329	return awsutil.Prettify(s)
20330}
20331
20332// GoString returns the string representation
20333func (s EventsResponse) GoString() string {
20334	return s.String()
20335}
20336
20337// SetResults sets the Results field's value.
20338func (s *EventsResponse) SetResults(v map[string]*ItemResponse) *EventsResponse {
20339	s.Results = v
20340	return s
20341}
20342
20343// Specifies the settings for a job that exports endpoint definitions to an
20344// Amazon Simple Storage Service (Amazon S3) bucket.
20345type ExportJobRequest struct {
20346	_ struct{} `type:"structure"`
20347
20348	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
20349	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
20350	// where you want to export endpoint definitions to.
20351	//
20352	// RoleArn is a required field
20353	RoleArn *string `type:"string" required:"true"`
20354
20355	// The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket
20356	// where you want to export endpoint definitions to. This location is typically
20357	// a folder that contains multiple files. The URL should be in the following
20358	// format: s3://bucket-name/folder-name/.
20359	//
20360	// S3UrlPrefix is a required field
20361	S3UrlPrefix *string `type:"string" required:"true"`
20362
20363	// The identifier for the segment to export endpoint definitions from. If you
20364	// don't specify this value, Amazon Pinpoint exports definitions for all the
20365	// endpoints that are associated with the application.
20366	SegmentId *string `type:"string"`
20367
20368	// The version of the segment to export endpoint definitions from, if specified.
20369	SegmentVersion *int64 `type:"integer"`
20370}
20371
20372// String returns the string representation
20373func (s ExportJobRequest) String() string {
20374	return awsutil.Prettify(s)
20375}
20376
20377// GoString returns the string representation
20378func (s ExportJobRequest) GoString() string {
20379	return s.String()
20380}
20381
20382// Validate inspects the fields of the type to determine if they are valid.
20383func (s *ExportJobRequest) Validate() error {
20384	invalidParams := request.ErrInvalidParams{Context: "ExportJobRequest"}
20385	if s.RoleArn == nil {
20386		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
20387	}
20388	if s.S3UrlPrefix == nil {
20389		invalidParams.Add(request.NewErrParamRequired("S3UrlPrefix"))
20390	}
20391
20392	if invalidParams.Len() > 0 {
20393		return invalidParams
20394	}
20395	return nil
20396}
20397
20398// SetRoleArn sets the RoleArn field's value.
20399func (s *ExportJobRequest) SetRoleArn(v string) *ExportJobRequest {
20400	s.RoleArn = &v
20401	return s
20402}
20403
20404// SetS3UrlPrefix sets the S3UrlPrefix field's value.
20405func (s *ExportJobRequest) SetS3UrlPrefix(v string) *ExportJobRequest {
20406	s.S3UrlPrefix = &v
20407	return s
20408}
20409
20410// SetSegmentId sets the SegmentId field's value.
20411func (s *ExportJobRequest) SetSegmentId(v string) *ExportJobRequest {
20412	s.SegmentId = &v
20413	return s
20414}
20415
20416// SetSegmentVersion sets the SegmentVersion field's value.
20417func (s *ExportJobRequest) SetSegmentVersion(v int64) *ExportJobRequest {
20418	s.SegmentVersion = &v
20419	return s
20420}
20421
20422// Provides information about the resource settings for a job that exports endpoint
20423// definitions to a file. The file can be added directly to an Amazon Simple
20424// Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API or downloaded
20425// directly to a computer by using the Amazon Pinpoint console.
20426type ExportJobResource struct {
20427	_ struct{} `type:"structure"`
20428
20429	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
20430	// (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location
20431	// where the endpoint definitions were exported to.
20432	//
20433	// RoleArn is a required field
20434	RoleArn *string `type:"string" required:"true"`
20435
20436	// The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket
20437	// where the endpoint definitions were exported to. This location is typically
20438	// a folder that contains multiple files. The URL should be in the following
20439	// format: s3://bucket-name/folder-name/.
20440	//
20441	// S3UrlPrefix is a required field
20442	S3UrlPrefix *string `type:"string" required:"true"`
20443
20444	// The identifier for the segment that the endpoint definitions were exported
20445	// from. If this value isn't present, Amazon Pinpoint exported definitions for
20446	// all the endpoints that are associated with the application.
20447	SegmentId *string `type:"string"`
20448
20449	// The version of the segment that the endpoint definitions were exported from.
20450	SegmentVersion *int64 `type:"integer"`
20451}
20452
20453// String returns the string representation
20454func (s ExportJobResource) String() string {
20455	return awsutil.Prettify(s)
20456}
20457
20458// GoString returns the string representation
20459func (s ExportJobResource) GoString() string {
20460	return s.String()
20461}
20462
20463// SetRoleArn sets the RoleArn field's value.
20464func (s *ExportJobResource) SetRoleArn(v string) *ExportJobResource {
20465	s.RoleArn = &v
20466	return s
20467}
20468
20469// SetS3UrlPrefix sets the S3UrlPrefix field's value.
20470func (s *ExportJobResource) SetS3UrlPrefix(v string) *ExportJobResource {
20471	s.S3UrlPrefix = &v
20472	return s
20473}
20474
20475// SetSegmentId sets the SegmentId field's value.
20476func (s *ExportJobResource) SetSegmentId(v string) *ExportJobResource {
20477	s.SegmentId = &v
20478	return s
20479}
20480
20481// SetSegmentVersion sets the SegmentVersion field's value.
20482func (s *ExportJobResource) SetSegmentVersion(v int64) *ExportJobResource {
20483	s.SegmentVersion = &v
20484	return s
20485}
20486
20487// Provides information about the status and settings of a job that exports
20488// endpoint definitions to a file. The file can be added directly to an Amazon
20489// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
20490// or downloaded directly to a computer by using the Amazon Pinpoint console.
20491type ExportJobResponse struct {
20492	_ struct{} `type:"structure"`
20493
20494	// The unique identifier for the application that's associated with the export
20495	// job.
20496	//
20497	// ApplicationId is a required field
20498	ApplicationId *string `type:"string" required:"true"`
20499
20500	// The number of pieces that were processed successfully (completed) by the
20501	// export job, as of the time of the request.
20502	CompletedPieces *int64 `type:"integer"`
20503
20504	// The date, in ISO 8601 format, when the export job was completed.
20505	CompletionDate *string `type:"string"`
20506
20507	// The date, in ISO 8601 format, when the export job was created.
20508	//
20509	// CreationDate is a required field
20510	CreationDate *string `type:"string" required:"true"`
20511
20512	// The resource settings that apply to the export job.
20513	//
20514	// Definition is a required field
20515	Definition *ExportJobResource `type:"structure" required:"true"`
20516
20517	// The number of pieces that weren't processed successfully (failed) by the
20518	// export job, as of the time of the request.
20519	FailedPieces *int64 `type:"integer"`
20520
20521	// An array of entries, one for each of the first 100 entries that weren't processed
20522	// successfully (failed) by the export job, if any.
20523	Failures []*string `type:"list"`
20524
20525	// The unique identifier for the export job.
20526	//
20527	// Id is a required field
20528	Id *string `type:"string" required:"true"`
20529
20530	// The status of the export job. The job status is FAILED if Amazon Pinpoint
20531	// wasn't able to process one or more pieces in the job.
20532	//
20533	// JobStatus is a required field
20534	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
20535
20536	// The total number of endpoint definitions that weren't processed successfully
20537	// (failed) by the export job, typically because an error, such as a syntax
20538	// error, occurred.
20539	TotalFailures *int64 `type:"integer"`
20540
20541	// The total number of pieces that must be processed to complete the export
20542	// job. Each piece consists of an approximately equal portion of the endpoint
20543	// definitions that are part of the export job.
20544	TotalPieces *int64 `type:"integer"`
20545
20546	// The total number of endpoint definitions that were processed by the export
20547	// job.
20548	TotalProcessed *int64 `type:"integer"`
20549
20550	// The job type. This value is EXPORT for export jobs.
20551	//
20552	// Type is a required field
20553	Type *string `type:"string" required:"true"`
20554}
20555
20556// String returns the string representation
20557func (s ExportJobResponse) String() string {
20558	return awsutil.Prettify(s)
20559}
20560
20561// GoString returns the string representation
20562func (s ExportJobResponse) GoString() string {
20563	return s.String()
20564}
20565
20566// SetApplicationId sets the ApplicationId field's value.
20567func (s *ExportJobResponse) SetApplicationId(v string) *ExportJobResponse {
20568	s.ApplicationId = &v
20569	return s
20570}
20571
20572// SetCompletedPieces sets the CompletedPieces field's value.
20573func (s *ExportJobResponse) SetCompletedPieces(v int64) *ExportJobResponse {
20574	s.CompletedPieces = &v
20575	return s
20576}
20577
20578// SetCompletionDate sets the CompletionDate field's value.
20579func (s *ExportJobResponse) SetCompletionDate(v string) *ExportJobResponse {
20580	s.CompletionDate = &v
20581	return s
20582}
20583
20584// SetCreationDate sets the CreationDate field's value.
20585func (s *ExportJobResponse) SetCreationDate(v string) *ExportJobResponse {
20586	s.CreationDate = &v
20587	return s
20588}
20589
20590// SetDefinition sets the Definition field's value.
20591func (s *ExportJobResponse) SetDefinition(v *ExportJobResource) *ExportJobResponse {
20592	s.Definition = v
20593	return s
20594}
20595
20596// SetFailedPieces sets the FailedPieces field's value.
20597func (s *ExportJobResponse) SetFailedPieces(v int64) *ExportJobResponse {
20598	s.FailedPieces = &v
20599	return s
20600}
20601
20602// SetFailures sets the Failures field's value.
20603func (s *ExportJobResponse) SetFailures(v []*string) *ExportJobResponse {
20604	s.Failures = v
20605	return s
20606}
20607
20608// SetId sets the Id field's value.
20609func (s *ExportJobResponse) SetId(v string) *ExportJobResponse {
20610	s.Id = &v
20611	return s
20612}
20613
20614// SetJobStatus sets the JobStatus field's value.
20615func (s *ExportJobResponse) SetJobStatus(v string) *ExportJobResponse {
20616	s.JobStatus = &v
20617	return s
20618}
20619
20620// SetTotalFailures sets the TotalFailures field's value.
20621func (s *ExportJobResponse) SetTotalFailures(v int64) *ExportJobResponse {
20622	s.TotalFailures = &v
20623	return s
20624}
20625
20626// SetTotalPieces sets the TotalPieces field's value.
20627func (s *ExportJobResponse) SetTotalPieces(v int64) *ExportJobResponse {
20628	s.TotalPieces = &v
20629	return s
20630}
20631
20632// SetTotalProcessed sets the TotalProcessed field's value.
20633func (s *ExportJobResponse) SetTotalProcessed(v int64) *ExportJobResponse {
20634	s.TotalProcessed = &v
20635	return s
20636}
20637
20638// SetType sets the Type field's value.
20639func (s *ExportJobResponse) SetType(v string) *ExportJobResponse {
20640	s.Type = &v
20641	return s
20642}
20643
20644// Provides information about all the export jobs that are associated with an
20645// application or segment. An export job is a job that exports endpoint definitions
20646// to a file.
20647type ExportJobsResponse struct {
20648	_ struct{} `type:"structure"`
20649
20650	// An array of responses, one for each export job that's associated with the
20651	// application (Export Jobs resource) or segment (Segment Export Jobs resource).
20652	//
20653	// Item is a required field
20654	Item []*ExportJobResponse `type:"list" required:"true"`
20655
20656	// The string to use in a subsequent request to get the next page of results
20657	// in a paginated response. This value is null if there are no additional pages.
20658	NextToken *string `type:"string"`
20659}
20660
20661// String returns the string representation
20662func (s ExportJobsResponse) String() string {
20663	return awsutil.Prettify(s)
20664}
20665
20666// GoString returns the string representation
20667func (s ExportJobsResponse) GoString() string {
20668	return s.String()
20669}
20670
20671// SetItem sets the Item field's value.
20672func (s *ExportJobsResponse) SetItem(v []*ExportJobResponse) *ExportJobsResponse {
20673	s.Item = v
20674	return s
20675}
20676
20677// SetNextToken sets the NextToken field's value.
20678func (s *ExportJobsResponse) SetNextToken(v string) *ExportJobsResponse {
20679	s.NextToken = &v
20680	return s
20681}
20682
20683// Provides information about an API request or response.
20684type ForbiddenException struct {
20685	_            struct{}                  `type:"structure"`
20686	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20687
20688	Message_ *string `locationName:"Message" type:"string"`
20689
20690	RequestID_ *string `locationName:"RequestID" type:"string"`
20691}
20692
20693// String returns the string representation
20694func (s ForbiddenException) String() string {
20695	return awsutil.Prettify(s)
20696}
20697
20698// GoString returns the string representation
20699func (s ForbiddenException) GoString() string {
20700	return s.String()
20701}
20702
20703func newErrorForbiddenException(v protocol.ResponseMetadata) error {
20704	return &ForbiddenException{
20705		RespMetadata: v,
20706	}
20707}
20708
20709// Code returns the exception type name.
20710func (s *ForbiddenException) Code() string {
20711	return "ForbiddenException"
20712}
20713
20714// Message returns the exception's message.
20715func (s *ForbiddenException) Message() string {
20716	if s.Message_ != nil {
20717		return *s.Message_
20718	}
20719	return ""
20720}
20721
20722// OrigErr always returns nil, satisfies awserr.Error interface.
20723func (s *ForbiddenException) OrigErr() error {
20724	return nil
20725}
20726
20727func (s *ForbiddenException) Error() string {
20728	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
20729}
20730
20731// Status code returns the HTTP status code for the request's response error.
20732func (s *ForbiddenException) StatusCode() int {
20733	return s.RespMetadata.StatusCode
20734}
20735
20736// RequestID returns the service's response RequestID for request.
20737func (s *ForbiddenException) RequestID() string {
20738	return s.RespMetadata.RequestID
20739}
20740
20741// Specifies the status and settings of the GCM channel for an application.
20742// This channel enables Amazon Pinpoint to send push notifications through the
20743// Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.
20744type GCMChannelRequest struct {
20745	_ struct{} `type:"structure"`
20746
20747	// The Web API Key, also referred to as an API_KEY or server key, that you received
20748	// from Google to communicate with Google services.
20749	//
20750	// ApiKey is a required field
20751	ApiKey *string `type:"string" required:"true"`
20752
20753	// Specifies whether to enable the GCM channel for the application.
20754	Enabled *bool `type:"boolean"`
20755}
20756
20757// String returns the string representation
20758func (s GCMChannelRequest) String() string {
20759	return awsutil.Prettify(s)
20760}
20761
20762// GoString returns the string representation
20763func (s GCMChannelRequest) GoString() string {
20764	return s.String()
20765}
20766
20767// Validate inspects the fields of the type to determine if they are valid.
20768func (s *GCMChannelRequest) Validate() error {
20769	invalidParams := request.ErrInvalidParams{Context: "GCMChannelRequest"}
20770	if s.ApiKey == nil {
20771		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
20772	}
20773
20774	if invalidParams.Len() > 0 {
20775		return invalidParams
20776	}
20777	return nil
20778}
20779
20780// SetApiKey sets the ApiKey field's value.
20781func (s *GCMChannelRequest) SetApiKey(v string) *GCMChannelRequest {
20782	s.ApiKey = &v
20783	return s
20784}
20785
20786// SetEnabled sets the Enabled field's value.
20787func (s *GCMChannelRequest) SetEnabled(v bool) *GCMChannelRequest {
20788	s.Enabled = &v
20789	return s
20790}
20791
20792// Provides information about the status and settings of the GCM channel for
20793// an application. The GCM channel enables Amazon Pinpoint to send push notifications
20794// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
20795// (GCM), service.
20796type GCMChannelResponse struct {
20797	_ struct{} `type:"structure"`
20798
20799	// The unique identifier for the application that the GCM channel applies to.
20800	ApplicationId *string `type:"string"`
20801
20802	// The date and time when the GCM channel was enabled.
20803	CreationDate *string `type:"string"`
20804
20805	// The Web API Key, also referred to as an API_KEY or server key, that you received
20806	// from Google to communicate with Google services.
20807	//
20808	// Credential is a required field
20809	Credential *string `type:"string" required:"true"`
20810
20811	// Specifies whether the GCM channel is enabled for the application.
20812	Enabled *bool `type:"boolean"`
20813
20814	// (Not used) This property is retained only for backward compatibility.
20815	HasCredential *bool `type:"boolean"`
20816
20817	// (Deprecated) An identifier for the GCM channel. This property is retained
20818	// only for backward compatibility.
20819	Id *string `type:"string"`
20820
20821	// Specifies whether the GCM channel is archived.
20822	IsArchived *bool `type:"boolean"`
20823
20824	// The user who last modified the GCM channel.
20825	LastModifiedBy *string `type:"string"`
20826
20827	// The date and time when the GCM channel was last modified.
20828	LastModifiedDate *string `type:"string"`
20829
20830	// The type of messaging or notification platform for the channel. For the GCM
20831	// channel, this value is GCM.
20832	//
20833	// Platform is a required field
20834	Platform *string `type:"string" required:"true"`
20835
20836	// The current version of the GCM channel.
20837	Version *int64 `type:"integer"`
20838}
20839
20840// String returns the string representation
20841func (s GCMChannelResponse) String() string {
20842	return awsutil.Prettify(s)
20843}
20844
20845// GoString returns the string representation
20846func (s GCMChannelResponse) GoString() string {
20847	return s.String()
20848}
20849
20850// SetApplicationId sets the ApplicationId field's value.
20851func (s *GCMChannelResponse) SetApplicationId(v string) *GCMChannelResponse {
20852	s.ApplicationId = &v
20853	return s
20854}
20855
20856// SetCreationDate sets the CreationDate field's value.
20857func (s *GCMChannelResponse) SetCreationDate(v string) *GCMChannelResponse {
20858	s.CreationDate = &v
20859	return s
20860}
20861
20862// SetCredential sets the Credential field's value.
20863func (s *GCMChannelResponse) SetCredential(v string) *GCMChannelResponse {
20864	s.Credential = &v
20865	return s
20866}
20867
20868// SetEnabled sets the Enabled field's value.
20869func (s *GCMChannelResponse) SetEnabled(v bool) *GCMChannelResponse {
20870	s.Enabled = &v
20871	return s
20872}
20873
20874// SetHasCredential sets the HasCredential field's value.
20875func (s *GCMChannelResponse) SetHasCredential(v bool) *GCMChannelResponse {
20876	s.HasCredential = &v
20877	return s
20878}
20879
20880// SetId sets the Id field's value.
20881func (s *GCMChannelResponse) SetId(v string) *GCMChannelResponse {
20882	s.Id = &v
20883	return s
20884}
20885
20886// SetIsArchived sets the IsArchived field's value.
20887func (s *GCMChannelResponse) SetIsArchived(v bool) *GCMChannelResponse {
20888	s.IsArchived = &v
20889	return s
20890}
20891
20892// SetLastModifiedBy sets the LastModifiedBy field's value.
20893func (s *GCMChannelResponse) SetLastModifiedBy(v string) *GCMChannelResponse {
20894	s.LastModifiedBy = &v
20895	return s
20896}
20897
20898// SetLastModifiedDate sets the LastModifiedDate field's value.
20899func (s *GCMChannelResponse) SetLastModifiedDate(v string) *GCMChannelResponse {
20900	s.LastModifiedDate = &v
20901	return s
20902}
20903
20904// SetPlatform sets the Platform field's value.
20905func (s *GCMChannelResponse) SetPlatform(v string) *GCMChannelResponse {
20906	s.Platform = &v
20907	return s
20908}
20909
20910// SetVersion sets the Version field's value.
20911func (s *GCMChannelResponse) SetVersion(v int64) *GCMChannelResponse {
20912	s.Version = &v
20913	return s
20914}
20915
20916// Specifies the settings for a one-time message that's sent directly to an
20917// endpoint through the GCM channel. The GCM channel enables Amazon Pinpoint
20918// to send messages to the Firebase Cloud Messaging (FCM), formerly Google Cloud
20919// Messaging (GCM), service.
20920type GCMMessage struct {
20921	_ struct{} `type:"structure"`
20922
20923	// The action to occur if the recipient taps the push notification. Valid values
20924	// are:
20925	//
20926	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
20927	//    sent to the background. This is the default action.
20928	//
20929	//    * DEEP_LINK - Your app opens and displays a designated user interface
20930	//    in the app. This action uses the deep-linking features of the Android
20931	//    platform.
20932	//
20933	//    * URL - The default mobile browser on the recipient's device opens and
20934	//    loads the web page at a URL that you specify.
20935	Action *string `type:"string" enum:"Action"`
20936
20937	// The body of the notification message.
20938	Body *string `type:"string"`
20939
20940	// An arbitrary string that identifies a group of messages that can be collapsed
20941	// to ensure that only the last message is sent when delivery can resume. This
20942	// helps avoid sending too many instances of the same messages when the recipient's
20943	// device comes online again or becomes active.
20944	//
20945	// Amazon Pinpoint specifies this value in the Firebase Cloud Messaging (FCM)
20946	// collapse_key parameter when it sends the notification message to FCM.
20947	CollapseKey *string `type:"string"`
20948
20949	// The JSON data payload to use for the push notification, if the notification
20950	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
20951	// object of the notification.
20952	Data map[string]*string `type:"map"`
20953
20954	// The icon image name of the asset saved in your app.
20955	IconReference *string `type:"string"`
20956
20957	// The URL of the large icon image to display in the content view of the push
20958	// notification.
20959	ImageIconUrl *string `type:"string"`
20960
20961	// The URL of an image to display in the push notification.
20962	ImageUrl *string `type:"string"`
20963
20964	// para>normal - The notification might be delayed. Delivery is optimized for
20965	// battery usage on the recipient's device. Use this value unless immediate
20966	// delivery is required.
20967	// /listitem>
20968	// high - The notification is sent immediately and might wake a sleeping device.
20969	// /para>
20970	// Amazon Pinpoint specifies this value in the FCM priority parameter when it
20971	// sends the notification message to FCM.
20972	//
20973	// The equivalent values for Apple Push Notification service (APNs) are 5, for
20974	// normal, and 10, for high. If you specify an APNs value for this property,
20975	// Amazon Pinpoint accepts and converts the value to the corresponding FCM value.
20976	Priority *string `type:"string"`
20977
20978	// The raw, JSON-formatted string to use as the payload for the notification
20979	// message. If specified, this value overrides all other content for the message.
20980	RawContent *string `type:"string"`
20981
20982	// The package name of the application where registration tokens must match
20983	// in order for the recipient to receive the message.
20984	RestrictedPackageName *string `type:"string"`
20985
20986	// Specifies whether the notification is a silent push notification, which is
20987	// a push notification that doesn't display on a recipient's device. Silent
20988	// push notifications can be used for cases such as updating an app's configuration
20989	// or supporting phone home functionality.
20990	SilentPush *bool `type:"boolean"`
20991
20992	// The URL of the small icon image to display in the status bar and the content
20993	// view of the push notification.
20994	SmallImageIconUrl *string `type:"string"`
20995
20996	// The sound to play when the recipient receives the push notification. You
20997	// can use the default stream or specify the file name of a sound resource that's
20998	// bundled in your app. On an Android platform, the sound file must reside in
20999	// /res/raw/.
21000	Sound *string `type:"string"`
21001
21002	// The default message variables to use in the notification message. You can
21003	// override the default variables with individual address variables.
21004	Substitutions map[string][]*string `type:"map"`
21005
21006	// The amount of time, in seconds, that FCM should store and attempt to deliver
21007	// the push notification, if the service is unable to deliver the notification
21008	// the first time. If you don't specify this value, FCM defaults to the maximum
21009	// value, which is 2,419,200 seconds (28 days).
21010	//
21011	// Amazon Pinpoint specifies this value in the FCM time_to_live parameter when
21012	// it sends the notification message to FCM.
21013	TimeToLive *int64 `type:"integer"`
21014
21015	// The title to display above the notification message on the recipient's device.
21016	Title *string `type:"string"`
21017
21018	// The URL to open in the recipient's default mobile browser, if a recipient
21019	// taps the push notification and the value of the Action property is URL.
21020	Url *string `type:"string"`
21021}
21022
21023// String returns the string representation
21024func (s GCMMessage) String() string {
21025	return awsutil.Prettify(s)
21026}
21027
21028// GoString returns the string representation
21029func (s GCMMessage) GoString() string {
21030	return s.String()
21031}
21032
21033// SetAction sets the Action field's value.
21034func (s *GCMMessage) SetAction(v string) *GCMMessage {
21035	s.Action = &v
21036	return s
21037}
21038
21039// SetBody sets the Body field's value.
21040func (s *GCMMessage) SetBody(v string) *GCMMessage {
21041	s.Body = &v
21042	return s
21043}
21044
21045// SetCollapseKey sets the CollapseKey field's value.
21046func (s *GCMMessage) SetCollapseKey(v string) *GCMMessage {
21047	s.CollapseKey = &v
21048	return s
21049}
21050
21051// SetData sets the Data field's value.
21052func (s *GCMMessage) SetData(v map[string]*string) *GCMMessage {
21053	s.Data = v
21054	return s
21055}
21056
21057// SetIconReference sets the IconReference field's value.
21058func (s *GCMMessage) SetIconReference(v string) *GCMMessage {
21059	s.IconReference = &v
21060	return s
21061}
21062
21063// SetImageIconUrl sets the ImageIconUrl field's value.
21064func (s *GCMMessage) SetImageIconUrl(v string) *GCMMessage {
21065	s.ImageIconUrl = &v
21066	return s
21067}
21068
21069// SetImageUrl sets the ImageUrl field's value.
21070func (s *GCMMessage) SetImageUrl(v string) *GCMMessage {
21071	s.ImageUrl = &v
21072	return s
21073}
21074
21075// SetPriority sets the Priority field's value.
21076func (s *GCMMessage) SetPriority(v string) *GCMMessage {
21077	s.Priority = &v
21078	return s
21079}
21080
21081// SetRawContent sets the RawContent field's value.
21082func (s *GCMMessage) SetRawContent(v string) *GCMMessage {
21083	s.RawContent = &v
21084	return s
21085}
21086
21087// SetRestrictedPackageName sets the RestrictedPackageName field's value.
21088func (s *GCMMessage) SetRestrictedPackageName(v string) *GCMMessage {
21089	s.RestrictedPackageName = &v
21090	return s
21091}
21092
21093// SetSilentPush sets the SilentPush field's value.
21094func (s *GCMMessage) SetSilentPush(v bool) *GCMMessage {
21095	s.SilentPush = &v
21096	return s
21097}
21098
21099// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
21100func (s *GCMMessage) SetSmallImageIconUrl(v string) *GCMMessage {
21101	s.SmallImageIconUrl = &v
21102	return s
21103}
21104
21105// SetSound sets the Sound field's value.
21106func (s *GCMMessage) SetSound(v string) *GCMMessage {
21107	s.Sound = &v
21108	return s
21109}
21110
21111// SetSubstitutions sets the Substitutions field's value.
21112func (s *GCMMessage) SetSubstitutions(v map[string][]*string) *GCMMessage {
21113	s.Substitutions = v
21114	return s
21115}
21116
21117// SetTimeToLive sets the TimeToLive field's value.
21118func (s *GCMMessage) SetTimeToLive(v int64) *GCMMessage {
21119	s.TimeToLive = &v
21120	return s
21121}
21122
21123// SetTitle sets the Title field's value.
21124func (s *GCMMessage) SetTitle(v string) *GCMMessage {
21125	s.Title = &v
21126	return s
21127}
21128
21129// SetUrl sets the Url field's value.
21130func (s *GCMMessage) SetUrl(v string) *GCMMessage {
21131	s.Url = &v
21132	return s
21133}
21134
21135// Specifies the GPS coordinates of a location.
21136type GPSCoordinates struct {
21137	_ struct{} `type:"structure"`
21138
21139	// The latitude coordinate of the location.
21140	//
21141	// Latitude is a required field
21142	Latitude *float64 `type:"double" required:"true"`
21143
21144	// The longitude coordinate of the location.
21145	//
21146	// Longitude is a required field
21147	Longitude *float64 `type:"double" required:"true"`
21148}
21149
21150// String returns the string representation
21151func (s GPSCoordinates) String() string {
21152	return awsutil.Prettify(s)
21153}
21154
21155// GoString returns the string representation
21156func (s GPSCoordinates) GoString() string {
21157	return s.String()
21158}
21159
21160// Validate inspects the fields of the type to determine if they are valid.
21161func (s *GPSCoordinates) Validate() error {
21162	invalidParams := request.ErrInvalidParams{Context: "GPSCoordinates"}
21163	if s.Latitude == nil {
21164		invalidParams.Add(request.NewErrParamRequired("Latitude"))
21165	}
21166	if s.Longitude == nil {
21167		invalidParams.Add(request.NewErrParamRequired("Longitude"))
21168	}
21169
21170	if invalidParams.Len() > 0 {
21171		return invalidParams
21172	}
21173	return nil
21174}
21175
21176// SetLatitude sets the Latitude field's value.
21177func (s *GPSCoordinates) SetLatitude(v float64) *GPSCoordinates {
21178	s.Latitude = &v
21179	return s
21180}
21181
21182// SetLongitude sets the Longitude field's value.
21183func (s *GPSCoordinates) SetLongitude(v float64) *GPSCoordinates {
21184	s.Longitude = &v
21185	return s
21186}
21187
21188// Specifies GPS-based criteria for including or excluding endpoints from a
21189// segment.
21190type GPSPointDimension struct {
21191	_ struct{} `type:"structure"`
21192
21193	// The GPS coordinates to measure distance from.
21194	//
21195	// Coordinates is a required field
21196	Coordinates *GPSCoordinates `type:"structure" required:"true"`
21197
21198	// The range, in kilometers, from the GPS coordinates.
21199	RangeInKilometers *float64 `type:"double"`
21200}
21201
21202// String returns the string representation
21203func (s GPSPointDimension) String() string {
21204	return awsutil.Prettify(s)
21205}
21206
21207// GoString returns the string representation
21208func (s GPSPointDimension) GoString() string {
21209	return s.String()
21210}
21211
21212// Validate inspects the fields of the type to determine if they are valid.
21213func (s *GPSPointDimension) Validate() error {
21214	invalidParams := request.ErrInvalidParams{Context: "GPSPointDimension"}
21215	if s.Coordinates == nil {
21216		invalidParams.Add(request.NewErrParamRequired("Coordinates"))
21217	}
21218	if s.Coordinates != nil {
21219		if err := s.Coordinates.Validate(); err != nil {
21220			invalidParams.AddNested("Coordinates", err.(request.ErrInvalidParams))
21221		}
21222	}
21223
21224	if invalidParams.Len() > 0 {
21225		return invalidParams
21226	}
21227	return nil
21228}
21229
21230// SetCoordinates sets the Coordinates field's value.
21231func (s *GPSPointDimension) SetCoordinates(v *GPSCoordinates) *GPSPointDimension {
21232	s.Coordinates = v
21233	return s
21234}
21235
21236// SetRangeInKilometers sets the RangeInKilometers field's value.
21237func (s *GPSPointDimension) SetRangeInKilometers(v float64) *GPSPointDimension {
21238	s.RangeInKilometers = &v
21239	return s
21240}
21241
21242type GetAdmChannelInput struct {
21243	_ struct{} `type:"structure"`
21244
21245	// ApplicationId is a required field
21246	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21247}
21248
21249// String returns the string representation
21250func (s GetAdmChannelInput) String() string {
21251	return awsutil.Prettify(s)
21252}
21253
21254// GoString returns the string representation
21255func (s GetAdmChannelInput) GoString() string {
21256	return s.String()
21257}
21258
21259// Validate inspects the fields of the type to determine if they are valid.
21260func (s *GetAdmChannelInput) Validate() error {
21261	invalidParams := request.ErrInvalidParams{Context: "GetAdmChannelInput"}
21262	if s.ApplicationId == nil {
21263		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21264	}
21265	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21266		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21267	}
21268
21269	if invalidParams.Len() > 0 {
21270		return invalidParams
21271	}
21272	return nil
21273}
21274
21275// SetApplicationId sets the ApplicationId field's value.
21276func (s *GetAdmChannelInput) SetApplicationId(v string) *GetAdmChannelInput {
21277	s.ApplicationId = &v
21278	return s
21279}
21280
21281type GetAdmChannelOutput struct {
21282	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
21283
21284	// Provides information about the status and settings of the ADM (Amazon Device
21285	// Messaging) channel for an application.
21286	//
21287	// ADMChannelResponse is a required field
21288	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
21289}
21290
21291// String returns the string representation
21292func (s GetAdmChannelOutput) String() string {
21293	return awsutil.Prettify(s)
21294}
21295
21296// GoString returns the string representation
21297func (s GetAdmChannelOutput) GoString() string {
21298	return s.String()
21299}
21300
21301// SetADMChannelResponse sets the ADMChannelResponse field's value.
21302func (s *GetAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *GetAdmChannelOutput {
21303	s.ADMChannelResponse = v
21304	return s
21305}
21306
21307type GetApnsChannelInput struct {
21308	_ struct{} `type:"structure"`
21309
21310	// ApplicationId is a required field
21311	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21312}
21313
21314// String returns the string representation
21315func (s GetApnsChannelInput) String() string {
21316	return awsutil.Prettify(s)
21317}
21318
21319// GoString returns the string representation
21320func (s GetApnsChannelInput) GoString() string {
21321	return s.String()
21322}
21323
21324// Validate inspects the fields of the type to determine if they are valid.
21325func (s *GetApnsChannelInput) Validate() error {
21326	invalidParams := request.ErrInvalidParams{Context: "GetApnsChannelInput"}
21327	if s.ApplicationId == nil {
21328		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21329	}
21330	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21331		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21332	}
21333
21334	if invalidParams.Len() > 0 {
21335		return invalidParams
21336	}
21337	return nil
21338}
21339
21340// SetApplicationId sets the ApplicationId field's value.
21341func (s *GetApnsChannelInput) SetApplicationId(v string) *GetApnsChannelInput {
21342	s.ApplicationId = &v
21343	return s
21344}
21345
21346type GetApnsChannelOutput struct {
21347	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
21348
21349	// Provides information about the status and settings of the APNs (Apple Push
21350	// Notification service) channel for an application.
21351	//
21352	// APNSChannelResponse is a required field
21353	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
21354}
21355
21356// String returns the string representation
21357func (s GetApnsChannelOutput) String() string {
21358	return awsutil.Prettify(s)
21359}
21360
21361// GoString returns the string representation
21362func (s GetApnsChannelOutput) GoString() string {
21363	return s.String()
21364}
21365
21366// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
21367func (s *GetApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *GetApnsChannelOutput {
21368	s.APNSChannelResponse = v
21369	return s
21370}
21371
21372type GetApnsSandboxChannelInput struct {
21373	_ struct{} `type:"structure"`
21374
21375	// ApplicationId is a required field
21376	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21377}
21378
21379// String returns the string representation
21380func (s GetApnsSandboxChannelInput) String() string {
21381	return awsutil.Prettify(s)
21382}
21383
21384// GoString returns the string representation
21385func (s GetApnsSandboxChannelInput) GoString() string {
21386	return s.String()
21387}
21388
21389// Validate inspects the fields of the type to determine if they are valid.
21390func (s *GetApnsSandboxChannelInput) Validate() error {
21391	invalidParams := request.ErrInvalidParams{Context: "GetApnsSandboxChannelInput"}
21392	if s.ApplicationId == nil {
21393		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21394	}
21395	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21396		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21397	}
21398
21399	if invalidParams.Len() > 0 {
21400		return invalidParams
21401	}
21402	return nil
21403}
21404
21405// SetApplicationId sets the ApplicationId field's value.
21406func (s *GetApnsSandboxChannelInput) SetApplicationId(v string) *GetApnsSandboxChannelInput {
21407	s.ApplicationId = &v
21408	return s
21409}
21410
21411type GetApnsSandboxChannelOutput struct {
21412	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
21413
21414	// Provides information about the status and settings of the APNs (Apple Push
21415	// Notification service) sandbox channel for an application.
21416	//
21417	// APNSSandboxChannelResponse is a required field
21418	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
21419}
21420
21421// String returns the string representation
21422func (s GetApnsSandboxChannelOutput) String() string {
21423	return awsutil.Prettify(s)
21424}
21425
21426// GoString returns the string representation
21427func (s GetApnsSandboxChannelOutput) GoString() string {
21428	return s.String()
21429}
21430
21431// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
21432func (s *GetApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *GetApnsSandboxChannelOutput {
21433	s.APNSSandboxChannelResponse = v
21434	return s
21435}
21436
21437type GetApnsVoipChannelInput struct {
21438	_ struct{} `type:"structure"`
21439
21440	// ApplicationId is a required field
21441	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21442}
21443
21444// String returns the string representation
21445func (s GetApnsVoipChannelInput) String() string {
21446	return awsutil.Prettify(s)
21447}
21448
21449// GoString returns the string representation
21450func (s GetApnsVoipChannelInput) GoString() string {
21451	return s.String()
21452}
21453
21454// Validate inspects the fields of the type to determine if they are valid.
21455func (s *GetApnsVoipChannelInput) Validate() error {
21456	invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipChannelInput"}
21457	if s.ApplicationId == nil {
21458		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21459	}
21460	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21461		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21462	}
21463
21464	if invalidParams.Len() > 0 {
21465		return invalidParams
21466	}
21467	return nil
21468}
21469
21470// SetApplicationId sets the ApplicationId field's value.
21471func (s *GetApnsVoipChannelInput) SetApplicationId(v string) *GetApnsVoipChannelInput {
21472	s.ApplicationId = &v
21473	return s
21474}
21475
21476type GetApnsVoipChannelOutput struct {
21477	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
21478
21479	// Provides information about the status and settings of the APNs (Apple Push
21480	// Notification service) VoIP channel for an application.
21481	//
21482	// APNSVoipChannelResponse is a required field
21483	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
21484}
21485
21486// String returns the string representation
21487func (s GetApnsVoipChannelOutput) String() string {
21488	return awsutil.Prettify(s)
21489}
21490
21491// GoString returns the string representation
21492func (s GetApnsVoipChannelOutput) GoString() string {
21493	return s.String()
21494}
21495
21496// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
21497func (s *GetApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *GetApnsVoipChannelOutput {
21498	s.APNSVoipChannelResponse = v
21499	return s
21500}
21501
21502type GetApnsVoipSandboxChannelInput struct {
21503	_ struct{} `type:"structure"`
21504
21505	// ApplicationId is a required field
21506	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21507}
21508
21509// String returns the string representation
21510func (s GetApnsVoipSandboxChannelInput) String() string {
21511	return awsutil.Prettify(s)
21512}
21513
21514// GoString returns the string representation
21515func (s GetApnsVoipSandboxChannelInput) GoString() string {
21516	return s.String()
21517}
21518
21519// Validate inspects the fields of the type to determine if they are valid.
21520func (s *GetApnsVoipSandboxChannelInput) Validate() error {
21521	invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipSandboxChannelInput"}
21522	if s.ApplicationId == nil {
21523		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21524	}
21525	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21526		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21527	}
21528
21529	if invalidParams.Len() > 0 {
21530		return invalidParams
21531	}
21532	return nil
21533}
21534
21535// SetApplicationId sets the ApplicationId field's value.
21536func (s *GetApnsVoipSandboxChannelInput) SetApplicationId(v string) *GetApnsVoipSandboxChannelInput {
21537	s.ApplicationId = &v
21538	return s
21539}
21540
21541type GetApnsVoipSandboxChannelOutput struct {
21542	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
21543
21544	// Provides information about the status and settings of the APNs (Apple Push
21545	// Notification service) VoIP sandbox channel for an application.
21546	//
21547	// APNSVoipSandboxChannelResponse is a required field
21548	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
21549}
21550
21551// String returns the string representation
21552func (s GetApnsVoipSandboxChannelOutput) String() string {
21553	return awsutil.Prettify(s)
21554}
21555
21556// GoString returns the string representation
21557func (s GetApnsVoipSandboxChannelOutput) GoString() string {
21558	return s.String()
21559}
21560
21561// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
21562func (s *GetApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *GetApnsVoipSandboxChannelOutput {
21563	s.APNSVoipSandboxChannelResponse = v
21564	return s
21565}
21566
21567type GetAppInput struct {
21568	_ struct{} `type:"structure"`
21569
21570	// ApplicationId is a required field
21571	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21572}
21573
21574// String returns the string representation
21575func (s GetAppInput) String() string {
21576	return awsutil.Prettify(s)
21577}
21578
21579// GoString returns the string representation
21580func (s GetAppInput) GoString() string {
21581	return s.String()
21582}
21583
21584// Validate inspects the fields of the type to determine if they are valid.
21585func (s *GetAppInput) Validate() error {
21586	invalidParams := request.ErrInvalidParams{Context: "GetAppInput"}
21587	if s.ApplicationId == nil {
21588		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21589	}
21590	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21591		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21592	}
21593
21594	if invalidParams.Len() > 0 {
21595		return invalidParams
21596	}
21597	return nil
21598}
21599
21600// SetApplicationId sets the ApplicationId field's value.
21601func (s *GetAppInput) SetApplicationId(v string) *GetAppInput {
21602	s.ApplicationId = &v
21603	return s
21604}
21605
21606type GetAppOutput struct {
21607	_ struct{} `type:"structure" payload:"ApplicationResponse"`
21608
21609	// Provides information about an application.
21610	//
21611	// ApplicationResponse is a required field
21612	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
21613}
21614
21615// String returns the string representation
21616func (s GetAppOutput) String() string {
21617	return awsutil.Prettify(s)
21618}
21619
21620// GoString returns the string representation
21621func (s GetAppOutput) GoString() string {
21622	return s.String()
21623}
21624
21625// SetApplicationResponse sets the ApplicationResponse field's value.
21626func (s *GetAppOutput) SetApplicationResponse(v *ApplicationResponse) *GetAppOutput {
21627	s.ApplicationResponse = v
21628	return s
21629}
21630
21631type GetApplicationDateRangeKpiInput struct {
21632	_ struct{} `type:"structure"`
21633
21634	// ApplicationId is a required field
21635	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21636
21637	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
21638
21639	// KpiName is a required field
21640	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
21641
21642	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
21643
21644	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
21645
21646	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
21647}
21648
21649// String returns the string representation
21650func (s GetApplicationDateRangeKpiInput) String() string {
21651	return awsutil.Prettify(s)
21652}
21653
21654// GoString returns the string representation
21655func (s GetApplicationDateRangeKpiInput) GoString() string {
21656	return s.String()
21657}
21658
21659// Validate inspects the fields of the type to determine if they are valid.
21660func (s *GetApplicationDateRangeKpiInput) Validate() error {
21661	invalidParams := request.ErrInvalidParams{Context: "GetApplicationDateRangeKpiInput"}
21662	if s.ApplicationId == nil {
21663		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21664	}
21665	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21666		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21667	}
21668	if s.KpiName == nil {
21669		invalidParams.Add(request.NewErrParamRequired("KpiName"))
21670	}
21671	if s.KpiName != nil && len(*s.KpiName) < 1 {
21672		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
21673	}
21674
21675	if invalidParams.Len() > 0 {
21676		return invalidParams
21677	}
21678	return nil
21679}
21680
21681// SetApplicationId sets the ApplicationId field's value.
21682func (s *GetApplicationDateRangeKpiInput) SetApplicationId(v string) *GetApplicationDateRangeKpiInput {
21683	s.ApplicationId = &v
21684	return s
21685}
21686
21687// SetEndTime sets the EndTime field's value.
21688func (s *GetApplicationDateRangeKpiInput) SetEndTime(v time.Time) *GetApplicationDateRangeKpiInput {
21689	s.EndTime = &v
21690	return s
21691}
21692
21693// SetKpiName sets the KpiName field's value.
21694func (s *GetApplicationDateRangeKpiInput) SetKpiName(v string) *GetApplicationDateRangeKpiInput {
21695	s.KpiName = &v
21696	return s
21697}
21698
21699// SetNextToken sets the NextToken field's value.
21700func (s *GetApplicationDateRangeKpiInput) SetNextToken(v string) *GetApplicationDateRangeKpiInput {
21701	s.NextToken = &v
21702	return s
21703}
21704
21705// SetPageSize sets the PageSize field's value.
21706func (s *GetApplicationDateRangeKpiInput) SetPageSize(v string) *GetApplicationDateRangeKpiInput {
21707	s.PageSize = &v
21708	return s
21709}
21710
21711// SetStartTime sets the StartTime field's value.
21712func (s *GetApplicationDateRangeKpiInput) SetStartTime(v time.Time) *GetApplicationDateRangeKpiInput {
21713	s.StartTime = &v
21714	return s
21715}
21716
21717type GetApplicationDateRangeKpiOutput struct {
21718	_ struct{} `type:"structure" payload:"ApplicationDateRangeKpiResponse"`
21719
21720	// Provides the results of a query that retrieved the data for a standard metric
21721	// that applies to an application, and provides information about that query.
21722	//
21723	// ApplicationDateRangeKpiResponse is a required field
21724	ApplicationDateRangeKpiResponse *ApplicationDateRangeKpiResponse `type:"structure" required:"true"`
21725}
21726
21727// String returns the string representation
21728func (s GetApplicationDateRangeKpiOutput) String() string {
21729	return awsutil.Prettify(s)
21730}
21731
21732// GoString returns the string representation
21733func (s GetApplicationDateRangeKpiOutput) GoString() string {
21734	return s.String()
21735}
21736
21737// SetApplicationDateRangeKpiResponse sets the ApplicationDateRangeKpiResponse field's value.
21738func (s *GetApplicationDateRangeKpiOutput) SetApplicationDateRangeKpiResponse(v *ApplicationDateRangeKpiResponse) *GetApplicationDateRangeKpiOutput {
21739	s.ApplicationDateRangeKpiResponse = v
21740	return s
21741}
21742
21743type GetApplicationSettingsInput struct {
21744	_ struct{} `type:"structure"`
21745
21746	// ApplicationId is a required field
21747	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21748}
21749
21750// String returns the string representation
21751func (s GetApplicationSettingsInput) String() string {
21752	return awsutil.Prettify(s)
21753}
21754
21755// GoString returns the string representation
21756func (s GetApplicationSettingsInput) GoString() string {
21757	return s.String()
21758}
21759
21760// Validate inspects the fields of the type to determine if they are valid.
21761func (s *GetApplicationSettingsInput) Validate() error {
21762	invalidParams := request.ErrInvalidParams{Context: "GetApplicationSettingsInput"}
21763	if s.ApplicationId == nil {
21764		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21765	}
21766	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21767		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21768	}
21769
21770	if invalidParams.Len() > 0 {
21771		return invalidParams
21772	}
21773	return nil
21774}
21775
21776// SetApplicationId sets the ApplicationId field's value.
21777func (s *GetApplicationSettingsInput) SetApplicationId(v string) *GetApplicationSettingsInput {
21778	s.ApplicationId = &v
21779	return s
21780}
21781
21782type GetApplicationSettingsOutput struct {
21783	_ struct{} `type:"structure" payload:"ApplicationSettingsResource"`
21784
21785	// Provides information about an application, including the default settings
21786	// for an application.
21787	//
21788	// ApplicationSettingsResource is a required field
21789	ApplicationSettingsResource *ApplicationSettingsResource `type:"structure" required:"true"`
21790}
21791
21792// String returns the string representation
21793func (s GetApplicationSettingsOutput) String() string {
21794	return awsutil.Prettify(s)
21795}
21796
21797// GoString returns the string representation
21798func (s GetApplicationSettingsOutput) GoString() string {
21799	return s.String()
21800}
21801
21802// SetApplicationSettingsResource sets the ApplicationSettingsResource field's value.
21803func (s *GetApplicationSettingsOutput) SetApplicationSettingsResource(v *ApplicationSettingsResource) *GetApplicationSettingsOutput {
21804	s.ApplicationSettingsResource = v
21805	return s
21806}
21807
21808type GetAppsInput struct {
21809	_ struct{} `type:"structure"`
21810
21811	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
21812
21813	Token *string `location:"querystring" locationName:"token" type:"string"`
21814}
21815
21816// String returns the string representation
21817func (s GetAppsInput) String() string {
21818	return awsutil.Prettify(s)
21819}
21820
21821// GoString returns the string representation
21822func (s GetAppsInput) GoString() string {
21823	return s.String()
21824}
21825
21826// SetPageSize sets the PageSize field's value.
21827func (s *GetAppsInput) SetPageSize(v string) *GetAppsInput {
21828	s.PageSize = &v
21829	return s
21830}
21831
21832// SetToken sets the Token field's value.
21833func (s *GetAppsInput) SetToken(v string) *GetAppsInput {
21834	s.Token = &v
21835	return s
21836}
21837
21838type GetAppsOutput struct {
21839	_ struct{} `type:"structure" payload:"ApplicationsResponse"`
21840
21841	// Provides information about all of your applications.
21842	//
21843	// ApplicationsResponse is a required field
21844	ApplicationsResponse *ApplicationsResponse `type:"structure" required:"true"`
21845}
21846
21847// String returns the string representation
21848func (s GetAppsOutput) String() string {
21849	return awsutil.Prettify(s)
21850}
21851
21852// GoString returns the string representation
21853func (s GetAppsOutput) GoString() string {
21854	return s.String()
21855}
21856
21857// SetApplicationsResponse sets the ApplicationsResponse field's value.
21858func (s *GetAppsOutput) SetApplicationsResponse(v *ApplicationsResponse) *GetAppsOutput {
21859	s.ApplicationsResponse = v
21860	return s
21861}
21862
21863type GetBaiduChannelInput struct {
21864	_ struct{} `type:"structure"`
21865
21866	// ApplicationId is a required field
21867	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21868}
21869
21870// String returns the string representation
21871func (s GetBaiduChannelInput) String() string {
21872	return awsutil.Prettify(s)
21873}
21874
21875// GoString returns the string representation
21876func (s GetBaiduChannelInput) GoString() string {
21877	return s.String()
21878}
21879
21880// Validate inspects the fields of the type to determine if they are valid.
21881func (s *GetBaiduChannelInput) Validate() error {
21882	invalidParams := request.ErrInvalidParams{Context: "GetBaiduChannelInput"}
21883	if s.ApplicationId == nil {
21884		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21885	}
21886	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21887		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21888	}
21889
21890	if invalidParams.Len() > 0 {
21891		return invalidParams
21892	}
21893	return nil
21894}
21895
21896// SetApplicationId sets the ApplicationId field's value.
21897func (s *GetBaiduChannelInput) SetApplicationId(v string) *GetBaiduChannelInput {
21898	s.ApplicationId = &v
21899	return s
21900}
21901
21902type GetBaiduChannelOutput struct {
21903	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
21904
21905	// Provides information about the status and settings of the Baidu (Baidu Cloud
21906	// Push) channel for an application.
21907	//
21908	// BaiduChannelResponse is a required field
21909	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
21910}
21911
21912// String returns the string representation
21913func (s GetBaiduChannelOutput) String() string {
21914	return awsutil.Prettify(s)
21915}
21916
21917// GoString returns the string representation
21918func (s GetBaiduChannelOutput) GoString() string {
21919	return s.String()
21920}
21921
21922// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
21923func (s *GetBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *GetBaiduChannelOutput {
21924	s.BaiduChannelResponse = v
21925	return s
21926}
21927
21928type GetCampaignActivitiesInput struct {
21929	_ struct{} `type:"structure"`
21930
21931	// ApplicationId is a required field
21932	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21933
21934	// CampaignId is a required field
21935	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
21936
21937	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
21938
21939	Token *string `location:"querystring" locationName:"token" type:"string"`
21940}
21941
21942// String returns the string representation
21943func (s GetCampaignActivitiesInput) String() string {
21944	return awsutil.Prettify(s)
21945}
21946
21947// GoString returns the string representation
21948func (s GetCampaignActivitiesInput) GoString() string {
21949	return s.String()
21950}
21951
21952// Validate inspects the fields of the type to determine if they are valid.
21953func (s *GetCampaignActivitiesInput) Validate() error {
21954	invalidParams := request.ErrInvalidParams{Context: "GetCampaignActivitiesInput"}
21955	if s.ApplicationId == nil {
21956		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21957	}
21958	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21959		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21960	}
21961	if s.CampaignId == nil {
21962		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
21963	}
21964	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
21965		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
21966	}
21967
21968	if invalidParams.Len() > 0 {
21969		return invalidParams
21970	}
21971	return nil
21972}
21973
21974// SetApplicationId sets the ApplicationId field's value.
21975func (s *GetCampaignActivitiesInput) SetApplicationId(v string) *GetCampaignActivitiesInput {
21976	s.ApplicationId = &v
21977	return s
21978}
21979
21980// SetCampaignId sets the CampaignId field's value.
21981func (s *GetCampaignActivitiesInput) SetCampaignId(v string) *GetCampaignActivitiesInput {
21982	s.CampaignId = &v
21983	return s
21984}
21985
21986// SetPageSize sets the PageSize field's value.
21987func (s *GetCampaignActivitiesInput) SetPageSize(v string) *GetCampaignActivitiesInput {
21988	s.PageSize = &v
21989	return s
21990}
21991
21992// SetToken sets the Token field's value.
21993func (s *GetCampaignActivitiesInput) SetToken(v string) *GetCampaignActivitiesInput {
21994	s.Token = &v
21995	return s
21996}
21997
21998type GetCampaignActivitiesOutput struct {
21999	_ struct{} `type:"structure" payload:"ActivitiesResponse"`
22000
22001	// Provides information about the activities that were performed by a campaign.
22002	//
22003	// ActivitiesResponse is a required field
22004	ActivitiesResponse *ActivitiesResponse `type:"structure" required:"true"`
22005}
22006
22007// String returns the string representation
22008func (s GetCampaignActivitiesOutput) String() string {
22009	return awsutil.Prettify(s)
22010}
22011
22012// GoString returns the string representation
22013func (s GetCampaignActivitiesOutput) GoString() string {
22014	return s.String()
22015}
22016
22017// SetActivitiesResponse sets the ActivitiesResponse field's value.
22018func (s *GetCampaignActivitiesOutput) SetActivitiesResponse(v *ActivitiesResponse) *GetCampaignActivitiesOutput {
22019	s.ActivitiesResponse = v
22020	return s
22021}
22022
22023type GetCampaignDateRangeKpiInput struct {
22024	_ struct{} `type:"structure"`
22025
22026	// ApplicationId is a required field
22027	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22028
22029	// CampaignId is a required field
22030	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
22031
22032	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
22033
22034	// KpiName is a required field
22035	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
22036
22037	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
22038
22039	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
22040
22041	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
22042}
22043
22044// String returns the string representation
22045func (s GetCampaignDateRangeKpiInput) String() string {
22046	return awsutil.Prettify(s)
22047}
22048
22049// GoString returns the string representation
22050func (s GetCampaignDateRangeKpiInput) GoString() string {
22051	return s.String()
22052}
22053
22054// Validate inspects the fields of the type to determine if they are valid.
22055func (s *GetCampaignDateRangeKpiInput) Validate() error {
22056	invalidParams := request.ErrInvalidParams{Context: "GetCampaignDateRangeKpiInput"}
22057	if s.ApplicationId == nil {
22058		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22059	}
22060	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22061		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22062	}
22063	if s.CampaignId == nil {
22064		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
22065	}
22066	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
22067		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
22068	}
22069	if s.KpiName == nil {
22070		invalidParams.Add(request.NewErrParamRequired("KpiName"))
22071	}
22072	if s.KpiName != nil && len(*s.KpiName) < 1 {
22073		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
22074	}
22075
22076	if invalidParams.Len() > 0 {
22077		return invalidParams
22078	}
22079	return nil
22080}
22081
22082// SetApplicationId sets the ApplicationId field's value.
22083func (s *GetCampaignDateRangeKpiInput) SetApplicationId(v string) *GetCampaignDateRangeKpiInput {
22084	s.ApplicationId = &v
22085	return s
22086}
22087
22088// SetCampaignId sets the CampaignId field's value.
22089func (s *GetCampaignDateRangeKpiInput) SetCampaignId(v string) *GetCampaignDateRangeKpiInput {
22090	s.CampaignId = &v
22091	return s
22092}
22093
22094// SetEndTime sets the EndTime field's value.
22095func (s *GetCampaignDateRangeKpiInput) SetEndTime(v time.Time) *GetCampaignDateRangeKpiInput {
22096	s.EndTime = &v
22097	return s
22098}
22099
22100// SetKpiName sets the KpiName field's value.
22101func (s *GetCampaignDateRangeKpiInput) SetKpiName(v string) *GetCampaignDateRangeKpiInput {
22102	s.KpiName = &v
22103	return s
22104}
22105
22106// SetNextToken sets the NextToken field's value.
22107func (s *GetCampaignDateRangeKpiInput) SetNextToken(v string) *GetCampaignDateRangeKpiInput {
22108	s.NextToken = &v
22109	return s
22110}
22111
22112// SetPageSize sets the PageSize field's value.
22113func (s *GetCampaignDateRangeKpiInput) SetPageSize(v string) *GetCampaignDateRangeKpiInput {
22114	s.PageSize = &v
22115	return s
22116}
22117
22118// SetStartTime sets the StartTime field's value.
22119func (s *GetCampaignDateRangeKpiInput) SetStartTime(v time.Time) *GetCampaignDateRangeKpiInput {
22120	s.StartTime = &v
22121	return s
22122}
22123
22124type GetCampaignDateRangeKpiOutput struct {
22125	_ struct{} `type:"structure" payload:"CampaignDateRangeKpiResponse"`
22126
22127	// Provides the results of a query that retrieved the data for a standard metric
22128	// that applies to a campaign, and provides information about that query.
22129	//
22130	// CampaignDateRangeKpiResponse is a required field
22131	CampaignDateRangeKpiResponse *CampaignDateRangeKpiResponse `type:"structure" required:"true"`
22132}
22133
22134// String returns the string representation
22135func (s GetCampaignDateRangeKpiOutput) String() string {
22136	return awsutil.Prettify(s)
22137}
22138
22139// GoString returns the string representation
22140func (s GetCampaignDateRangeKpiOutput) GoString() string {
22141	return s.String()
22142}
22143
22144// SetCampaignDateRangeKpiResponse sets the CampaignDateRangeKpiResponse field's value.
22145func (s *GetCampaignDateRangeKpiOutput) SetCampaignDateRangeKpiResponse(v *CampaignDateRangeKpiResponse) *GetCampaignDateRangeKpiOutput {
22146	s.CampaignDateRangeKpiResponse = v
22147	return s
22148}
22149
22150type GetCampaignInput struct {
22151	_ struct{} `type:"structure"`
22152
22153	// ApplicationId is a required field
22154	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22155
22156	// CampaignId is a required field
22157	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
22158}
22159
22160// String returns the string representation
22161func (s GetCampaignInput) String() string {
22162	return awsutil.Prettify(s)
22163}
22164
22165// GoString returns the string representation
22166func (s GetCampaignInput) GoString() string {
22167	return s.String()
22168}
22169
22170// Validate inspects the fields of the type to determine if they are valid.
22171func (s *GetCampaignInput) Validate() error {
22172	invalidParams := request.ErrInvalidParams{Context: "GetCampaignInput"}
22173	if s.ApplicationId == nil {
22174		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22175	}
22176	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22177		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22178	}
22179	if s.CampaignId == nil {
22180		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
22181	}
22182	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
22183		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
22184	}
22185
22186	if invalidParams.Len() > 0 {
22187		return invalidParams
22188	}
22189	return nil
22190}
22191
22192// SetApplicationId sets the ApplicationId field's value.
22193func (s *GetCampaignInput) SetApplicationId(v string) *GetCampaignInput {
22194	s.ApplicationId = &v
22195	return s
22196}
22197
22198// SetCampaignId sets the CampaignId field's value.
22199func (s *GetCampaignInput) SetCampaignId(v string) *GetCampaignInput {
22200	s.CampaignId = &v
22201	return s
22202}
22203
22204type GetCampaignOutput struct {
22205	_ struct{} `type:"structure" payload:"CampaignResponse"`
22206
22207	// Provides information about the status, configuration, and other settings
22208	// for a campaign.
22209	//
22210	// CampaignResponse is a required field
22211	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
22212}
22213
22214// String returns the string representation
22215func (s GetCampaignOutput) String() string {
22216	return awsutil.Prettify(s)
22217}
22218
22219// GoString returns the string representation
22220func (s GetCampaignOutput) GoString() string {
22221	return s.String()
22222}
22223
22224// SetCampaignResponse sets the CampaignResponse field's value.
22225func (s *GetCampaignOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignOutput {
22226	s.CampaignResponse = v
22227	return s
22228}
22229
22230type GetCampaignVersionInput struct {
22231	_ struct{} `type:"structure"`
22232
22233	// ApplicationId is a required field
22234	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22235
22236	// CampaignId is a required field
22237	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
22238
22239	// Version is a required field
22240	Version *string `location:"uri" locationName:"version" type:"string" required:"true"`
22241}
22242
22243// String returns the string representation
22244func (s GetCampaignVersionInput) String() string {
22245	return awsutil.Prettify(s)
22246}
22247
22248// GoString returns the string representation
22249func (s GetCampaignVersionInput) GoString() string {
22250	return s.String()
22251}
22252
22253// Validate inspects the fields of the type to determine if they are valid.
22254func (s *GetCampaignVersionInput) Validate() error {
22255	invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionInput"}
22256	if s.ApplicationId == nil {
22257		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22258	}
22259	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22260		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22261	}
22262	if s.CampaignId == nil {
22263		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
22264	}
22265	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
22266		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
22267	}
22268	if s.Version == nil {
22269		invalidParams.Add(request.NewErrParamRequired("Version"))
22270	}
22271	if s.Version != nil && len(*s.Version) < 1 {
22272		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
22273	}
22274
22275	if invalidParams.Len() > 0 {
22276		return invalidParams
22277	}
22278	return nil
22279}
22280
22281// SetApplicationId sets the ApplicationId field's value.
22282func (s *GetCampaignVersionInput) SetApplicationId(v string) *GetCampaignVersionInput {
22283	s.ApplicationId = &v
22284	return s
22285}
22286
22287// SetCampaignId sets the CampaignId field's value.
22288func (s *GetCampaignVersionInput) SetCampaignId(v string) *GetCampaignVersionInput {
22289	s.CampaignId = &v
22290	return s
22291}
22292
22293// SetVersion sets the Version field's value.
22294func (s *GetCampaignVersionInput) SetVersion(v string) *GetCampaignVersionInput {
22295	s.Version = &v
22296	return s
22297}
22298
22299type GetCampaignVersionOutput struct {
22300	_ struct{} `type:"structure" payload:"CampaignResponse"`
22301
22302	// Provides information about the status, configuration, and other settings
22303	// for a campaign.
22304	//
22305	// CampaignResponse is a required field
22306	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
22307}
22308
22309// String returns the string representation
22310func (s GetCampaignVersionOutput) String() string {
22311	return awsutil.Prettify(s)
22312}
22313
22314// GoString returns the string representation
22315func (s GetCampaignVersionOutput) GoString() string {
22316	return s.String()
22317}
22318
22319// SetCampaignResponse sets the CampaignResponse field's value.
22320func (s *GetCampaignVersionOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignVersionOutput {
22321	s.CampaignResponse = v
22322	return s
22323}
22324
22325type GetCampaignVersionsInput struct {
22326	_ struct{} `type:"structure"`
22327
22328	// ApplicationId is a required field
22329	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22330
22331	// CampaignId is a required field
22332	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
22333
22334	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
22335
22336	Token *string `location:"querystring" locationName:"token" type:"string"`
22337}
22338
22339// String returns the string representation
22340func (s GetCampaignVersionsInput) String() string {
22341	return awsutil.Prettify(s)
22342}
22343
22344// GoString returns the string representation
22345func (s GetCampaignVersionsInput) GoString() string {
22346	return s.String()
22347}
22348
22349// Validate inspects the fields of the type to determine if they are valid.
22350func (s *GetCampaignVersionsInput) Validate() error {
22351	invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionsInput"}
22352	if s.ApplicationId == nil {
22353		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22354	}
22355	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22356		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22357	}
22358	if s.CampaignId == nil {
22359		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
22360	}
22361	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
22362		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
22363	}
22364
22365	if invalidParams.Len() > 0 {
22366		return invalidParams
22367	}
22368	return nil
22369}
22370
22371// SetApplicationId sets the ApplicationId field's value.
22372func (s *GetCampaignVersionsInput) SetApplicationId(v string) *GetCampaignVersionsInput {
22373	s.ApplicationId = &v
22374	return s
22375}
22376
22377// SetCampaignId sets the CampaignId field's value.
22378func (s *GetCampaignVersionsInput) SetCampaignId(v string) *GetCampaignVersionsInput {
22379	s.CampaignId = &v
22380	return s
22381}
22382
22383// SetPageSize sets the PageSize field's value.
22384func (s *GetCampaignVersionsInput) SetPageSize(v string) *GetCampaignVersionsInput {
22385	s.PageSize = &v
22386	return s
22387}
22388
22389// SetToken sets the Token field's value.
22390func (s *GetCampaignVersionsInput) SetToken(v string) *GetCampaignVersionsInput {
22391	s.Token = &v
22392	return s
22393}
22394
22395type GetCampaignVersionsOutput struct {
22396	_ struct{} `type:"structure" payload:"CampaignsResponse"`
22397
22398	// Provides information about the configuration and other settings for all the
22399	// campaigns that are associated with an application.
22400	//
22401	// CampaignsResponse is a required field
22402	CampaignsResponse *CampaignsResponse `type:"structure" required:"true"`
22403}
22404
22405// String returns the string representation
22406func (s GetCampaignVersionsOutput) String() string {
22407	return awsutil.Prettify(s)
22408}
22409
22410// GoString returns the string representation
22411func (s GetCampaignVersionsOutput) GoString() string {
22412	return s.String()
22413}
22414
22415// SetCampaignsResponse sets the CampaignsResponse field's value.
22416func (s *GetCampaignVersionsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignVersionsOutput {
22417	s.CampaignsResponse = v
22418	return s
22419}
22420
22421type GetCampaignsInput struct {
22422	_ struct{} `type:"structure"`
22423
22424	// ApplicationId is a required field
22425	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22426
22427	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
22428
22429	Token *string `location:"querystring" locationName:"token" type:"string"`
22430}
22431
22432// String returns the string representation
22433func (s GetCampaignsInput) String() string {
22434	return awsutil.Prettify(s)
22435}
22436
22437// GoString returns the string representation
22438func (s GetCampaignsInput) GoString() string {
22439	return s.String()
22440}
22441
22442// Validate inspects the fields of the type to determine if they are valid.
22443func (s *GetCampaignsInput) Validate() error {
22444	invalidParams := request.ErrInvalidParams{Context: "GetCampaignsInput"}
22445	if s.ApplicationId == nil {
22446		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22447	}
22448	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22449		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22450	}
22451
22452	if invalidParams.Len() > 0 {
22453		return invalidParams
22454	}
22455	return nil
22456}
22457
22458// SetApplicationId sets the ApplicationId field's value.
22459func (s *GetCampaignsInput) SetApplicationId(v string) *GetCampaignsInput {
22460	s.ApplicationId = &v
22461	return s
22462}
22463
22464// SetPageSize sets the PageSize field's value.
22465func (s *GetCampaignsInput) SetPageSize(v string) *GetCampaignsInput {
22466	s.PageSize = &v
22467	return s
22468}
22469
22470// SetToken sets the Token field's value.
22471func (s *GetCampaignsInput) SetToken(v string) *GetCampaignsInput {
22472	s.Token = &v
22473	return s
22474}
22475
22476type GetCampaignsOutput struct {
22477	_ struct{} `type:"structure" payload:"CampaignsResponse"`
22478
22479	// Provides information about the configuration and other settings for all the
22480	// campaigns that are associated with an application.
22481	//
22482	// CampaignsResponse is a required field
22483	CampaignsResponse *CampaignsResponse `type:"structure" required:"true"`
22484}
22485
22486// String returns the string representation
22487func (s GetCampaignsOutput) String() string {
22488	return awsutil.Prettify(s)
22489}
22490
22491// GoString returns the string representation
22492func (s GetCampaignsOutput) GoString() string {
22493	return s.String()
22494}
22495
22496// SetCampaignsResponse sets the CampaignsResponse field's value.
22497func (s *GetCampaignsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignsOutput {
22498	s.CampaignsResponse = v
22499	return s
22500}
22501
22502type GetChannelsInput struct {
22503	_ struct{} `type:"structure"`
22504
22505	// ApplicationId is a required field
22506	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22507}
22508
22509// String returns the string representation
22510func (s GetChannelsInput) String() string {
22511	return awsutil.Prettify(s)
22512}
22513
22514// GoString returns the string representation
22515func (s GetChannelsInput) GoString() string {
22516	return s.String()
22517}
22518
22519// Validate inspects the fields of the type to determine if they are valid.
22520func (s *GetChannelsInput) Validate() error {
22521	invalidParams := request.ErrInvalidParams{Context: "GetChannelsInput"}
22522	if s.ApplicationId == nil {
22523		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22524	}
22525	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22526		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22527	}
22528
22529	if invalidParams.Len() > 0 {
22530		return invalidParams
22531	}
22532	return nil
22533}
22534
22535// SetApplicationId sets the ApplicationId field's value.
22536func (s *GetChannelsInput) SetApplicationId(v string) *GetChannelsInput {
22537	s.ApplicationId = &v
22538	return s
22539}
22540
22541type GetChannelsOutput struct {
22542	_ struct{} `type:"structure" payload:"ChannelsResponse"`
22543
22544	// Provides information about the general settings and status of all channels
22545	// for an application, including channels that aren't enabled for the application.
22546	//
22547	// ChannelsResponse is a required field
22548	ChannelsResponse *ChannelsResponse `type:"structure" required:"true"`
22549}
22550
22551// String returns the string representation
22552func (s GetChannelsOutput) String() string {
22553	return awsutil.Prettify(s)
22554}
22555
22556// GoString returns the string representation
22557func (s GetChannelsOutput) GoString() string {
22558	return s.String()
22559}
22560
22561// SetChannelsResponse sets the ChannelsResponse field's value.
22562func (s *GetChannelsOutput) SetChannelsResponse(v *ChannelsResponse) *GetChannelsOutput {
22563	s.ChannelsResponse = v
22564	return s
22565}
22566
22567type GetEmailChannelInput struct {
22568	_ struct{} `type:"structure"`
22569
22570	// ApplicationId is a required field
22571	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22572}
22573
22574// String returns the string representation
22575func (s GetEmailChannelInput) String() string {
22576	return awsutil.Prettify(s)
22577}
22578
22579// GoString returns the string representation
22580func (s GetEmailChannelInput) GoString() string {
22581	return s.String()
22582}
22583
22584// Validate inspects the fields of the type to determine if they are valid.
22585func (s *GetEmailChannelInput) Validate() error {
22586	invalidParams := request.ErrInvalidParams{Context: "GetEmailChannelInput"}
22587	if s.ApplicationId == nil {
22588		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22589	}
22590	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22591		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22592	}
22593
22594	if invalidParams.Len() > 0 {
22595		return invalidParams
22596	}
22597	return nil
22598}
22599
22600// SetApplicationId sets the ApplicationId field's value.
22601func (s *GetEmailChannelInput) SetApplicationId(v string) *GetEmailChannelInput {
22602	s.ApplicationId = &v
22603	return s
22604}
22605
22606type GetEmailChannelOutput struct {
22607	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
22608
22609	// Provides information about the status and settings of the email channel for
22610	// an application.
22611	//
22612	// EmailChannelResponse is a required field
22613	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
22614}
22615
22616// String returns the string representation
22617func (s GetEmailChannelOutput) String() string {
22618	return awsutil.Prettify(s)
22619}
22620
22621// GoString returns the string representation
22622func (s GetEmailChannelOutput) GoString() string {
22623	return s.String()
22624}
22625
22626// SetEmailChannelResponse sets the EmailChannelResponse field's value.
22627func (s *GetEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *GetEmailChannelOutput {
22628	s.EmailChannelResponse = v
22629	return s
22630}
22631
22632type GetEmailTemplateInput struct {
22633	_ struct{} `type:"structure"`
22634
22635	// TemplateName is a required field
22636	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
22637
22638	Version *string `location:"querystring" locationName:"version" type:"string"`
22639}
22640
22641// String returns the string representation
22642func (s GetEmailTemplateInput) String() string {
22643	return awsutil.Prettify(s)
22644}
22645
22646// GoString returns the string representation
22647func (s GetEmailTemplateInput) GoString() string {
22648	return s.String()
22649}
22650
22651// Validate inspects the fields of the type to determine if they are valid.
22652func (s *GetEmailTemplateInput) Validate() error {
22653	invalidParams := request.ErrInvalidParams{Context: "GetEmailTemplateInput"}
22654	if s.TemplateName == nil {
22655		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
22656	}
22657	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
22658		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
22659	}
22660
22661	if invalidParams.Len() > 0 {
22662		return invalidParams
22663	}
22664	return nil
22665}
22666
22667// SetTemplateName sets the TemplateName field's value.
22668func (s *GetEmailTemplateInput) SetTemplateName(v string) *GetEmailTemplateInput {
22669	s.TemplateName = &v
22670	return s
22671}
22672
22673// SetVersion sets the Version field's value.
22674func (s *GetEmailTemplateInput) SetVersion(v string) *GetEmailTemplateInput {
22675	s.Version = &v
22676	return s
22677}
22678
22679type GetEmailTemplateOutput struct {
22680	_ struct{} `type:"structure" payload:"EmailTemplateResponse"`
22681
22682	// Provides information about the content and settings for a message template
22683	// that can be used in messages that are sent through the email channel.
22684	//
22685	// EmailTemplateResponse is a required field
22686	EmailTemplateResponse *EmailTemplateResponse `type:"structure" required:"true"`
22687}
22688
22689// String returns the string representation
22690func (s GetEmailTemplateOutput) String() string {
22691	return awsutil.Prettify(s)
22692}
22693
22694// GoString returns the string representation
22695func (s GetEmailTemplateOutput) GoString() string {
22696	return s.String()
22697}
22698
22699// SetEmailTemplateResponse sets the EmailTemplateResponse field's value.
22700func (s *GetEmailTemplateOutput) SetEmailTemplateResponse(v *EmailTemplateResponse) *GetEmailTemplateOutput {
22701	s.EmailTemplateResponse = v
22702	return s
22703}
22704
22705type GetEndpointInput struct {
22706	_ struct{} `type:"structure"`
22707
22708	// ApplicationId is a required field
22709	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22710
22711	// EndpointId is a required field
22712	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
22713}
22714
22715// String returns the string representation
22716func (s GetEndpointInput) String() string {
22717	return awsutil.Prettify(s)
22718}
22719
22720// GoString returns the string representation
22721func (s GetEndpointInput) GoString() string {
22722	return s.String()
22723}
22724
22725// Validate inspects the fields of the type to determine if they are valid.
22726func (s *GetEndpointInput) Validate() error {
22727	invalidParams := request.ErrInvalidParams{Context: "GetEndpointInput"}
22728	if s.ApplicationId == nil {
22729		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22730	}
22731	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22732		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22733	}
22734	if s.EndpointId == nil {
22735		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
22736	}
22737	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
22738		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
22739	}
22740
22741	if invalidParams.Len() > 0 {
22742		return invalidParams
22743	}
22744	return nil
22745}
22746
22747// SetApplicationId sets the ApplicationId field's value.
22748func (s *GetEndpointInput) SetApplicationId(v string) *GetEndpointInput {
22749	s.ApplicationId = &v
22750	return s
22751}
22752
22753// SetEndpointId sets the EndpointId field's value.
22754func (s *GetEndpointInput) SetEndpointId(v string) *GetEndpointInput {
22755	s.EndpointId = &v
22756	return s
22757}
22758
22759type GetEndpointOutput struct {
22760	_ struct{} `type:"structure" payload:"EndpointResponse"`
22761
22762	// Provides information about the channel type and other settings for an endpoint.
22763	//
22764	// EndpointResponse is a required field
22765	EndpointResponse *EndpointResponse `type:"structure" required:"true"`
22766}
22767
22768// String returns the string representation
22769func (s GetEndpointOutput) String() string {
22770	return awsutil.Prettify(s)
22771}
22772
22773// GoString returns the string representation
22774func (s GetEndpointOutput) GoString() string {
22775	return s.String()
22776}
22777
22778// SetEndpointResponse sets the EndpointResponse field's value.
22779func (s *GetEndpointOutput) SetEndpointResponse(v *EndpointResponse) *GetEndpointOutput {
22780	s.EndpointResponse = v
22781	return s
22782}
22783
22784type GetEventStreamInput struct {
22785	_ struct{} `type:"structure"`
22786
22787	// ApplicationId is a required field
22788	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22789}
22790
22791// String returns the string representation
22792func (s GetEventStreamInput) String() string {
22793	return awsutil.Prettify(s)
22794}
22795
22796// GoString returns the string representation
22797func (s GetEventStreamInput) GoString() string {
22798	return s.String()
22799}
22800
22801// Validate inspects the fields of the type to determine if they are valid.
22802func (s *GetEventStreamInput) Validate() error {
22803	invalidParams := request.ErrInvalidParams{Context: "GetEventStreamInput"}
22804	if s.ApplicationId == nil {
22805		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22806	}
22807	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22808		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22809	}
22810
22811	if invalidParams.Len() > 0 {
22812		return invalidParams
22813	}
22814	return nil
22815}
22816
22817// SetApplicationId sets the ApplicationId field's value.
22818func (s *GetEventStreamInput) SetApplicationId(v string) *GetEventStreamInput {
22819	s.ApplicationId = &v
22820	return s
22821}
22822
22823type GetEventStreamOutput struct {
22824	_ struct{} `type:"structure" payload:"EventStream"`
22825
22826	// Specifies settings for publishing event data to an Amazon Kinesis data stream
22827	// or an Amazon Kinesis Data Firehose delivery stream.
22828	//
22829	// EventStream is a required field
22830	EventStream *EventStream `type:"structure" required:"true"`
22831}
22832
22833// String returns the string representation
22834func (s GetEventStreamOutput) String() string {
22835	return awsutil.Prettify(s)
22836}
22837
22838// GoString returns the string representation
22839func (s GetEventStreamOutput) GoString() string {
22840	return s.String()
22841}
22842
22843// SetEventStream sets the EventStream field's value.
22844func (s *GetEventStreamOutput) SetEventStream(v *EventStream) *GetEventStreamOutput {
22845	s.EventStream = v
22846	return s
22847}
22848
22849type GetExportJobInput struct {
22850	_ struct{} `type:"structure"`
22851
22852	// ApplicationId is a required field
22853	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22854
22855	// JobId is a required field
22856	JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"`
22857}
22858
22859// String returns the string representation
22860func (s GetExportJobInput) String() string {
22861	return awsutil.Prettify(s)
22862}
22863
22864// GoString returns the string representation
22865func (s GetExportJobInput) GoString() string {
22866	return s.String()
22867}
22868
22869// Validate inspects the fields of the type to determine if they are valid.
22870func (s *GetExportJobInput) Validate() error {
22871	invalidParams := request.ErrInvalidParams{Context: "GetExportJobInput"}
22872	if s.ApplicationId == nil {
22873		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22874	}
22875	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22876		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22877	}
22878	if s.JobId == nil {
22879		invalidParams.Add(request.NewErrParamRequired("JobId"))
22880	}
22881	if s.JobId != nil && len(*s.JobId) < 1 {
22882		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
22883	}
22884
22885	if invalidParams.Len() > 0 {
22886		return invalidParams
22887	}
22888	return nil
22889}
22890
22891// SetApplicationId sets the ApplicationId field's value.
22892func (s *GetExportJobInput) SetApplicationId(v string) *GetExportJobInput {
22893	s.ApplicationId = &v
22894	return s
22895}
22896
22897// SetJobId sets the JobId field's value.
22898func (s *GetExportJobInput) SetJobId(v string) *GetExportJobInput {
22899	s.JobId = &v
22900	return s
22901}
22902
22903type GetExportJobOutput struct {
22904	_ struct{} `type:"structure" payload:"ExportJobResponse"`
22905
22906	// Provides information about the status and settings of a job that exports
22907	// endpoint definitions to a file. The file can be added directly to an Amazon
22908	// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
22909	// or downloaded directly to a computer by using the Amazon Pinpoint console.
22910	//
22911	// ExportJobResponse is a required field
22912	ExportJobResponse *ExportJobResponse `type:"structure" required:"true"`
22913}
22914
22915// String returns the string representation
22916func (s GetExportJobOutput) String() string {
22917	return awsutil.Prettify(s)
22918}
22919
22920// GoString returns the string representation
22921func (s GetExportJobOutput) GoString() string {
22922	return s.String()
22923}
22924
22925// SetExportJobResponse sets the ExportJobResponse field's value.
22926func (s *GetExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *GetExportJobOutput {
22927	s.ExportJobResponse = v
22928	return s
22929}
22930
22931type GetExportJobsInput struct {
22932	_ struct{} `type:"structure"`
22933
22934	// ApplicationId is a required field
22935	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22936
22937	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
22938
22939	Token *string `location:"querystring" locationName:"token" type:"string"`
22940}
22941
22942// String returns the string representation
22943func (s GetExportJobsInput) String() string {
22944	return awsutil.Prettify(s)
22945}
22946
22947// GoString returns the string representation
22948func (s GetExportJobsInput) GoString() string {
22949	return s.String()
22950}
22951
22952// Validate inspects the fields of the type to determine if they are valid.
22953func (s *GetExportJobsInput) Validate() error {
22954	invalidParams := request.ErrInvalidParams{Context: "GetExportJobsInput"}
22955	if s.ApplicationId == nil {
22956		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22957	}
22958	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22959		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22960	}
22961
22962	if invalidParams.Len() > 0 {
22963		return invalidParams
22964	}
22965	return nil
22966}
22967
22968// SetApplicationId sets the ApplicationId field's value.
22969func (s *GetExportJobsInput) SetApplicationId(v string) *GetExportJobsInput {
22970	s.ApplicationId = &v
22971	return s
22972}
22973
22974// SetPageSize sets the PageSize field's value.
22975func (s *GetExportJobsInput) SetPageSize(v string) *GetExportJobsInput {
22976	s.PageSize = &v
22977	return s
22978}
22979
22980// SetToken sets the Token field's value.
22981func (s *GetExportJobsInput) SetToken(v string) *GetExportJobsInput {
22982	s.Token = &v
22983	return s
22984}
22985
22986type GetExportJobsOutput struct {
22987	_ struct{} `type:"structure" payload:"ExportJobsResponse"`
22988
22989	// Provides information about all the export jobs that are associated with an
22990	// application or segment. An export job is a job that exports endpoint definitions
22991	// to a file.
22992	//
22993	// ExportJobsResponse is a required field
22994	ExportJobsResponse *ExportJobsResponse `type:"structure" required:"true"`
22995}
22996
22997// String returns the string representation
22998func (s GetExportJobsOutput) String() string {
22999	return awsutil.Prettify(s)
23000}
23001
23002// GoString returns the string representation
23003func (s GetExportJobsOutput) GoString() string {
23004	return s.String()
23005}
23006
23007// SetExportJobsResponse sets the ExportJobsResponse field's value.
23008func (s *GetExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetExportJobsOutput {
23009	s.ExportJobsResponse = v
23010	return s
23011}
23012
23013type GetGcmChannelInput struct {
23014	_ struct{} `type:"structure"`
23015
23016	// ApplicationId is a required field
23017	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23018}
23019
23020// String returns the string representation
23021func (s GetGcmChannelInput) String() string {
23022	return awsutil.Prettify(s)
23023}
23024
23025// GoString returns the string representation
23026func (s GetGcmChannelInput) GoString() string {
23027	return s.String()
23028}
23029
23030// Validate inspects the fields of the type to determine if they are valid.
23031func (s *GetGcmChannelInput) Validate() error {
23032	invalidParams := request.ErrInvalidParams{Context: "GetGcmChannelInput"}
23033	if s.ApplicationId == nil {
23034		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23035	}
23036	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23037		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23038	}
23039
23040	if invalidParams.Len() > 0 {
23041		return invalidParams
23042	}
23043	return nil
23044}
23045
23046// SetApplicationId sets the ApplicationId field's value.
23047func (s *GetGcmChannelInput) SetApplicationId(v string) *GetGcmChannelInput {
23048	s.ApplicationId = &v
23049	return s
23050}
23051
23052type GetGcmChannelOutput struct {
23053	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
23054
23055	// Provides information about the status and settings of the GCM channel for
23056	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
23057	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
23058	// (GCM), service.
23059	//
23060	// GCMChannelResponse is a required field
23061	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
23062}
23063
23064// String returns the string representation
23065func (s GetGcmChannelOutput) String() string {
23066	return awsutil.Prettify(s)
23067}
23068
23069// GoString returns the string representation
23070func (s GetGcmChannelOutput) GoString() string {
23071	return s.String()
23072}
23073
23074// SetGCMChannelResponse sets the GCMChannelResponse field's value.
23075func (s *GetGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *GetGcmChannelOutput {
23076	s.GCMChannelResponse = v
23077	return s
23078}
23079
23080type GetImportJobInput struct {
23081	_ struct{} `type:"structure"`
23082
23083	// ApplicationId is a required field
23084	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23085
23086	// JobId is a required field
23087	JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"`
23088}
23089
23090// String returns the string representation
23091func (s GetImportJobInput) String() string {
23092	return awsutil.Prettify(s)
23093}
23094
23095// GoString returns the string representation
23096func (s GetImportJobInput) GoString() string {
23097	return s.String()
23098}
23099
23100// Validate inspects the fields of the type to determine if they are valid.
23101func (s *GetImportJobInput) Validate() error {
23102	invalidParams := request.ErrInvalidParams{Context: "GetImportJobInput"}
23103	if s.ApplicationId == nil {
23104		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23105	}
23106	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23107		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23108	}
23109	if s.JobId == nil {
23110		invalidParams.Add(request.NewErrParamRequired("JobId"))
23111	}
23112	if s.JobId != nil && len(*s.JobId) < 1 {
23113		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
23114	}
23115
23116	if invalidParams.Len() > 0 {
23117		return invalidParams
23118	}
23119	return nil
23120}
23121
23122// SetApplicationId sets the ApplicationId field's value.
23123func (s *GetImportJobInput) SetApplicationId(v string) *GetImportJobInput {
23124	s.ApplicationId = &v
23125	return s
23126}
23127
23128// SetJobId sets the JobId field's value.
23129func (s *GetImportJobInput) SetJobId(v string) *GetImportJobInput {
23130	s.JobId = &v
23131	return s
23132}
23133
23134type GetImportJobOutput struct {
23135	_ struct{} `type:"structure" payload:"ImportJobResponse"`
23136
23137	// Provides information about the status and settings of a job that imports
23138	// endpoint definitions from one or more files. The files can be stored in an
23139	// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
23140	// a computer by using the Amazon Pinpoint console.
23141	//
23142	// ImportJobResponse is a required field
23143	ImportJobResponse *ImportJobResponse `type:"structure" required:"true"`
23144}
23145
23146// String returns the string representation
23147func (s GetImportJobOutput) String() string {
23148	return awsutil.Prettify(s)
23149}
23150
23151// GoString returns the string representation
23152func (s GetImportJobOutput) GoString() string {
23153	return s.String()
23154}
23155
23156// SetImportJobResponse sets the ImportJobResponse field's value.
23157func (s *GetImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *GetImportJobOutput {
23158	s.ImportJobResponse = v
23159	return s
23160}
23161
23162type GetImportJobsInput struct {
23163	_ struct{} `type:"structure"`
23164
23165	// ApplicationId is a required field
23166	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23167
23168	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
23169
23170	Token *string `location:"querystring" locationName:"token" type:"string"`
23171}
23172
23173// String returns the string representation
23174func (s GetImportJobsInput) String() string {
23175	return awsutil.Prettify(s)
23176}
23177
23178// GoString returns the string representation
23179func (s GetImportJobsInput) GoString() string {
23180	return s.String()
23181}
23182
23183// Validate inspects the fields of the type to determine if they are valid.
23184func (s *GetImportJobsInput) Validate() error {
23185	invalidParams := request.ErrInvalidParams{Context: "GetImportJobsInput"}
23186	if s.ApplicationId == nil {
23187		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23188	}
23189	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23190		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23191	}
23192
23193	if invalidParams.Len() > 0 {
23194		return invalidParams
23195	}
23196	return nil
23197}
23198
23199// SetApplicationId sets the ApplicationId field's value.
23200func (s *GetImportJobsInput) SetApplicationId(v string) *GetImportJobsInput {
23201	s.ApplicationId = &v
23202	return s
23203}
23204
23205// SetPageSize sets the PageSize field's value.
23206func (s *GetImportJobsInput) SetPageSize(v string) *GetImportJobsInput {
23207	s.PageSize = &v
23208	return s
23209}
23210
23211// SetToken sets the Token field's value.
23212func (s *GetImportJobsInput) SetToken(v string) *GetImportJobsInput {
23213	s.Token = &v
23214	return s
23215}
23216
23217type GetImportJobsOutput struct {
23218	_ struct{} `type:"structure" payload:"ImportJobsResponse"`
23219
23220	// Provides information about the status and settings of all the import jobs
23221	// that are associated with an application or segment. An import job is a job
23222	// that imports endpoint definitions from one or more files.
23223	//
23224	// ImportJobsResponse is a required field
23225	ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"`
23226}
23227
23228// String returns the string representation
23229func (s GetImportJobsOutput) String() string {
23230	return awsutil.Prettify(s)
23231}
23232
23233// GoString returns the string representation
23234func (s GetImportJobsOutput) GoString() string {
23235	return s.String()
23236}
23237
23238// SetImportJobsResponse sets the ImportJobsResponse field's value.
23239func (s *GetImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetImportJobsOutput {
23240	s.ImportJobsResponse = v
23241	return s
23242}
23243
23244type GetJourneyDateRangeKpiInput struct {
23245	_ struct{} `type:"structure"`
23246
23247	// ApplicationId is a required field
23248	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23249
23250	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
23251
23252	// JourneyId is a required field
23253	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
23254
23255	// KpiName is a required field
23256	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
23257
23258	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
23259
23260	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
23261
23262	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
23263}
23264
23265// String returns the string representation
23266func (s GetJourneyDateRangeKpiInput) String() string {
23267	return awsutil.Prettify(s)
23268}
23269
23270// GoString returns the string representation
23271func (s GetJourneyDateRangeKpiInput) GoString() string {
23272	return s.String()
23273}
23274
23275// Validate inspects the fields of the type to determine if they are valid.
23276func (s *GetJourneyDateRangeKpiInput) Validate() error {
23277	invalidParams := request.ErrInvalidParams{Context: "GetJourneyDateRangeKpiInput"}
23278	if s.ApplicationId == nil {
23279		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23280	}
23281	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23282		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23283	}
23284	if s.JourneyId == nil {
23285		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
23286	}
23287	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
23288		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
23289	}
23290	if s.KpiName == nil {
23291		invalidParams.Add(request.NewErrParamRequired("KpiName"))
23292	}
23293	if s.KpiName != nil && len(*s.KpiName) < 1 {
23294		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
23295	}
23296
23297	if invalidParams.Len() > 0 {
23298		return invalidParams
23299	}
23300	return nil
23301}
23302
23303// SetApplicationId sets the ApplicationId field's value.
23304func (s *GetJourneyDateRangeKpiInput) SetApplicationId(v string) *GetJourneyDateRangeKpiInput {
23305	s.ApplicationId = &v
23306	return s
23307}
23308
23309// SetEndTime sets the EndTime field's value.
23310func (s *GetJourneyDateRangeKpiInput) SetEndTime(v time.Time) *GetJourneyDateRangeKpiInput {
23311	s.EndTime = &v
23312	return s
23313}
23314
23315// SetJourneyId sets the JourneyId field's value.
23316func (s *GetJourneyDateRangeKpiInput) SetJourneyId(v string) *GetJourneyDateRangeKpiInput {
23317	s.JourneyId = &v
23318	return s
23319}
23320
23321// SetKpiName sets the KpiName field's value.
23322func (s *GetJourneyDateRangeKpiInput) SetKpiName(v string) *GetJourneyDateRangeKpiInput {
23323	s.KpiName = &v
23324	return s
23325}
23326
23327// SetNextToken sets the NextToken field's value.
23328func (s *GetJourneyDateRangeKpiInput) SetNextToken(v string) *GetJourneyDateRangeKpiInput {
23329	s.NextToken = &v
23330	return s
23331}
23332
23333// SetPageSize sets the PageSize field's value.
23334func (s *GetJourneyDateRangeKpiInput) SetPageSize(v string) *GetJourneyDateRangeKpiInput {
23335	s.PageSize = &v
23336	return s
23337}
23338
23339// SetStartTime sets the StartTime field's value.
23340func (s *GetJourneyDateRangeKpiInput) SetStartTime(v time.Time) *GetJourneyDateRangeKpiInput {
23341	s.StartTime = &v
23342	return s
23343}
23344
23345type GetJourneyDateRangeKpiOutput struct {
23346	_ struct{} `type:"structure" payload:"JourneyDateRangeKpiResponse"`
23347
23348	// Provides the results of a query that retrieved the data for a standard engagement
23349	// metric that applies to a journey, and provides information about that query.
23350	//
23351	// JourneyDateRangeKpiResponse is a required field
23352	JourneyDateRangeKpiResponse *JourneyDateRangeKpiResponse `type:"structure" required:"true"`
23353}
23354
23355// String returns the string representation
23356func (s GetJourneyDateRangeKpiOutput) String() string {
23357	return awsutil.Prettify(s)
23358}
23359
23360// GoString returns the string representation
23361func (s GetJourneyDateRangeKpiOutput) GoString() string {
23362	return s.String()
23363}
23364
23365// SetJourneyDateRangeKpiResponse sets the JourneyDateRangeKpiResponse field's value.
23366func (s *GetJourneyDateRangeKpiOutput) SetJourneyDateRangeKpiResponse(v *JourneyDateRangeKpiResponse) *GetJourneyDateRangeKpiOutput {
23367	s.JourneyDateRangeKpiResponse = v
23368	return s
23369}
23370
23371type GetJourneyExecutionActivityMetricsInput struct {
23372	_ struct{} `type:"structure"`
23373
23374	// ApplicationId is a required field
23375	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23376
23377	// JourneyActivityId is a required field
23378	JourneyActivityId *string `location:"uri" locationName:"journey-activity-id" type:"string" required:"true"`
23379
23380	// JourneyId is a required field
23381	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
23382
23383	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
23384
23385	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
23386}
23387
23388// String returns the string representation
23389func (s GetJourneyExecutionActivityMetricsInput) String() string {
23390	return awsutil.Prettify(s)
23391}
23392
23393// GoString returns the string representation
23394func (s GetJourneyExecutionActivityMetricsInput) GoString() string {
23395	return s.String()
23396}
23397
23398// Validate inspects the fields of the type to determine if they are valid.
23399func (s *GetJourneyExecutionActivityMetricsInput) Validate() error {
23400	invalidParams := request.ErrInvalidParams{Context: "GetJourneyExecutionActivityMetricsInput"}
23401	if s.ApplicationId == nil {
23402		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23403	}
23404	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23405		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23406	}
23407	if s.JourneyActivityId == nil {
23408		invalidParams.Add(request.NewErrParamRequired("JourneyActivityId"))
23409	}
23410	if s.JourneyActivityId != nil && len(*s.JourneyActivityId) < 1 {
23411		invalidParams.Add(request.NewErrParamMinLen("JourneyActivityId", 1))
23412	}
23413	if s.JourneyId == nil {
23414		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
23415	}
23416	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
23417		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
23418	}
23419
23420	if invalidParams.Len() > 0 {
23421		return invalidParams
23422	}
23423	return nil
23424}
23425
23426// SetApplicationId sets the ApplicationId field's value.
23427func (s *GetJourneyExecutionActivityMetricsInput) SetApplicationId(v string) *GetJourneyExecutionActivityMetricsInput {
23428	s.ApplicationId = &v
23429	return s
23430}
23431
23432// SetJourneyActivityId sets the JourneyActivityId field's value.
23433func (s *GetJourneyExecutionActivityMetricsInput) SetJourneyActivityId(v string) *GetJourneyExecutionActivityMetricsInput {
23434	s.JourneyActivityId = &v
23435	return s
23436}
23437
23438// SetJourneyId sets the JourneyId field's value.
23439func (s *GetJourneyExecutionActivityMetricsInput) SetJourneyId(v string) *GetJourneyExecutionActivityMetricsInput {
23440	s.JourneyId = &v
23441	return s
23442}
23443
23444// SetNextToken sets the NextToken field's value.
23445func (s *GetJourneyExecutionActivityMetricsInput) SetNextToken(v string) *GetJourneyExecutionActivityMetricsInput {
23446	s.NextToken = &v
23447	return s
23448}
23449
23450// SetPageSize sets the PageSize field's value.
23451func (s *GetJourneyExecutionActivityMetricsInput) SetPageSize(v string) *GetJourneyExecutionActivityMetricsInput {
23452	s.PageSize = &v
23453	return s
23454}
23455
23456type GetJourneyExecutionActivityMetricsOutput struct {
23457	_ struct{} `type:"structure" payload:"JourneyExecutionActivityMetricsResponse"`
23458
23459	// Provides the results of a query that retrieved the data for a standard execution
23460	// metric that applies to a journey activity, and provides information about
23461	// that query.
23462	//
23463	// JourneyExecutionActivityMetricsResponse is a required field
23464	JourneyExecutionActivityMetricsResponse *JourneyExecutionActivityMetricsResponse `type:"structure" required:"true"`
23465}
23466
23467// String returns the string representation
23468func (s GetJourneyExecutionActivityMetricsOutput) String() string {
23469	return awsutil.Prettify(s)
23470}
23471
23472// GoString returns the string representation
23473func (s GetJourneyExecutionActivityMetricsOutput) GoString() string {
23474	return s.String()
23475}
23476
23477// SetJourneyExecutionActivityMetricsResponse sets the JourneyExecutionActivityMetricsResponse field's value.
23478func (s *GetJourneyExecutionActivityMetricsOutput) SetJourneyExecutionActivityMetricsResponse(v *JourneyExecutionActivityMetricsResponse) *GetJourneyExecutionActivityMetricsOutput {
23479	s.JourneyExecutionActivityMetricsResponse = v
23480	return s
23481}
23482
23483type GetJourneyExecutionMetricsInput struct {
23484	_ struct{} `type:"structure"`
23485
23486	// ApplicationId is a required field
23487	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23488
23489	// JourneyId is a required field
23490	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
23491
23492	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
23493
23494	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
23495}
23496
23497// String returns the string representation
23498func (s GetJourneyExecutionMetricsInput) String() string {
23499	return awsutil.Prettify(s)
23500}
23501
23502// GoString returns the string representation
23503func (s GetJourneyExecutionMetricsInput) GoString() string {
23504	return s.String()
23505}
23506
23507// Validate inspects the fields of the type to determine if they are valid.
23508func (s *GetJourneyExecutionMetricsInput) Validate() error {
23509	invalidParams := request.ErrInvalidParams{Context: "GetJourneyExecutionMetricsInput"}
23510	if s.ApplicationId == nil {
23511		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23512	}
23513	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23514		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23515	}
23516	if s.JourneyId == nil {
23517		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
23518	}
23519	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
23520		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
23521	}
23522
23523	if invalidParams.Len() > 0 {
23524		return invalidParams
23525	}
23526	return nil
23527}
23528
23529// SetApplicationId sets the ApplicationId field's value.
23530func (s *GetJourneyExecutionMetricsInput) SetApplicationId(v string) *GetJourneyExecutionMetricsInput {
23531	s.ApplicationId = &v
23532	return s
23533}
23534
23535// SetJourneyId sets the JourneyId field's value.
23536func (s *GetJourneyExecutionMetricsInput) SetJourneyId(v string) *GetJourneyExecutionMetricsInput {
23537	s.JourneyId = &v
23538	return s
23539}
23540
23541// SetNextToken sets the NextToken field's value.
23542func (s *GetJourneyExecutionMetricsInput) SetNextToken(v string) *GetJourneyExecutionMetricsInput {
23543	s.NextToken = &v
23544	return s
23545}
23546
23547// SetPageSize sets the PageSize field's value.
23548func (s *GetJourneyExecutionMetricsInput) SetPageSize(v string) *GetJourneyExecutionMetricsInput {
23549	s.PageSize = &v
23550	return s
23551}
23552
23553type GetJourneyExecutionMetricsOutput struct {
23554	_ struct{} `type:"structure" payload:"JourneyExecutionMetricsResponse"`
23555
23556	// Provides the results of a query that retrieved the data for a standard execution
23557	// metric that applies to a journey, and provides information about that query.
23558	//
23559	// JourneyExecutionMetricsResponse is a required field
23560	JourneyExecutionMetricsResponse *JourneyExecutionMetricsResponse `type:"structure" required:"true"`
23561}
23562
23563// String returns the string representation
23564func (s GetJourneyExecutionMetricsOutput) String() string {
23565	return awsutil.Prettify(s)
23566}
23567
23568// GoString returns the string representation
23569func (s GetJourneyExecutionMetricsOutput) GoString() string {
23570	return s.String()
23571}
23572
23573// SetJourneyExecutionMetricsResponse sets the JourneyExecutionMetricsResponse field's value.
23574func (s *GetJourneyExecutionMetricsOutput) SetJourneyExecutionMetricsResponse(v *JourneyExecutionMetricsResponse) *GetJourneyExecutionMetricsOutput {
23575	s.JourneyExecutionMetricsResponse = v
23576	return s
23577}
23578
23579type GetJourneyInput struct {
23580	_ struct{} `type:"structure"`
23581
23582	// ApplicationId is a required field
23583	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23584
23585	// JourneyId is a required field
23586	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
23587}
23588
23589// String returns the string representation
23590func (s GetJourneyInput) String() string {
23591	return awsutil.Prettify(s)
23592}
23593
23594// GoString returns the string representation
23595func (s GetJourneyInput) GoString() string {
23596	return s.String()
23597}
23598
23599// Validate inspects the fields of the type to determine if they are valid.
23600func (s *GetJourneyInput) Validate() error {
23601	invalidParams := request.ErrInvalidParams{Context: "GetJourneyInput"}
23602	if s.ApplicationId == nil {
23603		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23604	}
23605	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23606		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23607	}
23608	if s.JourneyId == nil {
23609		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
23610	}
23611	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
23612		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
23613	}
23614
23615	if invalidParams.Len() > 0 {
23616		return invalidParams
23617	}
23618	return nil
23619}
23620
23621// SetApplicationId sets the ApplicationId field's value.
23622func (s *GetJourneyInput) SetApplicationId(v string) *GetJourneyInput {
23623	s.ApplicationId = &v
23624	return s
23625}
23626
23627// SetJourneyId sets the JourneyId field's value.
23628func (s *GetJourneyInput) SetJourneyId(v string) *GetJourneyInput {
23629	s.JourneyId = &v
23630	return s
23631}
23632
23633type GetJourneyOutput struct {
23634	_ struct{} `type:"structure" payload:"JourneyResponse"`
23635
23636	// Provides information about the status, configuration, and other settings
23637	// for a journey.
23638	//
23639	// JourneyResponse is a required field
23640	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
23641}
23642
23643// String returns the string representation
23644func (s GetJourneyOutput) String() string {
23645	return awsutil.Prettify(s)
23646}
23647
23648// GoString returns the string representation
23649func (s GetJourneyOutput) GoString() string {
23650	return s.String()
23651}
23652
23653// SetJourneyResponse sets the JourneyResponse field's value.
23654func (s *GetJourneyOutput) SetJourneyResponse(v *JourneyResponse) *GetJourneyOutput {
23655	s.JourneyResponse = v
23656	return s
23657}
23658
23659type GetPushTemplateInput struct {
23660	_ struct{} `type:"structure"`
23661
23662	// TemplateName is a required field
23663	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
23664
23665	Version *string `location:"querystring" locationName:"version" type:"string"`
23666}
23667
23668// String returns the string representation
23669func (s GetPushTemplateInput) String() string {
23670	return awsutil.Prettify(s)
23671}
23672
23673// GoString returns the string representation
23674func (s GetPushTemplateInput) GoString() string {
23675	return s.String()
23676}
23677
23678// Validate inspects the fields of the type to determine if they are valid.
23679func (s *GetPushTemplateInput) Validate() error {
23680	invalidParams := request.ErrInvalidParams{Context: "GetPushTemplateInput"}
23681	if s.TemplateName == nil {
23682		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
23683	}
23684	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
23685		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
23686	}
23687
23688	if invalidParams.Len() > 0 {
23689		return invalidParams
23690	}
23691	return nil
23692}
23693
23694// SetTemplateName sets the TemplateName field's value.
23695func (s *GetPushTemplateInput) SetTemplateName(v string) *GetPushTemplateInput {
23696	s.TemplateName = &v
23697	return s
23698}
23699
23700// SetVersion sets the Version field's value.
23701func (s *GetPushTemplateInput) SetVersion(v string) *GetPushTemplateInput {
23702	s.Version = &v
23703	return s
23704}
23705
23706type GetPushTemplateOutput struct {
23707	_ struct{} `type:"structure" payload:"PushNotificationTemplateResponse"`
23708
23709	// Provides information about the content and settings for a message template
23710	// that can be used in messages that are sent through a push notification channel.
23711	//
23712	// PushNotificationTemplateResponse is a required field
23713	PushNotificationTemplateResponse *PushNotificationTemplateResponse `type:"structure" required:"true"`
23714}
23715
23716// String returns the string representation
23717func (s GetPushTemplateOutput) String() string {
23718	return awsutil.Prettify(s)
23719}
23720
23721// GoString returns the string representation
23722func (s GetPushTemplateOutput) GoString() string {
23723	return s.String()
23724}
23725
23726// SetPushNotificationTemplateResponse sets the PushNotificationTemplateResponse field's value.
23727func (s *GetPushTemplateOutput) SetPushNotificationTemplateResponse(v *PushNotificationTemplateResponse) *GetPushTemplateOutput {
23728	s.PushNotificationTemplateResponse = v
23729	return s
23730}
23731
23732type GetRecommenderConfigurationInput struct {
23733	_ struct{} `type:"structure"`
23734
23735	// RecommenderId is a required field
23736	RecommenderId *string `location:"uri" locationName:"recommender-id" type:"string" required:"true"`
23737}
23738
23739// String returns the string representation
23740func (s GetRecommenderConfigurationInput) String() string {
23741	return awsutil.Prettify(s)
23742}
23743
23744// GoString returns the string representation
23745func (s GetRecommenderConfigurationInput) GoString() string {
23746	return s.String()
23747}
23748
23749// Validate inspects the fields of the type to determine if they are valid.
23750func (s *GetRecommenderConfigurationInput) Validate() error {
23751	invalidParams := request.ErrInvalidParams{Context: "GetRecommenderConfigurationInput"}
23752	if s.RecommenderId == nil {
23753		invalidParams.Add(request.NewErrParamRequired("RecommenderId"))
23754	}
23755	if s.RecommenderId != nil && len(*s.RecommenderId) < 1 {
23756		invalidParams.Add(request.NewErrParamMinLen("RecommenderId", 1))
23757	}
23758
23759	if invalidParams.Len() > 0 {
23760		return invalidParams
23761	}
23762	return nil
23763}
23764
23765// SetRecommenderId sets the RecommenderId field's value.
23766func (s *GetRecommenderConfigurationInput) SetRecommenderId(v string) *GetRecommenderConfigurationInput {
23767	s.RecommenderId = &v
23768	return s
23769}
23770
23771type GetRecommenderConfigurationOutput struct {
23772	_ struct{} `type:"structure" payload:"RecommenderConfigurationResponse"`
23773
23774	// Provides information about Amazon Pinpoint configuration settings for retrieving
23775	// and processing data from a recommender model.
23776	//
23777	// RecommenderConfigurationResponse is a required field
23778	RecommenderConfigurationResponse *RecommenderConfigurationResponse `type:"structure" required:"true"`
23779}
23780
23781// String returns the string representation
23782func (s GetRecommenderConfigurationOutput) String() string {
23783	return awsutil.Prettify(s)
23784}
23785
23786// GoString returns the string representation
23787func (s GetRecommenderConfigurationOutput) GoString() string {
23788	return s.String()
23789}
23790
23791// SetRecommenderConfigurationResponse sets the RecommenderConfigurationResponse field's value.
23792func (s *GetRecommenderConfigurationOutput) SetRecommenderConfigurationResponse(v *RecommenderConfigurationResponse) *GetRecommenderConfigurationOutput {
23793	s.RecommenderConfigurationResponse = v
23794	return s
23795}
23796
23797type GetRecommenderConfigurationsInput struct {
23798	_ struct{} `type:"structure"`
23799
23800	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
23801
23802	Token *string `location:"querystring" locationName:"token" type:"string"`
23803}
23804
23805// String returns the string representation
23806func (s GetRecommenderConfigurationsInput) String() string {
23807	return awsutil.Prettify(s)
23808}
23809
23810// GoString returns the string representation
23811func (s GetRecommenderConfigurationsInput) GoString() string {
23812	return s.String()
23813}
23814
23815// SetPageSize sets the PageSize field's value.
23816func (s *GetRecommenderConfigurationsInput) SetPageSize(v string) *GetRecommenderConfigurationsInput {
23817	s.PageSize = &v
23818	return s
23819}
23820
23821// SetToken sets the Token field's value.
23822func (s *GetRecommenderConfigurationsInput) SetToken(v string) *GetRecommenderConfigurationsInput {
23823	s.Token = &v
23824	return s
23825}
23826
23827type GetRecommenderConfigurationsOutput struct {
23828	_ struct{} `type:"structure" payload:"ListRecommenderConfigurationsResponse"`
23829
23830	// Provides information about all the recommender model configurations that
23831	// are associated with your Amazon Pinpoint account.
23832	//
23833	// ListRecommenderConfigurationsResponse is a required field
23834	ListRecommenderConfigurationsResponse *ListRecommenderConfigurationsResponse `type:"structure" required:"true"`
23835}
23836
23837// String returns the string representation
23838func (s GetRecommenderConfigurationsOutput) String() string {
23839	return awsutil.Prettify(s)
23840}
23841
23842// GoString returns the string representation
23843func (s GetRecommenderConfigurationsOutput) GoString() string {
23844	return s.String()
23845}
23846
23847// SetListRecommenderConfigurationsResponse sets the ListRecommenderConfigurationsResponse field's value.
23848func (s *GetRecommenderConfigurationsOutput) SetListRecommenderConfigurationsResponse(v *ListRecommenderConfigurationsResponse) *GetRecommenderConfigurationsOutput {
23849	s.ListRecommenderConfigurationsResponse = v
23850	return s
23851}
23852
23853type GetSegmentExportJobsInput struct {
23854	_ struct{} `type:"structure"`
23855
23856	// ApplicationId is a required field
23857	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23858
23859	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
23860
23861	// SegmentId is a required field
23862	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
23863
23864	Token *string `location:"querystring" locationName:"token" type:"string"`
23865}
23866
23867// String returns the string representation
23868func (s GetSegmentExportJobsInput) String() string {
23869	return awsutil.Prettify(s)
23870}
23871
23872// GoString returns the string representation
23873func (s GetSegmentExportJobsInput) GoString() string {
23874	return s.String()
23875}
23876
23877// Validate inspects the fields of the type to determine if they are valid.
23878func (s *GetSegmentExportJobsInput) Validate() error {
23879	invalidParams := request.ErrInvalidParams{Context: "GetSegmentExportJobsInput"}
23880	if s.ApplicationId == nil {
23881		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23882	}
23883	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23884		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23885	}
23886	if s.SegmentId == nil {
23887		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
23888	}
23889	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
23890		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
23891	}
23892
23893	if invalidParams.Len() > 0 {
23894		return invalidParams
23895	}
23896	return nil
23897}
23898
23899// SetApplicationId sets the ApplicationId field's value.
23900func (s *GetSegmentExportJobsInput) SetApplicationId(v string) *GetSegmentExportJobsInput {
23901	s.ApplicationId = &v
23902	return s
23903}
23904
23905// SetPageSize sets the PageSize field's value.
23906func (s *GetSegmentExportJobsInput) SetPageSize(v string) *GetSegmentExportJobsInput {
23907	s.PageSize = &v
23908	return s
23909}
23910
23911// SetSegmentId sets the SegmentId field's value.
23912func (s *GetSegmentExportJobsInput) SetSegmentId(v string) *GetSegmentExportJobsInput {
23913	s.SegmentId = &v
23914	return s
23915}
23916
23917// SetToken sets the Token field's value.
23918func (s *GetSegmentExportJobsInput) SetToken(v string) *GetSegmentExportJobsInput {
23919	s.Token = &v
23920	return s
23921}
23922
23923type GetSegmentExportJobsOutput struct {
23924	_ struct{} `type:"structure" payload:"ExportJobsResponse"`
23925
23926	// Provides information about all the export jobs that are associated with an
23927	// application or segment. An export job is a job that exports endpoint definitions
23928	// to a file.
23929	//
23930	// ExportJobsResponse is a required field
23931	ExportJobsResponse *ExportJobsResponse `type:"structure" required:"true"`
23932}
23933
23934// String returns the string representation
23935func (s GetSegmentExportJobsOutput) String() string {
23936	return awsutil.Prettify(s)
23937}
23938
23939// GoString returns the string representation
23940func (s GetSegmentExportJobsOutput) GoString() string {
23941	return s.String()
23942}
23943
23944// SetExportJobsResponse sets the ExportJobsResponse field's value.
23945func (s *GetSegmentExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetSegmentExportJobsOutput {
23946	s.ExportJobsResponse = v
23947	return s
23948}
23949
23950type GetSegmentImportJobsInput struct {
23951	_ struct{} `type:"structure"`
23952
23953	// ApplicationId is a required field
23954	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23955
23956	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
23957
23958	// SegmentId is a required field
23959	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
23960
23961	Token *string `location:"querystring" locationName:"token" type:"string"`
23962}
23963
23964// String returns the string representation
23965func (s GetSegmentImportJobsInput) String() string {
23966	return awsutil.Prettify(s)
23967}
23968
23969// GoString returns the string representation
23970func (s GetSegmentImportJobsInput) GoString() string {
23971	return s.String()
23972}
23973
23974// Validate inspects the fields of the type to determine if they are valid.
23975func (s *GetSegmentImportJobsInput) Validate() error {
23976	invalidParams := request.ErrInvalidParams{Context: "GetSegmentImportJobsInput"}
23977	if s.ApplicationId == nil {
23978		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23979	}
23980	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23981		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23982	}
23983	if s.SegmentId == nil {
23984		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
23985	}
23986	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
23987		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
23988	}
23989
23990	if invalidParams.Len() > 0 {
23991		return invalidParams
23992	}
23993	return nil
23994}
23995
23996// SetApplicationId sets the ApplicationId field's value.
23997func (s *GetSegmentImportJobsInput) SetApplicationId(v string) *GetSegmentImportJobsInput {
23998	s.ApplicationId = &v
23999	return s
24000}
24001
24002// SetPageSize sets the PageSize field's value.
24003func (s *GetSegmentImportJobsInput) SetPageSize(v string) *GetSegmentImportJobsInput {
24004	s.PageSize = &v
24005	return s
24006}
24007
24008// SetSegmentId sets the SegmentId field's value.
24009func (s *GetSegmentImportJobsInput) SetSegmentId(v string) *GetSegmentImportJobsInput {
24010	s.SegmentId = &v
24011	return s
24012}
24013
24014// SetToken sets the Token field's value.
24015func (s *GetSegmentImportJobsInput) SetToken(v string) *GetSegmentImportJobsInput {
24016	s.Token = &v
24017	return s
24018}
24019
24020type GetSegmentImportJobsOutput struct {
24021	_ struct{} `type:"structure" payload:"ImportJobsResponse"`
24022
24023	// Provides information about the status and settings of all the import jobs
24024	// that are associated with an application or segment. An import job is a job
24025	// that imports endpoint definitions from one or more files.
24026	//
24027	// ImportJobsResponse is a required field
24028	ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"`
24029}
24030
24031// String returns the string representation
24032func (s GetSegmentImportJobsOutput) String() string {
24033	return awsutil.Prettify(s)
24034}
24035
24036// GoString returns the string representation
24037func (s GetSegmentImportJobsOutput) GoString() string {
24038	return s.String()
24039}
24040
24041// SetImportJobsResponse sets the ImportJobsResponse field's value.
24042func (s *GetSegmentImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetSegmentImportJobsOutput {
24043	s.ImportJobsResponse = v
24044	return s
24045}
24046
24047type GetSegmentInput struct {
24048	_ struct{} `type:"structure"`
24049
24050	// ApplicationId is a required field
24051	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24052
24053	// SegmentId is a required field
24054	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
24055}
24056
24057// String returns the string representation
24058func (s GetSegmentInput) String() string {
24059	return awsutil.Prettify(s)
24060}
24061
24062// GoString returns the string representation
24063func (s GetSegmentInput) GoString() string {
24064	return s.String()
24065}
24066
24067// Validate inspects the fields of the type to determine if they are valid.
24068func (s *GetSegmentInput) Validate() error {
24069	invalidParams := request.ErrInvalidParams{Context: "GetSegmentInput"}
24070	if s.ApplicationId == nil {
24071		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24072	}
24073	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24074		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24075	}
24076	if s.SegmentId == nil {
24077		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
24078	}
24079	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
24080		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
24081	}
24082
24083	if invalidParams.Len() > 0 {
24084		return invalidParams
24085	}
24086	return nil
24087}
24088
24089// SetApplicationId sets the ApplicationId field's value.
24090func (s *GetSegmentInput) SetApplicationId(v string) *GetSegmentInput {
24091	s.ApplicationId = &v
24092	return s
24093}
24094
24095// SetSegmentId sets the SegmentId field's value.
24096func (s *GetSegmentInput) SetSegmentId(v string) *GetSegmentInput {
24097	s.SegmentId = &v
24098	return s
24099}
24100
24101type GetSegmentOutput struct {
24102	_ struct{} `type:"structure" payload:"SegmentResponse"`
24103
24104	// Provides information about the configuration, dimension, and other settings
24105	// for a segment.
24106	//
24107	// SegmentResponse is a required field
24108	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
24109}
24110
24111// String returns the string representation
24112func (s GetSegmentOutput) String() string {
24113	return awsutil.Prettify(s)
24114}
24115
24116// GoString returns the string representation
24117func (s GetSegmentOutput) GoString() string {
24118	return s.String()
24119}
24120
24121// SetSegmentResponse sets the SegmentResponse field's value.
24122func (s *GetSegmentOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentOutput {
24123	s.SegmentResponse = v
24124	return s
24125}
24126
24127type GetSegmentVersionInput struct {
24128	_ struct{} `type:"structure"`
24129
24130	// ApplicationId is a required field
24131	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24132
24133	// SegmentId is a required field
24134	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
24135
24136	// Version is a required field
24137	Version *string `location:"uri" locationName:"version" type:"string" required:"true"`
24138}
24139
24140// String returns the string representation
24141func (s GetSegmentVersionInput) String() string {
24142	return awsutil.Prettify(s)
24143}
24144
24145// GoString returns the string representation
24146func (s GetSegmentVersionInput) GoString() string {
24147	return s.String()
24148}
24149
24150// Validate inspects the fields of the type to determine if they are valid.
24151func (s *GetSegmentVersionInput) Validate() error {
24152	invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionInput"}
24153	if s.ApplicationId == nil {
24154		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24155	}
24156	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24157		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24158	}
24159	if s.SegmentId == nil {
24160		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
24161	}
24162	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
24163		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
24164	}
24165	if s.Version == nil {
24166		invalidParams.Add(request.NewErrParamRequired("Version"))
24167	}
24168	if s.Version != nil && len(*s.Version) < 1 {
24169		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
24170	}
24171
24172	if invalidParams.Len() > 0 {
24173		return invalidParams
24174	}
24175	return nil
24176}
24177
24178// SetApplicationId sets the ApplicationId field's value.
24179func (s *GetSegmentVersionInput) SetApplicationId(v string) *GetSegmentVersionInput {
24180	s.ApplicationId = &v
24181	return s
24182}
24183
24184// SetSegmentId sets the SegmentId field's value.
24185func (s *GetSegmentVersionInput) SetSegmentId(v string) *GetSegmentVersionInput {
24186	s.SegmentId = &v
24187	return s
24188}
24189
24190// SetVersion sets the Version field's value.
24191func (s *GetSegmentVersionInput) SetVersion(v string) *GetSegmentVersionInput {
24192	s.Version = &v
24193	return s
24194}
24195
24196type GetSegmentVersionOutput struct {
24197	_ struct{} `type:"structure" payload:"SegmentResponse"`
24198
24199	// Provides information about the configuration, dimension, and other settings
24200	// for a segment.
24201	//
24202	// SegmentResponse is a required field
24203	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
24204}
24205
24206// String returns the string representation
24207func (s GetSegmentVersionOutput) String() string {
24208	return awsutil.Prettify(s)
24209}
24210
24211// GoString returns the string representation
24212func (s GetSegmentVersionOutput) GoString() string {
24213	return s.String()
24214}
24215
24216// SetSegmentResponse sets the SegmentResponse field's value.
24217func (s *GetSegmentVersionOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentVersionOutput {
24218	s.SegmentResponse = v
24219	return s
24220}
24221
24222type GetSegmentVersionsInput struct {
24223	_ struct{} `type:"structure"`
24224
24225	// ApplicationId is a required field
24226	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24227
24228	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
24229
24230	// SegmentId is a required field
24231	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
24232
24233	Token *string `location:"querystring" locationName:"token" type:"string"`
24234}
24235
24236// String returns the string representation
24237func (s GetSegmentVersionsInput) String() string {
24238	return awsutil.Prettify(s)
24239}
24240
24241// GoString returns the string representation
24242func (s GetSegmentVersionsInput) GoString() string {
24243	return s.String()
24244}
24245
24246// Validate inspects the fields of the type to determine if they are valid.
24247func (s *GetSegmentVersionsInput) Validate() error {
24248	invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionsInput"}
24249	if s.ApplicationId == nil {
24250		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24251	}
24252	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24253		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24254	}
24255	if s.SegmentId == nil {
24256		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
24257	}
24258	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
24259		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
24260	}
24261
24262	if invalidParams.Len() > 0 {
24263		return invalidParams
24264	}
24265	return nil
24266}
24267
24268// SetApplicationId sets the ApplicationId field's value.
24269func (s *GetSegmentVersionsInput) SetApplicationId(v string) *GetSegmentVersionsInput {
24270	s.ApplicationId = &v
24271	return s
24272}
24273
24274// SetPageSize sets the PageSize field's value.
24275func (s *GetSegmentVersionsInput) SetPageSize(v string) *GetSegmentVersionsInput {
24276	s.PageSize = &v
24277	return s
24278}
24279
24280// SetSegmentId sets the SegmentId field's value.
24281func (s *GetSegmentVersionsInput) SetSegmentId(v string) *GetSegmentVersionsInput {
24282	s.SegmentId = &v
24283	return s
24284}
24285
24286// SetToken sets the Token field's value.
24287func (s *GetSegmentVersionsInput) SetToken(v string) *GetSegmentVersionsInput {
24288	s.Token = &v
24289	return s
24290}
24291
24292type GetSegmentVersionsOutput struct {
24293	_ struct{} `type:"structure" payload:"SegmentsResponse"`
24294
24295	// Provides information about all the segments that are associated with an application.
24296	//
24297	// SegmentsResponse is a required field
24298	SegmentsResponse *SegmentsResponse `type:"structure" required:"true"`
24299}
24300
24301// String returns the string representation
24302func (s GetSegmentVersionsOutput) String() string {
24303	return awsutil.Prettify(s)
24304}
24305
24306// GoString returns the string representation
24307func (s GetSegmentVersionsOutput) GoString() string {
24308	return s.String()
24309}
24310
24311// SetSegmentsResponse sets the SegmentsResponse field's value.
24312func (s *GetSegmentVersionsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentVersionsOutput {
24313	s.SegmentsResponse = v
24314	return s
24315}
24316
24317type GetSegmentsInput struct {
24318	_ struct{} `type:"structure"`
24319
24320	// ApplicationId is a required field
24321	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24322
24323	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
24324
24325	Token *string `location:"querystring" locationName:"token" type:"string"`
24326}
24327
24328// String returns the string representation
24329func (s GetSegmentsInput) String() string {
24330	return awsutil.Prettify(s)
24331}
24332
24333// GoString returns the string representation
24334func (s GetSegmentsInput) GoString() string {
24335	return s.String()
24336}
24337
24338// Validate inspects the fields of the type to determine if they are valid.
24339func (s *GetSegmentsInput) Validate() error {
24340	invalidParams := request.ErrInvalidParams{Context: "GetSegmentsInput"}
24341	if s.ApplicationId == nil {
24342		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24343	}
24344	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24345		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24346	}
24347
24348	if invalidParams.Len() > 0 {
24349		return invalidParams
24350	}
24351	return nil
24352}
24353
24354// SetApplicationId sets the ApplicationId field's value.
24355func (s *GetSegmentsInput) SetApplicationId(v string) *GetSegmentsInput {
24356	s.ApplicationId = &v
24357	return s
24358}
24359
24360// SetPageSize sets the PageSize field's value.
24361func (s *GetSegmentsInput) SetPageSize(v string) *GetSegmentsInput {
24362	s.PageSize = &v
24363	return s
24364}
24365
24366// SetToken sets the Token field's value.
24367func (s *GetSegmentsInput) SetToken(v string) *GetSegmentsInput {
24368	s.Token = &v
24369	return s
24370}
24371
24372type GetSegmentsOutput struct {
24373	_ struct{} `type:"structure" payload:"SegmentsResponse"`
24374
24375	// Provides information about all the segments that are associated with an application.
24376	//
24377	// SegmentsResponse is a required field
24378	SegmentsResponse *SegmentsResponse `type:"structure" required:"true"`
24379}
24380
24381// String returns the string representation
24382func (s GetSegmentsOutput) String() string {
24383	return awsutil.Prettify(s)
24384}
24385
24386// GoString returns the string representation
24387func (s GetSegmentsOutput) GoString() string {
24388	return s.String()
24389}
24390
24391// SetSegmentsResponse sets the SegmentsResponse field's value.
24392func (s *GetSegmentsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentsOutput {
24393	s.SegmentsResponse = v
24394	return s
24395}
24396
24397type GetSmsChannelInput struct {
24398	_ struct{} `type:"structure"`
24399
24400	// ApplicationId is a required field
24401	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24402}
24403
24404// String returns the string representation
24405func (s GetSmsChannelInput) String() string {
24406	return awsutil.Prettify(s)
24407}
24408
24409// GoString returns the string representation
24410func (s GetSmsChannelInput) GoString() string {
24411	return s.String()
24412}
24413
24414// Validate inspects the fields of the type to determine if they are valid.
24415func (s *GetSmsChannelInput) Validate() error {
24416	invalidParams := request.ErrInvalidParams{Context: "GetSmsChannelInput"}
24417	if s.ApplicationId == nil {
24418		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24419	}
24420	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24421		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24422	}
24423
24424	if invalidParams.Len() > 0 {
24425		return invalidParams
24426	}
24427	return nil
24428}
24429
24430// SetApplicationId sets the ApplicationId field's value.
24431func (s *GetSmsChannelInput) SetApplicationId(v string) *GetSmsChannelInput {
24432	s.ApplicationId = &v
24433	return s
24434}
24435
24436type GetSmsChannelOutput struct {
24437	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
24438
24439	// Provides information about the status and settings of the SMS channel for
24440	// an application.
24441	//
24442	// SMSChannelResponse is a required field
24443	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
24444}
24445
24446// String returns the string representation
24447func (s GetSmsChannelOutput) String() string {
24448	return awsutil.Prettify(s)
24449}
24450
24451// GoString returns the string representation
24452func (s GetSmsChannelOutput) GoString() string {
24453	return s.String()
24454}
24455
24456// SetSMSChannelResponse sets the SMSChannelResponse field's value.
24457func (s *GetSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *GetSmsChannelOutput {
24458	s.SMSChannelResponse = v
24459	return s
24460}
24461
24462type GetSmsTemplateInput struct {
24463	_ struct{} `type:"structure"`
24464
24465	// TemplateName is a required field
24466	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
24467
24468	Version *string `location:"querystring" locationName:"version" type:"string"`
24469}
24470
24471// String returns the string representation
24472func (s GetSmsTemplateInput) String() string {
24473	return awsutil.Prettify(s)
24474}
24475
24476// GoString returns the string representation
24477func (s GetSmsTemplateInput) GoString() string {
24478	return s.String()
24479}
24480
24481// Validate inspects the fields of the type to determine if they are valid.
24482func (s *GetSmsTemplateInput) Validate() error {
24483	invalidParams := request.ErrInvalidParams{Context: "GetSmsTemplateInput"}
24484	if s.TemplateName == nil {
24485		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
24486	}
24487	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
24488		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
24489	}
24490
24491	if invalidParams.Len() > 0 {
24492		return invalidParams
24493	}
24494	return nil
24495}
24496
24497// SetTemplateName sets the TemplateName field's value.
24498func (s *GetSmsTemplateInput) SetTemplateName(v string) *GetSmsTemplateInput {
24499	s.TemplateName = &v
24500	return s
24501}
24502
24503// SetVersion sets the Version field's value.
24504func (s *GetSmsTemplateInput) SetVersion(v string) *GetSmsTemplateInput {
24505	s.Version = &v
24506	return s
24507}
24508
24509type GetSmsTemplateOutput struct {
24510	_ struct{} `type:"structure" payload:"SMSTemplateResponse"`
24511
24512	// Provides information about the content and settings for a message template
24513	// that can be used in text messages that are sent through the SMS channel.
24514	//
24515	// SMSTemplateResponse is a required field
24516	SMSTemplateResponse *SMSTemplateResponse `type:"structure" required:"true"`
24517}
24518
24519// String returns the string representation
24520func (s GetSmsTemplateOutput) String() string {
24521	return awsutil.Prettify(s)
24522}
24523
24524// GoString returns the string representation
24525func (s GetSmsTemplateOutput) GoString() string {
24526	return s.String()
24527}
24528
24529// SetSMSTemplateResponse sets the SMSTemplateResponse field's value.
24530func (s *GetSmsTemplateOutput) SetSMSTemplateResponse(v *SMSTemplateResponse) *GetSmsTemplateOutput {
24531	s.SMSTemplateResponse = v
24532	return s
24533}
24534
24535type GetUserEndpointsInput struct {
24536	_ struct{} `type:"structure"`
24537
24538	// ApplicationId is a required field
24539	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24540
24541	// UserId is a required field
24542	UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"`
24543}
24544
24545// String returns the string representation
24546func (s GetUserEndpointsInput) String() string {
24547	return awsutil.Prettify(s)
24548}
24549
24550// GoString returns the string representation
24551func (s GetUserEndpointsInput) GoString() string {
24552	return s.String()
24553}
24554
24555// Validate inspects the fields of the type to determine if they are valid.
24556func (s *GetUserEndpointsInput) Validate() error {
24557	invalidParams := request.ErrInvalidParams{Context: "GetUserEndpointsInput"}
24558	if s.ApplicationId == nil {
24559		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24560	}
24561	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24562		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24563	}
24564	if s.UserId == nil {
24565		invalidParams.Add(request.NewErrParamRequired("UserId"))
24566	}
24567	if s.UserId != nil && len(*s.UserId) < 1 {
24568		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
24569	}
24570
24571	if invalidParams.Len() > 0 {
24572		return invalidParams
24573	}
24574	return nil
24575}
24576
24577// SetApplicationId sets the ApplicationId field's value.
24578func (s *GetUserEndpointsInput) SetApplicationId(v string) *GetUserEndpointsInput {
24579	s.ApplicationId = &v
24580	return s
24581}
24582
24583// SetUserId sets the UserId field's value.
24584func (s *GetUserEndpointsInput) SetUserId(v string) *GetUserEndpointsInput {
24585	s.UserId = &v
24586	return s
24587}
24588
24589type GetUserEndpointsOutput struct {
24590	_ struct{} `type:"structure" payload:"EndpointsResponse"`
24591
24592	// Provides information about all the endpoints that are associated with a user
24593	// ID.
24594	//
24595	// EndpointsResponse is a required field
24596	EndpointsResponse *EndpointsResponse `type:"structure" required:"true"`
24597}
24598
24599// String returns the string representation
24600func (s GetUserEndpointsOutput) String() string {
24601	return awsutil.Prettify(s)
24602}
24603
24604// GoString returns the string representation
24605func (s GetUserEndpointsOutput) GoString() string {
24606	return s.String()
24607}
24608
24609// SetEndpointsResponse sets the EndpointsResponse field's value.
24610func (s *GetUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *GetUserEndpointsOutput {
24611	s.EndpointsResponse = v
24612	return s
24613}
24614
24615type GetVoiceChannelInput struct {
24616	_ struct{} `type:"structure"`
24617
24618	// ApplicationId is a required field
24619	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24620}
24621
24622// String returns the string representation
24623func (s GetVoiceChannelInput) String() string {
24624	return awsutil.Prettify(s)
24625}
24626
24627// GoString returns the string representation
24628func (s GetVoiceChannelInput) GoString() string {
24629	return s.String()
24630}
24631
24632// Validate inspects the fields of the type to determine if they are valid.
24633func (s *GetVoiceChannelInput) Validate() error {
24634	invalidParams := request.ErrInvalidParams{Context: "GetVoiceChannelInput"}
24635	if s.ApplicationId == nil {
24636		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24637	}
24638	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24639		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24640	}
24641
24642	if invalidParams.Len() > 0 {
24643		return invalidParams
24644	}
24645	return nil
24646}
24647
24648// SetApplicationId sets the ApplicationId field's value.
24649func (s *GetVoiceChannelInput) SetApplicationId(v string) *GetVoiceChannelInput {
24650	s.ApplicationId = &v
24651	return s
24652}
24653
24654type GetVoiceChannelOutput struct {
24655	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
24656
24657	// Provides information about the status and settings of the voice channel for
24658	// an application.
24659	//
24660	// VoiceChannelResponse is a required field
24661	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
24662}
24663
24664// String returns the string representation
24665func (s GetVoiceChannelOutput) String() string {
24666	return awsutil.Prettify(s)
24667}
24668
24669// GoString returns the string representation
24670func (s GetVoiceChannelOutput) GoString() string {
24671	return s.String()
24672}
24673
24674// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
24675func (s *GetVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *GetVoiceChannelOutput {
24676	s.VoiceChannelResponse = v
24677	return s
24678}
24679
24680type GetVoiceTemplateInput struct {
24681	_ struct{} `type:"structure"`
24682
24683	// TemplateName is a required field
24684	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
24685
24686	Version *string `location:"querystring" locationName:"version" type:"string"`
24687}
24688
24689// String returns the string representation
24690func (s GetVoiceTemplateInput) String() string {
24691	return awsutil.Prettify(s)
24692}
24693
24694// GoString returns the string representation
24695func (s GetVoiceTemplateInput) GoString() string {
24696	return s.String()
24697}
24698
24699// Validate inspects the fields of the type to determine if they are valid.
24700func (s *GetVoiceTemplateInput) Validate() error {
24701	invalidParams := request.ErrInvalidParams{Context: "GetVoiceTemplateInput"}
24702	if s.TemplateName == nil {
24703		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
24704	}
24705	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
24706		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
24707	}
24708
24709	if invalidParams.Len() > 0 {
24710		return invalidParams
24711	}
24712	return nil
24713}
24714
24715// SetTemplateName sets the TemplateName field's value.
24716func (s *GetVoiceTemplateInput) SetTemplateName(v string) *GetVoiceTemplateInput {
24717	s.TemplateName = &v
24718	return s
24719}
24720
24721// SetVersion sets the Version field's value.
24722func (s *GetVoiceTemplateInput) SetVersion(v string) *GetVoiceTemplateInput {
24723	s.Version = &v
24724	return s
24725}
24726
24727type GetVoiceTemplateOutput struct {
24728	_ struct{} `type:"structure" payload:"VoiceTemplateResponse"`
24729
24730	// Provides information about the content and settings for a message template
24731	// that can be used in messages that are sent through the voice channel.
24732	//
24733	// VoiceTemplateResponse is a required field
24734	VoiceTemplateResponse *VoiceTemplateResponse `type:"structure" required:"true"`
24735}
24736
24737// String returns the string representation
24738func (s GetVoiceTemplateOutput) String() string {
24739	return awsutil.Prettify(s)
24740}
24741
24742// GoString returns the string representation
24743func (s GetVoiceTemplateOutput) GoString() string {
24744	return s.String()
24745}
24746
24747// SetVoiceTemplateResponse sets the VoiceTemplateResponse field's value.
24748func (s *GetVoiceTemplateOutput) SetVoiceTemplateResponse(v *VoiceTemplateResponse) *GetVoiceTemplateOutput {
24749	s.VoiceTemplateResponse = v
24750	return s
24751}
24752
24753// Specifies the settings for a holdout activity in a journey. This type of
24754// activity stops a journey for a specified percentage of participants.
24755type HoldoutActivity struct {
24756	_ struct{} `type:"structure"`
24757
24758	// The unique identifier for the next activity to perform, after performing
24759	// the holdout activity.
24760	NextActivity *string `type:"string"`
24761
24762	// The percentage of participants who shouldn't continue the journey.
24763	//
24764	// To determine which participants are held out, Amazon Pinpoint applies a probability-based
24765	// algorithm to the percentage that you specify. Therefore, the actual percentage
24766	// of participants who are held out may not be equal to the percentage that
24767	// you specify.
24768	//
24769	// Percentage is a required field
24770	Percentage *int64 `type:"integer" required:"true"`
24771}
24772
24773// String returns the string representation
24774func (s HoldoutActivity) String() string {
24775	return awsutil.Prettify(s)
24776}
24777
24778// GoString returns the string representation
24779func (s HoldoutActivity) GoString() string {
24780	return s.String()
24781}
24782
24783// Validate inspects the fields of the type to determine if they are valid.
24784func (s *HoldoutActivity) Validate() error {
24785	invalidParams := request.ErrInvalidParams{Context: "HoldoutActivity"}
24786	if s.Percentage == nil {
24787		invalidParams.Add(request.NewErrParamRequired("Percentage"))
24788	}
24789
24790	if invalidParams.Len() > 0 {
24791		return invalidParams
24792	}
24793	return nil
24794}
24795
24796// SetNextActivity sets the NextActivity field's value.
24797func (s *HoldoutActivity) SetNextActivity(v string) *HoldoutActivity {
24798	s.NextActivity = &v
24799	return s
24800}
24801
24802// SetPercentage sets the Percentage field's value.
24803func (s *HoldoutActivity) SetPercentage(v int64) *HoldoutActivity {
24804	s.Percentage = &v
24805	return s
24806}
24807
24808// Specifies the settings for a job that imports endpoint definitions from an
24809// Amazon Simple Storage Service (Amazon S3) bucket.
24810type ImportJobRequest struct {
24811	_ struct{} `type:"structure"`
24812
24813	// Specifies whether to create a segment that contains the endpoints, when the
24814	// endpoint definitions are imported.
24815	DefineSegment *bool `type:"boolean"`
24816
24817	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
24818	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
24819	// an IAM role when importing endpoint definitions, but we removed this requirement.
24820	// We don't recommend use of external IDs for IAM roles that are assumed by
24821	// Amazon Pinpoint.
24822	ExternalId *string `type:"string"`
24823
24824	// The format of the files that contain the endpoint definitions to import.
24825	// Valid values are: CSV, for comma-separated values format; and, JSON, for
24826	// newline-delimited JSON format. If the Amazon S3 location stores multiple
24827	// files that use different formats, Amazon Pinpoint imports data only from
24828	// the files that use the specified format.
24829	//
24830	// Format is a required field
24831	Format *string `type:"string" required:"true" enum:"Format"`
24832
24833	// Specifies whether to register the endpoints with Amazon Pinpoint, when the
24834	// endpoint definitions are imported.
24835	RegisterEndpoints *bool `type:"boolean"`
24836
24837	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
24838	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
24839	// to import endpoint definitions from.
24840	//
24841	// RoleArn is a required field
24842	RoleArn *string `type:"string" required:"true"`
24843
24844	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains
24845	// the endpoint definitions to import. This location can be a folder or a single
24846	// file. If the location is a folder, Amazon Pinpoint imports endpoint definitions
24847	// from the files in this location, including any subfolders that the folder
24848	// contains.
24849	//
24850	// The URL should be in the following format: s3://bucket-name/folder-name/file-name.
24851	// The location can end with the key for an individual object or a prefix that
24852	// qualifies multiple objects.
24853	//
24854	// S3Url is a required field
24855	S3Url *string `type:"string" required:"true"`
24856
24857	// The identifier for the segment to update or add the imported endpoint definitions
24858	// to, if the import job is meant to update an existing segment.
24859	SegmentId *string `type:"string"`
24860
24861	// A custom name for the segment that's created by the import job, if the value
24862	// of the DefineSegment property is true.
24863	SegmentName *string `type:"string"`
24864}
24865
24866// String returns the string representation
24867func (s ImportJobRequest) String() string {
24868	return awsutil.Prettify(s)
24869}
24870
24871// GoString returns the string representation
24872func (s ImportJobRequest) GoString() string {
24873	return s.String()
24874}
24875
24876// Validate inspects the fields of the type to determine if they are valid.
24877func (s *ImportJobRequest) Validate() error {
24878	invalidParams := request.ErrInvalidParams{Context: "ImportJobRequest"}
24879	if s.Format == nil {
24880		invalidParams.Add(request.NewErrParamRequired("Format"))
24881	}
24882	if s.RoleArn == nil {
24883		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
24884	}
24885	if s.S3Url == nil {
24886		invalidParams.Add(request.NewErrParamRequired("S3Url"))
24887	}
24888
24889	if invalidParams.Len() > 0 {
24890		return invalidParams
24891	}
24892	return nil
24893}
24894
24895// SetDefineSegment sets the DefineSegment field's value.
24896func (s *ImportJobRequest) SetDefineSegment(v bool) *ImportJobRequest {
24897	s.DefineSegment = &v
24898	return s
24899}
24900
24901// SetExternalId sets the ExternalId field's value.
24902func (s *ImportJobRequest) SetExternalId(v string) *ImportJobRequest {
24903	s.ExternalId = &v
24904	return s
24905}
24906
24907// SetFormat sets the Format field's value.
24908func (s *ImportJobRequest) SetFormat(v string) *ImportJobRequest {
24909	s.Format = &v
24910	return s
24911}
24912
24913// SetRegisterEndpoints sets the RegisterEndpoints field's value.
24914func (s *ImportJobRequest) SetRegisterEndpoints(v bool) *ImportJobRequest {
24915	s.RegisterEndpoints = &v
24916	return s
24917}
24918
24919// SetRoleArn sets the RoleArn field's value.
24920func (s *ImportJobRequest) SetRoleArn(v string) *ImportJobRequest {
24921	s.RoleArn = &v
24922	return s
24923}
24924
24925// SetS3Url sets the S3Url field's value.
24926func (s *ImportJobRequest) SetS3Url(v string) *ImportJobRequest {
24927	s.S3Url = &v
24928	return s
24929}
24930
24931// SetSegmentId sets the SegmentId field's value.
24932func (s *ImportJobRequest) SetSegmentId(v string) *ImportJobRequest {
24933	s.SegmentId = &v
24934	return s
24935}
24936
24937// SetSegmentName sets the SegmentName field's value.
24938func (s *ImportJobRequest) SetSegmentName(v string) *ImportJobRequest {
24939	s.SegmentName = &v
24940	return s
24941}
24942
24943// Provides information about the resource settings for a job that imports endpoint
24944// definitions from one or more files. The files can be stored in an Amazon
24945// Simple Storage Service (Amazon S3) bucket or uploaded directly from a computer
24946// by using the Amazon Pinpoint console.
24947type ImportJobResource struct {
24948	_ struct{} `type:"structure"`
24949
24950	// Specifies whether the import job creates a segment that contains the endpoints,
24951	// when the endpoint definitions are imported.
24952	DefineSegment *bool `type:"boolean"`
24953
24954	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
24955	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
24956	// an IAM role when importing endpoint definitions, but we removed this requirement.
24957	// We don't recommend use of external IDs for IAM roles that are assumed by
24958	// Amazon Pinpoint.
24959	ExternalId *string `type:"string"`
24960
24961	// The format of the files that contain the endpoint definitions to import.
24962	// Valid values are: CSV, for comma-separated values format; and, JSON, for
24963	// newline-delimited JSON format.
24964	//
24965	// If the files are stored in an Amazon S3 location and that location contains
24966	// multiple files that use different formats, Amazon Pinpoint imports data only
24967	// from the files that use the specified format.
24968	//
24969	// Format is a required field
24970	Format *string `type:"string" required:"true" enum:"Format"`
24971
24972	// Specifies whether the import job registers the endpoints with Amazon Pinpoint,
24973	// when the endpoint definitions are imported.
24974	RegisterEndpoints *bool `type:"boolean"`
24975
24976	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
24977	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
24978	// to import endpoint definitions from.
24979	//
24980	// RoleArn is a required field
24981	RoleArn *string `type:"string" required:"true"`
24982
24983	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains
24984	// the endpoint definitions to import. This location can be a folder or a single
24985	// file. If the location is a folder, Amazon Pinpoint imports endpoint definitions
24986	// from the files in this location, including any subfolders that the folder
24987	// contains.
24988	//
24989	// The URL should be in the following format: s3://bucket-name/folder-name/file-name.
24990	// The location can end with the key for an individual object or a prefix that
24991	// qualifies multiple objects.
24992	//
24993	// S3Url is a required field
24994	S3Url *string `type:"string" required:"true"`
24995
24996	// The identifier for the segment that the import job updates or adds endpoint
24997	// definitions to, if the import job updates an existing segment.
24998	SegmentId *string `type:"string"`
24999
25000	// The custom name for the segment that's created by the import job, if the
25001	// value of the DefineSegment property is true.
25002	SegmentName *string `type:"string"`
25003}
25004
25005// String returns the string representation
25006func (s ImportJobResource) String() string {
25007	return awsutil.Prettify(s)
25008}
25009
25010// GoString returns the string representation
25011func (s ImportJobResource) GoString() string {
25012	return s.String()
25013}
25014
25015// SetDefineSegment sets the DefineSegment field's value.
25016func (s *ImportJobResource) SetDefineSegment(v bool) *ImportJobResource {
25017	s.DefineSegment = &v
25018	return s
25019}
25020
25021// SetExternalId sets the ExternalId field's value.
25022func (s *ImportJobResource) SetExternalId(v string) *ImportJobResource {
25023	s.ExternalId = &v
25024	return s
25025}
25026
25027// SetFormat sets the Format field's value.
25028func (s *ImportJobResource) SetFormat(v string) *ImportJobResource {
25029	s.Format = &v
25030	return s
25031}
25032
25033// SetRegisterEndpoints sets the RegisterEndpoints field's value.
25034func (s *ImportJobResource) SetRegisterEndpoints(v bool) *ImportJobResource {
25035	s.RegisterEndpoints = &v
25036	return s
25037}
25038
25039// SetRoleArn sets the RoleArn field's value.
25040func (s *ImportJobResource) SetRoleArn(v string) *ImportJobResource {
25041	s.RoleArn = &v
25042	return s
25043}
25044
25045// SetS3Url sets the S3Url field's value.
25046func (s *ImportJobResource) SetS3Url(v string) *ImportJobResource {
25047	s.S3Url = &v
25048	return s
25049}
25050
25051// SetSegmentId sets the SegmentId field's value.
25052func (s *ImportJobResource) SetSegmentId(v string) *ImportJobResource {
25053	s.SegmentId = &v
25054	return s
25055}
25056
25057// SetSegmentName sets the SegmentName field's value.
25058func (s *ImportJobResource) SetSegmentName(v string) *ImportJobResource {
25059	s.SegmentName = &v
25060	return s
25061}
25062
25063// Provides information about the status and settings of a job that imports
25064// endpoint definitions from one or more files. The files can be stored in an
25065// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
25066// a computer by using the Amazon Pinpoint console.
25067type ImportJobResponse struct {
25068	_ struct{} `type:"structure"`
25069
25070	// The unique identifier for the application that's associated with the import
25071	// job.
25072	//
25073	// ApplicationId is a required field
25074	ApplicationId *string `type:"string" required:"true"`
25075
25076	// The number of pieces that were processed successfully (completed) by the
25077	// import job, as of the time of the request.
25078	CompletedPieces *int64 `type:"integer"`
25079
25080	// The date, in ISO 8601 format, when the import job was completed.
25081	CompletionDate *string `type:"string"`
25082
25083	// The date, in ISO 8601 format, when the import job was created.
25084	//
25085	// CreationDate is a required field
25086	CreationDate *string `type:"string" required:"true"`
25087
25088	// The resource settings that apply to the import job.
25089	//
25090	// Definition is a required field
25091	Definition *ImportJobResource `type:"structure" required:"true"`
25092
25093	// The number of pieces that weren't processed successfully (failed) by the
25094	// import job, as of the time of the request.
25095	FailedPieces *int64 `type:"integer"`
25096
25097	// An array of entries, one for each of the first 100 entries that weren't processed
25098	// successfully (failed) by the import job, if any.
25099	Failures []*string `type:"list"`
25100
25101	// The unique identifier for the import job.
25102	//
25103	// Id is a required field
25104	Id *string `type:"string" required:"true"`
25105
25106	// The status of the import job. The job status is FAILED if Amazon Pinpoint
25107	// wasn't able to process one or more pieces in the job.
25108	//
25109	// JobStatus is a required field
25110	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
25111
25112	// The total number of endpoint definitions that weren't processed successfully
25113	// (failed) by the import job, typically because an error, such as a syntax
25114	// error, occurred.
25115	TotalFailures *int64 `type:"integer"`
25116
25117	// The total number of pieces that must be processed to complete the import
25118	// job. Each piece consists of an approximately equal portion of the endpoint
25119	// definitions that are part of the import job.
25120	TotalPieces *int64 `type:"integer"`
25121
25122	// The total number of endpoint definitions that were processed by the import
25123	// job.
25124	TotalProcessed *int64 `type:"integer"`
25125
25126	// The job type. This value is IMPORT for import jobs.
25127	//
25128	// Type is a required field
25129	Type *string `type:"string" required:"true"`
25130}
25131
25132// String returns the string representation
25133func (s ImportJobResponse) String() string {
25134	return awsutil.Prettify(s)
25135}
25136
25137// GoString returns the string representation
25138func (s ImportJobResponse) GoString() string {
25139	return s.String()
25140}
25141
25142// SetApplicationId sets the ApplicationId field's value.
25143func (s *ImportJobResponse) SetApplicationId(v string) *ImportJobResponse {
25144	s.ApplicationId = &v
25145	return s
25146}
25147
25148// SetCompletedPieces sets the CompletedPieces field's value.
25149func (s *ImportJobResponse) SetCompletedPieces(v int64) *ImportJobResponse {
25150	s.CompletedPieces = &v
25151	return s
25152}
25153
25154// SetCompletionDate sets the CompletionDate field's value.
25155func (s *ImportJobResponse) SetCompletionDate(v string) *ImportJobResponse {
25156	s.CompletionDate = &v
25157	return s
25158}
25159
25160// SetCreationDate sets the CreationDate field's value.
25161func (s *ImportJobResponse) SetCreationDate(v string) *ImportJobResponse {
25162	s.CreationDate = &v
25163	return s
25164}
25165
25166// SetDefinition sets the Definition field's value.
25167func (s *ImportJobResponse) SetDefinition(v *ImportJobResource) *ImportJobResponse {
25168	s.Definition = v
25169	return s
25170}
25171
25172// SetFailedPieces sets the FailedPieces field's value.
25173func (s *ImportJobResponse) SetFailedPieces(v int64) *ImportJobResponse {
25174	s.FailedPieces = &v
25175	return s
25176}
25177
25178// SetFailures sets the Failures field's value.
25179func (s *ImportJobResponse) SetFailures(v []*string) *ImportJobResponse {
25180	s.Failures = v
25181	return s
25182}
25183
25184// SetId sets the Id field's value.
25185func (s *ImportJobResponse) SetId(v string) *ImportJobResponse {
25186	s.Id = &v
25187	return s
25188}
25189
25190// SetJobStatus sets the JobStatus field's value.
25191func (s *ImportJobResponse) SetJobStatus(v string) *ImportJobResponse {
25192	s.JobStatus = &v
25193	return s
25194}
25195
25196// SetTotalFailures sets the TotalFailures field's value.
25197func (s *ImportJobResponse) SetTotalFailures(v int64) *ImportJobResponse {
25198	s.TotalFailures = &v
25199	return s
25200}
25201
25202// SetTotalPieces sets the TotalPieces field's value.
25203func (s *ImportJobResponse) SetTotalPieces(v int64) *ImportJobResponse {
25204	s.TotalPieces = &v
25205	return s
25206}
25207
25208// SetTotalProcessed sets the TotalProcessed field's value.
25209func (s *ImportJobResponse) SetTotalProcessed(v int64) *ImportJobResponse {
25210	s.TotalProcessed = &v
25211	return s
25212}
25213
25214// SetType sets the Type field's value.
25215func (s *ImportJobResponse) SetType(v string) *ImportJobResponse {
25216	s.Type = &v
25217	return s
25218}
25219
25220// Provides information about the status and settings of all the import jobs
25221// that are associated with an application or segment. An import job is a job
25222// that imports endpoint definitions from one or more files.
25223type ImportJobsResponse struct {
25224	_ struct{} `type:"structure"`
25225
25226	// An array of responses, one for each import job that's associated with the
25227	// application (Import Jobs resource) or segment (Segment Import Jobs resource).
25228	//
25229	// Item is a required field
25230	Item []*ImportJobResponse `type:"list" required:"true"`
25231
25232	// The string to use in a subsequent request to get the next page of results
25233	// in a paginated response. This value is null if there are no additional pages.
25234	NextToken *string `type:"string"`
25235}
25236
25237// String returns the string representation
25238func (s ImportJobsResponse) String() string {
25239	return awsutil.Prettify(s)
25240}
25241
25242// GoString returns the string representation
25243func (s ImportJobsResponse) GoString() string {
25244	return s.String()
25245}
25246
25247// SetItem sets the Item field's value.
25248func (s *ImportJobsResponse) SetItem(v []*ImportJobResponse) *ImportJobsResponse {
25249	s.Item = v
25250	return s
25251}
25252
25253// SetNextToken sets the NextToken field's value.
25254func (s *ImportJobsResponse) SetNextToken(v string) *ImportJobsResponse {
25255	s.NextToken = &v
25256	return s
25257}
25258
25259// Provides information about an API request or response.
25260type InternalServerErrorException struct {
25261	_            struct{}                  `type:"structure"`
25262	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
25263
25264	Message_ *string `locationName:"Message" type:"string"`
25265
25266	RequestID_ *string `locationName:"RequestID" type:"string"`
25267}
25268
25269// String returns the string representation
25270func (s InternalServerErrorException) String() string {
25271	return awsutil.Prettify(s)
25272}
25273
25274// GoString returns the string representation
25275func (s InternalServerErrorException) GoString() string {
25276	return s.String()
25277}
25278
25279func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
25280	return &InternalServerErrorException{
25281		RespMetadata: v,
25282	}
25283}
25284
25285// Code returns the exception type name.
25286func (s *InternalServerErrorException) Code() string {
25287	return "InternalServerErrorException"
25288}
25289
25290// Message returns the exception's message.
25291func (s *InternalServerErrorException) Message() string {
25292	if s.Message_ != nil {
25293		return *s.Message_
25294	}
25295	return ""
25296}
25297
25298// OrigErr always returns nil, satisfies awserr.Error interface.
25299func (s *InternalServerErrorException) OrigErr() error {
25300	return nil
25301}
25302
25303func (s *InternalServerErrorException) Error() string {
25304	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
25305}
25306
25307// Status code returns the HTTP status code for the request's response error.
25308func (s *InternalServerErrorException) StatusCode() int {
25309	return s.RespMetadata.StatusCode
25310}
25311
25312// RequestID returns the service's response RequestID for request.
25313func (s *InternalServerErrorException) RequestID() string {
25314	return s.RespMetadata.RequestID
25315}
25316
25317// Provides information about the results of a request to create or update an
25318// endpoint that's associated with an event.
25319type ItemResponse struct {
25320	_ struct{} `type:"structure"`
25321
25322	// The response that was received after the endpoint data was accepted.
25323	EndpointItemResponse *EndpointItemResponse `type:"structure"`
25324
25325	// A multipart response object that contains a key and a value for each event
25326	// in the request. In each object, the event ID is the key and an EventItemResponse
25327	// object is the value.
25328	EventsItemResponse map[string]*EventItemResponse `type:"map"`
25329}
25330
25331// String returns the string representation
25332func (s ItemResponse) String() string {
25333	return awsutil.Prettify(s)
25334}
25335
25336// GoString returns the string representation
25337func (s ItemResponse) GoString() string {
25338	return s.String()
25339}
25340
25341// SetEndpointItemResponse sets the EndpointItemResponse field's value.
25342func (s *ItemResponse) SetEndpointItemResponse(v *EndpointItemResponse) *ItemResponse {
25343	s.EndpointItemResponse = v
25344	return s
25345}
25346
25347// SetEventsItemResponse sets the EventsItemResponse field's value.
25348func (s *ItemResponse) SetEventsItemResponse(v map[string]*EventItemResponse) *ItemResponse {
25349	s.EventsItemResponse = v
25350	return s
25351}
25352
25353// Specifies the message content for a custom channel message that's sent to
25354// participants in a journey.
25355type JourneyCustomMessage struct {
25356	_ struct{} `type:"structure"`
25357
25358	// The message content that's passed to an AWS Lambda function or to a web hook.
25359	Data *string `type:"string"`
25360}
25361
25362// String returns the string representation
25363func (s JourneyCustomMessage) String() string {
25364	return awsutil.Prettify(s)
25365}
25366
25367// GoString returns the string representation
25368func (s JourneyCustomMessage) GoString() string {
25369	return s.String()
25370}
25371
25372// SetData sets the Data field's value.
25373func (s *JourneyCustomMessage) SetData(v string) *JourneyCustomMessage {
25374	s.Data = &v
25375	return s
25376}
25377
25378// Provides the results of a query that retrieved the data for a standard engagement
25379// metric that applies to a journey, and provides information about that query.
25380type JourneyDateRangeKpiResponse struct {
25381	_ struct{} `type:"structure"`
25382
25383	// The unique identifier for the application that the metric applies to.
25384	//
25385	// ApplicationId is a required field
25386	ApplicationId *string `type:"string" required:"true"`
25387
25388	// EndTime is a required field
25389	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
25390
25391	// The unique identifier for the journey that the metric applies to.
25392	//
25393	// JourneyId is a required field
25394	JourneyId *string `type:"string" required:"true"`
25395
25396	// The name of the metric, also referred to as a key performance indicator (KPI),
25397	// that the data was retrieved for. This value describes the associated metric
25398	// and consists of two or more terms, which are comprised of lowercase alphanumeric
25399	// characters, separated by a hyphen. For a list of possible values, see the
25400	// Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html).
25401	//
25402	// KpiName is a required field
25403	KpiName *string `type:"string" required:"true"`
25404
25405	// An array of objects that contains the results of the query. Each object contains
25406	// the value for the metric and metadata about that value.
25407	//
25408	// KpiResult is a required field
25409	KpiResult *BaseKpiResult `type:"structure" required:"true"`
25410
25411	// The string to use in a subsequent request to get the next page of results
25412	// in a paginated response. This value is null for the Journey Engagement Metrics
25413	// resource because the resource returns all results in a single page.
25414	NextToken *string `type:"string"`
25415
25416	// StartTime is a required field
25417	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
25418}
25419
25420// String returns the string representation
25421func (s JourneyDateRangeKpiResponse) String() string {
25422	return awsutil.Prettify(s)
25423}
25424
25425// GoString returns the string representation
25426func (s JourneyDateRangeKpiResponse) GoString() string {
25427	return s.String()
25428}
25429
25430// SetApplicationId sets the ApplicationId field's value.
25431func (s *JourneyDateRangeKpiResponse) SetApplicationId(v string) *JourneyDateRangeKpiResponse {
25432	s.ApplicationId = &v
25433	return s
25434}
25435
25436// SetEndTime sets the EndTime field's value.
25437func (s *JourneyDateRangeKpiResponse) SetEndTime(v time.Time) *JourneyDateRangeKpiResponse {
25438	s.EndTime = &v
25439	return s
25440}
25441
25442// SetJourneyId sets the JourneyId field's value.
25443func (s *JourneyDateRangeKpiResponse) SetJourneyId(v string) *JourneyDateRangeKpiResponse {
25444	s.JourneyId = &v
25445	return s
25446}
25447
25448// SetKpiName sets the KpiName field's value.
25449func (s *JourneyDateRangeKpiResponse) SetKpiName(v string) *JourneyDateRangeKpiResponse {
25450	s.KpiName = &v
25451	return s
25452}
25453
25454// SetKpiResult sets the KpiResult field's value.
25455func (s *JourneyDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *JourneyDateRangeKpiResponse {
25456	s.KpiResult = v
25457	return s
25458}
25459
25460// SetNextToken sets the NextToken field's value.
25461func (s *JourneyDateRangeKpiResponse) SetNextToken(v string) *JourneyDateRangeKpiResponse {
25462	s.NextToken = &v
25463	return s
25464}
25465
25466// SetStartTime sets the StartTime field's value.
25467func (s *JourneyDateRangeKpiResponse) SetStartTime(v time.Time) *JourneyDateRangeKpiResponse {
25468	s.StartTime = &v
25469	return s
25470}
25471
25472// Specifies the "From" address for an email message that's sent to participants
25473// in a journey.
25474type JourneyEmailMessage struct {
25475	_ struct{} `type:"structure"`
25476
25477	// The verified email address to send the email message from. The default address
25478	// is the FromAddress specified for the email channel for the application.
25479	FromAddress *string `type:"string"`
25480}
25481
25482// String returns the string representation
25483func (s JourneyEmailMessage) String() string {
25484	return awsutil.Prettify(s)
25485}
25486
25487// GoString returns the string representation
25488func (s JourneyEmailMessage) GoString() string {
25489	return s.String()
25490}
25491
25492// SetFromAddress sets the FromAddress field's value.
25493func (s *JourneyEmailMessage) SetFromAddress(v string) *JourneyEmailMessage {
25494	s.FromAddress = &v
25495	return s
25496}
25497
25498// Provides the results of a query that retrieved the data for a standard execution
25499// metric that applies to a journey activity, and provides information about
25500// that query.
25501type JourneyExecutionActivityMetricsResponse struct {
25502	_ struct{} `type:"structure"`
25503
25504	// The type of activity that the metric applies to. Possible values are:
25505	//
25506	//    * CONDITIONAL_SPLIT - For a yes/no split activity, which is an activity
25507	//    that sends participants down one of two paths in a journey.
25508	//
25509	//    * HOLDOUT - For a holdout activity, which is an activity that stops a
25510	//    journey for a specified percentage of participants.
25511	//
25512	//    * MESSAGE - For an email activity, which is an activity that sends an
25513	//    email message to participants.
25514	//
25515	//    * MULTI_CONDITIONAL_SPLIT - For a multivariate split activity, which is
25516	//    an activity that sends participants down one of as many as five paths
25517	//    in a journey.
25518	//
25519	//    * RANDOM_SPLIT - For a random split activity, which is an activity that
25520	//    sends specified percentages of participants down one of as many as five
25521	//    paths in a journey.
25522	//
25523	//    * WAIT - For a wait activity, which is an activity that waits for a certain
25524	//    amount of time or until a specific date and time before moving participants
25525	//    to the next activity in a journey.
25526	//
25527	// ActivityType is a required field
25528	ActivityType *string `type:"string" required:"true"`
25529
25530	// The unique identifier for the application that the metric applies to.
25531	//
25532	// ApplicationId is a required field
25533	ApplicationId *string `type:"string" required:"true"`
25534
25535	// The unique identifier for the activity that the metric applies to.
25536	//
25537	// JourneyActivityId is a required field
25538	JourneyActivityId *string `type:"string" required:"true"`
25539
25540	// The unique identifier for the journey that the metric applies to.
25541	//
25542	// JourneyId is a required field
25543	JourneyId *string `type:"string" required:"true"`
25544
25545	// The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
25546	// the execution status of the activity and updated the data for the metric.
25547	//
25548	// LastEvaluatedTime is a required field
25549	LastEvaluatedTime *string `type:"string" required:"true"`
25550
25551	// A JSON object that contains the results of the query. The results vary depending
25552	// on the type of activity (ActivityType). For information about the structure
25553	// and contents of the results, see the Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html).
25554	//
25555	// Metrics is a required field
25556	Metrics map[string]*string `type:"map" required:"true"`
25557}
25558
25559// String returns the string representation
25560func (s JourneyExecutionActivityMetricsResponse) String() string {
25561	return awsutil.Prettify(s)
25562}
25563
25564// GoString returns the string representation
25565func (s JourneyExecutionActivityMetricsResponse) GoString() string {
25566	return s.String()
25567}
25568
25569// SetActivityType sets the ActivityType field's value.
25570func (s *JourneyExecutionActivityMetricsResponse) SetActivityType(v string) *JourneyExecutionActivityMetricsResponse {
25571	s.ActivityType = &v
25572	return s
25573}
25574
25575// SetApplicationId sets the ApplicationId field's value.
25576func (s *JourneyExecutionActivityMetricsResponse) SetApplicationId(v string) *JourneyExecutionActivityMetricsResponse {
25577	s.ApplicationId = &v
25578	return s
25579}
25580
25581// SetJourneyActivityId sets the JourneyActivityId field's value.
25582func (s *JourneyExecutionActivityMetricsResponse) SetJourneyActivityId(v string) *JourneyExecutionActivityMetricsResponse {
25583	s.JourneyActivityId = &v
25584	return s
25585}
25586
25587// SetJourneyId sets the JourneyId field's value.
25588func (s *JourneyExecutionActivityMetricsResponse) SetJourneyId(v string) *JourneyExecutionActivityMetricsResponse {
25589	s.JourneyId = &v
25590	return s
25591}
25592
25593// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
25594func (s *JourneyExecutionActivityMetricsResponse) SetLastEvaluatedTime(v string) *JourneyExecutionActivityMetricsResponse {
25595	s.LastEvaluatedTime = &v
25596	return s
25597}
25598
25599// SetMetrics sets the Metrics field's value.
25600func (s *JourneyExecutionActivityMetricsResponse) SetMetrics(v map[string]*string) *JourneyExecutionActivityMetricsResponse {
25601	s.Metrics = v
25602	return s
25603}
25604
25605// Provides the results of a query that retrieved the data for a standard execution
25606// metric that applies to a journey, and provides information about that query.
25607type JourneyExecutionMetricsResponse struct {
25608	_ struct{} `type:"structure"`
25609
25610	// The unique identifier for the application that the metric applies to.
25611	//
25612	// ApplicationId is a required field
25613	ApplicationId *string `type:"string" required:"true"`
25614
25615	// The unique identifier for the journey that the metric applies to.
25616	//
25617	// JourneyId is a required field
25618	JourneyId *string `type:"string" required:"true"`
25619
25620	// The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
25621	// the journey and updated the data for the metric.
25622	//
25623	// LastEvaluatedTime is a required field
25624	LastEvaluatedTime *string `type:"string" required:"true"`
25625
25626	// A JSON object that contains the results of the query. For information about
25627	// the structure and contents of the results, see the Amazon Pinpoint Developer
25628	// Guide (https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html).
25629	//
25630	// Metrics is a required field
25631	Metrics map[string]*string `type:"map" required:"true"`
25632}
25633
25634// String returns the string representation
25635func (s JourneyExecutionMetricsResponse) String() string {
25636	return awsutil.Prettify(s)
25637}
25638
25639// GoString returns the string representation
25640func (s JourneyExecutionMetricsResponse) GoString() string {
25641	return s.String()
25642}
25643
25644// SetApplicationId sets the ApplicationId field's value.
25645func (s *JourneyExecutionMetricsResponse) SetApplicationId(v string) *JourneyExecutionMetricsResponse {
25646	s.ApplicationId = &v
25647	return s
25648}
25649
25650// SetJourneyId sets the JourneyId field's value.
25651func (s *JourneyExecutionMetricsResponse) SetJourneyId(v string) *JourneyExecutionMetricsResponse {
25652	s.JourneyId = &v
25653	return s
25654}
25655
25656// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
25657func (s *JourneyExecutionMetricsResponse) SetLastEvaluatedTime(v string) *JourneyExecutionMetricsResponse {
25658	s.LastEvaluatedTime = &v
25659	return s
25660}
25661
25662// SetMetrics sets the Metrics field's value.
25663func (s *JourneyExecutionMetricsResponse) SetMetrics(v map[string]*string) *JourneyExecutionMetricsResponse {
25664	s.Metrics = v
25665	return s
25666}
25667
25668// Specifies limits on the messages that a journey can send and the number of
25669// times participants can enter a journey.
25670type JourneyLimits struct {
25671	_ struct{} `type:"structure"`
25672
25673	// The maximum number of messages that the journey can send to a single participant
25674	// during a 24-hour period. The maximum value is 100.
25675	DailyCap *int64 `type:"integer"`
25676
25677	// The maximum number of times that a participant can enter the journey. The
25678	// maximum value is 100. To allow participants to enter the journey an unlimited
25679	// number of times, set this value to 0.
25680	EndpointReentryCap *int64 `type:"integer"`
25681
25682	EndpointReentryInterval *string `type:"string"`
25683
25684	// The maximum number of messages that the journey can send each second.
25685	MessagesPerSecond *int64 `type:"integer"`
25686}
25687
25688// String returns the string representation
25689func (s JourneyLimits) String() string {
25690	return awsutil.Prettify(s)
25691}
25692
25693// GoString returns the string representation
25694func (s JourneyLimits) GoString() string {
25695	return s.String()
25696}
25697
25698// SetDailyCap sets the DailyCap field's value.
25699func (s *JourneyLimits) SetDailyCap(v int64) *JourneyLimits {
25700	s.DailyCap = &v
25701	return s
25702}
25703
25704// SetEndpointReentryCap sets the EndpointReentryCap field's value.
25705func (s *JourneyLimits) SetEndpointReentryCap(v int64) *JourneyLimits {
25706	s.EndpointReentryCap = &v
25707	return s
25708}
25709
25710// SetEndpointReentryInterval sets the EndpointReentryInterval field's value.
25711func (s *JourneyLimits) SetEndpointReentryInterval(v string) *JourneyLimits {
25712	s.EndpointReentryInterval = &v
25713	return s
25714}
25715
25716// SetMessagesPerSecond sets the MessagesPerSecond field's value.
25717func (s *JourneyLimits) SetMessagesPerSecond(v int64) *JourneyLimits {
25718	s.MessagesPerSecond = &v
25719	return s
25720}
25721
25722// Specifies the message configuration for a push notification that's sent to
25723// participants in a journey.
25724type JourneyPushMessage struct {
25725	_ struct{} `type:"structure"`
25726
25727	// The number of seconds that the push notification service should keep the
25728	// message, if the service is unable to deliver the notification the first time.
25729	// This value is converted to an expiration value when it's sent to a push-notification
25730	// service. If this value is 0, the service treats the notification as if it
25731	// expires immediately and the service doesn't store or try to deliver the notification
25732	// again.
25733	//
25734	// This value doesn't apply to messages that are sent through the Amazon Device
25735	// Messaging (ADM) service.
25736	TimeToLive *string `type:"string"`
25737}
25738
25739// String returns the string representation
25740func (s JourneyPushMessage) String() string {
25741	return awsutil.Prettify(s)
25742}
25743
25744// GoString returns the string representation
25745func (s JourneyPushMessage) GoString() string {
25746	return s.String()
25747}
25748
25749// SetTimeToLive sets the TimeToLive field's value.
25750func (s *JourneyPushMessage) SetTimeToLive(v string) *JourneyPushMessage {
25751	s.TimeToLive = &v
25752	return s
25753}
25754
25755// Provides information about the status, configuration, and other settings
25756// for a journey.
25757type JourneyResponse struct {
25758	_ struct{} `type:"structure"`
25759
25760	// A map that contains a set of Activity objects, one object for each activity
25761	// in the journey. For each Activity object, the key is the unique identifier
25762	// (string) for an activity and the value is the settings for the activity.
25763	Activities map[string]*Activity `type:"map"`
25764
25765	// The unique identifier for the application that the journey applies to.
25766	//
25767	// ApplicationId is a required field
25768	ApplicationId *string `type:"string" required:"true"`
25769
25770	// The date, in ISO 8601 format, when the journey was created.
25771	CreationDate *string `type:"string"`
25772
25773	// The unique identifier for the journey.
25774	//
25775	// Id is a required field
25776	Id *string `type:"string" required:"true"`
25777
25778	// The date, in ISO 8601 format, when the journey was last modified.
25779	LastModifiedDate *string `type:"string"`
25780
25781	// The messaging and entry limits for the journey.
25782	Limits *JourneyLimits `type:"structure"`
25783
25784	// Specifies whether the journey's scheduled start and end times use each participant's
25785	// local time. If this value is true, the schedule uses each participant's local
25786	// time.
25787	LocalTime *bool `type:"boolean"`
25788
25789	// The name of the journey.
25790	//
25791	// Name is a required field
25792	Name *string `type:"string" required:"true"`
25793
25794	// The quiet time settings for the journey. Quiet time is a specific time range
25795	// when a journey doesn't send messages to participants, if all the following
25796	// conditions are met:
25797	//
25798	//    * The EndpointDemographic.Timezone property of the endpoint for the participant
25799	//    is set to a valid value.
25800	//
25801	//    * The current time in the participant's time zone is later than or equal
25802	//    to the time specified by the QuietTime.Start property for the journey.
25803	//
25804	//    * The current time in the participant's time zone is earlier than or equal
25805	//    to the time specified by the QuietTime.End property for the journey.
25806	//
25807	// If any of the preceding conditions isn't met, the participant will receive
25808	// messages from the journey, even if quiet time is enabled.
25809	QuietTime *QuietTime `type:"structure"`
25810
25811	// The frequency with which Amazon Pinpoint evaluates segment and event data
25812	// for the journey, as a duration in ISO 8601 format.
25813	RefreshFrequency *string `type:"string"`
25814
25815	// The schedule settings for the journey.
25816	Schedule *JourneySchedule `type:"structure"`
25817
25818	// The unique identifier for the first activity in the journey.
25819	StartActivity *string `type:"string"`
25820
25821	// The segment that defines which users are participants in the journey.
25822	StartCondition *StartCondition `type:"structure"`
25823
25824	// The current status of the journey. Possible values are:
25825	//
25826	//    * DRAFT - The journey is being developed and hasn't been published yet.
25827	//
25828	//    * ACTIVE - The journey has been developed and published. Depending on
25829	//    the journey's schedule, the journey may currently be running or scheduled
25830	//    to start running at a later time. If a journey's status is ACTIVE, you
25831	//    can't add, change, or remove activities from it.
25832	//
25833	//    * PAUSED - The journey has been paused. Amazon Pinpoint continues to perform
25834	//    activities that are currently in progress, until those activities are
25835	//    complete.
25836	//
25837	//    * COMPLETED - The journey has been published and has finished running.
25838	//    All participants have entered the journey and no participants are waiting
25839	//    to complete the journey or any activities in the journey.
25840	//
25841	//    * CANCELLED - The journey has been stopped. If a journey's status is CANCELLED,
25842	//    you can't add, change, or remove activities or segment settings from the
25843	//    journey.
25844	//
25845	//    * CLOSED - The journey has been published and has started running. It
25846	//    may have also passed its scheduled end time, or passed its scheduled start
25847	//    time and a refresh frequency hasn't been specified for it. If a journey's
25848	//    status is CLOSED, you can't add participants to it, and no existing participants
25849	//    can enter the journey for the first time. However, any existing participants
25850	//    who are currently waiting to start an activity may continue the journey.
25851	State *string `type:"string" enum:"State"`
25852
25853	// This object is not used or supported.
25854	Tags map[string]*string `locationName:"tags" type:"map"`
25855}
25856
25857// String returns the string representation
25858func (s JourneyResponse) String() string {
25859	return awsutil.Prettify(s)
25860}
25861
25862// GoString returns the string representation
25863func (s JourneyResponse) GoString() string {
25864	return s.String()
25865}
25866
25867// SetActivities sets the Activities field's value.
25868func (s *JourneyResponse) SetActivities(v map[string]*Activity) *JourneyResponse {
25869	s.Activities = v
25870	return s
25871}
25872
25873// SetApplicationId sets the ApplicationId field's value.
25874func (s *JourneyResponse) SetApplicationId(v string) *JourneyResponse {
25875	s.ApplicationId = &v
25876	return s
25877}
25878
25879// SetCreationDate sets the CreationDate field's value.
25880func (s *JourneyResponse) SetCreationDate(v string) *JourneyResponse {
25881	s.CreationDate = &v
25882	return s
25883}
25884
25885// SetId sets the Id field's value.
25886func (s *JourneyResponse) SetId(v string) *JourneyResponse {
25887	s.Id = &v
25888	return s
25889}
25890
25891// SetLastModifiedDate sets the LastModifiedDate field's value.
25892func (s *JourneyResponse) SetLastModifiedDate(v string) *JourneyResponse {
25893	s.LastModifiedDate = &v
25894	return s
25895}
25896
25897// SetLimits sets the Limits field's value.
25898func (s *JourneyResponse) SetLimits(v *JourneyLimits) *JourneyResponse {
25899	s.Limits = v
25900	return s
25901}
25902
25903// SetLocalTime sets the LocalTime field's value.
25904func (s *JourneyResponse) SetLocalTime(v bool) *JourneyResponse {
25905	s.LocalTime = &v
25906	return s
25907}
25908
25909// SetName sets the Name field's value.
25910func (s *JourneyResponse) SetName(v string) *JourneyResponse {
25911	s.Name = &v
25912	return s
25913}
25914
25915// SetQuietTime sets the QuietTime field's value.
25916func (s *JourneyResponse) SetQuietTime(v *QuietTime) *JourneyResponse {
25917	s.QuietTime = v
25918	return s
25919}
25920
25921// SetRefreshFrequency sets the RefreshFrequency field's value.
25922func (s *JourneyResponse) SetRefreshFrequency(v string) *JourneyResponse {
25923	s.RefreshFrequency = &v
25924	return s
25925}
25926
25927// SetSchedule sets the Schedule field's value.
25928func (s *JourneyResponse) SetSchedule(v *JourneySchedule) *JourneyResponse {
25929	s.Schedule = v
25930	return s
25931}
25932
25933// SetStartActivity sets the StartActivity field's value.
25934func (s *JourneyResponse) SetStartActivity(v string) *JourneyResponse {
25935	s.StartActivity = &v
25936	return s
25937}
25938
25939// SetStartCondition sets the StartCondition field's value.
25940func (s *JourneyResponse) SetStartCondition(v *StartCondition) *JourneyResponse {
25941	s.StartCondition = v
25942	return s
25943}
25944
25945// SetState sets the State field's value.
25946func (s *JourneyResponse) SetState(v string) *JourneyResponse {
25947	s.State = &v
25948	return s
25949}
25950
25951// SetTags sets the Tags field's value.
25952func (s *JourneyResponse) SetTags(v map[string]*string) *JourneyResponse {
25953	s.Tags = v
25954	return s
25955}
25956
25957// Specifies the sender ID and message type for an SMS message that's sent to
25958// participants in a journey.
25959type JourneySMSMessage struct {
25960	_ struct{} `type:"structure"`
25961
25962	// The entity ID or Principal Entity (PE) id received from the regulatory body
25963	// for sending SMS in your country.
25964	EntityId *string `type:"string"`
25965
25966	// The SMS message type. Valid values are TRANSACTIONAL (for messages that are
25967	// critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL
25968	// (for messsages that aren't critical or time-sensitive, such as marketing
25969	// messages).
25970	MessageType *string `type:"string" enum:"MessageType"`
25971
25972	// The long code to send the SMS message from. This value should be one of the
25973	// dedicated long codes that's assigned to your AWS account. Although it isn't
25974	// required, we recommend that you specify the long code using an E.164 format
25975	// to ensure prompt and accurate delivery of the message. For example, +12065550100.
25976	OriginationNumber *string `type:"string"`
25977
25978	// The sender ID to display as the sender of the message on a recipient's device.
25979	// Support for sender IDs varies by country or region. For more information,
25980	// see Supported Countries and Regions (https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html)
25981	// in the Amazon Pinpoint User Guide.
25982	SenderId *string `type:"string"`
25983
25984	// The template ID received from the regulatory body for sending SMS in your
25985	// country.
25986	TemplateId *string `type:"string"`
25987}
25988
25989// String returns the string representation
25990func (s JourneySMSMessage) String() string {
25991	return awsutil.Prettify(s)
25992}
25993
25994// GoString returns the string representation
25995func (s JourneySMSMessage) GoString() string {
25996	return s.String()
25997}
25998
25999// SetEntityId sets the EntityId field's value.
26000func (s *JourneySMSMessage) SetEntityId(v string) *JourneySMSMessage {
26001	s.EntityId = &v
26002	return s
26003}
26004
26005// SetMessageType sets the MessageType field's value.
26006func (s *JourneySMSMessage) SetMessageType(v string) *JourneySMSMessage {
26007	s.MessageType = &v
26008	return s
26009}
26010
26011// SetOriginationNumber sets the OriginationNumber field's value.
26012func (s *JourneySMSMessage) SetOriginationNumber(v string) *JourneySMSMessage {
26013	s.OriginationNumber = &v
26014	return s
26015}
26016
26017// SetSenderId sets the SenderId field's value.
26018func (s *JourneySMSMessage) SetSenderId(v string) *JourneySMSMessage {
26019	s.SenderId = &v
26020	return s
26021}
26022
26023// SetTemplateId sets the TemplateId field's value.
26024func (s *JourneySMSMessage) SetTemplateId(v string) *JourneySMSMessage {
26025	s.TemplateId = &v
26026	return s
26027}
26028
26029// Specifies the schedule settings for a journey.
26030type JourneySchedule struct {
26031	_ struct{} `type:"structure"`
26032
26033	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
26034
26035	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
26036
26037	// The starting UTC offset for the journey schedule, if the value of the journey's
26038	// LocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03,
26039	// UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30,
26040	// UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11,
26041	// UTC+12, UTC+12:45, UTC+13, UTC+13:45, UTC-02, UTC-02:30, UTC-03, UTC-03:30,
26042	// UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-09:30, UTC-10, and UTC-11.
26043	Timezone *string `type:"string"`
26044}
26045
26046// String returns the string representation
26047func (s JourneySchedule) String() string {
26048	return awsutil.Prettify(s)
26049}
26050
26051// GoString returns the string representation
26052func (s JourneySchedule) GoString() string {
26053	return s.String()
26054}
26055
26056// SetEndTime sets the EndTime field's value.
26057func (s *JourneySchedule) SetEndTime(v time.Time) *JourneySchedule {
26058	s.EndTime = &v
26059	return s
26060}
26061
26062// SetStartTime sets the StartTime field's value.
26063func (s *JourneySchedule) SetStartTime(v time.Time) *JourneySchedule {
26064	s.StartTime = &v
26065	return s
26066}
26067
26068// SetTimezone sets the Timezone field's value.
26069func (s *JourneySchedule) SetTimezone(v string) *JourneySchedule {
26070	s.Timezone = &v
26071	return s
26072}
26073
26074// Changes the status of a journey.
26075type JourneyStateRequest struct {
26076	_ struct{} `type:"structure"`
26077
26078	// The status of the journey. Currently, Supported values are ACTIVE, PAUSED,
26079	// and CANCELLED
26080	//
26081	// If you cancel a journey, Amazon Pinpoint continues to perform activities
26082	// that are currently in progress, until those activities are complete. Amazon
26083	// Pinpoint also continues to collect and aggregate analytics data for those
26084	// activities, until they are complete, and any activities that were complete
26085	// when you cancelled the journey.
26086	//
26087	// After you cancel a journey, you can't add, change, or remove any activities
26088	// from the journey. In addition, Amazon Pinpoint stops evaluating the journey
26089	// and doesn't perform any activities that haven't started.
26090	//
26091	// When the journey is paused, Amazon Pinpoint continues to perform activities
26092	// that are currently in progress, until those activities are complete. Endpoints
26093	// will stop entering journeys when the journey is paused and will resume entering
26094	// the journey after the journey is resumed. For wait activities, wait time
26095	// is paused when the journey is paused. Currently, PAUSED only supports journeys
26096	// with a segment refresh interval.
26097	State *string `type:"string" enum:"State"`
26098}
26099
26100// String returns the string representation
26101func (s JourneyStateRequest) String() string {
26102	return awsutil.Prettify(s)
26103}
26104
26105// GoString returns the string representation
26106func (s JourneyStateRequest) GoString() string {
26107	return s.String()
26108}
26109
26110// SetState sets the State field's value.
26111func (s *JourneyStateRequest) SetState(v string) *JourneyStateRequest {
26112	s.State = &v
26113	return s
26114}
26115
26116// Provides information about the status, configuration, and other settings
26117// for all the journeys that are associated with an application.
26118type JourneysResponse struct {
26119	_ struct{} `type:"structure"`
26120
26121	// An array of responses, one for each journey that's associated with the application.
26122	//
26123	// Item is a required field
26124	Item []*JourneyResponse `type:"list" required:"true"`
26125
26126	// The string to use in a subsequent request to get the next page of results
26127	// in a paginated response. This value is null if there are no additional pages.
26128	NextToken *string `type:"string"`
26129}
26130
26131// String returns the string representation
26132func (s JourneysResponse) String() string {
26133	return awsutil.Prettify(s)
26134}
26135
26136// GoString returns the string representation
26137func (s JourneysResponse) GoString() string {
26138	return s.String()
26139}
26140
26141// SetItem sets the Item field's value.
26142func (s *JourneysResponse) SetItem(v []*JourneyResponse) *JourneysResponse {
26143	s.Item = v
26144	return s
26145}
26146
26147// SetNextToken sets the NextToken field's value.
26148func (s *JourneysResponse) SetNextToken(v string) *JourneysResponse {
26149	s.NextToken = &v
26150	return s
26151}
26152
26153type ListJourneysInput struct {
26154	_ struct{} `type:"structure"`
26155
26156	// ApplicationId is a required field
26157	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
26158
26159	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
26160
26161	Token *string `location:"querystring" locationName:"token" type:"string"`
26162}
26163
26164// String returns the string representation
26165func (s ListJourneysInput) String() string {
26166	return awsutil.Prettify(s)
26167}
26168
26169// GoString returns the string representation
26170func (s ListJourneysInput) GoString() string {
26171	return s.String()
26172}
26173
26174// Validate inspects the fields of the type to determine if they are valid.
26175func (s *ListJourneysInput) Validate() error {
26176	invalidParams := request.ErrInvalidParams{Context: "ListJourneysInput"}
26177	if s.ApplicationId == nil {
26178		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
26179	}
26180	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
26181		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
26182	}
26183
26184	if invalidParams.Len() > 0 {
26185		return invalidParams
26186	}
26187	return nil
26188}
26189
26190// SetApplicationId sets the ApplicationId field's value.
26191func (s *ListJourneysInput) SetApplicationId(v string) *ListJourneysInput {
26192	s.ApplicationId = &v
26193	return s
26194}
26195
26196// SetPageSize sets the PageSize field's value.
26197func (s *ListJourneysInput) SetPageSize(v string) *ListJourneysInput {
26198	s.PageSize = &v
26199	return s
26200}
26201
26202// SetToken sets the Token field's value.
26203func (s *ListJourneysInput) SetToken(v string) *ListJourneysInput {
26204	s.Token = &v
26205	return s
26206}
26207
26208type ListJourneysOutput struct {
26209	_ struct{} `type:"structure" payload:"JourneysResponse"`
26210
26211	// Provides information about the status, configuration, and other settings
26212	// for all the journeys that are associated with an application.
26213	//
26214	// JourneysResponse is a required field
26215	JourneysResponse *JourneysResponse `type:"structure" required:"true"`
26216}
26217
26218// String returns the string representation
26219func (s ListJourneysOutput) String() string {
26220	return awsutil.Prettify(s)
26221}
26222
26223// GoString returns the string representation
26224func (s ListJourneysOutput) GoString() string {
26225	return s.String()
26226}
26227
26228// SetJourneysResponse sets the JourneysResponse field's value.
26229func (s *ListJourneysOutput) SetJourneysResponse(v *JourneysResponse) *ListJourneysOutput {
26230	s.JourneysResponse = v
26231	return s
26232}
26233
26234// Provides information about all the recommender model configurations that
26235// are associated with your Amazon Pinpoint account.
26236type ListRecommenderConfigurationsResponse struct {
26237	_ struct{} `type:"structure"`
26238
26239	// An array of responses, one for each recommender model configuration that's
26240	// associated with your Amazon Pinpoint account.
26241	//
26242	// Item is a required field
26243	Item []*RecommenderConfigurationResponse `type:"list" required:"true"`
26244
26245	// The string to use in a subsequent request to get the next page of results
26246	// in a paginated response. This value is null if there are no additional pages.
26247	NextToken *string `type:"string"`
26248}
26249
26250// String returns the string representation
26251func (s ListRecommenderConfigurationsResponse) String() string {
26252	return awsutil.Prettify(s)
26253}
26254
26255// GoString returns the string representation
26256func (s ListRecommenderConfigurationsResponse) GoString() string {
26257	return s.String()
26258}
26259
26260// SetItem sets the Item field's value.
26261func (s *ListRecommenderConfigurationsResponse) SetItem(v []*RecommenderConfigurationResponse) *ListRecommenderConfigurationsResponse {
26262	s.Item = v
26263	return s
26264}
26265
26266// SetNextToken sets the NextToken field's value.
26267func (s *ListRecommenderConfigurationsResponse) SetNextToken(v string) *ListRecommenderConfigurationsResponse {
26268	s.NextToken = &v
26269	return s
26270}
26271
26272type ListTagsForResourceInput struct {
26273	_ struct{} `type:"structure"`
26274
26275	// ResourceArn is a required field
26276	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
26277}
26278
26279// String returns the string representation
26280func (s ListTagsForResourceInput) String() string {
26281	return awsutil.Prettify(s)
26282}
26283
26284// GoString returns the string representation
26285func (s ListTagsForResourceInput) GoString() string {
26286	return s.String()
26287}
26288
26289// Validate inspects the fields of the type to determine if they are valid.
26290func (s *ListTagsForResourceInput) Validate() error {
26291	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
26292	if s.ResourceArn == nil {
26293		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
26294	}
26295	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
26296		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
26297	}
26298
26299	if invalidParams.Len() > 0 {
26300		return invalidParams
26301	}
26302	return nil
26303}
26304
26305// SetResourceArn sets the ResourceArn field's value.
26306func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
26307	s.ResourceArn = &v
26308	return s
26309}
26310
26311type ListTagsForResourceOutput struct {
26312	_ struct{} `type:"structure" payload:"TagsModel"`
26313
26314	// Specifies the tags (keys and values) for an application, campaign, message
26315	// template, or segment.
26316	//
26317	// TagsModel is a required field
26318	TagsModel *TagsModel `type:"structure" required:"true"`
26319}
26320
26321// String returns the string representation
26322func (s ListTagsForResourceOutput) String() string {
26323	return awsutil.Prettify(s)
26324}
26325
26326// GoString returns the string representation
26327func (s ListTagsForResourceOutput) GoString() string {
26328	return s.String()
26329}
26330
26331// SetTagsModel sets the TagsModel field's value.
26332func (s *ListTagsForResourceOutput) SetTagsModel(v *TagsModel) *ListTagsForResourceOutput {
26333	s.TagsModel = v
26334	return s
26335}
26336
26337type ListTemplateVersionsInput struct {
26338	_ struct{} `type:"structure"`
26339
26340	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
26341
26342	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
26343
26344	// TemplateName is a required field
26345	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
26346
26347	// TemplateType is a required field
26348	TemplateType *string `location:"uri" locationName:"template-type" type:"string" required:"true"`
26349}
26350
26351// String returns the string representation
26352func (s ListTemplateVersionsInput) String() string {
26353	return awsutil.Prettify(s)
26354}
26355
26356// GoString returns the string representation
26357func (s ListTemplateVersionsInput) GoString() string {
26358	return s.String()
26359}
26360
26361// Validate inspects the fields of the type to determine if they are valid.
26362func (s *ListTemplateVersionsInput) Validate() error {
26363	invalidParams := request.ErrInvalidParams{Context: "ListTemplateVersionsInput"}
26364	if s.TemplateName == nil {
26365		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
26366	}
26367	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
26368		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
26369	}
26370	if s.TemplateType == nil {
26371		invalidParams.Add(request.NewErrParamRequired("TemplateType"))
26372	}
26373	if s.TemplateType != nil && len(*s.TemplateType) < 1 {
26374		invalidParams.Add(request.NewErrParamMinLen("TemplateType", 1))
26375	}
26376
26377	if invalidParams.Len() > 0 {
26378		return invalidParams
26379	}
26380	return nil
26381}
26382
26383// SetNextToken sets the NextToken field's value.
26384func (s *ListTemplateVersionsInput) SetNextToken(v string) *ListTemplateVersionsInput {
26385	s.NextToken = &v
26386	return s
26387}
26388
26389// SetPageSize sets the PageSize field's value.
26390func (s *ListTemplateVersionsInput) SetPageSize(v string) *ListTemplateVersionsInput {
26391	s.PageSize = &v
26392	return s
26393}
26394
26395// SetTemplateName sets the TemplateName field's value.
26396func (s *ListTemplateVersionsInput) SetTemplateName(v string) *ListTemplateVersionsInput {
26397	s.TemplateName = &v
26398	return s
26399}
26400
26401// SetTemplateType sets the TemplateType field's value.
26402func (s *ListTemplateVersionsInput) SetTemplateType(v string) *ListTemplateVersionsInput {
26403	s.TemplateType = &v
26404	return s
26405}
26406
26407type ListTemplateVersionsOutput struct {
26408	_ struct{} `type:"structure" payload:"TemplateVersionsResponse"`
26409
26410	// Provides information about all the versions of a specific message template.
26411	//
26412	// TemplateVersionsResponse is a required field
26413	TemplateVersionsResponse *TemplateVersionsResponse `type:"structure" required:"true"`
26414}
26415
26416// String returns the string representation
26417func (s ListTemplateVersionsOutput) String() string {
26418	return awsutil.Prettify(s)
26419}
26420
26421// GoString returns the string representation
26422func (s ListTemplateVersionsOutput) GoString() string {
26423	return s.String()
26424}
26425
26426// SetTemplateVersionsResponse sets the TemplateVersionsResponse field's value.
26427func (s *ListTemplateVersionsOutput) SetTemplateVersionsResponse(v *TemplateVersionsResponse) *ListTemplateVersionsOutput {
26428	s.TemplateVersionsResponse = v
26429	return s
26430}
26431
26432type ListTemplatesInput struct {
26433	_ struct{} `type:"structure"`
26434
26435	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
26436
26437	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
26438
26439	Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
26440
26441	TemplateType *string `location:"querystring" locationName:"template-type" type:"string"`
26442}
26443
26444// String returns the string representation
26445func (s ListTemplatesInput) String() string {
26446	return awsutil.Prettify(s)
26447}
26448
26449// GoString returns the string representation
26450func (s ListTemplatesInput) GoString() string {
26451	return s.String()
26452}
26453
26454// SetNextToken sets the NextToken field's value.
26455func (s *ListTemplatesInput) SetNextToken(v string) *ListTemplatesInput {
26456	s.NextToken = &v
26457	return s
26458}
26459
26460// SetPageSize sets the PageSize field's value.
26461func (s *ListTemplatesInput) SetPageSize(v string) *ListTemplatesInput {
26462	s.PageSize = &v
26463	return s
26464}
26465
26466// SetPrefix sets the Prefix field's value.
26467func (s *ListTemplatesInput) SetPrefix(v string) *ListTemplatesInput {
26468	s.Prefix = &v
26469	return s
26470}
26471
26472// SetTemplateType sets the TemplateType field's value.
26473func (s *ListTemplatesInput) SetTemplateType(v string) *ListTemplatesInput {
26474	s.TemplateType = &v
26475	return s
26476}
26477
26478type ListTemplatesOutput struct {
26479	_ struct{} `type:"structure" payload:"TemplatesResponse"`
26480
26481	// Provides information about all the message templates that are associated
26482	// with your Amazon Pinpoint account.
26483	//
26484	// TemplatesResponse is a required field
26485	TemplatesResponse *TemplatesResponse `type:"structure" required:"true"`
26486}
26487
26488// String returns the string representation
26489func (s ListTemplatesOutput) String() string {
26490	return awsutil.Prettify(s)
26491}
26492
26493// GoString returns the string representation
26494func (s ListTemplatesOutput) GoString() string {
26495	return s.String()
26496}
26497
26498// SetTemplatesResponse sets the TemplatesResponse field's value.
26499func (s *ListTemplatesOutput) SetTemplatesResponse(v *TemplatesResponse) *ListTemplatesOutput {
26500	s.TemplatesResponse = v
26501	return s
26502}
26503
26504// Specifies the content and settings for a push notification that's sent to
26505// recipients of a campaign.
26506type Message struct {
26507	_ struct{} `type:"structure"`
26508
26509	// The action to occur if a recipient taps the push notification. Valid values
26510	// are:
26511	//
26512	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
26513	//    sent to the background. This is the default action.
26514	//
26515	//    * DEEP_LINK - Your app opens and displays a designated user interface
26516	//    in the app. This setting uses the deep-linking features of iOS and Android.
26517	//
26518	//    * URL - The default mobile browser on the recipient's device opens and
26519	//    loads the web page at a URL that you specify.
26520	Action *string `type:"string" enum:"Action"`
26521
26522	// The body of the notification message. The maximum number of characters is
26523	// 200.
26524	Body *string `type:"string"`
26525
26526	// The URL of the image to display as the push-notification icon, such as the
26527	// icon for the app.
26528	ImageIconUrl *string `type:"string"`
26529
26530	// The URL of the image to display as the small, push-notification icon, such
26531	// as a small version of the icon for the app.
26532	ImageSmallIconUrl *string `type:"string"`
26533
26534	// The URL of an image to display in the push notification.
26535	ImageUrl *string `type:"string"`
26536
26537	// The JSON payload to use for a silent push notification.
26538	JsonBody *string `type:"string"`
26539
26540	// The URL of the image or video to display in the push notification.
26541	MediaUrl *string `type:"string"`
26542
26543	// The raw, JSON-formatted string to use as the payload for the notification
26544	// message. If specified, this value overrides all other content for the message.
26545	RawContent *string `type:"string"`
26546
26547	// Specifies whether the notification is a silent push notification, which is
26548	// a push notification that doesn't display on a recipient's device. Silent
26549	// push notifications can be used for cases such as updating an app's configuration,
26550	// displaying messages in an in-app message center, or supporting phone home
26551	// functionality.
26552	SilentPush *bool `type:"boolean"`
26553
26554	// The number of seconds that the push-notification service should keep the
26555	// message, if the service is unable to deliver the notification the first time.
26556	// This value is converted to an expiration value when it's sent to a push-notification
26557	// service. If this value is 0, the service treats the notification as if it
26558	// expires immediately and the service doesn't store or try to deliver the notification
26559	// again.
26560	//
26561	// This value doesn't apply to messages that are sent through the Amazon Device
26562	// Messaging (ADM) service.
26563	TimeToLive *int64 `type:"integer"`
26564
26565	// The title to display above the notification message on a recipient's device.
26566	Title *string `type:"string"`
26567
26568	// The URL to open in a recipient's default mobile browser, if a recipient taps
26569	// the push notification and the value of the Action property is URL.
26570	Url *string `type:"string"`
26571}
26572
26573// String returns the string representation
26574func (s Message) String() string {
26575	return awsutil.Prettify(s)
26576}
26577
26578// GoString returns the string representation
26579func (s Message) GoString() string {
26580	return s.String()
26581}
26582
26583// SetAction sets the Action field's value.
26584func (s *Message) SetAction(v string) *Message {
26585	s.Action = &v
26586	return s
26587}
26588
26589// SetBody sets the Body field's value.
26590func (s *Message) SetBody(v string) *Message {
26591	s.Body = &v
26592	return s
26593}
26594
26595// SetImageIconUrl sets the ImageIconUrl field's value.
26596func (s *Message) SetImageIconUrl(v string) *Message {
26597	s.ImageIconUrl = &v
26598	return s
26599}
26600
26601// SetImageSmallIconUrl sets the ImageSmallIconUrl field's value.
26602func (s *Message) SetImageSmallIconUrl(v string) *Message {
26603	s.ImageSmallIconUrl = &v
26604	return s
26605}
26606
26607// SetImageUrl sets the ImageUrl field's value.
26608func (s *Message) SetImageUrl(v string) *Message {
26609	s.ImageUrl = &v
26610	return s
26611}
26612
26613// SetJsonBody sets the JsonBody field's value.
26614func (s *Message) SetJsonBody(v string) *Message {
26615	s.JsonBody = &v
26616	return s
26617}
26618
26619// SetMediaUrl sets the MediaUrl field's value.
26620func (s *Message) SetMediaUrl(v string) *Message {
26621	s.MediaUrl = &v
26622	return s
26623}
26624
26625// SetRawContent sets the RawContent field's value.
26626func (s *Message) SetRawContent(v string) *Message {
26627	s.RawContent = &v
26628	return s
26629}
26630
26631// SetSilentPush sets the SilentPush field's value.
26632func (s *Message) SetSilentPush(v bool) *Message {
26633	s.SilentPush = &v
26634	return s
26635}
26636
26637// SetTimeToLive sets the TimeToLive field's value.
26638func (s *Message) SetTimeToLive(v int64) *Message {
26639	s.TimeToLive = &v
26640	return s
26641}
26642
26643// SetTitle sets the Title field's value.
26644func (s *Message) SetTitle(v string) *Message {
26645	s.Title = &v
26646	return s
26647}
26648
26649// SetUrl sets the Url field's value.
26650func (s *Message) SetUrl(v string) *Message {
26651	s.Url = &v
26652	return s
26653}
26654
26655// Provides information about an API request or response.
26656type MessageBody struct {
26657	_ struct{} `type:"structure"`
26658
26659	// The message that's returned from the API.
26660	Message *string `type:"string"`
26661
26662	// The unique identifier for the request or response.
26663	RequestID *string `type:"string"`
26664}
26665
26666// String returns the string representation
26667func (s MessageBody) String() string {
26668	return awsutil.Prettify(s)
26669}
26670
26671// GoString returns the string representation
26672func (s MessageBody) GoString() string {
26673	return s.String()
26674}
26675
26676// SetMessage sets the Message field's value.
26677func (s *MessageBody) SetMessage(v string) *MessageBody {
26678	s.Message = &v
26679	return s
26680}
26681
26682// SetRequestID sets the RequestID field's value.
26683func (s *MessageBody) SetRequestID(v string) *MessageBody {
26684	s.RequestID = &v
26685	return s
26686}
26687
26688// Specifies the message configuration settings for a campaign.
26689type MessageConfiguration struct {
26690	_ struct{} `type:"structure"`
26691
26692	// The message that the campaign sends through the ADM (Amazon Device Messaging)
26693	// channel. If specified, this message overrides the default message.
26694	ADMMessage *Message `type:"structure"`
26695
26696	// The message that the campaign sends through the APNs (Apple Push Notification
26697	// service) channel. If specified, this message overrides the default message.
26698	APNSMessage *Message `type:"structure"`
26699
26700	// The message that the campaign sends through the Baidu (Baidu Cloud Push)
26701	// channel. If specified, this message overrides the default message.
26702	BaiduMessage *Message `type:"structure"`
26703
26704	// The message that the campaign sends through a custom channel, as specified
26705	// by the delivery configuration (CustomDeliveryConfiguration) settings for
26706	// the campaign. If specified, this message overrides the default message.
26707	CustomMessage *CampaignCustomMessage `type:"structure"`
26708
26709	// The default message that the campaign sends through all the channels that
26710	// are configured for the campaign.
26711	DefaultMessage *Message `type:"structure"`
26712
26713	// The message that the campaign sends through the email channel. If specified,
26714	// this message overrides the default message.
26715	EmailMessage *CampaignEmailMessage `type:"structure"`
26716
26717	// The message that the campaign sends through the GCM channel, which enables
26718	// Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging
26719	// (FCM), formerly Google Cloud Messaging (GCM), service. If specified, this
26720	// message overrides the default message.
26721	GCMMessage *Message `type:"structure"`
26722
26723	// The message that the campaign sends through the SMS channel. If specified,
26724	// this message overrides the default message.
26725	SMSMessage *CampaignSmsMessage `type:"structure"`
26726}
26727
26728// String returns the string representation
26729func (s MessageConfiguration) String() string {
26730	return awsutil.Prettify(s)
26731}
26732
26733// GoString returns the string representation
26734func (s MessageConfiguration) GoString() string {
26735	return s.String()
26736}
26737
26738// SetADMMessage sets the ADMMessage field's value.
26739func (s *MessageConfiguration) SetADMMessage(v *Message) *MessageConfiguration {
26740	s.ADMMessage = v
26741	return s
26742}
26743
26744// SetAPNSMessage sets the APNSMessage field's value.
26745func (s *MessageConfiguration) SetAPNSMessage(v *Message) *MessageConfiguration {
26746	s.APNSMessage = v
26747	return s
26748}
26749
26750// SetBaiduMessage sets the BaiduMessage field's value.
26751func (s *MessageConfiguration) SetBaiduMessage(v *Message) *MessageConfiguration {
26752	s.BaiduMessage = v
26753	return s
26754}
26755
26756// SetCustomMessage sets the CustomMessage field's value.
26757func (s *MessageConfiguration) SetCustomMessage(v *CampaignCustomMessage) *MessageConfiguration {
26758	s.CustomMessage = v
26759	return s
26760}
26761
26762// SetDefaultMessage sets the DefaultMessage field's value.
26763func (s *MessageConfiguration) SetDefaultMessage(v *Message) *MessageConfiguration {
26764	s.DefaultMessage = v
26765	return s
26766}
26767
26768// SetEmailMessage sets the EmailMessage field's value.
26769func (s *MessageConfiguration) SetEmailMessage(v *CampaignEmailMessage) *MessageConfiguration {
26770	s.EmailMessage = v
26771	return s
26772}
26773
26774// SetGCMMessage sets the GCMMessage field's value.
26775func (s *MessageConfiguration) SetGCMMessage(v *Message) *MessageConfiguration {
26776	s.GCMMessage = v
26777	return s
26778}
26779
26780// SetSMSMessage sets the SMSMessage field's value.
26781func (s *MessageConfiguration) SetSMSMessage(v *CampaignSmsMessage) *MessageConfiguration {
26782	s.SMSMessage = v
26783	return s
26784}
26785
26786// Specifies the configuration and other settings for a message.
26787type MessageRequest struct {
26788	_ struct{} `type:"structure"`
26789
26790	// A map of key-value pairs, where each key is an address and each value is
26791	// an AddressConfiguration (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-addressconfiguration)
26792	// object. An address can be a push notification token, a phone number, or an
26793	// 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)
26794	// object to tailor the message for an address by specifying settings such as
26795	// content overrides and message variables.
26796	Addresses map[string]*AddressConfiguration `type:"map"`
26797
26798	// A map of custom attributes to attach to the message. For a push notification,
26799	// this payload is added to the data.pinpoint object. For an email or text message,
26800	// this payload is added to email/SMS delivery receipt event attributes.
26801	Context map[string]*string `type:"map"`
26802
26803	// A map of key-value pairs, where each key is an endpoint ID and each value
26804	// is an EndpointSendConfiguration (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-endpointsendconfiguration)
26805	// 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)
26806	// object to tailor the message for an endpoint by specifying settings such
26807	// as content overrides and message variables.
26808	Endpoints map[string]*EndpointSendConfiguration `type:"map"`
26809
26810	// The settings and content for the default message and any default messages
26811	// that you defined for specific channels.
26812	//
26813	// MessageConfiguration is a required field
26814	MessageConfiguration *DirectMessageConfiguration `type:"structure" required:"true"`
26815
26816	// The message template to use for the message.
26817	TemplateConfiguration *TemplateConfiguration `type:"structure"`
26818
26819	// The unique identifier for tracing the message. This identifier is visible
26820	// to message recipients.
26821	TraceId *string `type:"string"`
26822}
26823
26824// String returns the string representation
26825func (s MessageRequest) String() string {
26826	return awsutil.Prettify(s)
26827}
26828
26829// GoString returns the string representation
26830func (s MessageRequest) GoString() string {
26831	return s.String()
26832}
26833
26834// Validate inspects the fields of the type to determine if they are valid.
26835func (s *MessageRequest) Validate() error {
26836	invalidParams := request.ErrInvalidParams{Context: "MessageRequest"}
26837	if s.MessageConfiguration == nil {
26838		invalidParams.Add(request.NewErrParamRequired("MessageConfiguration"))
26839	}
26840
26841	if invalidParams.Len() > 0 {
26842		return invalidParams
26843	}
26844	return nil
26845}
26846
26847// SetAddresses sets the Addresses field's value.
26848func (s *MessageRequest) SetAddresses(v map[string]*AddressConfiguration) *MessageRequest {
26849	s.Addresses = v
26850	return s
26851}
26852
26853// SetContext sets the Context field's value.
26854func (s *MessageRequest) SetContext(v map[string]*string) *MessageRequest {
26855	s.Context = v
26856	return s
26857}
26858
26859// SetEndpoints sets the Endpoints field's value.
26860func (s *MessageRequest) SetEndpoints(v map[string]*EndpointSendConfiguration) *MessageRequest {
26861	s.Endpoints = v
26862	return s
26863}
26864
26865// SetMessageConfiguration sets the MessageConfiguration field's value.
26866func (s *MessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) *MessageRequest {
26867	s.MessageConfiguration = v
26868	return s
26869}
26870
26871// SetTemplateConfiguration sets the TemplateConfiguration field's value.
26872func (s *MessageRequest) SetTemplateConfiguration(v *TemplateConfiguration) *MessageRequest {
26873	s.TemplateConfiguration = v
26874	return s
26875}
26876
26877// SetTraceId sets the TraceId field's value.
26878func (s *MessageRequest) SetTraceId(v string) *MessageRequest {
26879	s.TraceId = &v
26880	return s
26881}
26882
26883// Provides information about the results of a request to send a message to
26884// an endpoint address.
26885type MessageResponse struct {
26886	_ struct{} `type:"structure"`
26887
26888	// The unique identifier for the application that was used to send the message.
26889	//
26890	// ApplicationId is a required field
26891	ApplicationId *string `type:"string" required:"true"`
26892
26893	// A map that contains a multipart response for each address that the message
26894	// was sent to. In the map, the endpoint ID is the key and the result is the
26895	// value.
26896	EndpointResult map[string]*EndpointMessageResult `type:"map"`
26897
26898	// The identifier for the original request that the message was delivered for.
26899	RequestId *string `type:"string"`
26900
26901	// A map that contains a multipart response for each address (email address,
26902	// phone number, or push notification token) that the message was sent to. In
26903	// the map, the address is the key and the result is the value.
26904	Result map[string]*MessageResult `type:"map"`
26905}
26906
26907// String returns the string representation
26908func (s MessageResponse) String() string {
26909	return awsutil.Prettify(s)
26910}
26911
26912// GoString returns the string representation
26913func (s MessageResponse) GoString() string {
26914	return s.String()
26915}
26916
26917// SetApplicationId sets the ApplicationId field's value.
26918func (s *MessageResponse) SetApplicationId(v string) *MessageResponse {
26919	s.ApplicationId = &v
26920	return s
26921}
26922
26923// SetEndpointResult sets the EndpointResult field's value.
26924func (s *MessageResponse) SetEndpointResult(v map[string]*EndpointMessageResult) *MessageResponse {
26925	s.EndpointResult = v
26926	return s
26927}
26928
26929// SetRequestId sets the RequestId field's value.
26930func (s *MessageResponse) SetRequestId(v string) *MessageResponse {
26931	s.RequestId = &v
26932	return s
26933}
26934
26935// SetResult sets the Result field's value.
26936func (s *MessageResponse) SetResult(v map[string]*MessageResult) *MessageResponse {
26937	s.Result = v
26938	return s
26939}
26940
26941// Provides information about the results of sending a message directly to an
26942// endpoint address.
26943type MessageResult struct {
26944	_ struct{} `type:"structure"`
26945
26946	// The delivery status of the message. Possible values are:
26947	//
26948	//    * DUPLICATE - The endpoint address is a duplicate of another endpoint
26949	//    address. Amazon Pinpoint won't attempt to send the message again.
26950	//
26951	//    * OPT_OUT - The user who's associated with the endpoint address has opted
26952	//    out of receiving messages from you. Amazon Pinpoint won't attempt to send
26953	//    the message again.
26954	//
26955	//    * PERMANENT_FAILURE - An error occurred when delivering the message to
26956	//    the endpoint address. Amazon Pinpoint won't attempt to send the message
26957	//    again.
26958	//
26959	//    * SUCCESSFUL - The message was successfully delivered to the endpoint
26960	//    address.
26961	//
26962	//    * TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't
26963	//    attempt to send the message again.
26964	//
26965	//    * THROTTLED - Amazon Pinpoint throttled the operation to send the message
26966	//    to the endpoint address.
26967	//
26968	//    * TIMEOUT - The message couldn't be sent within the timeout period.
26969	//
26970	//    * UNKNOWN_FAILURE - An unknown error occurred.
26971	//
26972	// DeliveryStatus is a required field
26973	DeliveryStatus *string `type:"string" required:"true" enum:"DeliveryStatus"`
26974
26975	// The unique identifier for the message that was sent.
26976	MessageId *string `type:"string"`
26977
26978	// The downstream service status code for delivering the message.
26979	//
26980	// StatusCode is a required field
26981	StatusCode *int64 `type:"integer" required:"true"`
26982
26983	// The status message for delivering the message.
26984	StatusMessage *string `type:"string"`
26985
26986	// For push notifications that are sent through the GCM channel, specifies whether
26987	// the endpoint's device registration token was updated as part of delivering
26988	// the message.
26989	UpdatedToken *string `type:"string"`
26990}
26991
26992// String returns the string representation
26993func (s MessageResult) String() string {
26994	return awsutil.Prettify(s)
26995}
26996
26997// GoString returns the string representation
26998func (s MessageResult) GoString() string {
26999	return s.String()
27000}
27001
27002// SetDeliveryStatus sets the DeliveryStatus field's value.
27003func (s *MessageResult) SetDeliveryStatus(v string) *MessageResult {
27004	s.DeliveryStatus = &v
27005	return s
27006}
27007
27008// SetMessageId sets the MessageId field's value.
27009func (s *MessageResult) SetMessageId(v string) *MessageResult {
27010	s.MessageId = &v
27011	return s
27012}
27013
27014// SetStatusCode sets the StatusCode field's value.
27015func (s *MessageResult) SetStatusCode(v int64) *MessageResult {
27016	s.StatusCode = &v
27017	return s
27018}
27019
27020// SetStatusMessage sets the StatusMessage field's value.
27021func (s *MessageResult) SetStatusMessage(v string) *MessageResult {
27022	s.StatusMessage = &v
27023	return s
27024}
27025
27026// SetUpdatedToken sets the UpdatedToken field's value.
27027func (s *MessageResult) SetUpdatedToken(v string) *MessageResult {
27028	s.UpdatedToken = &v
27029	return s
27030}
27031
27032// Provides information about an API request or response.
27033type MethodNotAllowedException struct {
27034	_            struct{}                  `type:"structure"`
27035	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
27036
27037	Message_ *string `locationName:"Message" type:"string"`
27038
27039	RequestID_ *string `locationName:"RequestID" type:"string"`
27040}
27041
27042// String returns the string representation
27043func (s MethodNotAllowedException) String() string {
27044	return awsutil.Prettify(s)
27045}
27046
27047// GoString returns the string representation
27048func (s MethodNotAllowedException) GoString() string {
27049	return s.String()
27050}
27051
27052func newErrorMethodNotAllowedException(v protocol.ResponseMetadata) error {
27053	return &MethodNotAllowedException{
27054		RespMetadata: v,
27055	}
27056}
27057
27058// Code returns the exception type name.
27059func (s *MethodNotAllowedException) Code() string {
27060	return "MethodNotAllowedException"
27061}
27062
27063// Message returns the exception's message.
27064func (s *MethodNotAllowedException) Message() string {
27065	if s.Message_ != nil {
27066		return *s.Message_
27067	}
27068	return ""
27069}
27070
27071// OrigErr always returns nil, satisfies awserr.Error interface.
27072func (s *MethodNotAllowedException) OrigErr() error {
27073	return nil
27074}
27075
27076func (s *MethodNotAllowedException) Error() string {
27077	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
27078}
27079
27080// Status code returns the HTTP status code for the request's response error.
27081func (s *MethodNotAllowedException) StatusCode() int {
27082	return s.RespMetadata.StatusCode
27083}
27084
27085// RequestID returns the service's response RequestID for request.
27086func (s *MethodNotAllowedException) RequestID() string {
27087	return s.RespMetadata.RequestID
27088}
27089
27090// Specifies metric-based criteria for including or excluding endpoints from
27091// a segment. These criteria derive from custom metrics that you define for
27092// endpoints.
27093type MetricDimension struct {
27094	_ struct{} `type:"structure"`
27095
27096	// The operator to use when comparing metric values. Valid values are: GREATER_THAN,
27097	// LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, and EQUAL.
27098	//
27099	// ComparisonOperator is a required field
27100	ComparisonOperator *string `type:"string" required:"true"`
27101
27102	// The value to compare.
27103	//
27104	// Value is a required field
27105	Value *float64 `type:"double" required:"true"`
27106}
27107
27108// String returns the string representation
27109func (s MetricDimension) String() string {
27110	return awsutil.Prettify(s)
27111}
27112
27113// GoString returns the string representation
27114func (s MetricDimension) GoString() string {
27115	return s.String()
27116}
27117
27118// Validate inspects the fields of the type to determine if they are valid.
27119func (s *MetricDimension) Validate() error {
27120	invalidParams := request.ErrInvalidParams{Context: "MetricDimension"}
27121	if s.ComparisonOperator == nil {
27122		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
27123	}
27124	if s.Value == nil {
27125		invalidParams.Add(request.NewErrParamRequired("Value"))
27126	}
27127
27128	if invalidParams.Len() > 0 {
27129		return invalidParams
27130	}
27131	return nil
27132}
27133
27134// SetComparisonOperator sets the ComparisonOperator field's value.
27135func (s *MetricDimension) SetComparisonOperator(v string) *MetricDimension {
27136	s.ComparisonOperator = &v
27137	return s
27138}
27139
27140// SetValue sets the Value field's value.
27141func (s *MetricDimension) SetValue(v float64) *MetricDimension {
27142	s.Value = &v
27143	return s
27144}
27145
27146// Specifies a condition to evaluate for an activity path in a journey.
27147type MultiConditionalBranch struct {
27148	_ struct{} `type:"structure"`
27149
27150	// The condition to evaluate for the activity path.
27151	Condition *SimpleCondition `type:"structure"`
27152
27153	// The unique identifier for the next activity to perform, after completing
27154	// the activity for the path.
27155	NextActivity *string `type:"string"`
27156}
27157
27158// String returns the string representation
27159func (s MultiConditionalBranch) String() string {
27160	return awsutil.Prettify(s)
27161}
27162
27163// GoString returns the string representation
27164func (s MultiConditionalBranch) GoString() string {
27165	return s.String()
27166}
27167
27168// Validate inspects the fields of the type to determine if they are valid.
27169func (s *MultiConditionalBranch) Validate() error {
27170	invalidParams := request.ErrInvalidParams{Context: "MultiConditionalBranch"}
27171	if s.Condition != nil {
27172		if err := s.Condition.Validate(); err != nil {
27173			invalidParams.AddNested("Condition", err.(request.ErrInvalidParams))
27174		}
27175	}
27176
27177	if invalidParams.Len() > 0 {
27178		return invalidParams
27179	}
27180	return nil
27181}
27182
27183// SetCondition sets the Condition field's value.
27184func (s *MultiConditionalBranch) SetCondition(v *SimpleCondition) *MultiConditionalBranch {
27185	s.Condition = v
27186	return s
27187}
27188
27189// SetNextActivity sets the NextActivity field's value.
27190func (s *MultiConditionalBranch) SetNextActivity(v string) *MultiConditionalBranch {
27191	s.NextActivity = &v
27192	return s
27193}
27194
27195// Specifies the settings for a multivariate split activity in a journey. This
27196// type of activity sends participants down one of as many as five paths (including
27197// a default Else path) in a journey, based on conditions that you specify.
27198//
27199// To create multivariate split activities that send participants down different
27200// paths based on push notification events (such as Open or Received events),
27201// your mobile app has to specify the User ID and Endpoint ID values. For more
27202// information, see Integrating Amazon Pinpoint with your application (https://docs.aws.amazon.com/pinpoint/latest/developerguide/integrate.html)
27203// in the Amazon Pinpoint Developer Guide.
27204type MultiConditionalSplitActivity struct {
27205	_ struct{} `type:"structure"`
27206
27207	// The paths for the activity, including the conditions for entering each path
27208	// and the activity to perform for each path.
27209	Branches []*MultiConditionalBranch `type:"list"`
27210
27211	// The unique identifier for the activity to perform for participants who don't
27212	// meet any of the conditions specified for other paths in the activity.
27213	DefaultActivity *string `type:"string"`
27214
27215	// The amount of time to wait or the date and time when Amazon Pinpoint determines
27216	// whether the conditions are met.
27217	EvaluationWaitTime *WaitTime `type:"structure"`
27218}
27219
27220// String returns the string representation
27221func (s MultiConditionalSplitActivity) String() string {
27222	return awsutil.Prettify(s)
27223}
27224
27225// GoString returns the string representation
27226func (s MultiConditionalSplitActivity) GoString() string {
27227	return s.String()
27228}
27229
27230// Validate inspects the fields of the type to determine if they are valid.
27231func (s *MultiConditionalSplitActivity) Validate() error {
27232	invalidParams := request.ErrInvalidParams{Context: "MultiConditionalSplitActivity"}
27233	if s.Branches != nil {
27234		for i, v := range s.Branches {
27235			if v == nil {
27236				continue
27237			}
27238			if err := v.Validate(); err != nil {
27239				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Branches", i), err.(request.ErrInvalidParams))
27240			}
27241		}
27242	}
27243
27244	if invalidParams.Len() > 0 {
27245		return invalidParams
27246	}
27247	return nil
27248}
27249
27250// SetBranches sets the Branches field's value.
27251func (s *MultiConditionalSplitActivity) SetBranches(v []*MultiConditionalBranch) *MultiConditionalSplitActivity {
27252	s.Branches = v
27253	return s
27254}
27255
27256// SetDefaultActivity sets the DefaultActivity field's value.
27257func (s *MultiConditionalSplitActivity) SetDefaultActivity(v string) *MultiConditionalSplitActivity {
27258	s.DefaultActivity = &v
27259	return s
27260}
27261
27262// SetEvaluationWaitTime sets the EvaluationWaitTime field's value.
27263func (s *MultiConditionalSplitActivity) SetEvaluationWaitTime(v *WaitTime) *MultiConditionalSplitActivity {
27264	s.EvaluationWaitTime = v
27265	return s
27266}
27267
27268// Provides information about an API request or response.
27269type NotFoundException struct {
27270	_            struct{}                  `type:"structure"`
27271	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
27272
27273	Message_ *string `locationName:"Message" type:"string"`
27274
27275	RequestID_ *string `locationName:"RequestID" type:"string"`
27276}
27277
27278// String returns the string representation
27279func (s NotFoundException) String() string {
27280	return awsutil.Prettify(s)
27281}
27282
27283// GoString returns the string representation
27284func (s NotFoundException) GoString() string {
27285	return s.String()
27286}
27287
27288func newErrorNotFoundException(v protocol.ResponseMetadata) error {
27289	return &NotFoundException{
27290		RespMetadata: v,
27291	}
27292}
27293
27294// Code returns the exception type name.
27295func (s *NotFoundException) Code() string {
27296	return "NotFoundException"
27297}
27298
27299// Message returns the exception's message.
27300func (s *NotFoundException) Message() string {
27301	if s.Message_ != nil {
27302		return *s.Message_
27303	}
27304	return ""
27305}
27306
27307// OrigErr always returns nil, satisfies awserr.Error interface.
27308func (s *NotFoundException) OrigErr() error {
27309	return nil
27310}
27311
27312func (s *NotFoundException) Error() string {
27313	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
27314}
27315
27316// Status code returns the HTTP status code for the request's response error.
27317func (s *NotFoundException) StatusCode() int {
27318	return s.RespMetadata.StatusCode
27319}
27320
27321// RequestID returns the service's response RequestID for request.
27322func (s *NotFoundException) RequestID() string {
27323	return s.RespMetadata.RequestID
27324}
27325
27326// Specifies a phone number to validate and retrieve information about.
27327type NumberValidateRequest struct {
27328	_ struct{} `type:"structure"`
27329
27330	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
27331	// region where the phone number was originally registered.
27332	IsoCountryCode *string `type:"string"`
27333
27334	// The phone number to retrieve information about. The phone number that you
27335	// provide should include a valid numeric country code. Otherwise, the operation
27336	// might result in an error.
27337	PhoneNumber *string `type:"string"`
27338}
27339
27340// String returns the string representation
27341func (s NumberValidateRequest) String() string {
27342	return awsutil.Prettify(s)
27343}
27344
27345// GoString returns the string representation
27346func (s NumberValidateRequest) GoString() string {
27347	return s.String()
27348}
27349
27350// SetIsoCountryCode sets the IsoCountryCode field's value.
27351func (s *NumberValidateRequest) SetIsoCountryCode(v string) *NumberValidateRequest {
27352	s.IsoCountryCode = &v
27353	return s
27354}
27355
27356// SetPhoneNumber sets the PhoneNumber field's value.
27357func (s *NumberValidateRequest) SetPhoneNumber(v string) *NumberValidateRequest {
27358	s.PhoneNumber = &v
27359	return s
27360}
27361
27362// Provides information about a phone number.
27363type NumberValidateResponse struct {
27364	_ struct{} `type:"structure"`
27365
27366	// The carrier or service provider that the phone number is currently registered
27367	// with. In some countries and regions, this value may be the carrier or service
27368	// provider that the phone number was originally registered with.
27369	Carrier *string `type:"string"`
27370
27371	// The name of the city where the phone number was originally registered.
27372	City *string `type:"string"`
27373
27374	// The cleansed phone number, in E.164 format, for the location where the phone
27375	// number was originally registered.
27376	CleansedPhoneNumberE164 *string `type:"string"`
27377
27378	// The cleansed phone number, in the format for the location where the phone
27379	// number was originally registered.
27380	CleansedPhoneNumberNational *string `type:"string"`
27381
27382	// The name of the country or region where the phone number was originally registered.
27383	Country *string `type:"string"`
27384
27385	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
27386	// region where the phone number was originally registered.
27387	CountryCodeIso2 *string `type:"string"`
27388
27389	// The numeric code for the country or region where the phone number was originally
27390	// registered.
27391	CountryCodeNumeric *string `type:"string"`
27392
27393	// The name of the county where the phone number was originally registered.
27394	County *string `type:"string"`
27395
27396	// The two-character code, in ISO 3166-1 alpha-2 format, that was sent in the
27397	// request body.
27398	OriginalCountryCodeIso2 *string `type:"string"`
27399
27400	// The phone number that was sent in the request body.
27401	OriginalPhoneNumber *string `type:"string"`
27402
27403	// The description of the phone type. Valid values are: MOBILE, LANDLINE, VOIP,
27404	// INVALID, PREPAID, and OTHER.
27405	PhoneType *string `type:"string"`
27406
27407	// The phone type, represented by an integer. Valid values are: 0 (mobile),
27408	// 1 (landline), 2 (VoIP), 3 (invalid), 4 (other), and 5 (prepaid).
27409	PhoneTypeCode *int64 `type:"integer"`
27410
27411	// The time zone for the location where the phone number was originally registered.
27412	Timezone *string `type:"string"`
27413
27414	// The postal or ZIP code for the location where the phone number was originally
27415	// registered.
27416	ZipCode *string `type:"string"`
27417}
27418
27419// String returns the string representation
27420func (s NumberValidateResponse) String() string {
27421	return awsutil.Prettify(s)
27422}
27423
27424// GoString returns the string representation
27425func (s NumberValidateResponse) GoString() string {
27426	return s.String()
27427}
27428
27429// SetCarrier sets the Carrier field's value.
27430func (s *NumberValidateResponse) SetCarrier(v string) *NumberValidateResponse {
27431	s.Carrier = &v
27432	return s
27433}
27434
27435// SetCity sets the City field's value.
27436func (s *NumberValidateResponse) SetCity(v string) *NumberValidateResponse {
27437	s.City = &v
27438	return s
27439}
27440
27441// SetCleansedPhoneNumberE164 sets the CleansedPhoneNumberE164 field's value.
27442func (s *NumberValidateResponse) SetCleansedPhoneNumberE164(v string) *NumberValidateResponse {
27443	s.CleansedPhoneNumberE164 = &v
27444	return s
27445}
27446
27447// SetCleansedPhoneNumberNational sets the CleansedPhoneNumberNational field's value.
27448func (s *NumberValidateResponse) SetCleansedPhoneNumberNational(v string) *NumberValidateResponse {
27449	s.CleansedPhoneNumberNational = &v
27450	return s
27451}
27452
27453// SetCountry sets the Country field's value.
27454func (s *NumberValidateResponse) SetCountry(v string) *NumberValidateResponse {
27455	s.Country = &v
27456	return s
27457}
27458
27459// SetCountryCodeIso2 sets the CountryCodeIso2 field's value.
27460func (s *NumberValidateResponse) SetCountryCodeIso2(v string) *NumberValidateResponse {
27461	s.CountryCodeIso2 = &v
27462	return s
27463}
27464
27465// SetCountryCodeNumeric sets the CountryCodeNumeric field's value.
27466func (s *NumberValidateResponse) SetCountryCodeNumeric(v string) *NumberValidateResponse {
27467	s.CountryCodeNumeric = &v
27468	return s
27469}
27470
27471// SetCounty sets the County field's value.
27472func (s *NumberValidateResponse) SetCounty(v string) *NumberValidateResponse {
27473	s.County = &v
27474	return s
27475}
27476
27477// SetOriginalCountryCodeIso2 sets the OriginalCountryCodeIso2 field's value.
27478func (s *NumberValidateResponse) SetOriginalCountryCodeIso2(v string) *NumberValidateResponse {
27479	s.OriginalCountryCodeIso2 = &v
27480	return s
27481}
27482
27483// SetOriginalPhoneNumber sets the OriginalPhoneNumber field's value.
27484func (s *NumberValidateResponse) SetOriginalPhoneNumber(v string) *NumberValidateResponse {
27485	s.OriginalPhoneNumber = &v
27486	return s
27487}
27488
27489// SetPhoneType sets the PhoneType field's value.
27490func (s *NumberValidateResponse) SetPhoneType(v string) *NumberValidateResponse {
27491	s.PhoneType = &v
27492	return s
27493}
27494
27495// SetPhoneTypeCode sets the PhoneTypeCode field's value.
27496func (s *NumberValidateResponse) SetPhoneTypeCode(v int64) *NumberValidateResponse {
27497	s.PhoneTypeCode = &v
27498	return s
27499}
27500
27501// SetTimezone sets the Timezone field's value.
27502func (s *NumberValidateResponse) SetTimezone(v string) *NumberValidateResponse {
27503	s.Timezone = &v
27504	return s
27505}
27506
27507// SetZipCode sets the ZipCode field's value.
27508func (s *NumberValidateResponse) SetZipCode(v string) *NumberValidateResponse {
27509	s.ZipCode = &v
27510	return s
27511}
27512
27513// Provides information about an API request or response.
27514type PayloadTooLargeException struct {
27515	_            struct{}                  `type:"structure"`
27516	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
27517
27518	Message_ *string `locationName:"Message" type:"string"`
27519
27520	RequestID_ *string `locationName:"RequestID" type:"string"`
27521}
27522
27523// String returns the string representation
27524func (s PayloadTooLargeException) String() string {
27525	return awsutil.Prettify(s)
27526}
27527
27528// GoString returns the string representation
27529func (s PayloadTooLargeException) GoString() string {
27530	return s.String()
27531}
27532
27533func newErrorPayloadTooLargeException(v protocol.ResponseMetadata) error {
27534	return &PayloadTooLargeException{
27535		RespMetadata: v,
27536	}
27537}
27538
27539// Code returns the exception type name.
27540func (s *PayloadTooLargeException) Code() string {
27541	return "PayloadTooLargeException"
27542}
27543
27544// Message returns the exception's message.
27545func (s *PayloadTooLargeException) Message() string {
27546	if s.Message_ != nil {
27547		return *s.Message_
27548	}
27549	return ""
27550}
27551
27552// OrigErr always returns nil, satisfies awserr.Error interface.
27553func (s *PayloadTooLargeException) OrigErr() error {
27554	return nil
27555}
27556
27557func (s *PayloadTooLargeException) Error() string {
27558	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
27559}
27560
27561// Status code returns the HTTP status code for the request's response error.
27562func (s *PayloadTooLargeException) StatusCode() int {
27563	return s.RespMetadata.StatusCode
27564}
27565
27566// RequestID returns the service's response RequestID for request.
27567func (s *PayloadTooLargeException) RequestID() string {
27568	return s.RespMetadata.RequestID
27569}
27570
27571type PhoneNumberValidateInput struct {
27572	_ struct{} `type:"structure" payload:"NumberValidateRequest"`
27573
27574	// Specifies a phone number to validate and retrieve information about.
27575	//
27576	// NumberValidateRequest is a required field
27577	NumberValidateRequest *NumberValidateRequest `type:"structure" required:"true"`
27578}
27579
27580// String returns the string representation
27581func (s PhoneNumberValidateInput) String() string {
27582	return awsutil.Prettify(s)
27583}
27584
27585// GoString returns the string representation
27586func (s PhoneNumberValidateInput) GoString() string {
27587	return s.String()
27588}
27589
27590// Validate inspects the fields of the type to determine if they are valid.
27591func (s *PhoneNumberValidateInput) Validate() error {
27592	invalidParams := request.ErrInvalidParams{Context: "PhoneNumberValidateInput"}
27593	if s.NumberValidateRequest == nil {
27594		invalidParams.Add(request.NewErrParamRequired("NumberValidateRequest"))
27595	}
27596
27597	if invalidParams.Len() > 0 {
27598		return invalidParams
27599	}
27600	return nil
27601}
27602
27603// SetNumberValidateRequest sets the NumberValidateRequest field's value.
27604func (s *PhoneNumberValidateInput) SetNumberValidateRequest(v *NumberValidateRequest) *PhoneNumberValidateInput {
27605	s.NumberValidateRequest = v
27606	return s
27607}
27608
27609type PhoneNumberValidateOutput struct {
27610	_ struct{} `type:"structure" payload:"NumberValidateResponse"`
27611
27612	// Provides information about a phone number.
27613	//
27614	// NumberValidateResponse is a required field
27615	NumberValidateResponse *NumberValidateResponse `type:"structure" required:"true"`
27616}
27617
27618// String returns the string representation
27619func (s PhoneNumberValidateOutput) String() string {
27620	return awsutil.Prettify(s)
27621}
27622
27623// GoString returns the string representation
27624func (s PhoneNumberValidateOutput) GoString() string {
27625	return s.String()
27626}
27627
27628// SetNumberValidateResponse sets the NumberValidateResponse field's value.
27629func (s *PhoneNumberValidateOutput) SetNumberValidateResponse(v *NumberValidateResponse) *PhoneNumberValidateOutput {
27630	s.NumberValidateResponse = v
27631	return s
27632}
27633
27634// Specifies the properties and attributes of an endpoint that's associated
27635// with an event.
27636type PublicEndpoint struct {
27637	_ struct{} `type:"structure"`
27638
27639	// The unique identifier for the recipient, such as a device token, email address,
27640	// or mobile phone number.
27641	Address *string `type:"string"`
27642
27643	// One or more custom attributes that describe the endpoint by associating a
27644	// name with an array of values. You can use these attributes as filter criteria
27645	// when you create segments.
27646	Attributes map[string][]*string `type:"map"`
27647
27648	// The channel that's used when sending messages or push notifications to the
27649	// endpoint.
27650	ChannelType *string `type:"string" enum:"ChannelType"`
27651
27652	// The demographic information for the endpoint, such as the time zone and platform.
27653	Demographic *EndpointDemographic `type:"structure"`
27654
27655	// The date and time, in ISO 8601 format, when the endpoint was last updated.
27656	EffectiveDate *string `type:"string"`
27657
27658	// Specifies whether to send messages or push notifications to the endpoint.
27659	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
27660	// messages aren’t sent to the endpoint.
27661	//
27662	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
27663	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
27664	// this value to INACTIVE if you update another endpoint that has the same address
27665	// specified by the Address property.
27666	EndpointStatus *string `type:"string"`
27667
27668	// The geographic information for the endpoint.
27669	Location *EndpointLocation `type:"structure"`
27670
27671	// One or more custom metrics that your app reports to Amazon Pinpoint for the
27672	// endpoint.
27673	Metrics map[string]*float64 `type:"map"`
27674
27675	// Specifies whether the user who's associated with the endpoint has opted out
27676	// of receiving messages and push notifications from you. Possible values are:
27677	// ALL, the user has opted out and doesn't want to receive any messages or push
27678	// notifications; and, NONE, the user hasn't opted out and wants to receive
27679	// all messages and push notifications.
27680	OptOut *string `type:"string"`
27681
27682	// A unique identifier that's generated each time the endpoint is updated.
27683	RequestId *string `type:"string"`
27684
27685	// One or more custom user attributes that your app reports to Amazon Pinpoint
27686	// for the user who's associated with the endpoint.
27687	User *EndpointUser `type:"structure"`
27688}
27689
27690// String returns the string representation
27691func (s PublicEndpoint) String() string {
27692	return awsutil.Prettify(s)
27693}
27694
27695// GoString returns the string representation
27696func (s PublicEndpoint) GoString() string {
27697	return s.String()
27698}
27699
27700// SetAddress sets the Address field's value.
27701func (s *PublicEndpoint) SetAddress(v string) *PublicEndpoint {
27702	s.Address = &v
27703	return s
27704}
27705
27706// SetAttributes sets the Attributes field's value.
27707func (s *PublicEndpoint) SetAttributes(v map[string][]*string) *PublicEndpoint {
27708	s.Attributes = v
27709	return s
27710}
27711
27712// SetChannelType sets the ChannelType field's value.
27713func (s *PublicEndpoint) SetChannelType(v string) *PublicEndpoint {
27714	s.ChannelType = &v
27715	return s
27716}
27717
27718// SetDemographic sets the Demographic field's value.
27719func (s *PublicEndpoint) SetDemographic(v *EndpointDemographic) *PublicEndpoint {
27720	s.Demographic = v
27721	return s
27722}
27723
27724// SetEffectiveDate sets the EffectiveDate field's value.
27725func (s *PublicEndpoint) SetEffectiveDate(v string) *PublicEndpoint {
27726	s.EffectiveDate = &v
27727	return s
27728}
27729
27730// SetEndpointStatus sets the EndpointStatus field's value.
27731func (s *PublicEndpoint) SetEndpointStatus(v string) *PublicEndpoint {
27732	s.EndpointStatus = &v
27733	return s
27734}
27735
27736// SetLocation sets the Location field's value.
27737func (s *PublicEndpoint) SetLocation(v *EndpointLocation) *PublicEndpoint {
27738	s.Location = v
27739	return s
27740}
27741
27742// SetMetrics sets the Metrics field's value.
27743func (s *PublicEndpoint) SetMetrics(v map[string]*float64) *PublicEndpoint {
27744	s.Metrics = v
27745	return s
27746}
27747
27748// SetOptOut sets the OptOut field's value.
27749func (s *PublicEndpoint) SetOptOut(v string) *PublicEndpoint {
27750	s.OptOut = &v
27751	return s
27752}
27753
27754// SetRequestId sets the RequestId field's value.
27755func (s *PublicEndpoint) SetRequestId(v string) *PublicEndpoint {
27756	s.RequestId = &v
27757	return s
27758}
27759
27760// SetUser sets the User field's value.
27761func (s *PublicEndpoint) SetUser(v *EndpointUser) *PublicEndpoint {
27762	s.User = v
27763	return s
27764}
27765
27766// Specifies the settings for a push notification activity in a journey. This
27767// type of activity sends a push notification to participants.
27768type PushMessageActivity struct {
27769	_ struct{} `type:"structure"`
27770
27771	// Specifies the time to live (TTL) value for push notifications that are sent
27772	// to participants in a journey.
27773	MessageConfig *JourneyPushMessage `type:"structure"`
27774
27775	// The unique identifier for the next activity to perform, after the message
27776	// is sent.
27777	NextActivity *string `type:"string"`
27778
27779	// The name of the push notification template to use for the message. If specified,
27780	// this value must match the name of an existing message template.
27781	TemplateName *string `type:"string"`
27782
27783	// The unique identifier for the version of the push notification template to
27784	// use for the message. If specified, this value must match the identifier for
27785	// an existing template version. To retrieve a list of versions and version
27786	// identifiers for a template, use the Template Versions resource.
27787	//
27788	// If you don't specify a value for this property, Amazon Pinpoint uses the
27789	// active version of the template. The active version is typically the version
27790	// of a template that's been most recently reviewed and approved for use, depending
27791	// on your workflow. It isn't necessarily the latest version of a template.
27792	TemplateVersion *string `type:"string"`
27793}
27794
27795// String returns the string representation
27796func (s PushMessageActivity) String() string {
27797	return awsutil.Prettify(s)
27798}
27799
27800// GoString returns the string representation
27801func (s PushMessageActivity) GoString() string {
27802	return s.String()
27803}
27804
27805// SetMessageConfig sets the MessageConfig field's value.
27806func (s *PushMessageActivity) SetMessageConfig(v *JourneyPushMessage) *PushMessageActivity {
27807	s.MessageConfig = v
27808	return s
27809}
27810
27811// SetNextActivity sets the NextActivity field's value.
27812func (s *PushMessageActivity) SetNextActivity(v string) *PushMessageActivity {
27813	s.NextActivity = &v
27814	return s
27815}
27816
27817// SetTemplateName sets the TemplateName field's value.
27818func (s *PushMessageActivity) SetTemplateName(v string) *PushMessageActivity {
27819	s.TemplateName = &v
27820	return s
27821}
27822
27823// SetTemplateVersion sets the TemplateVersion field's value.
27824func (s *PushMessageActivity) SetTemplateVersion(v string) *PushMessageActivity {
27825	s.TemplateVersion = &v
27826	return s
27827}
27828
27829// Specifies the content and settings for a message template that can be used
27830// in messages that are sent through a push notification channel.
27831type PushNotificationTemplateRequest struct {
27832	_ struct{} `type:"structure"`
27833
27834	// The message template to use for the ADM (Amazon Device Messaging) channel.
27835	// This message template overrides the default template for push notification
27836	// channels (DefaultPushNotificationTemplate).
27837	ADM *AndroidPushNotificationTemplate `type:"structure"`
27838
27839	// The message template to use for the APNs (Apple Push Notification service)
27840	// channel. This message template overrides the default template for push notification
27841	// channels (DefaultPushNotificationTemplate).
27842	APNS *APNSPushNotificationTemplate `type:"structure"`
27843
27844	// The message template to use for the Baidu (Baidu Cloud Push) channel. This
27845	// message template overrides the default template for push notification channels
27846	// (DefaultPushNotificationTemplate).
27847	Baidu *AndroidPushNotificationTemplate `type:"structure"`
27848
27849	// The default message template to use for push notification channels.
27850	Default *DefaultPushNotificationTemplate `type:"structure"`
27851
27852	// A JSON object that specifies the default values to use for message variables
27853	// in the message template. This object is a set of key-value pairs. Each key
27854	// defines a message variable in the template. The corresponding value defines
27855	// the default value for that variable. When you create a message that's based
27856	// on the template, you can override these defaults with message-specific and
27857	// address-specific variables and values.
27858	DefaultSubstitutions *string `type:"string"`
27859
27860	// The message template to use for the GCM channel, which is used to send notifications
27861	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
27862	// (GCM), service. This message template overrides the default template for
27863	// push notification channels (DefaultPushNotificationTemplate).
27864	GCM *AndroidPushNotificationTemplate `type:"structure"`
27865
27866	// The unique identifier for the recommender model to use for the message template.
27867	// Amazon Pinpoint uses this value to determine how to retrieve and process
27868	// data from a recommender model when it sends messages that use the template,
27869	// if the template contains message variables for recommendation data.
27870	RecommenderId *string `type:"string"`
27871
27872	// A string-to-string map of key-value pairs that defines the tags to associate
27873	// with the message template. Each tag consists of a required tag key and an
27874	// associated tag value.
27875	Tags map[string]*string `locationName:"tags" type:"map"`
27876
27877	// A custom description of the message template.
27878	TemplateDescription *string `type:"string"`
27879}
27880
27881// String returns the string representation
27882func (s PushNotificationTemplateRequest) String() string {
27883	return awsutil.Prettify(s)
27884}
27885
27886// GoString returns the string representation
27887func (s PushNotificationTemplateRequest) GoString() string {
27888	return s.String()
27889}
27890
27891// SetADM sets the ADM field's value.
27892func (s *PushNotificationTemplateRequest) SetADM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
27893	s.ADM = v
27894	return s
27895}
27896
27897// SetAPNS sets the APNS field's value.
27898func (s *PushNotificationTemplateRequest) SetAPNS(v *APNSPushNotificationTemplate) *PushNotificationTemplateRequest {
27899	s.APNS = v
27900	return s
27901}
27902
27903// SetBaidu sets the Baidu field's value.
27904func (s *PushNotificationTemplateRequest) SetBaidu(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
27905	s.Baidu = v
27906	return s
27907}
27908
27909// SetDefault sets the Default field's value.
27910func (s *PushNotificationTemplateRequest) SetDefault(v *DefaultPushNotificationTemplate) *PushNotificationTemplateRequest {
27911	s.Default = v
27912	return s
27913}
27914
27915// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
27916func (s *PushNotificationTemplateRequest) SetDefaultSubstitutions(v string) *PushNotificationTemplateRequest {
27917	s.DefaultSubstitutions = &v
27918	return s
27919}
27920
27921// SetGCM sets the GCM field's value.
27922func (s *PushNotificationTemplateRequest) SetGCM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
27923	s.GCM = v
27924	return s
27925}
27926
27927// SetRecommenderId sets the RecommenderId field's value.
27928func (s *PushNotificationTemplateRequest) SetRecommenderId(v string) *PushNotificationTemplateRequest {
27929	s.RecommenderId = &v
27930	return s
27931}
27932
27933// SetTags sets the Tags field's value.
27934func (s *PushNotificationTemplateRequest) SetTags(v map[string]*string) *PushNotificationTemplateRequest {
27935	s.Tags = v
27936	return s
27937}
27938
27939// SetTemplateDescription sets the TemplateDescription field's value.
27940func (s *PushNotificationTemplateRequest) SetTemplateDescription(v string) *PushNotificationTemplateRequest {
27941	s.TemplateDescription = &v
27942	return s
27943}
27944
27945// Provides information about the content and settings for a message template
27946// that can be used in messages that are sent through a push notification channel.
27947type PushNotificationTemplateResponse struct {
27948	_ struct{} `type:"structure"`
27949
27950	// The message template that's used for the ADM (Amazon Device Messaging) channel.
27951	// This message template overrides the default template for push notification
27952	// channels (DefaultPushNotificationTemplate).
27953	ADM *AndroidPushNotificationTemplate `type:"structure"`
27954
27955	// The message template that's used for the APNs (Apple Push Notification service)
27956	// channel. This message template overrides the default template for push notification
27957	// channels (DefaultPushNotificationTemplate).
27958	APNS *APNSPushNotificationTemplate `type:"structure"`
27959
27960	// The Amazon Resource Name (ARN) of the message template.
27961	Arn *string `type:"string"`
27962
27963	// The message template that's used for the Baidu (Baidu Cloud Push) channel.
27964	// This message template overrides the default template for push notification
27965	// channels (DefaultPushNotificationTemplate).
27966	Baidu *AndroidPushNotificationTemplate `type:"structure"`
27967
27968	// The date, in ISO 8601 format, when the message template was created.
27969	//
27970	// CreationDate is a required field
27971	CreationDate *string `type:"string" required:"true"`
27972
27973	// The default message template that's used for push notification channels.
27974	Default *DefaultPushNotificationTemplate `type:"structure"`
27975
27976	// The JSON object that specifies the default values that are used for message
27977	// variables in the message template. This object is a set of key-value pairs.
27978	// Each key defines a message variable in the template. The corresponding value
27979	// defines the default value for that variable.
27980	DefaultSubstitutions *string `type:"string"`
27981
27982	// The message template that's used for the GCM channel, which is used to send
27983	// notifications through the Firebase Cloud Messaging (FCM), formerly Google
27984	// Cloud Messaging (GCM), service. This message template overrides the default
27985	// template for push notification channels (DefaultPushNotificationTemplate).
27986	GCM *AndroidPushNotificationTemplate `type:"structure"`
27987
27988	// The date, in ISO 8601 format, when the message template was last modified.
27989	//
27990	// LastModifiedDate is a required field
27991	LastModifiedDate *string `type:"string" required:"true"`
27992
27993	// The unique identifier for the recommender model that's used by the message
27994	// template.
27995	RecommenderId *string `type:"string"`
27996
27997	// A string-to-string map of key-value pairs that identifies the tags that are
27998	// associated with the message template. Each tag consists of a required tag
27999	// key and an associated tag value.
28000	Tags map[string]*string `locationName:"tags" type:"map"`
28001
28002	// The custom description of the message template.
28003	TemplateDescription *string `type:"string"`
28004
28005	// The name of the message template.
28006	//
28007	// TemplateName is a required field
28008	TemplateName *string `type:"string" required:"true"`
28009
28010	// The type of channel that the message template is designed for. For a push
28011	// notification template, this value is PUSH.
28012	//
28013	// TemplateType is a required field
28014	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
28015
28016	// The unique identifier, as an integer, for the active version of the message
28017	// template, or the version of the template that you specified by using the
28018	// version parameter in your request.
28019	Version *string `type:"string"`
28020}
28021
28022// String returns the string representation
28023func (s PushNotificationTemplateResponse) String() string {
28024	return awsutil.Prettify(s)
28025}
28026
28027// GoString returns the string representation
28028func (s PushNotificationTemplateResponse) GoString() string {
28029	return s.String()
28030}
28031
28032// SetADM sets the ADM field's value.
28033func (s *PushNotificationTemplateResponse) SetADM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
28034	s.ADM = v
28035	return s
28036}
28037
28038// SetAPNS sets the APNS field's value.
28039func (s *PushNotificationTemplateResponse) SetAPNS(v *APNSPushNotificationTemplate) *PushNotificationTemplateResponse {
28040	s.APNS = v
28041	return s
28042}
28043
28044// SetArn sets the Arn field's value.
28045func (s *PushNotificationTemplateResponse) SetArn(v string) *PushNotificationTemplateResponse {
28046	s.Arn = &v
28047	return s
28048}
28049
28050// SetBaidu sets the Baidu field's value.
28051func (s *PushNotificationTemplateResponse) SetBaidu(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
28052	s.Baidu = v
28053	return s
28054}
28055
28056// SetCreationDate sets the CreationDate field's value.
28057func (s *PushNotificationTemplateResponse) SetCreationDate(v string) *PushNotificationTemplateResponse {
28058	s.CreationDate = &v
28059	return s
28060}
28061
28062// SetDefault sets the Default field's value.
28063func (s *PushNotificationTemplateResponse) SetDefault(v *DefaultPushNotificationTemplate) *PushNotificationTemplateResponse {
28064	s.Default = v
28065	return s
28066}
28067
28068// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
28069func (s *PushNotificationTemplateResponse) SetDefaultSubstitutions(v string) *PushNotificationTemplateResponse {
28070	s.DefaultSubstitutions = &v
28071	return s
28072}
28073
28074// SetGCM sets the GCM field's value.
28075func (s *PushNotificationTemplateResponse) SetGCM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
28076	s.GCM = v
28077	return s
28078}
28079
28080// SetLastModifiedDate sets the LastModifiedDate field's value.
28081func (s *PushNotificationTemplateResponse) SetLastModifiedDate(v string) *PushNotificationTemplateResponse {
28082	s.LastModifiedDate = &v
28083	return s
28084}
28085
28086// SetRecommenderId sets the RecommenderId field's value.
28087func (s *PushNotificationTemplateResponse) SetRecommenderId(v string) *PushNotificationTemplateResponse {
28088	s.RecommenderId = &v
28089	return s
28090}
28091
28092// SetTags sets the Tags field's value.
28093func (s *PushNotificationTemplateResponse) SetTags(v map[string]*string) *PushNotificationTemplateResponse {
28094	s.Tags = v
28095	return s
28096}
28097
28098// SetTemplateDescription sets the TemplateDescription field's value.
28099func (s *PushNotificationTemplateResponse) SetTemplateDescription(v string) *PushNotificationTemplateResponse {
28100	s.TemplateDescription = &v
28101	return s
28102}
28103
28104// SetTemplateName sets the TemplateName field's value.
28105func (s *PushNotificationTemplateResponse) SetTemplateName(v string) *PushNotificationTemplateResponse {
28106	s.TemplateName = &v
28107	return s
28108}
28109
28110// SetTemplateType sets the TemplateType field's value.
28111func (s *PushNotificationTemplateResponse) SetTemplateType(v string) *PushNotificationTemplateResponse {
28112	s.TemplateType = &v
28113	return s
28114}
28115
28116// SetVersion sets the Version field's value.
28117func (s *PushNotificationTemplateResponse) SetVersion(v string) *PushNotificationTemplateResponse {
28118	s.Version = &v
28119	return s
28120}
28121
28122type PutEventStreamInput struct {
28123	_ struct{} `type:"structure" payload:"WriteEventStream"`
28124
28125	// ApplicationId is a required field
28126	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
28127
28128	// Specifies the Amazon Resource Name (ARN) of an event stream to publish events
28129	// to and the AWS Identity and Access Management (IAM) role to use when publishing
28130	// those events.
28131	//
28132	// WriteEventStream is a required field
28133	WriteEventStream *WriteEventStream `type:"structure" required:"true"`
28134}
28135
28136// String returns the string representation
28137func (s PutEventStreamInput) String() string {
28138	return awsutil.Prettify(s)
28139}
28140
28141// GoString returns the string representation
28142func (s PutEventStreamInput) GoString() string {
28143	return s.String()
28144}
28145
28146// Validate inspects the fields of the type to determine if they are valid.
28147func (s *PutEventStreamInput) Validate() error {
28148	invalidParams := request.ErrInvalidParams{Context: "PutEventStreamInput"}
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.WriteEventStream == nil {
28156		invalidParams.Add(request.NewErrParamRequired("WriteEventStream"))
28157	}
28158	if s.WriteEventStream != nil {
28159		if err := s.WriteEventStream.Validate(); err != nil {
28160			invalidParams.AddNested("WriteEventStream", 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 *PutEventStreamInput) SetApplicationId(v string) *PutEventStreamInput {
28172	s.ApplicationId = &v
28173	return s
28174}
28175
28176// SetWriteEventStream sets the WriteEventStream field's value.
28177func (s *PutEventStreamInput) SetWriteEventStream(v *WriteEventStream) *PutEventStreamInput {
28178	s.WriteEventStream = v
28179	return s
28180}
28181
28182type PutEventStreamOutput struct {
28183	_ struct{} `type:"structure" payload:"EventStream"`
28184
28185	// Specifies settings for publishing event data to an Amazon Kinesis data stream
28186	// or an Amazon Kinesis Data Firehose delivery stream.
28187	//
28188	// EventStream is a required field
28189	EventStream *EventStream `type:"structure" required:"true"`
28190}
28191
28192// String returns the string representation
28193func (s PutEventStreamOutput) String() string {
28194	return awsutil.Prettify(s)
28195}
28196
28197// GoString returns the string representation
28198func (s PutEventStreamOutput) GoString() string {
28199	return s.String()
28200}
28201
28202// SetEventStream sets the EventStream field's value.
28203func (s *PutEventStreamOutput) SetEventStream(v *EventStream) *PutEventStreamOutput {
28204	s.EventStream = v
28205	return s
28206}
28207
28208type PutEventsInput struct {
28209	_ struct{} `type:"structure" payload:"EventsRequest"`
28210
28211	// ApplicationId is a required field
28212	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
28213
28214	// Specifies a batch of events to process.
28215	//
28216	// EventsRequest is a required field
28217	EventsRequest *EventsRequest `type:"structure" required:"true"`
28218}
28219
28220// String returns the string representation
28221func (s PutEventsInput) String() string {
28222	return awsutil.Prettify(s)
28223}
28224
28225// GoString returns the string representation
28226func (s PutEventsInput) GoString() string {
28227	return s.String()
28228}
28229
28230// Validate inspects the fields of the type to determine if they are valid.
28231func (s *PutEventsInput) Validate() error {
28232	invalidParams := request.ErrInvalidParams{Context: "PutEventsInput"}
28233	if s.ApplicationId == nil {
28234		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
28235	}
28236	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
28237		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
28238	}
28239	if s.EventsRequest == nil {
28240		invalidParams.Add(request.NewErrParamRequired("EventsRequest"))
28241	}
28242	if s.EventsRequest != nil {
28243		if err := s.EventsRequest.Validate(); err != nil {
28244			invalidParams.AddNested("EventsRequest", err.(request.ErrInvalidParams))
28245		}
28246	}
28247
28248	if invalidParams.Len() > 0 {
28249		return invalidParams
28250	}
28251	return nil
28252}
28253
28254// SetApplicationId sets the ApplicationId field's value.
28255func (s *PutEventsInput) SetApplicationId(v string) *PutEventsInput {
28256	s.ApplicationId = &v
28257	return s
28258}
28259
28260// SetEventsRequest sets the EventsRequest field's value.
28261func (s *PutEventsInput) SetEventsRequest(v *EventsRequest) *PutEventsInput {
28262	s.EventsRequest = v
28263	return s
28264}
28265
28266type PutEventsOutput struct {
28267	_ struct{} `type:"structure" payload:"EventsResponse"`
28268
28269	// Provides information about endpoints and the events that they're associated
28270	// with.
28271	//
28272	// EventsResponse is a required field
28273	EventsResponse *EventsResponse `type:"structure" required:"true"`
28274}
28275
28276// String returns the string representation
28277func (s PutEventsOutput) String() string {
28278	return awsutil.Prettify(s)
28279}
28280
28281// GoString returns the string representation
28282func (s PutEventsOutput) GoString() string {
28283	return s.String()
28284}
28285
28286// SetEventsResponse sets the EventsResponse field's value.
28287func (s *PutEventsOutput) SetEventsResponse(v *EventsResponse) *PutEventsOutput {
28288	s.EventsResponse = v
28289	return s
28290}
28291
28292// Specifies the start and end times that define a time range when messages
28293// aren't sent to endpoints.
28294type QuietTime struct {
28295	_ struct{} `type:"structure"`
28296
28297	// The specific time when quiet time ends. This value has to use 24-hour notation
28298	// and be in HH:MM format, where HH is the hour (with a leading zero, if applicable)
28299	// and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30
28300	// to represent 2:30 PM.
28301	End *string `type:"string"`
28302
28303	// The specific time when quiet time begins. This value has to use 24-hour notation
28304	// and be in HH:MM format, where HH is the hour (with a leading zero, if applicable)
28305	// and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30
28306	// to represent 2:30 PM.
28307	Start *string `type:"string"`
28308}
28309
28310// String returns the string representation
28311func (s QuietTime) String() string {
28312	return awsutil.Prettify(s)
28313}
28314
28315// GoString returns the string representation
28316func (s QuietTime) GoString() string {
28317	return s.String()
28318}
28319
28320// SetEnd sets the End field's value.
28321func (s *QuietTime) SetEnd(v string) *QuietTime {
28322	s.End = &v
28323	return s
28324}
28325
28326// SetStart sets the Start field's value.
28327func (s *QuietTime) SetStart(v string) *QuietTime {
28328	s.Start = &v
28329	return s
28330}
28331
28332// Specifies the settings for a random split activity in a journey. This type
28333// of activity randomly sends specified percentages of participants down one
28334// of as many as five paths in a journey, based on conditions that you specify.
28335type RandomSplitActivity struct {
28336	_ struct{} `type:"structure"`
28337
28338	// The paths for the activity, including the percentage of participants to enter
28339	// each path and the activity to perform for each path.
28340	Branches []*RandomSplitEntry `type:"list"`
28341}
28342
28343// String returns the string representation
28344func (s RandomSplitActivity) String() string {
28345	return awsutil.Prettify(s)
28346}
28347
28348// GoString returns the string representation
28349func (s RandomSplitActivity) GoString() string {
28350	return s.String()
28351}
28352
28353// SetBranches sets the Branches field's value.
28354func (s *RandomSplitActivity) SetBranches(v []*RandomSplitEntry) *RandomSplitActivity {
28355	s.Branches = v
28356	return s
28357}
28358
28359// Specifies the settings for a path in a random split activity in a journey.
28360type RandomSplitEntry struct {
28361	_ struct{} `type:"structure"`
28362
28363	// The unique identifier for the next activity to perform, after completing
28364	// the activity for the path.
28365	NextActivity *string `type:"string"`
28366
28367	// The percentage of participants to send down the activity path.
28368	//
28369	// To determine which participants are sent down each path, Amazon Pinpoint
28370	// applies a probability-based algorithm to the percentages that you specify
28371	// for the paths. Therefore, the actual percentage of participants who are sent
28372	// down a path may not be equal to the percentage that you specify.
28373	Percentage *int64 `type:"integer"`
28374}
28375
28376// String returns the string representation
28377func (s RandomSplitEntry) String() string {
28378	return awsutil.Prettify(s)
28379}
28380
28381// GoString returns the string representation
28382func (s RandomSplitEntry) GoString() string {
28383	return s.String()
28384}
28385
28386// SetNextActivity sets the NextActivity field's value.
28387func (s *RandomSplitEntry) SetNextActivity(v string) *RandomSplitEntry {
28388	s.NextActivity = &v
28389	return s
28390}
28391
28392// SetPercentage sets the Percentage field's value.
28393func (s *RandomSplitEntry) SetPercentage(v int64) *RandomSplitEntry {
28394	s.Percentage = &v
28395	return s
28396}
28397
28398// Specifies the contents of an email message, represented as a raw MIME message.
28399type RawEmail struct {
28400	_ struct{} `type:"structure"`
28401
28402	// Data is automatically base64 encoded/decoded by the SDK.
28403	Data []byte `type:"blob"`
28404}
28405
28406// String returns the string representation
28407func (s RawEmail) String() string {
28408	return awsutil.Prettify(s)
28409}
28410
28411// GoString returns the string representation
28412func (s RawEmail) GoString() string {
28413	return s.String()
28414}
28415
28416// SetData sets the Data field's value.
28417func (s *RawEmail) SetData(v []byte) *RawEmail {
28418	s.Data = v
28419	return s
28420}
28421
28422// Specifies criteria for including or excluding endpoints from a segment based
28423// on how recently an endpoint was active.
28424type RecencyDimension struct {
28425	_ struct{} `type:"structure"`
28426
28427	// The duration to use when determining whether an endpoint is active or inactive.
28428	//
28429	// Duration is a required field
28430	Duration *string `type:"string" required:"true" enum:"Duration"`
28431
28432	// The type of recency dimension to use for the segment. Valid values are: ACTIVE,
28433	// endpoints that were active within the specified duration are included in
28434	// the segment; and, INACTIVE, endpoints that weren't active within the specified
28435	// duration are included in the segment.
28436	//
28437	// RecencyType is a required field
28438	RecencyType *string `type:"string" required:"true" enum:"RecencyType"`
28439}
28440
28441// String returns the string representation
28442func (s RecencyDimension) String() string {
28443	return awsutil.Prettify(s)
28444}
28445
28446// GoString returns the string representation
28447func (s RecencyDimension) GoString() string {
28448	return s.String()
28449}
28450
28451// Validate inspects the fields of the type to determine if they are valid.
28452func (s *RecencyDimension) Validate() error {
28453	invalidParams := request.ErrInvalidParams{Context: "RecencyDimension"}
28454	if s.Duration == nil {
28455		invalidParams.Add(request.NewErrParamRequired("Duration"))
28456	}
28457	if s.RecencyType == nil {
28458		invalidParams.Add(request.NewErrParamRequired("RecencyType"))
28459	}
28460
28461	if invalidParams.Len() > 0 {
28462		return invalidParams
28463	}
28464	return nil
28465}
28466
28467// SetDuration sets the Duration field's value.
28468func (s *RecencyDimension) SetDuration(v string) *RecencyDimension {
28469	s.Duration = &v
28470	return s
28471}
28472
28473// SetRecencyType sets the RecencyType field's value.
28474func (s *RecencyDimension) SetRecencyType(v string) *RecencyDimension {
28475	s.RecencyType = &v
28476	return s
28477}
28478
28479// Provides information about Amazon Pinpoint configuration settings for retrieving
28480// and processing data from a recommender model.
28481type RecommenderConfigurationResponse struct {
28482	_ struct{} `type:"structure"`
28483
28484	// A map that defines 1-10 custom endpoint or user attributes, depending on
28485	// the value for the RecommendationProviderIdType property. Each of these attributes
28486	// temporarily stores a recommended item that's retrieved from the recommender
28487	// model and sent to an AWS Lambda function for additional processing. Each
28488	// attribute can be used as a message variable in a message template.
28489	//
28490	// This value is null if the configuration doesn't invoke an AWS Lambda function
28491	// (RecommendationTransformerUri) to perform additional processing of recommendation
28492	// data.
28493	Attributes map[string]*string `type:"map"`
28494
28495	// The date, in extended ISO 8601 format, when the configuration was created
28496	// for the recommender model.
28497	//
28498	// CreationDate is a required field
28499	CreationDate *string `type:"string" required:"true"`
28500
28501	// The custom description of the configuration for the recommender model.
28502	Description *string `type:"string"`
28503
28504	// The unique identifier for the recommender model configuration.
28505	//
28506	// Id is a required field
28507	Id *string `type:"string" required:"true"`
28508
28509	// The date, in extended ISO 8601 format, when the configuration for the recommender
28510	// model was last modified.
28511	//
28512	// LastModifiedDate is a required field
28513	LastModifiedDate *string `type:"string" required:"true"`
28514
28515	// The custom name of the configuration for the recommender model.
28516	Name *string `type:"string"`
28517
28518	// The type of Amazon Pinpoint ID that's associated with unique user IDs in
28519	// the recommender model. This value enables the model to use attribute and
28520	// event data that’s specific to a particular endpoint or user in an Amazon
28521	// Pinpoint application. Possible values are:
28522	//
28523	//    * PINPOINT_ENDPOINT_ID - Each user in the model is associated with a particular
28524	//    endpoint in Amazon Pinpoint. The data is correlated based on endpoint
28525	//    IDs in Amazon Pinpoint. This is the default value.
28526	//
28527	//    * PINPOINT_USER_ID - Each user in the model is associated with a particular
28528	//    user and endpoint in Amazon Pinpoint. The data is correlated based on
28529	//    user IDs in Amazon Pinpoint. If this value is specified, an endpoint definition
28530	//    in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint
28531	//    ID. Otherwise, messages won’t be sent to the user's endpoint.
28532	RecommendationProviderIdType *string `type:"string"`
28533
28534	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
28535	// (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data
28536	// from the recommender model.
28537	//
28538	// RecommendationProviderRoleArn is a required field
28539	RecommendationProviderRoleArn *string `type:"string" required:"true"`
28540
28541	// The Amazon Resource Name (ARN) of the recommender model that Amazon Pinpoint
28542	// retrieves the recommendation data from. This value is the ARN of an Amazon
28543	// Personalize campaign.
28544	//
28545	// RecommendationProviderUri is a required field
28546	RecommendationProviderUri *string `type:"string" required:"true"`
28547
28548	// The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
28549	// Pinpoint invokes to perform additional processing of recommendation data
28550	// that it retrieves from the recommender model.
28551	RecommendationTransformerUri *string `type:"string"`
28552
28553	// The custom display name for the standard endpoint or user attribute (RecommendationItems)
28554	// that temporarily stores recommended items for each endpoint or user, depending
28555	// on the value for the RecommendationProviderIdType property. This name appears
28556	// in the Attribute finder of the template editor on the Amazon Pinpoint console.
28557	//
28558	// This value is null if the configuration doesn't invoke an AWS Lambda function
28559	// (RecommendationTransformerUri) to perform additional processing of recommendation
28560	// data.
28561	RecommendationsDisplayName *string `type:"string"`
28562
28563	// The number of recommended items that are retrieved from the model for each
28564	// endpoint or user, depending on the value for the RecommendationProviderIdType
28565	// property. This number determines how many recommended items are available
28566	// for use in message variables.
28567	RecommendationsPerMessage *int64 `type:"integer"`
28568}
28569
28570// String returns the string representation
28571func (s RecommenderConfigurationResponse) String() string {
28572	return awsutil.Prettify(s)
28573}
28574
28575// GoString returns the string representation
28576func (s RecommenderConfigurationResponse) GoString() string {
28577	return s.String()
28578}
28579
28580// SetAttributes sets the Attributes field's value.
28581func (s *RecommenderConfigurationResponse) SetAttributes(v map[string]*string) *RecommenderConfigurationResponse {
28582	s.Attributes = v
28583	return s
28584}
28585
28586// SetCreationDate sets the CreationDate field's value.
28587func (s *RecommenderConfigurationResponse) SetCreationDate(v string) *RecommenderConfigurationResponse {
28588	s.CreationDate = &v
28589	return s
28590}
28591
28592// SetDescription sets the Description field's value.
28593func (s *RecommenderConfigurationResponse) SetDescription(v string) *RecommenderConfigurationResponse {
28594	s.Description = &v
28595	return s
28596}
28597
28598// SetId sets the Id field's value.
28599func (s *RecommenderConfigurationResponse) SetId(v string) *RecommenderConfigurationResponse {
28600	s.Id = &v
28601	return s
28602}
28603
28604// SetLastModifiedDate sets the LastModifiedDate field's value.
28605func (s *RecommenderConfigurationResponse) SetLastModifiedDate(v string) *RecommenderConfigurationResponse {
28606	s.LastModifiedDate = &v
28607	return s
28608}
28609
28610// SetName sets the Name field's value.
28611func (s *RecommenderConfigurationResponse) SetName(v string) *RecommenderConfigurationResponse {
28612	s.Name = &v
28613	return s
28614}
28615
28616// SetRecommendationProviderIdType sets the RecommendationProviderIdType field's value.
28617func (s *RecommenderConfigurationResponse) SetRecommendationProviderIdType(v string) *RecommenderConfigurationResponse {
28618	s.RecommendationProviderIdType = &v
28619	return s
28620}
28621
28622// SetRecommendationProviderRoleArn sets the RecommendationProviderRoleArn field's value.
28623func (s *RecommenderConfigurationResponse) SetRecommendationProviderRoleArn(v string) *RecommenderConfigurationResponse {
28624	s.RecommendationProviderRoleArn = &v
28625	return s
28626}
28627
28628// SetRecommendationProviderUri sets the RecommendationProviderUri field's value.
28629func (s *RecommenderConfigurationResponse) SetRecommendationProviderUri(v string) *RecommenderConfigurationResponse {
28630	s.RecommendationProviderUri = &v
28631	return s
28632}
28633
28634// SetRecommendationTransformerUri sets the RecommendationTransformerUri field's value.
28635func (s *RecommenderConfigurationResponse) SetRecommendationTransformerUri(v string) *RecommenderConfigurationResponse {
28636	s.RecommendationTransformerUri = &v
28637	return s
28638}
28639
28640// SetRecommendationsDisplayName sets the RecommendationsDisplayName field's value.
28641func (s *RecommenderConfigurationResponse) SetRecommendationsDisplayName(v string) *RecommenderConfigurationResponse {
28642	s.RecommendationsDisplayName = &v
28643	return s
28644}
28645
28646// SetRecommendationsPerMessage sets the RecommendationsPerMessage field's value.
28647func (s *RecommenderConfigurationResponse) SetRecommendationsPerMessage(v int64) *RecommenderConfigurationResponse {
28648	s.RecommendationsPerMessage = &v
28649	return s
28650}
28651
28652type RemoveAttributesInput struct {
28653	_ struct{} `type:"structure" payload:"UpdateAttributesRequest"`
28654
28655	// ApplicationId is a required field
28656	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
28657
28658	// AttributeType is a required field
28659	AttributeType *string `location:"uri" locationName:"attribute-type" type:"string" required:"true"`
28660
28661	// Specifies one or more attributes to remove from all the endpoints that are
28662	// associated with an application.
28663	//
28664	// UpdateAttributesRequest is a required field
28665	UpdateAttributesRequest *UpdateAttributesRequest `type:"structure" required:"true"`
28666}
28667
28668// String returns the string representation
28669func (s RemoveAttributesInput) String() string {
28670	return awsutil.Prettify(s)
28671}
28672
28673// GoString returns the string representation
28674func (s RemoveAttributesInput) GoString() string {
28675	return s.String()
28676}
28677
28678// Validate inspects the fields of the type to determine if they are valid.
28679func (s *RemoveAttributesInput) Validate() error {
28680	invalidParams := request.ErrInvalidParams{Context: "RemoveAttributesInput"}
28681	if s.ApplicationId == nil {
28682		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
28683	}
28684	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
28685		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
28686	}
28687	if s.AttributeType == nil {
28688		invalidParams.Add(request.NewErrParamRequired("AttributeType"))
28689	}
28690	if s.AttributeType != nil && len(*s.AttributeType) < 1 {
28691		invalidParams.Add(request.NewErrParamMinLen("AttributeType", 1))
28692	}
28693	if s.UpdateAttributesRequest == nil {
28694		invalidParams.Add(request.NewErrParamRequired("UpdateAttributesRequest"))
28695	}
28696
28697	if invalidParams.Len() > 0 {
28698		return invalidParams
28699	}
28700	return nil
28701}
28702
28703// SetApplicationId sets the ApplicationId field's value.
28704func (s *RemoveAttributesInput) SetApplicationId(v string) *RemoveAttributesInput {
28705	s.ApplicationId = &v
28706	return s
28707}
28708
28709// SetAttributeType sets the AttributeType field's value.
28710func (s *RemoveAttributesInput) SetAttributeType(v string) *RemoveAttributesInput {
28711	s.AttributeType = &v
28712	return s
28713}
28714
28715// SetUpdateAttributesRequest sets the UpdateAttributesRequest field's value.
28716func (s *RemoveAttributesInput) SetUpdateAttributesRequest(v *UpdateAttributesRequest) *RemoveAttributesInput {
28717	s.UpdateAttributesRequest = v
28718	return s
28719}
28720
28721type RemoveAttributesOutput struct {
28722	_ struct{} `type:"structure" payload:"AttributesResource"`
28723
28724	// Provides information about the type and the names of attributes that were
28725	// removed from all the endpoints that are associated with an application.
28726	//
28727	// AttributesResource is a required field
28728	AttributesResource *AttributesResource `type:"structure" required:"true"`
28729}
28730
28731// String returns the string representation
28732func (s RemoveAttributesOutput) String() string {
28733	return awsutil.Prettify(s)
28734}
28735
28736// GoString returns the string representation
28737func (s RemoveAttributesOutput) GoString() string {
28738	return s.String()
28739}
28740
28741// SetAttributesResource sets the AttributesResource field's value.
28742func (s *RemoveAttributesOutput) SetAttributesResource(v *AttributesResource) *RemoveAttributesOutput {
28743	s.AttributesResource = v
28744	return s
28745}
28746
28747// Provides the results of a query that retrieved the data for a standard metric
28748// that applies to an application, campaign, or journey.
28749type ResultRow struct {
28750	_ struct{} `type:"structure"`
28751
28752	// An array of objects that defines the field and field values that were used
28753	// to group data in a result set that contains multiple results. This value
28754	// is null if the data in a result set isn’t grouped.
28755	//
28756	// GroupedBys is a required field
28757	GroupedBys []*ResultRowValue `type:"list" required:"true"`
28758
28759	// An array of objects that provides pre-aggregated values for a standard metric
28760	// that applies to an application, campaign, or journey.
28761	//
28762	// Values is a required field
28763	Values []*ResultRowValue `type:"list" required:"true"`
28764}
28765
28766// String returns the string representation
28767func (s ResultRow) String() string {
28768	return awsutil.Prettify(s)
28769}
28770
28771// GoString returns the string representation
28772func (s ResultRow) GoString() string {
28773	return s.String()
28774}
28775
28776// SetGroupedBys sets the GroupedBys field's value.
28777func (s *ResultRow) SetGroupedBys(v []*ResultRowValue) *ResultRow {
28778	s.GroupedBys = v
28779	return s
28780}
28781
28782// SetValues sets the Values field's value.
28783func (s *ResultRow) SetValues(v []*ResultRowValue) *ResultRow {
28784	s.Values = v
28785	return s
28786}
28787
28788// Provides a single value and metadata about that value as part of an array
28789// of query results for a standard metric that applies to an application, campaign,
28790// or journey.
28791type ResultRowValue struct {
28792	_ struct{} `type:"structure"`
28793
28794	// The friendly name of the metric whose value is specified by the Value property.
28795	//
28796	// Key is a required field
28797	Key *string `type:"string" required:"true"`
28798
28799	// The data type of the value specified by the Value property.
28800	//
28801	// Type is a required field
28802	Type *string `type:"string" required:"true"`
28803
28804	// In a Values object, the value for the metric that the query retrieved data
28805	// for. In a GroupedBys object, the value for the field that was used to group
28806	// data in a result set that contains multiple results (Values objects).
28807	//
28808	// Value is a required field
28809	Value *string `type:"string" required:"true"`
28810}
28811
28812// String returns the string representation
28813func (s ResultRowValue) String() string {
28814	return awsutil.Prettify(s)
28815}
28816
28817// GoString returns the string representation
28818func (s ResultRowValue) GoString() string {
28819	return s.String()
28820}
28821
28822// SetKey sets the Key field's value.
28823func (s *ResultRowValue) SetKey(v string) *ResultRowValue {
28824	s.Key = &v
28825	return s
28826}
28827
28828// SetType sets the Type field's value.
28829func (s *ResultRowValue) SetType(v string) *ResultRowValue {
28830	s.Type = &v
28831	return s
28832}
28833
28834// SetValue sets the Value field's value.
28835func (s *ResultRowValue) SetValue(v string) *ResultRowValue {
28836	s.Value = &v
28837	return s
28838}
28839
28840// Specifies the status and settings of the SMS channel for an application.
28841type SMSChannelRequest struct {
28842	_ struct{} `type:"structure"`
28843
28844	// Specifies whether to enable the SMS channel for the application.
28845	Enabled *bool `type:"boolean"`
28846
28847	// The identity that you want to display on recipients' devices when they receive
28848	// messages from the SMS channel.
28849	SenderId *string `type:"string"`
28850
28851	// The registered short code that you want to use when you send messages through
28852	// the SMS channel.
28853	ShortCode *string `type:"string"`
28854}
28855
28856// String returns the string representation
28857func (s SMSChannelRequest) String() string {
28858	return awsutil.Prettify(s)
28859}
28860
28861// GoString returns the string representation
28862func (s SMSChannelRequest) GoString() string {
28863	return s.String()
28864}
28865
28866// SetEnabled sets the Enabled field's value.
28867func (s *SMSChannelRequest) SetEnabled(v bool) *SMSChannelRequest {
28868	s.Enabled = &v
28869	return s
28870}
28871
28872// SetSenderId sets the SenderId field's value.
28873func (s *SMSChannelRequest) SetSenderId(v string) *SMSChannelRequest {
28874	s.SenderId = &v
28875	return s
28876}
28877
28878// SetShortCode sets the ShortCode field's value.
28879func (s *SMSChannelRequest) SetShortCode(v string) *SMSChannelRequest {
28880	s.ShortCode = &v
28881	return s
28882}
28883
28884// Provides information about the status and settings of the SMS channel for
28885// an application.
28886type SMSChannelResponse struct {
28887	_ struct{} `type:"structure"`
28888
28889	// The unique identifier for the application that the SMS channel applies to.
28890	ApplicationId *string `type:"string"`
28891
28892	// The date and time, in ISO 8601 format, when the SMS channel was enabled.
28893	CreationDate *string `type:"string"`
28894
28895	// Specifies whether the SMS channel is enabled for the application.
28896	Enabled *bool `type:"boolean"`
28897
28898	// (Not used) This property is retained only for backward compatibility.
28899	HasCredential *bool `type:"boolean"`
28900
28901	// (Deprecated) An identifier for the SMS channel. This property is retained
28902	// only for backward compatibility.
28903	Id *string `type:"string"`
28904
28905	// Specifies whether the SMS channel is archived.
28906	IsArchived *bool `type:"boolean"`
28907
28908	// The user who last modified the SMS channel.
28909	LastModifiedBy *string `type:"string"`
28910
28911	// The date and time, in ISO 8601 format, when the SMS channel was last modified.
28912	LastModifiedDate *string `type:"string"`
28913
28914	// The type of messaging or notification platform for the channel. For the SMS
28915	// channel, this value is SMS.
28916	//
28917	// Platform is a required field
28918	Platform *string `type:"string" required:"true"`
28919
28920	// The maximum number of promotional messages that you can send through the
28921	// SMS channel each second.
28922	PromotionalMessagesPerSecond *int64 `type:"integer"`
28923
28924	// The identity that displays on recipients' devices when they receive messages
28925	// from the SMS channel.
28926	SenderId *string `type:"string"`
28927
28928	// The registered short code to use when you send messages through the SMS channel.
28929	ShortCode *string `type:"string"`
28930
28931	// The maximum number of transactional messages that you can send through the
28932	// SMS channel each second.
28933	TransactionalMessagesPerSecond *int64 `type:"integer"`
28934
28935	// The current version of the SMS channel.
28936	Version *int64 `type:"integer"`
28937}
28938
28939// String returns the string representation
28940func (s SMSChannelResponse) String() string {
28941	return awsutil.Prettify(s)
28942}
28943
28944// GoString returns the string representation
28945func (s SMSChannelResponse) GoString() string {
28946	return s.String()
28947}
28948
28949// SetApplicationId sets the ApplicationId field's value.
28950func (s *SMSChannelResponse) SetApplicationId(v string) *SMSChannelResponse {
28951	s.ApplicationId = &v
28952	return s
28953}
28954
28955// SetCreationDate sets the CreationDate field's value.
28956func (s *SMSChannelResponse) SetCreationDate(v string) *SMSChannelResponse {
28957	s.CreationDate = &v
28958	return s
28959}
28960
28961// SetEnabled sets the Enabled field's value.
28962func (s *SMSChannelResponse) SetEnabled(v bool) *SMSChannelResponse {
28963	s.Enabled = &v
28964	return s
28965}
28966
28967// SetHasCredential sets the HasCredential field's value.
28968func (s *SMSChannelResponse) SetHasCredential(v bool) *SMSChannelResponse {
28969	s.HasCredential = &v
28970	return s
28971}
28972
28973// SetId sets the Id field's value.
28974func (s *SMSChannelResponse) SetId(v string) *SMSChannelResponse {
28975	s.Id = &v
28976	return s
28977}
28978
28979// SetIsArchived sets the IsArchived field's value.
28980func (s *SMSChannelResponse) SetIsArchived(v bool) *SMSChannelResponse {
28981	s.IsArchived = &v
28982	return s
28983}
28984
28985// SetLastModifiedBy sets the LastModifiedBy field's value.
28986func (s *SMSChannelResponse) SetLastModifiedBy(v string) *SMSChannelResponse {
28987	s.LastModifiedBy = &v
28988	return s
28989}
28990
28991// SetLastModifiedDate sets the LastModifiedDate field's value.
28992func (s *SMSChannelResponse) SetLastModifiedDate(v string) *SMSChannelResponse {
28993	s.LastModifiedDate = &v
28994	return s
28995}
28996
28997// SetPlatform sets the Platform field's value.
28998func (s *SMSChannelResponse) SetPlatform(v string) *SMSChannelResponse {
28999	s.Platform = &v
29000	return s
29001}
29002
29003// SetPromotionalMessagesPerSecond sets the PromotionalMessagesPerSecond field's value.
29004func (s *SMSChannelResponse) SetPromotionalMessagesPerSecond(v int64) *SMSChannelResponse {
29005	s.PromotionalMessagesPerSecond = &v
29006	return s
29007}
29008
29009// SetSenderId sets the SenderId field's value.
29010func (s *SMSChannelResponse) SetSenderId(v string) *SMSChannelResponse {
29011	s.SenderId = &v
29012	return s
29013}
29014
29015// SetShortCode sets the ShortCode field's value.
29016func (s *SMSChannelResponse) SetShortCode(v string) *SMSChannelResponse {
29017	s.ShortCode = &v
29018	return s
29019}
29020
29021// SetTransactionalMessagesPerSecond sets the TransactionalMessagesPerSecond field's value.
29022func (s *SMSChannelResponse) SetTransactionalMessagesPerSecond(v int64) *SMSChannelResponse {
29023	s.TransactionalMessagesPerSecond = &v
29024	return s
29025}
29026
29027// SetVersion sets the Version field's value.
29028func (s *SMSChannelResponse) SetVersion(v int64) *SMSChannelResponse {
29029	s.Version = &v
29030	return s
29031}
29032
29033// Specifies the default settings for a one-time SMS message that's sent directly
29034// to an endpoint.
29035type SMSMessage struct {
29036	_ struct{} `type:"structure"`
29037
29038	// The body of the SMS message.
29039	Body *string `type:"string"`
29040
29041	// The entity ID or Principal Entity (PE) id received from the regulatory body
29042	// for sending SMS in your country.
29043	EntityId *string `type:"string"`
29044
29045	// The SMS program name that you provided to AWS Support when you requested
29046	// your dedicated number.
29047	Keyword *string `type:"string"`
29048
29049	// This field is reserved for future use.
29050	MediaUrl *string `type:"string"`
29051
29052	// The SMS message type. Valid values are TRANSACTIONAL (for messages that are
29053	// critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL
29054	// (for messsages that aren't critical or time-sensitive, such as marketing
29055	// messages).
29056	MessageType *string `type:"string" enum:"MessageType"`
29057
29058	// The number to send the SMS message from. This value should be one of the
29059	// dedicated long or short codes that's assigned to your AWS account. If you
29060	// don't specify a long or short code, Amazon Pinpoint assigns a random long
29061	// code to the SMS message and sends the message from that code.
29062	OriginationNumber *string `type:"string"`
29063
29064	// The sender ID to display as the sender of the message on a recipient's device.
29065	// Support for sender IDs varies by country or region.
29066	SenderId *string `type:"string"`
29067
29068	// The message variables to use in the SMS message. You can override the default
29069	// variables with individual address variables.
29070	Substitutions map[string][]*string `type:"map"`
29071
29072	// The template ID received from the regulatory body for sending SMS in your
29073	// country.
29074	TemplateId *string `type:"string"`
29075}
29076
29077// String returns the string representation
29078func (s SMSMessage) String() string {
29079	return awsutil.Prettify(s)
29080}
29081
29082// GoString returns the string representation
29083func (s SMSMessage) GoString() string {
29084	return s.String()
29085}
29086
29087// SetBody sets the Body field's value.
29088func (s *SMSMessage) SetBody(v string) *SMSMessage {
29089	s.Body = &v
29090	return s
29091}
29092
29093// SetEntityId sets the EntityId field's value.
29094func (s *SMSMessage) SetEntityId(v string) *SMSMessage {
29095	s.EntityId = &v
29096	return s
29097}
29098
29099// SetKeyword sets the Keyword field's value.
29100func (s *SMSMessage) SetKeyword(v string) *SMSMessage {
29101	s.Keyword = &v
29102	return s
29103}
29104
29105// SetMediaUrl sets the MediaUrl field's value.
29106func (s *SMSMessage) SetMediaUrl(v string) *SMSMessage {
29107	s.MediaUrl = &v
29108	return s
29109}
29110
29111// SetMessageType sets the MessageType field's value.
29112func (s *SMSMessage) SetMessageType(v string) *SMSMessage {
29113	s.MessageType = &v
29114	return s
29115}
29116
29117// SetOriginationNumber sets the OriginationNumber field's value.
29118func (s *SMSMessage) SetOriginationNumber(v string) *SMSMessage {
29119	s.OriginationNumber = &v
29120	return s
29121}
29122
29123// SetSenderId sets the SenderId field's value.
29124func (s *SMSMessage) SetSenderId(v string) *SMSMessage {
29125	s.SenderId = &v
29126	return s
29127}
29128
29129// SetSubstitutions sets the Substitutions field's value.
29130func (s *SMSMessage) SetSubstitutions(v map[string][]*string) *SMSMessage {
29131	s.Substitutions = v
29132	return s
29133}
29134
29135// SetTemplateId sets the TemplateId field's value.
29136func (s *SMSMessage) SetTemplateId(v string) *SMSMessage {
29137	s.TemplateId = &v
29138	return s
29139}
29140
29141// Specifies the settings for an SMS activity in a journey. This type of activity
29142// sends a text message to participants.
29143type SMSMessageActivity struct {
29144	_ struct{} `type:"structure"`
29145
29146	// Specifies the sender ID and message type for an SMS message that's sent to
29147	// participants in a journey.
29148	MessageConfig *JourneySMSMessage `type:"structure"`
29149
29150	// The unique identifier for the next activity to perform, after the message
29151	// is sent.
29152	NextActivity *string `type:"string"`
29153
29154	// The name of the SMS message template to use for the message. If specified,
29155	// this value must match the name of an existing message template.
29156	TemplateName *string `type:"string"`
29157
29158	// The unique identifier for the version of the SMS template to use for the
29159	// message. If specified, this value must match the identifier for an existing
29160	// template version. To retrieve a list of versions and version identifiers
29161	// for a template, use the Template Versions resource.
29162	//
29163	// If you don't specify a value for this property, Amazon Pinpoint uses the
29164	// active version of the template. The active version is typically the version
29165	// of a template that's been most recently reviewed and approved for use, depending
29166	// on your workflow. It isn't necessarily the latest version of a template.
29167	TemplateVersion *string `type:"string"`
29168}
29169
29170// String returns the string representation
29171func (s SMSMessageActivity) String() string {
29172	return awsutil.Prettify(s)
29173}
29174
29175// GoString returns the string representation
29176func (s SMSMessageActivity) GoString() string {
29177	return s.String()
29178}
29179
29180// SetMessageConfig sets the MessageConfig field's value.
29181func (s *SMSMessageActivity) SetMessageConfig(v *JourneySMSMessage) *SMSMessageActivity {
29182	s.MessageConfig = v
29183	return s
29184}
29185
29186// SetNextActivity sets the NextActivity field's value.
29187func (s *SMSMessageActivity) SetNextActivity(v string) *SMSMessageActivity {
29188	s.NextActivity = &v
29189	return s
29190}
29191
29192// SetTemplateName sets the TemplateName field's value.
29193func (s *SMSMessageActivity) SetTemplateName(v string) *SMSMessageActivity {
29194	s.TemplateName = &v
29195	return s
29196}
29197
29198// SetTemplateVersion sets the TemplateVersion field's value.
29199func (s *SMSMessageActivity) SetTemplateVersion(v string) *SMSMessageActivity {
29200	s.TemplateVersion = &v
29201	return s
29202}
29203
29204// Specifies the content and settings for a message template that can be used
29205// in text messages that are sent through the SMS channel.
29206type SMSTemplateRequest struct {
29207	_ struct{} `type:"structure"`
29208
29209	// The message body to use in text messages that are based on the message template.
29210	Body *string `type:"string"`
29211
29212	// A JSON object that specifies the default values to use for message variables
29213	// in the message template. This object is a set of key-value pairs. Each key
29214	// defines a message variable in the template. The corresponding value defines
29215	// the default value for that variable. When you create a message that's based
29216	// on the template, you can override these defaults with message-specific and
29217	// address-specific variables and values.
29218	DefaultSubstitutions *string `type:"string"`
29219
29220	// The unique identifier for the recommender model to use for the message template.
29221	// Amazon Pinpoint uses this value to determine how to retrieve and process
29222	// data from a recommender model when it sends messages that use the template,
29223	// if the template contains message variables for recommendation data.
29224	RecommenderId *string `type:"string"`
29225
29226	// A string-to-string map of key-value pairs that defines the tags to associate
29227	// with the message template. Each tag consists of a required tag key and an
29228	// associated tag value.
29229	Tags map[string]*string `locationName:"tags" type:"map"`
29230
29231	// A custom description of the message template.
29232	TemplateDescription *string `type:"string"`
29233}
29234
29235// String returns the string representation
29236func (s SMSTemplateRequest) String() string {
29237	return awsutil.Prettify(s)
29238}
29239
29240// GoString returns the string representation
29241func (s SMSTemplateRequest) GoString() string {
29242	return s.String()
29243}
29244
29245// SetBody sets the Body field's value.
29246func (s *SMSTemplateRequest) SetBody(v string) *SMSTemplateRequest {
29247	s.Body = &v
29248	return s
29249}
29250
29251// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
29252func (s *SMSTemplateRequest) SetDefaultSubstitutions(v string) *SMSTemplateRequest {
29253	s.DefaultSubstitutions = &v
29254	return s
29255}
29256
29257// SetRecommenderId sets the RecommenderId field's value.
29258func (s *SMSTemplateRequest) SetRecommenderId(v string) *SMSTemplateRequest {
29259	s.RecommenderId = &v
29260	return s
29261}
29262
29263// SetTags sets the Tags field's value.
29264func (s *SMSTemplateRequest) SetTags(v map[string]*string) *SMSTemplateRequest {
29265	s.Tags = v
29266	return s
29267}
29268
29269// SetTemplateDescription sets the TemplateDescription field's value.
29270func (s *SMSTemplateRequest) SetTemplateDescription(v string) *SMSTemplateRequest {
29271	s.TemplateDescription = &v
29272	return s
29273}
29274
29275// Provides information about the content and settings for a message template
29276// that can be used in text messages that are sent through the SMS channel.
29277type SMSTemplateResponse struct {
29278	_ struct{} `type:"structure"`
29279
29280	// The Amazon Resource Name (ARN) of the message template.
29281	Arn *string `type:"string"`
29282
29283	// The message body that's used in text messages that are based on the message
29284	// template.
29285	Body *string `type:"string"`
29286
29287	// The date, in ISO 8601 format, when the message template was created.
29288	//
29289	// CreationDate is a required field
29290	CreationDate *string `type:"string" required:"true"`
29291
29292	// The JSON object that specifies the default values that are used for message
29293	// variables in the message template. This object is a set of key-value pairs.
29294	// Each key defines a message variable in the template. The corresponding value
29295	// defines the default value for that variable.
29296	DefaultSubstitutions *string `type:"string"`
29297
29298	// The date, in ISO 8601 format, when the message template was last modified.
29299	//
29300	// LastModifiedDate is a required field
29301	LastModifiedDate *string `type:"string" required:"true"`
29302
29303	// The unique identifier for the recommender model that's used by the message
29304	// template.
29305	RecommenderId *string `type:"string"`
29306
29307	// A string-to-string map of key-value pairs that identifies the tags that are
29308	// associated with the message template. Each tag consists of a required tag
29309	// key and an associated tag value.
29310	Tags map[string]*string `locationName:"tags" type:"map"`
29311
29312	// The custom description of the message template.
29313	TemplateDescription *string `type:"string"`
29314
29315	// The name of the message template.
29316	//
29317	// TemplateName is a required field
29318	TemplateName *string `type:"string" required:"true"`
29319
29320	// The type of channel that the message template is designed for. For an SMS
29321	// template, this value is SMS.
29322	//
29323	// TemplateType is a required field
29324	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
29325
29326	// The unique identifier, as an integer, for the active version of the message
29327	// template, or the version of the template that you specified by using the
29328	// version parameter in your request.
29329	Version *string `type:"string"`
29330}
29331
29332// String returns the string representation
29333func (s SMSTemplateResponse) String() string {
29334	return awsutil.Prettify(s)
29335}
29336
29337// GoString returns the string representation
29338func (s SMSTemplateResponse) GoString() string {
29339	return s.String()
29340}
29341
29342// SetArn sets the Arn field's value.
29343func (s *SMSTemplateResponse) SetArn(v string) *SMSTemplateResponse {
29344	s.Arn = &v
29345	return s
29346}
29347
29348// SetBody sets the Body field's value.
29349func (s *SMSTemplateResponse) SetBody(v string) *SMSTemplateResponse {
29350	s.Body = &v
29351	return s
29352}
29353
29354// SetCreationDate sets the CreationDate field's value.
29355func (s *SMSTemplateResponse) SetCreationDate(v string) *SMSTemplateResponse {
29356	s.CreationDate = &v
29357	return s
29358}
29359
29360// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
29361func (s *SMSTemplateResponse) SetDefaultSubstitutions(v string) *SMSTemplateResponse {
29362	s.DefaultSubstitutions = &v
29363	return s
29364}
29365
29366// SetLastModifiedDate sets the LastModifiedDate field's value.
29367func (s *SMSTemplateResponse) SetLastModifiedDate(v string) *SMSTemplateResponse {
29368	s.LastModifiedDate = &v
29369	return s
29370}
29371
29372// SetRecommenderId sets the RecommenderId field's value.
29373func (s *SMSTemplateResponse) SetRecommenderId(v string) *SMSTemplateResponse {
29374	s.RecommenderId = &v
29375	return s
29376}
29377
29378// SetTags sets the Tags field's value.
29379func (s *SMSTemplateResponse) SetTags(v map[string]*string) *SMSTemplateResponse {
29380	s.Tags = v
29381	return s
29382}
29383
29384// SetTemplateDescription sets the TemplateDescription field's value.
29385func (s *SMSTemplateResponse) SetTemplateDescription(v string) *SMSTemplateResponse {
29386	s.TemplateDescription = &v
29387	return s
29388}
29389
29390// SetTemplateName sets the TemplateName field's value.
29391func (s *SMSTemplateResponse) SetTemplateName(v string) *SMSTemplateResponse {
29392	s.TemplateName = &v
29393	return s
29394}
29395
29396// SetTemplateType sets the TemplateType field's value.
29397func (s *SMSTemplateResponse) SetTemplateType(v string) *SMSTemplateResponse {
29398	s.TemplateType = &v
29399	return s
29400}
29401
29402// SetVersion sets the Version field's value.
29403func (s *SMSTemplateResponse) SetVersion(v string) *SMSTemplateResponse {
29404	s.Version = &v
29405	return s
29406}
29407
29408// Specifies the schedule settings for a campaign.
29409type Schedule struct {
29410	_ struct{} `type:"structure"`
29411
29412	// The scheduled time, in ISO 8601 format, when the campaign ended or will end.
29413	EndTime *string `type:"string"`
29414
29415	// The type of event that causes the campaign to be sent, if the value of the
29416	// Frequency property is EVENT.
29417	EventFilter *CampaignEventFilter `type:"structure"`
29418
29419	// Specifies how often the campaign is sent or whether the campaign is sent
29420	// in response to a specific event.
29421	Frequency *string `type:"string" enum:"Frequency"`
29422
29423	// Specifies whether the start and end times for the campaign schedule use each
29424	// recipient's local time. To base the schedule on each recipient's local time,
29425	// set this value to true.
29426	IsLocalTime *bool `type:"boolean"`
29427
29428	// The default quiet time for the campaign. Quiet time is a specific time range
29429	// when a campaign doesn't send messages to endpoints, if all the following
29430	// conditions are met:
29431	//
29432	//    * The EndpointDemographic.Timezone property of the endpoint is set to
29433	//    a valid value.
29434	//
29435	//    * The current time in the endpoint's time zone is later than or equal
29436	//    to the time specified by the QuietTime.Start property for the campaign.
29437	//
29438	//    * The current time in the endpoint's time zone is earlier than or equal
29439	//    to the time specified by the QuietTime.End property for the campaign.
29440	//
29441	// If any of the preceding conditions isn't met, the endpoint will receive messages
29442	// from the campaign, even if quiet time is enabled.
29443	QuietTime *QuietTime `type:"structure"`
29444
29445	// The scheduled time when the campaign began or will begin. Valid values are:
29446	// IMMEDIATE, to start the campaign immediately; or, a specific time in ISO
29447	// 8601 format.
29448	//
29449	// StartTime is a required field
29450	StartTime *string `type:"string" required:"true"`
29451
29452	// The starting UTC offset for the campaign schedule, if the value of the IsLocalTime
29453	// property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, UTC+03:30,
29454	// UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30, UTC+07,
29455	// UTC+08, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02,
29456	// UTC-03, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.
29457	Timezone *string `type:"string"`
29458}
29459
29460// String returns the string representation
29461func (s Schedule) String() string {
29462	return awsutil.Prettify(s)
29463}
29464
29465// GoString returns the string representation
29466func (s Schedule) GoString() string {
29467	return s.String()
29468}
29469
29470// Validate inspects the fields of the type to determine if they are valid.
29471func (s *Schedule) Validate() error {
29472	invalidParams := request.ErrInvalidParams{Context: "Schedule"}
29473	if s.StartTime == nil {
29474		invalidParams.Add(request.NewErrParamRequired("StartTime"))
29475	}
29476	if s.EventFilter != nil {
29477		if err := s.EventFilter.Validate(); err != nil {
29478			invalidParams.AddNested("EventFilter", err.(request.ErrInvalidParams))
29479		}
29480	}
29481
29482	if invalidParams.Len() > 0 {
29483		return invalidParams
29484	}
29485	return nil
29486}
29487
29488// SetEndTime sets the EndTime field's value.
29489func (s *Schedule) SetEndTime(v string) *Schedule {
29490	s.EndTime = &v
29491	return s
29492}
29493
29494// SetEventFilter sets the EventFilter field's value.
29495func (s *Schedule) SetEventFilter(v *CampaignEventFilter) *Schedule {
29496	s.EventFilter = v
29497	return s
29498}
29499
29500// SetFrequency sets the Frequency field's value.
29501func (s *Schedule) SetFrequency(v string) *Schedule {
29502	s.Frequency = &v
29503	return s
29504}
29505
29506// SetIsLocalTime sets the IsLocalTime field's value.
29507func (s *Schedule) SetIsLocalTime(v bool) *Schedule {
29508	s.IsLocalTime = &v
29509	return s
29510}
29511
29512// SetQuietTime sets the QuietTime field's value.
29513func (s *Schedule) SetQuietTime(v *QuietTime) *Schedule {
29514	s.QuietTime = v
29515	return s
29516}
29517
29518// SetStartTime sets the StartTime field's value.
29519func (s *Schedule) SetStartTime(v string) *Schedule {
29520	s.StartTime = &v
29521	return s
29522}
29523
29524// SetTimezone sets the Timezone field's value.
29525func (s *Schedule) SetTimezone(v string) *Schedule {
29526	s.Timezone = &v
29527	return s
29528}
29529
29530// Specifies dimension settings for including or excluding endpoints from a
29531// segment based on how recently an endpoint was active.
29532type SegmentBehaviors struct {
29533	_ struct{} `type:"structure"`
29534
29535	// The dimension settings that are based on how recently an endpoint was active.
29536	Recency *RecencyDimension `type:"structure"`
29537}
29538
29539// String returns the string representation
29540func (s SegmentBehaviors) String() string {
29541	return awsutil.Prettify(s)
29542}
29543
29544// GoString returns the string representation
29545func (s SegmentBehaviors) GoString() string {
29546	return s.String()
29547}
29548
29549// Validate inspects the fields of the type to determine if they are valid.
29550func (s *SegmentBehaviors) Validate() error {
29551	invalidParams := request.ErrInvalidParams{Context: "SegmentBehaviors"}
29552	if s.Recency != nil {
29553		if err := s.Recency.Validate(); err != nil {
29554			invalidParams.AddNested("Recency", err.(request.ErrInvalidParams))
29555		}
29556	}
29557
29558	if invalidParams.Len() > 0 {
29559		return invalidParams
29560	}
29561	return nil
29562}
29563
29564// SetRecency sets the Recency field's value.
29565func (s *SegmentBehaviors) SetRecency(v *RecencyDimension) *SegmentBehaviors {
29566	s.Recency = v
29567	return s
29568}
29569
29570// Specifies a segment to associate with an activity in a journey.
29571type SegmentCondition struct {
29572	_ struct{} `type:"structure"`
29573
29574	// The unique identifier for the segment to associate with the activity.
29575	//
29576	// SegmentId is a required field
29577	SegmentId *string `type:"string" required:"true"`
29578}
29579
29580// String returns the string representation
29581func (s SegmentCondition) String() string {
29582	return awsutil.Prettify(s)
29583}
29584
29585// GoString returns the string representation
29586func (s SegmentCondition) GoString() string {
29587	return s.String()
29588}
29589
29590// Validate inspects the fields of the type to determine if they are valid.
29591func (s *SegmentCondition) Validate() error {
29592	invalidParams := request.ErrInvalidParams{Context: "SegmentCondition"}
29593	if s.SegmentId == nil {
29594		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
29595	}
29596
29597	if invalidParams.Len() > 0 {
29598		return invalidParams
29599	}
29600	return nil
29601}
29602
29603// SetSegmentId sets the SegmentId field's value.
29604func (s *SegmentCondition) SetSegmentId(v string) *SegmentCondition {
29605	s.SegmentId = &v
29606	return s
29607}
29608
29609// Specifies demographic-based dimension settings for including or excluding
29610// endpoints from a segment. These settings derive from characteristics of endpoint
29611// devices, such as platform, make, and model.
29612type SegmentDemographics struct {
29613	_ struct{} `type:"structure"`
29614
29615	// The app version criteria for the segment.
29616	AppVersion *SetDimension `type:"structure"`
29617
29618	// The channel criteria for the segment.
29619	Channel *SetDimension `type:"structure"`
29620
29621	// The device type criteria for the segment.
29622	DeviceType *SetDimension `type:"structure"`
29623
29624	// The device make criteria for the segment.
29625	Make *SetDimension `type:"structure"`
29626
29627	// The device model criteria for the segment.
29628	Model *SetDimension `type:"structure"`
29629
29630	// The device platform criteria for the segment.
29631	Platform *SetDimension `type:"structure"`
29632}
29633
29634// String returns the string representation
29635func (s SegmentDemographics) String() string {
29636	return awsutil.Prettify(s)
29637}
29638
29639// GoString returns the string representation
29640func (s SegmentDemographics) GoString() string {
29641	return s.String()
29642}
29643
29644// Validate inspects the fields of the type to determine if they are valid.
29645func (s *SegmentDemographics) Validate() error {
29646	invalidParams := request.ErrInvalidParams{Context: "SegmentDemographics"}
29647	if s.AppVersion != nil {
29648		if err := s.AppVersion.Validate(); err != nil {
29649			invalidParams.AddNested("AppVersion", err.(request.ErrInvalidParams))
29650		}
29651	}
29652	if s.Channel != nil {
29653		if err := s.Channel.Validate(); err != nil {
29654			invalidParams.AddNested("Channel", err.(request.ErrInvalidParams))
29655		}
29656	}
29657	if s.DeviceType != nil {
29658		if err := s.DeviceType.Validate(); err != nil {
29659			invalidParams.AddNested("DeviceType", err.(request.ErrInvalidParams))
29660		}
29661	}
29662	if s.Make != nil {
29663		if err := s.Make.Validate(); err != nil {
29664			invalidParams.AddNested("Make", err.(request.ErrInvalidParams))
29665		}
29666	}
29667	if s.Model != nil {
29668		if err := s.Model.Validate(); err != nil {
29669			invalidParams.AddNested("Model", err.(request.ErrInvalidParams))
29670		}
29671	}
29672	if s.Platform != nil {
29673		if err := s.Platform.Validate(); err != nil {
29674			invalidParams.AddNested("Platform", err.(request.ErrInvalidParams))
29675		}
29676	}
29677
29678	if invalidParams.Len() > 0 {
29679		return invalidParams
29680	}
29681	return nil
29682}
29683
29684// SetAppVersion sets the AppVersion field's value.
29685func (s *SegmentDemographics) SetAppVersion(v *SetDimension) *SegmentDemographics {
29686	s.AppVersion = v
29687	return s
29688}
29689
29690// SetChannel sets the Channel field's value.
29691func (s *SegmentDemographics) SetChannel(v *SetDimension) *SegmentDemographics {
29692	s.Channel = v
29693	return s
29694}
29695
29696// SetDeviceType sets the DeviceType field's value.
29697func (s *SegmentDemographics) SetDeviceType(v *SetDimension) *SegmentDemographics {
29698	s.DeviceType = v
29699	return s
29700}
29701
29702// SetMake sets the Make field's value.
29703func (s *SegmentDemographics) SetMake(v *SetDimension) *SegmentDemographics {
29704	s.Make = v
29705	return s
29706}
29707
29708// SetModel sets the Model field's value.
29709func (s *SegmentDemographics) SetModel(v *SetDimension) *SegmentDemographics {
29710	s.Model = v
29711	return s
29712}
29713
29714// SetPlatform sets the Platform field's value.
29715func (s *SegmentDemographics) SetPlatform(v *SetDimension) *SegmentDemographics {
29716	s.Platform = v
29717	return s
29718}
29719
29720// Specifies the dimension settings for a segment.
29721type SegmentDimensions struct {
29722	_ struct{} `type:"structure"`
29723
29724	// One or more custom attributes to use as criteria for the segment.
29725	Attributes map[string]*AttributeDimension `type:"map"`
29726
29727	// The behavior-based criteria, such as how recently users have used your app,
29728	// for the segment.
29729	Behavior *SegmentBehaviors `type:"structure"`
29730
29731	// The demographic-based criteria, such as device platform, for the segment.
29732	Demographic *SegmentDemographics `type:"structure"`
29733
29734	// The location-based criteria, such as region or GPS coordinates, for the segment.
29735	Location *SegmentLocation `type:"structure"`
29736
29737	// One or more custom metrics to use as criteria for the segment.
29738	Metrics map[string]*MetricDimension `type:"map"`
29739
29740	// One or more custom user attributes to use as criteria for the segment.
29741	UserAttributes map[string]*AttributeDimension `type:"map"`
29742}
29743
29744// String returns the string representation
29745func (s SegmentDimensions) String() string {
29746	return awsutil.Prettify(s)
29747}
29748
29749// GoString returns the string representation
29750func (s SegmentDimensions) GoString() string {
29751	return s.String()
29752}
29753
29754// Validate inspects the fields of the type to determine if they are valid.
29755func (s *SegmentDimensions) Validate() error {
29756	invalidParams := request.ErrInvalidParams{Context: "SegmentDimensions"}
29757	if s.Attributes != nil {
29758		for i, v := range s.Attributes {
29759			if v == nil {
29760				continue
29761			}
29762			if err := v.Validate(); err != nil {
29763				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
29764			}
29765		}
29766	}
29767	if s.Behavior != nil {
29768		if err := s.Behavior.Validate(); err != nil {
29769			invalidParams.AddNested("Behavior", err.(request.ErrInvalidParams))
29770		}
29771	}
29772	if s.Demographic != nil {
29773		if err := s.Demographic.Validate(); err != nil {
29774			invalidParams.AddNested("Demographic", err.(request.ErrInvalidParams))
29775		}
29776	}
29777	if s.Location != nil {
29778		if err := s.Location.Validate(); err != nil {
29779			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
29780		}
29781	}
29782	if s.Metrics != nil {
29783		for i, v := range s.Metrics {
29784			if v == nil {
29785				continue
29786			}
29787			if err := v.Validate(); err != nil {
29788				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams))
29789			}
29790		}
29791	}
29792	if s.UserAttributes != nil {
29793		for i, v := range s.UserAttributes {
29794			if v == nil {
29795				continue
29796			}
29797			if err := v.Validate(); err != nil {
29798				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAttributes", i), err.(request.ErrInvalidParams))
29799			}
29800		}
29801	}
29802
29803	if invalidParams.Len() > 0 {
29804		return invalidParams
29805	}
29806	return nil
29807}
29808
29809// SetAttributes sets the Attributes field's value.
29810func (s *SegmentDimensions) SetAttributes(v map[string]*AttributeDimension) *SegmentDimensions {
29811	s.Attributes = v
29812	return s
29813}
29814
29815// SetBehavior sets the Behavior field's value.
29816func (s *SegmentDimensions) SetBehavior(v *SegmentBehaviors) *SegmentDimensions {
29817	s.Behavior = v
29818	return s
29819}
29820
29821// SetDemographic sets the Demographic field's value.
29822func (s *SegmentDimensions) SetDemographic(v *SegmentDemographics) *SegmentDimensions {
29823	s.Demographic = v
29824	return s
29825}
29826
29827// SetLocation sets the Location field's value.
29828func (s *SegmentDimensions) SetLocation(v *SegmentLocation) *SegmentDimensions {
29829	s.Location = v
29830	return s
29831}
29832
29833// SetMetrics sets the Metrics field's value.
29834func (s *SegmentDimensions) SetMetrics(v map[string]*MetricDimension) *SegmentDimensions {
29835	s.Metrics = v
29836	return s
29837}
29838
29839// SetUserAttributes sets the UserAttributes field's value.
29840func (s *SegmentDimensions) SetUserAttributes(v map[string]*AttributeDimension) *SegmentDimensions {
29841	s.UserAttributes = v
29842	return s
29843}
29844
29845// Specifies the base segments and dimensions for a segment, and the relationships
29846// between these base segments and dimensions.
29847type SegmentGroup struct {
29848	_ struct{} `type:"structure"`
29849
29850	// An array that defines the dimensions for the segment.
29851	Dimensions []*SegmentDimensions `type:"list"`
29852
29853	// The base segment to build the segment on. A base segment, also referred to
29854	// as a source segment, defines the initial population of endpoints for a segment.
29855	// When you add dimensions to a segment, Amazon Pinpoint filters the base segment
29856	// by using the dimensions that you specify.
29857	//
29858	// You can specify more than one dimensional segment or only one imported segment.
29859	// If you specify an imported segment, the Amazon Pinpoint console displays
29860	// a segment size estimate that indicates the size of the imported segment without
29861	// any filters applied to it.
29862	SourceSegments []*SegmentReference `type:"list"`
29863
29864	// Specifies how to handle multiple base segments for the segment. For example,
29865	// if you specify three base segments for the segment, whether the resulting
29866	// segment is based on all, any, or none of the base segments.
29867	SourceType *string `type:"string" enum:"SourceType"`
29868
29869	// Specifies how to handle multiple dimensions for the segment. For example,
29870	// if you specify three dimensions for the segment, whether the resulting segment
29871	// includes endpoints that match all, any, or none of the dimensions.
29872	Type *string `type:"string" enum:"Type"`
29873}
29874
29875// String returns the string representation
29876func (s SegmentGroup) String() string {
29877	return awsutil.Prettify(s)
29878}
29879
29880// GoString returns the string representation
29881func (s SegmentGroup) GoString() string {
29882	return s.String()
29883}
29884
29885// Validate inspects the fields of the type to determine if they are valid.
29886func (s *SegmentGroup) Validate() error {
29887	invalidParams := request.ErrInvalidParams{Context: "SegmentGroup"}
29888	if s.Dimensions != nil {
29889		for i, v := range s.Dimensions {
29890			if v == nil {
29891				continue
29892			}
29893			if err := v.Validate(); err != nil {
29894				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
29895			}
29896		}
29897	}
29898	if s.SourceSegments != nil {
29899		for i, v := range s.SourceSegments {
29900			if v == nil {
29901				continue
29902			}
29903			if err := v.Validate(); err != nil {
29904				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SourceSegments", i), err.(request.ErrInvalidParams))
29905			}
29906		}
29907	}
29908
29909	if invalidParams.Len() > 0 {
29910		return invalidParams
29911	}
29912	return nil
29913}
29914
29915// SetDimensions sets the Dimensions field's value.
29916func (s *SegmentGroup) SetDimensions(v []*SegmentDimensions) *SegmentGroup {
29917	s.Dimensions = v
29918	return s
29919}
29920
29921// SetSourceSegments sets the SourceSegments field's value.
29922func (s *SegmentGroup) SetSourceSegments(v []*SegmentReference) *SegmentGroup {
29923	s.SourceSegments = v
29924	return s
29925}
29926
29927// SetSourceType sets the SourceType field's value.
29928func (s *SegmentGroup) SetSourceType(v string) *SegmentGroup {
29929	s.SourceType = &v
29930	return s
29931}
29932
29933// SetType sets the Type field's value.
29934func (s *SegmentGroup) SetType(v string) *SegmentGroup {
29935	s.Type = &v
29936	return s
29937}
29938
29939// Specifies the settings that define the relationships between segment groups
29940// for a segment.
29941type SegmentGroupList struct {
29942	_ struct{} `type:"structure"`
29943
29944	// An array that defines the set of segment criteria to evaluate when handling
29945	// segment groups for the segment.
29946	Groups []*SegmentGroup `type:"list"`
29947
29948	// Specifies how to handle multiple segment groups for the segment. For example,
29949	// if the segment includes three segment groups, whether the resulting segment
29950	// includes endpoints that match all, any, or none of the segment groups.
29951	Include *string `type:"string" enum:"Include"`
29952}
29953
29954// String returns the string representation
29955func (s SegmentGroupList) String() string {
29956	return awsutil.Prettify(s)
29957}
29958
29959// GoString returns the string representation
29960func (s SegmentGroupList) GoString() string {
29961	return s.String()
29962}
29963
29964// Validate inspects the fields of the type to determine if they are valid.
29965func (s *SegmentGroupList) Validate() error {
29966	invalidParams := request.ErrInvalidParams{Context: "SegmentGroupList"}
29967	if s.Groups != nil {
29968		for i, v := range s.Groups {
29969			if v == nil {
29970				continue
29971			}
29972			if err := v.Validate(); err != nil {
29973				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Groups", i), err.(request.ErrInvalidParams))
29974			}
29975		}
29976	}
29977
29978	if invalidParams.Len() > 0 {
29979		return invalidParams
29980	}
29981	return nil
29982}
29983
29984// SetGroups sets the Groups field's value.
29985func (s *SegmentGroupList) SetGroups(v []*SegmentGroup) *SegmentGroupList {
29986	s.Groups = v
29987	return s
29988}
29989
29990// SetInclude sets the Include field's value.
29991func (s *SegmentGroupList) SetInclude(v string) *SegmentGroupList {
29992	s.Include = &v
29993	return s
29994}
29995
29996// Provides information about the import job that created a segment. An import
29997// job is a job that creates a user segment by importing endpoint definitions.
29998type SegmentImportResource struct {
29999	_ struct{} `type:"structure"`
30000
30001	// The number of channel types in the endpoint definitions that were imported
30002	// to create the segment.
30003	ChannelCounts map[string]*int64 `type:"map"`
30004
30005	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
30006	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
30007	// an IAM role when importing endpoint definitions, but we removed this requirement.
30008	// We don't recommend use of external IDs for IAM roles that are assumed by
30009	// Amazon Pinpoint.
30010	//
30011	// ExternalId is a required field
30012	ExternalId *string `type:"string" required:"true"`
30013
30014	// The format of the files that were imported to create the segment. Valid values
30015	// are: CSV, for comma-separated values format; and, JSON, for newline-delimited
30016	// JSON format.
30017	//
30018	// Format is a required field
30019	Format *string `type:"string" required:"true" enum:"Format"`
30020
30021	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
30022	// (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location
30023	// to import endpoint definitions from.
30024	//
30025	// RoleArn is a required field
30026	RoleArn *string `type:"string" required:"true"`
30027
30028	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that the
30029	// endpoint definitions were imported from to create the segment.
30030	//
30031	// S3Url is a required field
30032	S3Url *string `type:"string" required:"true"`
30033
30034	// The number of endpoint definitions that were imported successfully to create
30035	// the segment.
30036	//
30037	// Size is a required field
30038	Size *int64 `type:"integer" required:"true"`
30039}
30040
30041// String returns the string representation
30042func (s SegmentImportResource) String() string {
30043	return awsutil.Prettify(s)
30044}
30045
30046// GoString returns the string representation
30047func (s SegmentImportResource) GoString() string {
30048	return s.String()
30049}
30050
30051// SetChannelCounts sets the ChannelCounts field's value.
30052func (s *SegmentImportResource) SetChannelCounts(v map[string]*int64) *SegmentImportResource {
30053	s.ChannelCounts = v
30054	return s
30055}
30056
30057// SetExternalId sets the ExternalId field's value.
30058func (s *SegmentImportResource) SetExternalId(v string) *SegmentImportResource {
30059	s.ExternalId = &v
30060	return s
30061}
30062
30063// SetFormat sets the Format field's value.
30064func (s *SegmentImportResource) SetFormat(v string) *SegmentImportResource {
30065	s.Format = &v
30066	return s
30067}
30068
30069// SetRoleArn sets the RoleArn field's value.
30070func (s *SegmentImportResource) SetRoleArn(v string) *SegmentImportResource {
30071	s.RoleArn = &v
30072	return s
30073}
30074
30075// SetS3Url sets the S3Url field's value.
30076func (s *SegmentImportResource) SetS3Url(v string) *SegmentImportResource {
30077	s.S3Url = &v
30078	return s
30079}
30080
30081// SetSize sets the Size field's value.
30082func (s *SegmentImportResource) SetSize(v int64) *SegmentImportResource {
30083	s.Size = &v
30084	return s
30085}
30086
30087// Specifies geographical dimension settings for a segment.
30088type SegmentLocation struct {
30089	_ struct{} `type:"structure"`
30090
30091	// The country or region code, in ISO 3166-1 alpha-2 format, for the segment.
30092	Country *SetDimension `type:"structure"`
30093
30094	// The GPS location and range for the segment.
30095	GPSPoint *GPSPointDimension `type:"structure"`
30096}
30097
30098// String returns the string representation
30099func (s SegmentLocation) String() string {
30100	return awsutil.Prettify(s)
30101}
30102
30103// GoString returns the string representation
30104func (s SegmentLocation) GoString() string {
30105	return s.String()
30106}
30107
30108// Validate inspects the fields of the type to determine if they are valid.
30109func (s *SegmentLocation) Validate() error {
30110	invalidParams := request.ErrInvalidParams{Context: "SegmentLocation"}
30111	if s.Country != nil {
30112		if err := s.Country.Validate(); err != nil {
30113			invalidParams.AddNested("Country", err.(request.ErrInvalidParams))
30114		}
30115	}
30116	if s.GPSPoint != nil {
30117		if err := s.GPSPoint.Validate(); err != nil {
30118			invalidParams.AddNested("GPSPoint", err.(request.ErrInvalidParams))
30119		}
30120	}
30121
30122	if invalidParams.Len() > 0 {
30123		return invalidParams
30124	}
30125	return nil
30126}
30127
30128// SetCountry sets the Country field's value.
30129func (s *SegmentLocation) SetCountry(v *SetDimension) *SegmentLocation {
30130	s.Country = v
30131	return s
30132}
30133
30134// SetGPSPoint sets the GPSPoint field's value.
30135func (s *SegmentLocation) SetGPSPoint(v *GPSPointDimension) *SegmentLocation {
30136	s.GPSPoint = v
30137	return s
30138}
30139
30140// Specifies the segment identifier and version of a segment.
30141type SegmentReference struct {
30142	_ struct{} `type:"structure"`
30143
30144	// The unique identifier for the segment.
30145	//
30146	// Id is a required field
30147	Id *string `type:"string" required:"true"`
30148
30149	// The version number of the segment.
30150	Version *int64 `type:"integer"`
30151}
30152
30153// String returns the string representation
30154func (s SegmentReference) String() string {
30155	return awsutil.Prettify(s)
30156}
30157
30158// GoString returns the string representation
30159func (s SegmentReference) GoString() string {
30160	return s.String()
30161}
30162
30163// Validate inspects the fields of the type to determine if they are valid.
30164func (s *SegmentReference) Validate() error {
30165	invalidParams := request.ErrInvalidParams{Context: "SegmentReference"}
30166	if s.Id == nil {
30167		invalidParams.Add(request.NewErrParamRequired("Id"))
30168	}
30169
30170	if invalidParams.Len() > 0 {
30171		return invalidParams
30172	}
30173	return nil
30174}
30175
30176// SetId sets the Id field's value.
30177func (s *SegmentReference) SetId(v string) *SegmentReference {
30178	s.Id = &v
30179	return s
30180}
30181
30182// SetVersion sets the Version field's value.
30183func (s *SegmentReference) SetVersion(v int64) *SegmentReference {
30184	s.Version = &v
30185	return s
30186}
30187
30188// Provides information about the configuration, dimension, and other settings
30189// for a segment.
30190type SegmentResponse struct {
30191	_ struct{} `type:"structure"`
30192
30193	// The unique identifier for the application that the segment is associated
30194	// with.
30195	//
30196	// ApplicationId is a required field
30197	ApplicationId *string `type:"string" required:"true"`
30198
30199	// The Amazon Resource Name (ARN) of the segment.
30200	//
30201	// Arn is a required field
30202	Arn *string `type:"string" required:"true"`
30203
30204	// The date and time when the segment was created.
30205	//
30206	// CreationDate is a required field
30207	CreationDate *string `type:"string" required:"true"`
30208
30209	// The dimension settings for the segment.
30210	Dimensions *SegmentDimensions `type:"structure"`
30211
30212	// The unique identifier for the segment.
30213	//
30214	// Id is a required field
30215	Id *string `type:"string" required:"true"`
30216
30217	// The settings for the import job that's associated with the segment.
30218	ImportDefinition *SegmentImportResource `type:"structure"`
30219
30220	// The date and time when the segment was last modified.
30221	LastModifiedDate *string `type:"string"`
30222
30223	// The name of the segment.
30224	Name *string `type:"string"`
30225
30226	// A list of one or more segment groups that apply to the segment. Each segment
30227	// group consists of zero or more base segments and the dimensions that are
30228	// applied to those base segments.
30229	SegmentGroups *SegmentGroupList `type:"structure"`
30230
30231	// The segment type. Valid values are:
30232	//
30233	//    * DIMENSIONAL - A dynamic segment, which is a segment that uses selection
30234	//    criteria that you specify and is based on endpoint data that's reported
30235	//    by your app. Dynamic segments can change over time.
30236	//
30237	//    * IMPORT - A static segment, which is a segment that uses selection criteria
30238	//    that you specify and is based on endpoint definitions that you import
30239	//    from a file. Imported segments are static; they don't change over time.
30240	//
30241	// SegmentType is a required field
30242	SegmentType *string `type:"string" required:"true" enum:"SegmentType"`
30243
30244	// A string-to-string map of key-value pairs that identifies the tags that are
30245	// associated with the segment. Each tag consists of a required tag key and
30246	// an associated tag value.
30247	Tags map[string]*string `locationName:"tags" type:"map"`
30248
30249	// The version number of the segment.
30250	Version *int64 `type:"integer"`
30251}
30252
30253// String returns the string representation
30254func (s SegmentResponse) String() string {
30255	return awsutil.Prettify(s)
30256}
30257
30258// GoString returns the string representation
30259func (s SegmentResponse) GoString() string {
30260	return s.String()
30261}
30262
30263// SetApplicationId sets the ApplicationId field's value.
30264func (s *SegmentResponse) SetApplicationId(v string) *SegmentResponse {
30265	s.ApplicationId = &v
30266	return s
30267}
30268
30269// SetArn sets the Arn field's value.
30270func (s *SegmentResponse) SetArn(v string) *SegmentResponse {
30271	s.Arn = &v
30272	return s
30273}
30274
30275// SetCreationDate sets the CreationDate field's value.
30276func (s *SegmentResponse) SetCreationDate(v string) *SegmentResponse {
30277	s.CreationDate = &v
30278	return s
30279}
30280
30281// SetDimensions sets the Dimensions field's value.
30282func (s *SegmentResponse) SetDimensions(v *SegmentDimensions) *SegmentResponse {
30283	s.Dimensions = v
30284	return s
30285}
30286
30287// SetId sets the Id field's value.
30288func (s *SegmentResponse) SetId(v string) *SegmentResponse {
30289	s.Id = &v
30290	return s
30291}
30292
30293// SetImportDefinition sets the ImportDefinition field's value.
30294func (s *SegmentResponse) SetImportDefinition(v *SegmentImportResource) *SegmentResponse {
30295	s.ImportDefinition = v
30296	return s
30297}
30298
30299// SetLastModifiedDate sets the LastModifiedDate field's value.
30300func (s *SegmentResponse) SetLastModifiedDate(v string) *SegmentResponse {
30301	s.LastModifiedDate = &v
30302	return s
30303}
30304
30305// SetName sets the Name field's value.
30306func (s *SegmentResponse) SetName(v string) *SegmentResponse {
30307	s.Name = &v
30308	return s
30309}
30310
30311// SetSegmentGroups sets the SegmentGroups field's value.
30312func (s *SegmentResponse) SetSegmentGroups(v *SegmentGroupList) *SegmentResponse {
30313	s.SegmentGroups = v
30314	return s
30315}
30316
30317// SetSegmentType sets the SegmentType field's value.
30318func (s *SegmentResponse) SetSegmentType(v string) *SegmentResponse {
30319	s.SegmentType = &v
30320	return s
30321}
30322
30323// SetTags sets the Tags field's value.
30324func (s *SegmentResponse) SetTags(v map[string]*string) *SegmentResponse {
30325	s.Tags = v
30326	return s
30327}
30328
30329// SetVersion sets the Version field's value.
30330func (s *SegmentResponse) SetVersion(v int64) *SegmentResponse {
30331	s.Version = &v
30332	return s
30333}
30334
30335// Provides information about all the segments that are associated with an application.
30336type SegmentsResponse struct {
30337	_ struct{} `type:"structure"`
30338
30339	// An array of responses, one for each segment that's associated with the application
30340	// (Segments resource) or each version of a segment that's associated with the
30341	// application (Segment Versions resource).
30342	//
30343	// Item is a required field
30344	Item []*SegmentResponse `type:"list" required:"true"`
30345
30346	// The string to use in a subsequent request to get the next page of results
30347	// in a paginated response. This value is null if there are no additional pages.
30348	NextToken *string `type:"string"`
30349}
30350
30351// String returns the string representation
30352func (s SegmentsResponse) String() string {
30353	return awsutil.Prettify(s)
30354}
30355
30356// GoString returns the string representation
30357func (s SegmentsResponse) GoString() string {
30358	return s.String()
30359}
30360
30361// SetItem sets the Item field's value.
30362func (s *SegmentsResponse) SetItem(v []*SegmentResponse) *SegmentsResponse {
30363	s.Item = v
30364	return s
30365}
30366
30367// SetNextToken sets the NextToken field's value.
30368func (s *SegmentsResponse) SetNextToken(v string) *SegmentsResponse {
30369	s.NextToken = &v
30370	return s
30371}
30372
30373type SendMessagesInput struct {
30374	_ struct{} `type:"structure" payload:"MessageRequest"`
30375
30376	// ApplicationId is a required field
30377	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
30378
30379	// Specifies the configuration and other settings for a message.
30380	//
30381	// MessageRequest is a required field
30382	MessageRequest *MessageRequest `type:"structure" required:"true"`
30383}
30384
30385// String returns the string representation
30386func (s SendMessagesInput) String() string {
30387	return awsutil.Prettify(s)
30388}
30389
30390// GoString returns the string representation
30391func (s SendMessagesInput) GoString() string {
30392	return s.String()
30393}
30394
30395// Validate inspects the fields of the type to determine if they are valid.
30396func (s *SendMessagesInput) Validate() error {
30397	invalidParams := request.ErrInvalidParams{Context: "SendMessagesInput"}
30398	if s.ApplicationId == nil {
30399		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
30400	}
30401	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
30402		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
30403	}
30404	if s.MessageRequest == nil {
30405		invalidParams.Add(request.NewErrParamRequired("MessageRequest"))
30406	}
30407	if s.MessageRequest != nil {
30408		if err := s.MessageRequest.Validate(); err != nil {
30409			invalidParams.AddNested("MessageRequest", err.(request.ErrInvalidParams))
30410		}
30411	}
30412
30413	if invalidParams.Len() > 0 {
30414		return invalidParams
30415	}
30416	return nil
30417}
30418
30419// SetApplicationId sets the ApplicationId field's value.
30420func (s *SendMessagesInput) SetApplicationId(v string) *SendMessagesInput {
30421	s.ApplicationId = &v
30422	return s
30423}
30424
30425// SetMessageRequest sets the MessageRequest field's value.
30426func (s *SendMessagesInput) SetMessageRequest(v *MessageRequest) *SendMessagesInput {
30427	s.MessageRequest = v
30428	return s
30429}
30430
30431type SendMessagesOutput struct {
30432	_ struct{} `type:"structure" payload:"MessageResponse"`
30433
30434	// Provides information about the results of a request to send a message to
30435	// an endpoint address.
30436	//
30437	// MessageResponse is a required field
30438	MessageResponse *MessageResponse `type:"structure" required:"true"`
30439}
30440
30441// String returns the string representation
30442func (s SendMessagesOutput) String() string {
30443	return awsutil.Prettify(s)
30444}
30445
30446// GoString returns the string representation
30447func (s SendMessagesOutput) GoString() string {
30448	return s.String()
30449}
30450
30451// SetMessageResponse sets the MessageResponse field's value.
30452func (s *SendMessagesOutput) SetMessageResponse(v *MessageResponse) *SendMessagesOutput {
30453	s.MessageResponse = v
30454	return s
30455}
30456
30457// Specifies the configuration and other settings for a message to send to all
30458// the endpoints that are associated with a list of users.
30459type SendUsersMessageRequest struct {
30460	_ struct{} `type:"structure"`
30461
30462	// A map of custom attribute-value pairs. For a push notification, Amazon Pinpoint
30463	// adds these attributes to the data.pinpoint object in the body of the notification
30464	// payload. Amazon Pinpoint also provides these attributes in the events that
30465	// it generates for users-messages deliveries.
30466	Context map[string]*string `type:"map"`
30467
30468	// The settings and content for the default message and any default messages
30469	// that you defined for specific channels.
30470	//
30471	// MessageConfiguration is a required field
30472	MessageConfiguration *DirectMessageConfiguration `type:"structure" required:"true"`
30473
30474	// The message template to use for the message.
30475	TemplateConfiguration *TemplateConfiguration `type:"structure"`
30476
30477	// The unique identifier for tracing the message. This identifier is visible
30478	// to message recipients.
30479	TraceId *string `type:"string"`
30480
30481	// 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)
30482	// 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)
30483	// object to tailor the message for a user by specifying settings such as content
30484	// overrides and message variables.
30485	//
30486	// Users is a required field
30487	Users map[string]*EndpointSendConfiguration `type:"map" required:"true"`
30488}
30489
30490// String returns the string representation
30491func (s SendUsersMessageRequest) String() string {
30492	return awsutil.Prettify(s)
30493}
30494
30495// GoString returns the string representation
30496func (s SendUsersMessageRequest) GoString() string {
30497	return s.String()
30498}
30499
30500// Validate inspects the fields of the type to determine if they are valid.
30501func (s *SendUsersMessageRequest) Validate() error {
30502	invalidParams := request.ErrInvalidParams{Context: "SendUsersMessageRequest"}
30503	if s.MessageConfiguration == nil {
30504		invalidParams.Add(request.NewErrParamRequired("MessageConfiguration"))
30505	}
30506	if s.Users == nil {
30507		invalidParams.Add(request.NewErrParamRequired("Users"))
30508	}
30509
30510	if invalidParams.Len() > 0 {
30511		return invalidParams
30512	}
30513	return nil
30514}
30515
30516// SetContext sets the Context field's value.
30517func (s *SendUsersMessageRequest) SetContext(v map[string]*string) *SendUsersMessageRequest {
30518	s.Context = v
30519	return s
30520}
30521
30522// SetMessageConfiguration sets the MessageConfiguration field's value.
30523func (s *SendUsersMessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) *SendUsersMessageRequest {
30524	s.MessageConfiguration = v
30525	return s
30526}
30527
30528// SetTemplateConfiguration sets the TemplateConfiguration field's value.
30529func (s *SendUsersMessageRequest) SetTemplateConfiguration(v *TemplateConfiguration) *SendUsersMessageRequest {
30530	s.TemplateConfiguration = v
30531	return s
30532}
30533
30534// SetTraceId sets the TraceId field's value.
30535func (s *SendUsersMessageRequest) SetTraceId(v string) *SendUsersMessageRequest {
30536	s.TraceId = &v
30537	return s
30538}
30539
30540// SetUsers sets the Users field's value.
30541func (s *SendUsersMessageRequest) SetUsers(v map[string]*EndpointSendConfiguration) *SendUsersMessageRequest {
30542	s.Users = v
30543	return s
30544}
30545
30546// Provides information about which users and endpoints a message was sent to.
30547type SendUsersMessageResponse struct {
30548	_ struct{} `type:"structure"`
30549
30550	// The unique identifier for the application that was used to send the message.
30551	//
30552	// ApplicationId is a required field
30553	ApplicationId *string `type:"string" required:"true"`
30554
30555	// The unique identifier that was assigned to the message request.
30556	RequestId *string `type:"string"`
30557
30558	// An object that indicates which endpoints the message was sent to, for each
30559	// user. The object lists user IDs and, for each user ID, provides the endpoint
30560	// IDs that the message was sent to. For each endpoint ID, it provides an EndpointMessageResult
30561	// object.
30562	Result map[string]map[string]*EndpointMessageResult `type:"map"`
30563}
30564
30565// String returns the string representation
30566func (s SendUsersMessageResponse) String() string {
30567	return awsutil.Prettify(s)
30568}
30569
30570// GoString returns the string representation
30571func (s SendUsersMessageResponse) GoString() string {
30572	return s.String()
30573}
30574
30575// SetApplicationId sets the ApplicationId field's value.
30576func (s *SendUsersMessageResponse) SetApplicationId(v string) *SendUsersMessageResponse {
30577	s.ApplicationId = &v
30578	return s
30579}
30580
30581// SetRequestId sets the RequestId field's value.
30582func (s *SendUsersMessageResponse) SetRequestId(v string) *SendUsersMessageResponse {
30583	s.RequestId = &v
30584	return s
30585}
30586
30587// SetResult sets the Result field's value.
30588func (s *SendUsersMessageResponse) SetResult(v map[string]map[string]*EndpointMessageResult) *SendUsersMessageResponse {
30589	s.Result = v
30590	return s
30591}
30592
30593type SendUsersMessagesInput struct {
30594	_ struct{} `type:"structure" payload:"SendUsersMessageRequest"`
30595
30596	// ApplicationId is a required field
30597	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
30598
30599	// Specifies the configuration and other settings for a message to send to all
30600	// the endpoints that are associated with a list of users.
30601	//
30602	// SendUsersMessageRequest is a required field
30603	SendUsersMessageRequest *SendUsersMessageRequest `type:"structure" required:"true"`
30604}
30605
30606// String returns the string representation
30607func (s SendUsersMessagesInput) String() string {
30608	return awsutil.Prettify(s)
30609}
30610
30611// GoString returns the string representation
30612func (s SendUsersMessagesInput) GoString() string {
30613	return s.String()
30614}
30615
30616// Validate inspects the fields of the type to determine if they are valid.
30617func (s *SendUsersMessagesInput) Validate() error {
30618	invalidParams := request.ErrInvalidParams{Context: "SendUsersMessagesInput"}
30619	if s.ApplicationId == nil {
30620		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
30621	}
30622	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
30623		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
30624	}
30625	if s.SendUsersMessageRequest == nil {
30626		invalidParams.Add(request.NewErrParamRequired("SendUsersMessageRequest"))
30627	}
30628	if s.SendUsersMessageRequest != nil {
30629		if err := s.SendUsersMessageRequest.Validate(); err != nil {
30630			invalidParams.AddNested("SendUsersMessageRequest", err.(request.ErrInvalidParams))
30631		}
30632	}
30633
30634	if invalidParams.Len() > 0 {
30635		return invalidParams
30636	}
30637	return nil
30638}
30639
30640// SetApplicationId sets the ApplicationId field's value.
30641func (s *SendUsersMessagesInput) SetApplicationId(v string) *SendUsersMessagesInput {
30642	s.ApplicationId = &v
30643	return s
30644}
30645
30646// SetSendUsersMessageRequest sets the SendUsersMessageRequest field's value.
30647func (s *SendUsersMessagesInput) SetSendUsersMessageRequest(v *SendUsersMessageRequest) *SendUsersMessagesInput {
30648	s.SendUsersMessageRequest = v
30649	return s
30650}
30651
30652type SendUsersMessagesOutput struct {
30653	_ struct{} `type:"structure" payload:"SendUsersMessageResponse"`
30654
30655	// Provides information about which users and endpoints a message was sent to.
30656	//
30657	// SendUsersMessageResponse is a required field
30658	SendUsersMessageResponse *SendUsersMessageResponse `type:"structure" required:"true"`
30659}
30660
30661// String returns the string representation
30662func (s SendUsersMessagesOutput) String() string {
30663	return awsutil.Prettify(s)
30664}
30665
30666// GoString returns the string representation
30667func (s SendUsersMessagesOutput) GoString() string {
30668	return s.String()
30669}
30670
30671// SetSendUsersMessageResponse sets the SendUsersMessageResponse field's value.
30672func (s *SendUsersMessagesOutput) SetSendUsersMessageResponse(v *SendUsersMessageResponse) *SendUsersMessagesOutput {
30673	s.SendUsersMessageResponse = v
30674	return s
30675}
30676
30677// Provides information about a session.
30678type Session struct {
30679	_ struct{} `type:"structure"`
30680
30681	// The duration of the session, in milliseconds.
30682	Duration *int64 `type:"integer"`
30683
30684	// The unique identifier for the session.
30685	//
30686	// Id is a required field
30687	Id *string `type:"string" required:"true"`
30688
30689	// The date and time when the session began.
30690	//
30691	// StartTimestamp is a required field
30692	StartTimestamp *string `type:"string" required:"true"`
30693
30694	// The date and time when the session ended.
30695	StopTimestamp *string `type:"string"`
30696}
30697
30698// String returns the string representation
30699func (s Session) String() string {
30700	return awsutil.Prettify(s)
30701}
30702
30703// GoString returns the string representation
30704func (s Session) GoString() string {
30705	return s.String()
30706}
30707
30708// Validate inspects the fields of the type to determine if they are valid.
30709func (s *Session) Validate() error {
30710	invalidParams := request.ErrInvalidParams{Context: "Session"}
30711	if s.Id == nil {
30712		invalidParams.Add(request.NewErrParamRequired("Id"))
30713	}
30714	if s.StartTimestamp == nil {
30715		invalidParams.Add(request.NewErrParamRequired("StartTimestamp"))
30716	}
30717
30718	if invalidParams.Len() > 0 {
30719		return invalidParams
30720	}
30721	return nil
30722}
30723
30724// SetDuration sets the Duration field's value.
30725func (s *Session) SetDuration(v int64) *Session {
30726	s.Duration = &v
30727	return s
30728}
30729
30730// SetId sets the Id field's value.
30731func (s *Session) SetId(v string) *Session {
30732	s.Id = &v
30733	return s
30734}
30735
30736// SetStartTimestamp sets the StartTimestamp field's value.
30737func (s *Session) SetStartTimestamp(v string) *Session {
30738	s.StartTimestamp = &v
30739	return s
30740}
30741
30742// SetStopTimestamp sets the StopTimestamp field's value.
30743func (s *Session) SetStopTimestamp(v string) *Session {
30744	s.StopTimestamp = &v
30745	return s
30746}
30747
30748// Specifies the dimension type and values for a segment dimension.
30749type SetDimension struct {
30750	_ struct{} `type:"structure"`
30751
30752	// The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints
30753	// that match the criteria are included in the segment; and, EXCLUSIVE, endpoints
30754	// that match the criteria are excluded from the segment.
30755	DimensionType *string `type:"string" enum:"DimensionType"`
30756
30757	// The criteria values to use for the segment dimension. Depending on the value
30758	// of the DimensionType property, endpoints are included or excluded from the
30759	// segment if their values match the criteria values.
30760	//
30761	// Values is a required field
30762	Values []*string `type:"list" required:"true"`
30763}
30764
30765// String returns the string representation
30766func (s SetDimension) String() string {
30767	return awsutil.Prettify(s)
30768}
30769
30770// GoString returns the string representation
30771func (s SetDimension) GoString() string {
30772	return s.String()
30773}
30774
30775// Validate inspects the fields of the type to determine if they are valid.
30776func (s *SetDimension) Validate() error {
30777	invalidParams := request.ErrInvalidParams{Context: "SetDimension"}
30778	if s.Values == nil {
30779		invalidParams.Add(request.NewErrParamRequired("Values"))
30780	}
30781
30782	if invalidParams.Len() > 0 {
30783		return invalidParams
30784	}
30785	return nil
30786}
30787
30788// SetDimensionType sets the DimensionType field's value.
30789func (s *SetDimension) SetDimensionType(v string) *SetDimension {
30790	s.DimensionType = &v
30791	return s
30792}
30793
30794// SetValues sets the Values field's value.
30795func (s *SetDimension) SetValues(v []*string) *SetDimension {
30796	s.Values = v
30797	return s
30798}
30799
30800// Specifies a condition to evaluate for an activity in a journey.
30801type SimpleCondition struct {
30802	_ struct{} `type:"structure"`
30803
30804	// The dimension settings for the event that's associated with the activity.
30805	EventCondition *EventCondition `type:"structure"`
30806
30807	// The segment that's associated with the activity.
30808	SegmentCondition *SegmentCondition `type:"structure"`
30809
30810	// The dimension settings for the segment that's associated with the activity.
30811	SegmentDimensions *SegmentDimensions `locationName:"segmentDimensions" type:"structure"`
30812}
30813
30814// String returns the string representation
30815func (s SimpleCondition) String() string {
30816	return awsutil.Prettify(s)
30817}
30818
30819// GoString returns the string representation
30820func (s SimpleCondition) GoString() string {
30821	return s.String()
30822}
30823
30824// Validate inspects the fields of the type to determine if they are valid.
30825func (s *SimpleCondition) Validate() error {
30826	invalidParams := request.ErrInvalidParams{Context: "SimpleCondition"}
30827	if s.EventCondition != nil {
30828		if err := s.EventCondition.Validate(); err != nil {
30829			invalidParams.AddNested("EventCondition", err.(request.ErrInvalidParams))
30830		}
30831	}
30832	if s.SegmentCondition != nil {
30833		if err := s.SegmentCondition.Validate(); err != nil {
30834			invalidParams.AddNested("SegmentCondition", err.(request.ErrInvalidParams))
30835		}
30836	}
30837	if s.SegmentDimensions != nil {
30838		if err := s.SegmentDimensions.Validate(); err != nil {
30839			invalidParams.AddNested("SegmentDimensions", err.(request.ErrInvalidParams))
30840		}
30841	}
30842
30843	if invalidParams.Len() > 0 {
30844		return invalidParams
30845	}
30846	return nil
30847}
30848
30849// SetEventCondition sets the EventCondition field's value.
30850func (s *SimpleCondition) SetEventCondition(v *EventCondition) *SimpleCondition {
30851	s.EventCondition = v
30852	return s
30853}
30854
30855// SetSegmentCondition sets the SegmentCondition field's value.
30856func (s *SimpleCondition) SetSegmentCondition(v *SegmentCondition) *SimpleCondition {
30857	s.SegmentCondition = v
30858	return s
30859}
30860
30861// SetSegmentDimensions sets the SegmentDimensions field's value.
30862func (s *SimpleCondition) SetSegmentDimensions(v *SegmentDimensions) *SimpleCondition {
30863	s.SegmentDimensions = v
30864	return s
30865}
30866
30867// Specifies the contents of an email message, composed of a subject, a text
30868// part, and an HTML part.
30869type SimpleEmail struct {
30870	_ struct{} `type:"structure"`
30871
30872	// The body of the email message, in HTML format. We recommend using HTML format
30873	// for email clients that render HTML content. You can include links, formatted
30874	// text, and more in an HTML message.
30875	HtmlPart *SimpleEmailPart `type:"structure"`
30876
30877	// The subject line, or title, of the email.
30878	Subject *SimpleEmailPart `type:"structure"`
30879
30880	// The body of the email message, in plain text format. We recommend using plain
30881	// text format for email clients that don't render HTML content and clients
30882	// that are connected to high-latency networks, such as mobile devices.
30883	TextPart *SimpleEmailPart `type:"structure"`
30884}
30885
30886// String returns the string representation
30887func (s SimpleEmail) String() string {
30888	return awsutil.Prettify(s)
30889}
30890
30891// GoString returns the string representation
30892func (s SimpleEmail) GoString() string {
30893	return s.String()
30894}
30895
30896// SetHtmlPart sets the HtmlPart field's value.
30897func (s *SimpleEmail) SetHtmlPart(v *SimpleEmailPart) *SimpleEmail {
30898	s.HtmlPart = v
30899	return s
30900}
30901
30902// SetSubject sets the Subject field's value.
30903func (s *SimpleEmail) SetSubject(v *SimpleEmailPart) *SimpleEmail {
30904	s.Subject = v
30905	return s
30906}
30907
30908// SetTextPart sets the TextPart field's value.
30909func (s *SimpleEmail) SetTextPart(v *SimpleEmailPart) *SimpleEmail {
30910	s.TextPart = v
30911	return s
30912}
30913
30914// Specifies the subject or body of an email message, represented as textual
30915// email data and the applicable character set.
30916type SimpleEmailPart struct {
30917	_ struct{} `type:"structure"`
30918
30919	// The applicable character set for the message content.
30920	Charset *string `type:"string"`
30921
30922	// The textual data of the message content.
30923	Data *string `type:"string"`
30924}
30925
30926// String returns the string representation
30927func (s SimpleEmailPart) String() string {
30928	return awsutil.Prettify(s)
30929}
30930
30931// GoString returns the string representation
30932func (s SimpleEmailPart) GoString() string {
30933	return s.String()
30934}
30935
30936// SetCharset sets the Charset field's value.
30937func (s *SimpleEmailPart) SetCharset(v string) *SimpleEmailPart {
30938	s.Charset = &v
30939	return s
30940}
30941
30942// SetData sets the Data field's value.
30943func (s *SimpleEmailPart) SetData(v string) *SimpleEmailPart {
30944	s.Data = &v
30945	return s
30946}
30947
30948// Specifies the conditions for the first activity in a journey. This activity
30949// and its conditions determine which users are participants in a journey.
30950type StartCondition struct {
30951	_ struct{} `type:"structure"`
30952
30953	// The custom description of the condition.
30954	Description *string `type:"string"`
30955
30956	// Specifies the settings for an event that causes a journey activity to start.
30957	EventStartCondition *EventStartCondition `type:"structure"`
30958
30959	// The segment that's associated with the first activity in the journey. This
30960	// segment determines which users are participants in the journey.
30961	SegmentStartCondition *SegmentCondition `type:"structure"`
30962}
30963
30964// String returns the string representation
30965func (s StartCondition) String() string {
30966	return awsutil.Prettify(s)
30967}
30968
30969// GoString returns the string representation
30970func (s StartCondition) GoString() string {
30971	return s.String()
30972}
30973
30974// Validate inspects the fields of the type to determine if they are valid.
30975func (s *StartCondition) Validate() error {
30976	invalidParams := request.ErrInvalidParams{Context: "StartCondition"}
30977	if s.EventStartCondition != nil {
30978		if err := s.EventStartCondition.Validate(); err != nil {
30979			invalidParams.AddNested("EventStartCondition", err.(request.ErrInvalidParams))
30980		}
30981	}
30982	if s.SegmentStartCondition != nil {
30983		if err := s.SegmentStartCondition.Validate(); err != nil {
30984			invalidParams.AddNested("SegmentStartCondition", err.(request.ErrInvalidParams))
30985		}
30986	}
30987
30988	if invalidParams.Len() > 0 {
30989		return invalidParams
30990	}
30991	return nil
30992}
30993
30994// SetDescription sets the Description field's value.
30995func (s *StartCondition) SetDescription(v string) *StartCondition {
30996	s.Description = &v
30997	return s
30998}
30999
31000// SetEventStartCondition sets the EventStartCondition field's value.
31001func (s *StartCondition) SetEventStartCondition(v *EventStartCondition) *StartCondition {
31002	s.EventStartCondition = v
31003	return s
31004}
31005
31006// SetSegmentStartCondition sets the SegmentStartCondition field's value.
31007func (s *StartCondition) SetSegmentStartCondition(v *SegmentCondition) *StartCondition {
31008	s.SegmentStartCondition = v
31009	return s
31010}
31011
31012type TagResourceInput struct {
31013	_ struct{} `type:"structure" payload:"TagsModel"`
31014
31015	// ResourceArn is a required field
31016	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
31017
31018	// Specifies the tags (keys and values) for an application, campaign, message
31019	// template, or segment.
31020	//
31021	// TagsModel is a required field
31022	TagsModel *TagsModel `type:"structure" required:"true"`
31023}
31024
31025// String returns the string representation
31026func (s TagResourceInput) String() string {
31027	return awsutil.Prettify(s)
31028}
31029
31030// GoString returns the string representation
31031func (s TagResourceInput) GoString() string {
31032	return s.String()
31033}
31034
31035// Validate inspects the fields of the type to determine if they are valid.
31036func (s *TagResourceInput) Validate() error {
31037	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
31038	if s.ResourceArn == nil {
31039		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
31040	}
31041	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
31042		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
31043	}
31044	if s.TagsModel == nil {
31045		invalidParams.Add(request.NewErrParamRequired("TagsModel"))
31046	}
31047	if s.TagsModel != nil {
31048		if err := s.TagsModel.Validate(); err != nil {
31049			invalidParams.AddNested("TagsModel", err.(request.ErrInvalidParams))
31050		}
31051	}
31052
31053	if invalidParams.Len() > 0 {
31054		return invalidParams
31055	}
31056	return nil
31057}
31058
31059// SetResourceArn sets the ResourceArn field's value.
31060func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
31061	s.ResourceArn = &v
31062	return s
31063}
31064
31065// SetTagsModel sets the TagsModel field's value.
31066func (s *TagResourceInput) SetTagsModel(v *TagsModel) *TagResourceInput {
31067	s.TagsModel = v
31068	return s
31069}
31070
31071type TagResourceOutput struct {
31072	_ struct{} `type:"structure"`
31073}
31074
31075// String returns the string representation
31076func (s TagResourceOutput) String() string {
31077	return awsutil.Prettify(s)
31078}
31079
31080// GoString returns the string representation
31081func (s TagResourceOutput) GoString() string {
31082	return s.String()
31083}
31084
31085// Specifies the tags (keys and values) for an application, campaign, message
31086// template, or segment.
31087type TagsModel struct {
31088	_ struct{} `type:"structure"`
31089
31090	// A string-to-string map of key-value pairs that defines the tags for an application,
31091	// campaign, message template, or segment. Each of these resources can have
31092	// a maximum of 50 tags.
31093	//
31094	// Each tag consists of a required tag key and an associated tag value. The
31095	// maximum length of a tag key is 128 characters. The maximum length of a tag
31096	// value is 256 characters.
31097	//
31098	// Tags is a required field
31099	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
31100}
31101
31102// String returns the string representation
31103func (s TagsModel) String() string {
31104	return awsutil.Prettify(s)
31105}
31106
31107// GoString returns the string representation
31108func (s TagsModel) GoString() string {
31109	return s.String()
31110}
31111
31112// Validate inspects the fields of the type to determine if they are valid.
31113func (s *TagsModel) Validate() error {
31114	invalidParams := request.ErrInvalidParams{Context: "TagsModel"}
31115	if s.Tags == nil {
31116		invalidParams.Add(request.NewErrParamRequired("Tags"))
31117	}
31118
31119	if invalidParams.Len() > 0 {
31120		return invalidParams
31121	}
31122	return nil
31123}
31124
31125// SetTags sets the Tags field's value.
31126func (s *TagsModel) SetTags(v map[string]*string) *TagsModel {
31127	s.Tags = v
31128	return s
31129}
31130
31131// Specifies the name and version of the message template to use for the message.
31132type Template struct {
31133	_ struct{} `type:"structure"`
31134
31135	// The name of the message template to use for the message. If specified, this
31136	// value must match the name of an existing message template.
31137	Name *string `type:"string"`
31138
31139	// The unique identifier for the version of the message template to use for
31140	// the message. If specified, this value must match the identifier for an existing
31141	// template version. To retrieve a list of versions and version identifiers
31142	// for a template, use the Template Versions resource.
31143	//
31144	// If you don't specify a value for this property, Amazon Pinpoint uses the
31145	// active version of the template. The active version is typically the version
31146	// of a template that's been most recently reviewed and approved for use, depending
31147	// on your workflow. It isn't necessarily the latest version of a template.
31148	Version *string `type:"string"`
31149}
31150
31151// String returns the string representation
31152func (s Template) String() string {
31153	return awsutil.Prettify(s)
31154}
31155
31156// GoString returns the string representation
31157func (s Template) GoString() string {
31158	return s.String()
31159}
31160
31161// SetName sets the Name field's value.
31162func (s *Template) SetName(v string) *Template {
31163	s.Name = &v
31164	return s
31165}
31166
31167// SetVersion sets the Version field's value.
31168func (s *Template) SetVersion(v string) *Template {
31169	s.Version = &v
31170	return s
31171}
31172
31173// Specifies which version of a message template to use as the active version
31174// of the template.
31175type TemplateActiveVersionRequest struct {
31176	_ struct{} `type:"structure"`
31177
31178	// The version of the message template to use as the active version of the template.
31179	// Valid values are: latest, for the most recent version of the template; or,
31180	// the unique identifier for any existing version of the template. If you specify
31181	// an identifier, the value must match the identifier for an existing template
31182	// version. To retrieve a list of versions and version identifiers for a template,
31183	// use the Template Versions resource.
31184	Version *string `type:"string"`
31185}
31186
31187// String returns the string representation
31188func (s TemplateActiveVersionRequest) String() string {
31189	return awsutil.Prettify(s)
31190}
31191
31192// GoString returns the string representation
31193func (s TemplateActiveVersionRequest) GoString() string {
31194	return s.String()
31195}
31196
31197// SetVersion sets the Version field's value.
31198func (s *TemplateActiveVersionRequest) SetVersion(v string) *TemplateActiveVersionRequest {
31199	s.Version = &v
31200	return s
31201}
31202
31203// Specifies the message template to use for the message, for each type of channel.
31204type TemplateConfiguration struct {
31205	_ struct{} `type:"structure"`
31206
31207	// The email template to use for the message.
31208	EmailTemplate *Template `type:"structure"`
31209
31210	// The push notification template to use for the message.
31211	PushTemplate *Template `type:"structure"`
31212
31213	// The SMS template to use for the message.
31214	SMSTemplate *Template `type:"structure"`
31215
31216	// The voice template to use for the message. This object isn't supported for
31217	// campaigns.
31218	VoiceTemplate *Template `type:"structure"`
31219}
31220
31221// String returns the string representation
31222func (s TemplateConfiguration) String() string {
31223	return awsutil.Prettify(s)
31224}
31225
31226// GoString returns the string representation
31227func (s TemplateConfiguration) GoString() string {
31228	return s.String()
31229}
31230
31231// SetEmailTemplate sets the EmailTemplate field's value.
31232func (s *TemplateConfiguration) SetEmailTemplate(v *Template) *TemplateConfiguration {
31233	s.EmailTemplate = v
31234	return s
31235}
31236
31237// SetPushTemplate sets the PushTemplate field's value.
31238func (s *TemplateConfiguration) SetPushTemplate(v *Template) *TemplateConfiguration {
31239	s.PushTemplate = v
31240	return s
31241}
31242
31243// SetSMSTemplate sets the SMSTemplate field's value.
31244func (s *TemplateConfiguration) SetSMSTemplate(v *Template) *TemplateConfiguration {
31245	s.SMSTemplate = v
31246	return s
31247}
31248
31249// SetVoiceTemplate sets the VoiceTemplate field's value.
31250func (s *TemplateConfiguration) SetVoiceTemplate(v *Template) *TemplateConfiguration {
31251	s.VoiceTemplate = v
31252	return s
31253}
31254
31255// Provides information about a message template that's associated with your
31256// Amazon Pinpoint account.
31257type TemplateResponse struct {
31258	_ struct{} `type:"structure"`
31259
31260	// The Amazon Resource Name (ARN) of the message template. This value isn't
31261	// included in a TemplateResponse object. To retrieve the ARN of a template,
31262	// use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
31263	// operation, depending on the type of template that you want to retrieve the
31264	// ARN for.
31265	Arn *string `type:"string"`
31266
31267	// The date, in ISO 8601 format, when the message template was created.
31268	//
31269	// CreationDate is a required field
31270	CreationDate *string `type:"string" required:"true"`
31271
31272	// The JSON object that specifies the default values that are used for message
31273	// variables in the message template. This object isn't included in a TemplateResponse
31274	// object. To retrieve this object for a template, use the GetEmailTemplate,
31275	// GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending
31276	// on the type of template that you want to retrieve the object for.
31277	DefaultSubstitutions *string `type:"string"`
31278
31279	// The date, in ISO 8601 format, when the message template was last modified.
31280	//
31281	// LastModifiedDate is a required field
31282	LastModifiedDate *string `type:"string" required:"true"`
31283
31284	// A map of key-value pairs that identifies the tags that are associated with
31285	// the message template. This object isn't included in a TemplateResponse object.
31286	// To retrieve this object for a template, use the GetEmailTemplate, GetPushTemplate,
31287	// GetSmsTemplate, or GetVoiceTemplate operation, depending on the type of template
31288	// that you want to retrieve the object for.
31289	Tags map[string]*string `locationName:"tags" type:"map"`
31290
31291	// The custom description of the message template. This value isn't included
31292	// in a TemplateResponse object. To retrieve the description of a template,
31293	// use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
31294	// operation, depending on the type of template that you want to retrieve the
31295	// description for.
31296	TemplateDescription *string `type:"string"`
31297
31298	// The name of the message template.
31299	//
31300	// TemplateName is a required field
31301	TemplateName *string `type:"string" required:"true"`
31302
31303	// The type of channel that the message template is designed for. Possible values
31304	// are: EMAIL, PUSH, SMS, and VOICE.
31305	//
31306	// TemplateType is a required field
31307	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
31308
31309	// The unique identifier, as an integer, for the active version of the message
31310	// template.
31311	Version *string `type:"string"`
31312}
31313
31314// String returns the string representation
31315func (s TemplateResponse) String() string {
31316	return awsutil.Prettify(s)
31317}
31318
31319// GoString returns the string representation
31320func (s TemplateResponse) GoString() string {
31321	return s.String()
31322}
31323
31324// SetArn sets the Arn field's value.
31325func (s *TemplateResponse) SetArn(v string) *TemplateResponse {
31326	s.Arn = &v
31327	return s
31328}
31329
31330// SetCreationDate sets the CreationDate field's value.
31331func (s *TemplateResponse) SetCreationDate(v string) *TemplateResponse {
31332	s.CreationDate = &v
31333	return s
31334}
31335
31336// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
31337func (s *TemplateResponse) SetDefaultSubstitutions(v string) *TemplateResponse {
31338	s.DefaultSubstitutions = &v
31339	return s
31340}
31341
31342// SetLastModifiedDate sets the LastModifiedDate field's value.
31343func (s *TemplateResponse) SetLastModifiedDate(v string) *TemplateResponse {
31344	s.LastModifiedDate = &v
31345	return s
31346}
31347
31348// SetTags sets the Tags field's value.
31349func (s *TemplateResponse) SetTags(v map[string]*string) *TemplateResponse {
31350	s.Tags = v
31351	return s
31352}
31353
31354// SetTemplateDescription sets the TemplateDescription field's value.
31355func (s *TemplateResponse) SetTemplateDescription(v string) *TemplateResponse {
31356	s.TemplateDescription = &v
31357	return s
31358}
31359
31360// SetTemplateName sets the TemplateName field's value.
31361func (s *TemplateResponse) SetTemplateName(v string) *TemplateResponse {
31362	s.TemplateName = &v
31363	return s
31364}
31365
31366// SetTemplateType sets the TemplateType field's value.
31367func (s *TemplateResponse) SetTemplateType(v string) *TemplateResponse {
31368	s.TemplateType = &v
31369	return s
31370}
31371
31372// SetVersion sets the Version field's value.
31373func (s *TemplateResponse) SetVersion(v string) *TemplateResponse {
31374	s.Version = &v
31375	return s
31376}
31377
31378// Provides information about a specific version of a message template.
31379type TemplateVersionResponse struct {
31380	_ struct{} `type:"structure"`
31381
31382	// The date, in ISO 8601 format, when the version of the message template was
31383	// created.
31384	//
31385	// CreationDate is a required field
31386	CreationDate *string `type:"string" required:"true"`
31387
31388	// A JSON object that specifies the default values that are used for message
31389	// variables in the version of the message template. This object is a set of
31390	// key-value pairs. Each key defines a message variable in the template. The
31391	// corresponding value defines the default value for that variable.
31392	DefaultSubstitutions *string `type:"string"`
31393
31394	// The date, in ISO 8601 format, when the version of the message template was
31395	// last modified.
31396	//
31397	// LastModifiedDate is a required field
31398	LastModifiedDate *string `type:"string" required:"true"`
31399
31400	// The custom description of the version of the message template.
31401	TemplateDescription *string `type:"string"`
31402
31403	// The name of the message template.
31404	//
31405	// TemplateName is a required field
31406	TemplateName *string `type:"string" required:"true"`
31407
31408	// The type of channel that the message template is designed for. Possible values
31409	// are: EMAIL, PUSH, SMS, and VOICE.
31410	//
31411	// TemplateType is a required field
31412	TemplateType *string `type:"string" required:"true"`
31413
31414	// The unique identifier for the version of the message template. This value
31415	// is an integer that Amazon Pinpoint automatically increments and assigns to
31416	// each new version of a template.
31417	Version *string `type:"string"`
31418}
31419
31420// String returns the string representation
31421func (s TemplateVersionResponse) String() string {
31422	return awsutil.Prettify(s)
31423}
31424
31425// GoString returns the string representation
31426func (s TemplateVersionResponse) GoString() string {
31427	return s.String()
31428}
31429
31430// SetCreationDate sets the CreationDate field's value.
31431func (s *TemplateVersionResponse) SetCreationDate(v string) *TemplateVersionResponse {
31432	s.CreationDate = &v
31433	return s
31434}
31435
31436// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
31437func (s *TemplateVersionResponse) SetDefaultSubstitutions(v string) *TemplateVersionResponse {
31438	s.DefaultSubstitutions = &v
31439	return s
31440}
31441
31442// SetLastModifiedDate sets the LastModifiedDate field's value.
31443func (s *TemplateVersionResponse) SetLastModifiedDate(v string) *TemplateVersionResponse {
31444	s.LastModifiedDate = &v
31445	return s
31446}
31447
31448// SetTemplateDescription sets the TemplateDescription field's value.
31449func (s *TemplateVersionResponse) SetTemplateDescription(v string) *TemplateVersionResponse {
31450	s.TemplateDescription = &v
31451	return s
31452}
31453
31454// SetTemplateName sets the TemplateName field's value.
31455func (s *TemplateVersionResponse) SetTemplateName(v string) *TemplateVersionResponse {
31456	s.TemplateName = &v
31457	return s
31458}
31459
31460// SetTemplateType sets the TemplateType field's value.
31461func (s *TemplateVersionResponse) SetTemplateType(v string) *TemplateVersionResponse {
31462	s.TemplateType = &v
31463	return s
31464}
31465
31466// SetVersion sets the Version field's value.
31467func (s *TemplateVersionResponse) SetVersion(v string) *TemplateVersionResponse {
31468	s.Version = &v
31469	return s
31470}
31471
31472// Provides information about all the versions of a specific message template.
31473type TemplateVersionsResponse struct {
31474	_ struct{} `type:"structure"`
31475
31476	// An array of responses, one for each version of the message template.
31477	//
31478	// Item is a required field
31479	Item []*TemplateVersionResponse `type:"list" required:"true"`
31480
31481	// The message that's returned from the API for the request to retrieve information
31482	// about all the versions of the message template.
31483	Message *string `type:"string"`
31484
31485	// The string to use in a subsequent request to get the next page of results
31486	// in a paginated response. This value is null if there are no additional pages.
31487	NextToken *string `type:"string"`
31488
31489	// The unique identifier for the request to retrieve information about all the
31490	// versions of the message template.
31491	RequestID *string `type:"string"`
31492}
31493
31494// String returns the string representation
31495func (s TemplateVersionsResponse) String() string {
31496	return awsutil.Prettify(s)
31497}
31498
31499// GoString returns the string representation
31500func (s TemplateVersionsResponse) GoString() string {
31501	return s.String()
31502}
31503
31504// SetItem sets the Item field's value.
31505func (s *TemplateVersionsResponse) SetItem(v []*TemplateVersionResponse) *TemplateVersionsResponse {
31506	s.Item = v
31507	return s
31508}
31509
31510// SetMessage sets the Message field's value.
31511func (s *TemplateVersionsResponse) SetMessage(v string) *TemplateVersionsResponse {
31512	s.Message = &v
31513	return s
31514}
31515
31516// SetNextToken sets the NextToken field's value.
31517func (s *TemplateVersionsResponse) SetNextToken(v string) *TemplateVersionsResponse {
31518	s.NextToken = &v
31519	return s
31520}
31521
31522// SetRequestID sets the RequestID field's value.
31523func (s *TemplateVersionsResponse) SetRequestID(v string) *TemplateVersionsResponse {
31524	s.RequestID = &v
31525	return s
31526}
31527
31528// Provides information about all the message templates that are associated
31529// with your Amazon Pinpoint account.
31530type TemplatesResponse struct {
31531	_ struct{} `type:"structure"`
31532
31533	// An array of responses, one for each message template that's associated with
31534	// your Amazon Pinpoint account and meets any filter criteria that you specified
31535	// in the request.
31536	//
31537	// Item is a required field
31538	Item []*TemplateResponse `type:"list" required:"true"`
31539
31540	// The string to use in a subsequent request to get the next page of results
31541	// in a paginated response. This value is null if there are no additional pages.
31542	NextToken *string `type:"string"`
31543}
31544
31545// String returns the string representation
31546func (s TemplatesResponse) String() string {
31547	return awsutil.Prettify(s)
31548}
31549
31550// GoString returns the string representation
31551func (s TemplatesResponse) GoString() string {
31552	return s.String()
31553}
31554
31555// SetItem sets the Item field's value.
31556func (s *TemplatesResponse) SetItem(v []*TemplateResponse) *TemplatesResponse {
31557	s.Item = v
31558	return s
31559}
31560
31561// SetNextToken sets the NextToken field's value.
31562func (s *TemplatesResponse) SetNextToken(v string) *TemplatesResponse {
31563	s.NextToken = &v
31564	return s
31565}
31566
31567// Provides information about an API request or response.
31568type TooManyRequestsException struct {
31569	_            struct{}                  `type:"structure"`
31570	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
31571
31572	Message_ *string `locationName:"Message" type:"string"`
31573
31574	RequestID_ *string `locationName:"RequestID" type:"string"`
31575}
31576
31577// String returns the string representation
31578func (s TooManyRequestsException) String() string {
31579	return awsutil.Prettify(s)
31580}
31581
31582// GoString returns the string representation
31583func (s TooManyRequestsException) GoString() string {
31584	return s.String()
31585}
31586
31587func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
31588	return &TooManyRequestsException{
31589		RespMetadata: v,
31590	}
31591}
31592
31593// Code returns the exception type name.
31594func (s *TooManyRequestsException) Code() string {
31595	return "TooManyRequestsException"
31596}
31597
31598// Message returns the exception's message.
31599func (s *TooManyRequestsException) Message() string {
31600	if s.Message_ != nil {
31601		return *s.Message_
31602	}
31603	return ""
31604}
31605
31606// OrigErr always returns nil, satisfies awserr.Error interface.
31607func (s *TooManyRequestsException) OrigErr() error {
31608	return nil
31609}
31610
31611func (s *TooManyRequestsException) Error() string {
31612	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
31613}
31614
31615// Status code returns the HTTP status code for the request's response error.
31616func (s *TooManyRequestsException) StatusCode() int {
31617	return s.RespMetadata.StatusCode
31618}
31619
31620// RequestID returns the service's response RequestID for request.
31621func (s *TooManyRequestsException) RequestID() string {
31622	return s.RespMetadata.RequestID
31623}
31624
31625// Specifies the settings for a campaign treatment. A treatment is a variation
31626// of a campaign that's used for A/B testing of a campaign.
31627type TreatmentResource struct {
31628	_ struct{} `type:"structure"`
31629
31630	// The delivery configuration settings for sending the treatment through a custom
31631	// channel. This object is required if the MessageConfiguration object for the
31632	// treatment specifies a CustomMessage object.
31633	CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"`
31634
31635	// The unique identifier for the treatment.
31636	//
31637	// Id is a required field
31638	Id *string `type:"string" required:"true"`
31639
31640	// The message configuration settings for the treatment.
31641	MessageConfiguration *MessageConfiguration `type:"structure"`
31642
31643	// The schedule settings for the treatment.
31644	Schedule *Schedule `type:"structure"`
31645
31646	// The allocated percentage of users (segment members) that the treatment is
31647	// sent to.
31648	//
31649	// SizePercent is a required field
31650	SizePercent *int64 `type:"integer" required:"true"`
31651
31652	// The current status of the treatment.
31653	State *CampaignState `type:"structure"`
31654
31655	// The message template to use for the treatment.
31656	TemplateConfiguration *TemplateConfiguration `type:"structure"`
31657
31658	// The custom description of the treatment.
31659	TreatmentDescription *string `type:"string"`
31660
31661	// The custom name of the treatment.
31662	TreatmentName *string `type:"string"`
31663}
31664
31665// String returns the string representation
31666func (s TreatmentResource) String() string {
31667	return awsutil.Prettify(s)
31668}
31669
31670// GoString returns the string representation
31671func (s TreatmentResource) GoString() string {
31672	return s.String()
31673}
31674
31675// SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value.
31676func (s *TreatmentResource) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *TreatmentResource {
31677	s.CustomDeliveryConfiguration = v
31678	return s
31679}
31680
31681// SetId sets the Id field's value.
31682func (s *TreatmentResource) SetId(v string) *TreatmentResource {
31683	s.Id = &v
31684	return s
31685}
31686
31687// SetMessageConfiguration sets the MessageConfiguration field's value.
31688func (s *TreatmentResource) SetMessageConfiguration(v *MessageConfiguration) *TreatmentResource {
31689	s.MessageConfiguration = v
31690	return s
31691}
31692
31693// SetSchedule sets the Schedule field's value.
31694func (s *TreatmentResource) SetSchedule(v *Schedule) *TreatmentResource {
31695	s.Schedule = v
31696	return s
31697}
31698
31699// SetSizePercent sets the SizePercent field's value.
31700func (s *TreatmentResource) SetSizePercent(v int64) *TreatmentResource {
31701	s.SizePercent = &v
31702	return s
31703}
31704
31705// SetState sets the State field's value.
31706func (s *TreatmentResource) SetState(v *CampaignState) *TreatmentResource {
31707	s.State = v
31708	return s
31709}
31710
31711// SetTemplateConfiguration sets the TemplateConfiguration field's value.
31712func (s *TreatmentResource) SetTemplateConfiguration(v *TemplateConfiguration) *TreatmentResource {
31713	s.TemplateConfiguration = v
31714	return s
31715}
31716
31717// SetTreatmentDescription sets the TreatmentDescription field's value.
31718func (s *TreatmentResource) SetTreatmentDescription(v string) *TreatmentResource {
31719	s.TreatmentDescription = &v
31720	return s
31721}
31722
31723// SetTreatmentName sets the TreatmentName field's value.
31724func (s *TreatmentResource) SetTreatmentName(v string) *TreatmentResource {
31725	s.TreatmentName = &v
31726	return s
31727}
31728
31729type UntagResourceInput struct {
31730	_ struct{} `type:"structure"`
31731
31732	// ResourceArn is a required field
31733	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
31734
31735	// TagKeys is a required field
31736	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
31737}
31738
31739// String returns the string representation
31740func (s UntagResourceInput) String() string {
31741	return awsutil.Prettify(s)
31742}
31743
31744// GoString returns the string representation
31745func (s UntagResourceInput) GoString() string {
31746	return s.String()
31747}
31748
31749// Validate inspects the fields of the type to determine if they are valid.
31750func (s *UntagResourceInput) Validate() error {
31751	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
31752	if s.ResourceArn == nil {
31753		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
31754	}
31755	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
31756		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
31757	}
31758	if s.TagKeys == nil {
31759		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
31760	}
31761
31762	if invalidParams.Len() > 0 {
31763		return invalidParams
31764	}
31765	return nil
31766}
31767
31768// SetResourceArn sets the ResourceArn field's value.
31769func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
31770	s.ResourceArn = &v
31771	return s
31772}
31773
31774// SetTagKeys sets the TagKeys field's value.
31775func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
31776	s.TagKeys = v
31777	return s
31778}
31779
31780type UntagResourceOutput struct {
31781	_ struct{} `type:"structure"`
31782}
31783
31784// String returns the string representation
31785func (s UntagResourceOutput) String() string {
31786	return awsutil.Prettify(s)
31787}
31788
31789// GoString returns the string representation
31790func (s UntagResourceOutput) GoString() string {
31791	return s.String()
31792}
31793
31794type UpdateAdmChannelInput struct {
31795	_ struct{} `type:"structure" payload:"ADMChannelRequest"`
31796
31797	// Specifies the status and settings of the ADM (Amazon Device Messaging) channel
31798	// for an application.
31799	//
31800	// ADMChannelRequest is a required field
31801	ADMChannelRequest *ADMChannelRequest `type:"structure" required:"true"`
31802
31803	// ApplicationId is a required field
31804	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
31805}
31806
31807// String returns the string representation
31808func (s UpdateAdmChannelInput) String() string {
31809	return awsutil.Prettify(s)
31810}
31811
31812// GoString returns the string representation
31813func (s UpdateAdmChannelInput) GoString() string {
31814	return s.String()
31815}
31816
31817// Validate inspects the fields of the type to determine if they are valid.
31818func (s *UpdateAdmChannelInput) Validate() error {
31819	invalidParams := request.ErrInvalidParams{Context: "UpdateAdmChannelInput"}
31820	if s.ADMChannelRequest == nil {
31821		invalidParams.Add(request.NewErrParamRequired("ADMChannelRequest"))
31822	}
31823	if s.ApplicationId == nil {
31824		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
31825	}
31826	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
31827		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
31828	}
31829	if s.ADMChannelRequest != nil {
31830		if err := s.ADMChannelRequest.Validate(); err != nil {
31831			invalidParams.AddNested("ADMChannelRequest", err.(request.ErrInvalidParams))
31832		}
31833	}
31834
31835	if invalidParams.Len() > 0 {
31836		return invalidParams
31837	}
31838	return nil
31839}
31840
31841// SetADMChannelRequest sets the ADMChannelRequest field's value.
31842func (s *UpdateAdmChannelInput) SetADMChannelRequest(v *ADMChannelRequest) *UpdateAdmChannelInput {
31843	s.ADMChannelRequest = v
31844	return s
31845}
31846
31847// SetApplicationId sets the ApplicationId field's value.
31848func (s *UpdateAdmChannelInput) SetApplicationId(v string) *UpdateAdmChannelInput {
31849	s.ApplicationId = &v
31850	return s
31851}
31852
31853type UpdateAdmChannelOutput struct {
31854	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
31855
31856	// Provides information about the status and settings of the ADM (Amazon Device
31857	// Messaging) channel for an application.
31858	//
31859	// ADMChannelResponse is a required field
31860	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
31861}
31862
31863// String returns the string representation
31864func (s UpdateAdmChannelOutput) String() string {
31865	return awsutil.Prettify(s)
31866}
31867
31868// GoString returns the string representation
31869func (s UpdateAdmChannelOutput) GoString() string {
31870	return s.String()
31871}
31872
31873// SetADMChannelResponse sets the ADMChannelResponse field's value.
31874func (s *UpdateAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *UpdateAdmChannelOutput {
31875	s.ADMChannelResponse = v
31876	return s
31877}
31878
31879type UpdateApnsChannelInput struct {
31880	_ struct{} `type:"structure" payload:"APNSChannelRequest"`
31881
31882	// Specifies the status and settings of the APNs (Apple Push Notification service)
31883	// channel for an application.
31884	//
31885	// APNSChannelRequest is a required field
31886	APNSChannelRequest *APNSChannelRequest `type:"structure" required:"true"`
31887
31888	// ApplicationId is a required field
31889	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
31890}
31891
31892// String returns the string representation
31893func (s UpdateApnsChannelInput) String() string {
31894	return awsutil.Prettify(s)
31895}
31896
31897// GoString returns the string representation
31898func (s UpdateApnsChannelInput) GoString() string {
31899	return s.String()
31900}
31901
31902// Validate inspects the fields of the type to determine if they are valid.
31903func (s *UpdateApnsChannelInput) Validate() error {
31904	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsChannelInput"}
31905	if s.APNSChannelRequest == nil {
31906		invalidParams.Add(request.NewErrParamRequired("APNSChannelRequest"))
31907	}
31908	if s.ApplicationId == nil {
31909		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
31910	}
31911	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
31912		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
31913	}
31914
31915	if invalidParams.Len() > 0 {
31916		return invalidParams
31917	}
31918	return nil
31919}
31920
31921// SetAPNSChannelRequest sets the APNSChannelRequest field's value.
31922func (s *UpdateApnsChannelInput) SetAPNSChannelRequest(v *APNSChannelRequest) *UpdateApnsChannelInput {
31923	s.APNSChannelRequest = v
31924	return s
31925}
31926
31927// SetApplicationId sets the ApplicationId field's value.
31928func (s *UpdateApnsChannelInput) SetApplicationId(v string) *UpdateApnsChannelInput {
31929	s.ApplicationId = &v
31930	return s
31931}
31932
31933type UpdateApnsChannelOutput struct {
31934	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
31935
31936	// Provides information about the status and settings of the APNs (Apple Push
31937	// Notification service) channel for an application.
31938	//
31939	// APNSChannelResponse is a required field
31940	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
31941}
31942
31943// String returns the string representation
31944func (s UpdateApnsChannelOutput) String() string {
31945	return awsutil.Prettify(s)
31946}
31947
31948// GoString returns the string representation
31949func (s UpdateApnsChannelOutput) GoString() string {
31950	return s.String()
31951}
31952
31953// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
31954func (s *UpdateApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *UpdateApnsChannelOutput {
31955	s.APNSChannelResponse = v
31956	return s
31957}
31958
31959type UpdateApnsSandboxChannelInput struct {
31960	_ struct{} `type:"structure" payload:"APNSSandboxChannelRequest"`
31961
31962	// Specifies the status and settings of the APNs (Apple Push Notification service)
31963	// sandbox channel for an application.
31964	//
31965	// APNSSandboxChannelRequest is a required field
31966	APNSSandboxChannelRequest *APNSSandboxChannelRequest `type:"structure" required:"true"`
31967
31968	// ApplicationId is a required field
31969	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
31970}
31971
31972// String returns the string representation
31973func (s UpdateApnsSandboxChannelInput) String() string {
31974	return awsutil.Prettify(s)
31975}
31976
31977// GoString returns the string representation
31978func (s UpdateApnsSandboxChannelInput) GoString() string {
31979	return s.String()
31980}
31981
31982// Validate inspects the fields of the type to determine if they are valid.
31983func (s *UpdateApnsSandboxChannelInput) Validate() error {
31984	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsSandboxChannelInput"}
31985	if s.APNSSandboxChannelRequest == nil {
31986		invalidParams.Add(request.NewErrParamRequired("APNSSandboxChannelRequest"))
31987	}
31988	if s.ApplicationId == nil {
31989		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
31990	}
31991	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
31992		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
31993	}
31994
31995	if invalidParams.Len() > 0 {
31996		return invalidParams
31997	}
31998	return nil
31999}
32000
32001// SetAPNSSandboxChannelRequest sets the APNSSandboxChannelRequest field's value.
32002func (s *UpdateApnsSandboxChannelInput) SetAPNSSandboxChannelRequest(v *APNSSandboxChannelRequest) *UpdateApnsSandboxChannelInput {
32003	s.APNSSandboxChannelRequest = v
32004	return s
32005}
32006
32007// SetApplicationId sets the ApplicationId field's value.
32008func (s *UpdateApnsSandboxChannelInput) SetApplicationId(v string) *UpdateApnsSandboxChannelInput {
32009	s.ApplicationId = &v
32010	return s
32011}
32012
32013type UpdateApnsSandboxChannelOutput struct {
32014	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
32015
32016	// Provides information about the status and settings of the APNs (Apple Push
32017	// Notification service) sandbox channel for an application.
32018	//
32019	// APNSSandboxChannelResponse is a required field
32020	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
32021}
32022
32023// String returns the string representation
32024func (s UpdateApnsSandboxChannelOutput) String() string {
32025	return awsutil.Prettify(s)
32026}
32027
32028// GoString returns the string representation
32029func (s UpdateApnsSandboxChannelOutput) GoString() string {
32030	return s.String()
32031}
32032
32033// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
32034func (s *UpdateApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *UpdateApnsSandboxChannelOutput {
32035	s.APNSSandboxChannelResponse = v
32036	return s
32037}
32038
32039type UpdateApnsVoipChannelInput struct {
32040	_ struct{} `type:"structure" payload:"APNSVoipChannelRequest"`
32041
32042	// Specifies the status and settings of the APNs (Apple Push Notification service)
32043	// VoIP channel for an application.
32044	//
32045	// APNSVoipChannelRequest is a required field
32046	APNSVoipChannelRequest *APNSVoipChannelRequest `type:"structure" required:"true"`
32047
32048	// ApplicationId is a required field
32049	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32050}
32051
32052// String returns the string representation
32053func (s UpdateApnsVoipChannelInput) String() string {
32054	return awsutil.Prettify(s)
32055}
32056
32057// GoString returns the string representation
32058func (s UpdateApnsVoipChannelInput) GoString() string {
32059	return s.String()
32060}
32061
32062// Validate inspects the fields of the type to determine if they are valid.
32063func (s *UpdateApnsVoipChannelInput) Validate() error {
32064	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsVoipChannelInput"}
32065	if s.APNSVoipChannelRequest == nil {
32066		invalidParams.Add(request.NewErrParamRequired("APNSVoipChannelRequest"))
32067	}
32068	if s.ApplicationId == nil {
32069		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32070	}
32071	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32072		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32073	}
32074
32075	if invalidParams.Len() > 0 {
32076		return invalidParams
32077	}
32078	return nil
32079}
32080
32081// SetAPNSVoipChannelRequest sets the APNSVoipChannelRequest field's value.
32082func (s *UpdateApnsVoipChannelInput) SetAPNSVoipChannelRequest(v *APNSVoipChannelRequest) *UpdateApnsVoipChannelInput {
32083	s.APNSVoipChannelRequest = v
32084	return s
32085}
32086
32087// SetApplicationId sets the ApplicationId field's value.
32088func (s *UpdateApnsVoipChannelInput) SetApplicationId(v string) *UpdateApnsVoipChannelInput {
32089	s.ApplicationId = &v
32090	return s
32091}
32092
32093type UpdateApnsVoipChannelOutput struct {
32094	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
32095
32096	// Provides information about the status and settings of the APNs (Apple Push
32097	// Notification service) VoIP channel for an application.
32098	//
32099	// APNSVoipChannelResponse is a required field
32100	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
32101}
32102
32103// String returns the string representation
32104func (s UpdateApnsVoipChannelOutput) String() string {
32105	return awsutil.Prettify(s)
32106}
32107
32108// GoString returns the string representation
32109func (s UpdateApnsVoipChannelOutput) GoString() string {
32110	return s.String()
32111}
32112
32113// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
32114func (s *UpdateApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *UpdateApnsVoipChannelOutput {
32115	s.APNSVoipChannelResponse = v
32116	return s
32117}
32118
32119type UpdateApnsVoipSandboxChannelInput struct {
32120	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelRequest"`
32121
32122	// Specifies the status and settings of the APNs (Apple Push Notification service)
32123	// VoIP sandbox channel for an application.
32124	//
32125	// APNSVoipSandboxChannelRequest is a required field
32126	APNSVoipSandboxChannelRequest *APNSVoipSandboxChannelRequest `type:"structure" required:"true"`
32127
32128	// ApplicationId is a required field
32129	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32130}
32131
32132// String returns the string representation
32133func (s UpdateApnsVoipSandboxChannelInput) String() string {
32134	return awsutil.Prettify(s)
32135}
32136
32137// GoString returns the string representation
32138func (s UpdateApnsVoipSandboxChannelInput) GoString() string {
32139	return s.String()
32140}
32141
32142// Validate inspects the fields of the type to determine if they are valid.
32143func (s *UpdateApnsVoipSandboxChannelInput) Validate() error {
32144	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsVoipSandboxChannelInput"}
32145	if s.APNSVoipSandboxChannelRequest == nil {
32146		invalidParams.Add(request.NewErrParamRequired("APNSVoipSandboxChannelRequest"))
32147	}
32148	if s.ApplicationId == nil {
32149		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32150	}
32151	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32152		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32153	}
32154
32155	if invalidParams.Len() > 0 {
32156		return invalidParams
32157	}
32158	return nil
32159}
32160
32161// SetAPNSVoipSandboxChannelRequest sets the APNSVoipSandboxChannelRequest field's value.
32162func (s *UpdateApnsVoipSandboxChannelInput) SetAPNSVoipSandboxChannelRequest(v *APNSVoipSandboxChannelRequest) *UpdateApnsVoipSandboxChannelInput {
32163	s.APNSVoipSandboxChannelRequest = v
32164	return s
32165}
32166
32167// SetApplicationId sets the ApplicationId field's value.
32168func (s *UpdateApnsVoipSandboxChannelInput) SetApplicationId(v string) *UpdateApnsVoipSandboxChannelInput {
32169	s.ApplicationId = &v
32170	return s
32171}
32172
32173type UpdateApnsVoipSandboxChannelOutput struct {
32174	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
32175
32176	// Provides information about the status and settings of the APNs (Apple Push
32177	// Notification service) VoIP sandbox channel for an application.
32178	//
32179	// APNSVoipSandboxChannelResponse is a required field
32180	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
32181}
32182
32183// String returns the string representation
32184func (s UpdateApnsVoipSandboxChannelOutput) String() string {
32185	return awsutil.Prettify(s)
32186}
32187
32188// GoString returns the string representation
32189func (s UpdateApnsVoipSandboxChannelOutput) GoString() string {
32190	return s.String()
32191}
32192
32193// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
32194func (s *UpdateApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *UpdateApnsVoipSandboxChannelOutput {
32195	s.APNSVoipSandboxChannelResponse = v
32196	return s
32197}
32198
32199type UpdateApplicationSettingsInput struct {
32200	_ struct{} `type:"structure" payload:"WriteApplicationSettingsRequest"`
32201
32202	// ApplicationId is a required field
32203	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32204
32205	// Specifies the default settings for an application.
32206	//
32207	// WriteApplicationSettingsRequest is a required field
32208	WriteApplicationSettingsRequest *WriteApplicationSettingsRequest `type:"structure" required:"true"`
32209}
32210
32211// String returns the string representation
32212func (s UpdateApplicationSettingsInput) String() string {
32213	return awsutil.Prettify(s)
32214}
32215
32216// GoString returns the string representation
32217func (s UpdateApplicationSettingsInput) GoString() string {
32218	return s.String()
32219}
32220
32221// Validate inspects the fields of the type to determine if they are valid.
32222func (s *UpdateApplicationSettingsInput) Validate() error {
32223	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationSettingsInput"}
32224	if s.ApplicationId == nil {
32225		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32226	}
32227	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32228		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32229	}
32230	if s.WriteApplicationSettingsRequest == nil {
32231		invalidParams.Add(request.NewErrParamRequired("WriteApplicationSettingsRequest"))
32232	}
32233
32234	if invalidParams.Len() > 0 {
32235		return invalidParams
32236	}
32237	return nil
32238}
32239
32240// SetApplicationId sets the ApplicationId field's value.
32241func (s *UpdateApplicationSettingsInput) SetApplicationId(v string) *UpdateApplicationSettingsInput {
32242	s.ApplicationId = &v
32243	return s
32244}
32245
32246// SetWriteApplicationSettingsRequest sets the WriteApplicationSettingsRequest field's value.
32247func (s *UpdateApplicationSettingsInput) SetWriteApplicationSettingsRequest(v *WriteApplicationSettingsRequest) *UpdateApplicationSettingsInput {
32248	s.WriteApplicationSettingsRequest = v
32249	return s
32250}
32251
32252type UpdateApplicationSettingsOutput struct {
32253	_ struct{} `type:"structure" payload:"ApplicationSettingsResource"`
32254
32255	// Provides information about an application, including the default settings
32256	// for an application.
32257	//
32258	// ApplicationSettingsResource is a required field
32259	ApplicationSettingsResource *ApplicationSettingsResource `type:"structure" required:"true"`
32260}
32261
32262// String returns the string representation
32263func (s UpdateApplicationSettingsOutput) String() string {
32264	return awsutil.Prettify(s)
32265}
32266
32267// GoString returns the string representation
32268func (s UpdateApplicationSettingsOutput) GoString() string {
32269	return s.String()
32270}
32271
32272// SetApplicationSettingsResource sets the ApplicationSettingsResource field's value.
32273func (s *UpdateApplicationSettingsOutput) SetApplicationSettingsResource(v *ApplicationSettingsResource) *UpdateApplicationSettingsOutput {
32274	s.ApplicationSettingsResource = v
32275	return s
32276}
32277
32278// Specifies one or more attributes to remove from all the endpoints that are
32279// associated with an application.
32280type UpdateAttributesRequest struct {
32281	_ struct{} `type:"structure"`
32282
32283	// An array of the attributes to remove from all the endpoints that are associated
32284	// with the application. The array can specify the complete, exact name of each
32285	// attribute to remove or it can specify a glob pattern that an attribute name
32286	// must match in order for the attribute to be removed.
32287	Blacklist []*string `type:"list"`
32288}
32289
32290// String returns the string representation
32291func (s UpdateAttributesRequest) String() string {
32292	return awsutil.Prettify(s)
32293}
32294
32295// GoString returns the string representation
32296func (s UpdateAttributesRequest) GoString() string {
32297	return s.String()
32298}
32299
32300// SetBlacklist sets the Blacklist field's value.
32301func (s *UpdateAttributesRequest) SetBlacklist(v []*string) *UpdateAttributesRequest {
32302	s.Blacklist = v
32303	return s
32304}
32305
32306type UpdateBaiduChannelInput struct {
32307	_ struct{} `type:"structure" payload:"BaiduChannelRequest"`
32308
32309	// ApplicationId is a required field
32310	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32311
32312	// Specifies the status and settings of the Baidu (Baidu Cloud Push) channel
32313	// for an application.
32314	//
32315	// BaiduChannelRequest is a required field
32316	BaiduChannelRequest *BaiduChannelRequest `type:"structure" required:"true"`
32317}
32318
32319// String returns the string representation
32320func (s UpdateBaiduChannelInput) String() string {
32321	return awsutil.Prettify(s)
32322}
32323
32324// GoString returns the string representation
32325func (s UpdateBaiduChannelInput) GoString() string {
32326	return s.String()
32327}
32328
32329// Validate inspects the fields of the type to determine if they are valid.
32330func (s *UpdateBaiduChannelInput) Validate() error {
32331	invalidParams := request.ErrInvalidParams{Context: "UpdateBaiduChannelInput"}
32332	if s.ApplicationId == nil {
32333		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32334	}
32335	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32336		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32337	}
32338	if s.BaiduChannelRequest == nil {
32339		invalidParams.Add(request.NewErrParamRequired("BaiduChannelRequest"))
32340	}
32341	if s.BaiduChannelRequest != nil {
32342		if err := s.BaiduChannelRequest.Validate(); err != nil {
32343			invalidParams.AddNested("BaiduChannelRequest", err.(request.ErrInvalidParams))
32344		}
32345	}
32346
32347	if invalidParams.Len() > 0 {
32348		return invalidParams
32349	}
32350	return nil
32351}
32352
32353// SetApplicationId sets the ApplicationId field's value.
32354func (s *UpdateBaiduChannelInput) SetApplicationId(v string) *UpdateBaiduChannelInput {
32355	s.ApplicationId = &v
32356	return s
32357}
32358
32359// SetBaiduChannelRequest sets the BaiduChannelRequest field's value.
32360func (s *UpdateBaiduChannelInput) SetBaiduChannelRequest(v *BaiduChannelRequest) *UpdateBaiduChannelInput {
32361	s.BaiduChannelRequest = v
32362	return s
32363}
32364
32365type UpdateBaiduChannelOutput struct {
32366	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
32367
32368	// Provides information about the status and settings of the Baidu (Baidu Cloud
32369	// Push) channel for an application.
32370	//
32371	// BaiduChannelResponse is a required field
32372	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
32373}
32374
32375// String returns the string representation
32376func (s UpdateBaiduChannelOutput) String() string {
32377	return awsutil.Prettify(s)
32378}
32379
32380// GoString returns the string representation
32381func (s UpdateBaiduChannelOutput) GoString() string {
32382	return s.String()
32383}
32384
32385// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
32386func (s *UpdateBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *UpdateBaiduChannelOutput {
32387	s.BaiduChannelResponse = v
32388	return s
32389}
32390
32391type UpdateCampaignInput struct {
32392	_ struct{} `type:"structure" payload:"WriteCampaignRequest"`
32393
32394	// ApplicationId is a required field
32395	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32396
32397	// CampaignId is a required field
32398	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
32399
32400	// Specifies the configuration and other settings for a campaign.
32401	//
32402	// WriteCampaignRequest is a required field
32403	WriteCampaignRequest *WriteCampaignRequest `type:"structure" required:"true"`
32404}
32405
32406// String returns the string representation
32407func (s UpdateCampaignInput) String() string {
32408	return awsutil.Prettify(s)
32409}
32410
32411// GoString returns the string representation
32412func (s UpdateCampaignInput) GoString() string {
32413	return s.String()
32414}
32415
32416// Validate inspects the fields of the type to determine if they are valid.
32417func (s *UpdateCampaignInput) Validate() error {
32418	invalidParams := request.ErrInvalidParams{Context: "UpdateCampaignInput"}
32419	if s.ApplicationId == nil {
32420		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32421	}
32422	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32423		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32424	}
32425	if s.CampaignId == nil {
32426		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
32427	}
32428	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
32429		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
32430	}
32431	if s.WriteCampaignRequest == nil {
32432		invalidParams.Add(request.NewErrParamRequired("WriteCampaignRequest"))
32433	}
32434	if s.WriteCampaignRequest != nil {
32435		if err := s.WriteCampaignRequest.Validate(); err != nil {
32436			invalidParams.AddNested("WriteCampaignRequest", err.(request.ErrInvalidParams))
32437		}
32438	}
32439
32440	if invalidParams.Len() > 0 {
32441		return invalidParams
32442	}
32443	return nil
32444}
32445
32446// SetApplicationId sets the ApplicationId field's value.
32447func (s *UpdateCampaignInput) SetApplicationId(v string) *UpdateCampaignInput {
32448	s.ApplicationId = &v
32449	return s
32450}
32451
32452// SetCampaignId sets the CampaignId field's value.
32453func (s *UpdateCampaignInput) SetCampaignId(v string) *UpdateCampaignInput {
32454	s.CampaignId = &v
32455	return s
32456}
32457
32458// SetWriteCampaignRequest sets the WriteCampaignRequest field's value.
32459func (s *UpdateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) *UpdateCampaignInput {
32460	s.WriteCampaignRequest = v
32461	return s
32462}
32463
32464type UpdateCampaignOutput struct {
32465	_ struct{} `type:"structure" payload:"CampaignResponse"`
32466
32467	// Provides information about the status, configuration, and other settings
32468	// for a campaign.
32469	//
32470	// CampaignResponse is a required field
32471	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
32472}
32473
32474// String returns the string representation
32475func (s UpdateCampaignOutput) String() string {
32476	return awsutil.Prettify(s)
32477}
32478
32479// GoString returns the string representation
32480func (s UpdateCampaignOutput) GoString() string {
32481	return s.String()
32482}
32483
32484// SetCampaignResponse sets the CampaignResponse field's value.
32485func (s *UpdateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *UpdateCampaignOutput {
32486	s.CampaignResponse = v
32487	return s
32488}
32489
32490type UpdateEmailChannelInput struct {
32491	_ struct{} `type:"structure" payload:"EmailChannelRequest"`
32492
32493	// ApplicationId is a required field
32494	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32495
32496	// Specifies the status and settings of the email channel for an application.
32497	//
32498	// EmailChannelRequest is a required field
32499	EmailChannelRequest *EmailChannelRequest `type:"structure" required:"true"`
32500}
32501
32502// String returns the string representation
32503func (s UpdateEmailChannelInput) String() string {
32504	return awsutil.Prettify(s)
32505}
32506
32507// GoString returns the string representation
32508func (s UpdateEmailChannelInput) GoString() string {
32509	return s.String()
32510}
32511
32512// Validate inspects the fields of the type to determine if they are valid.
32513func (s *UpdateEmailChannelInput) Validate() error {
32514	invalidParams := request.ErrInvalidParams{Context: "UpdateEmailChannelInput"}
32515	if s.ApplicationId == nil {
32516		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32517	}
32518	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32519		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32520	}
32521	if s.EmailChannelRequest == nil {
32522		invalidParams.Add(request.NewErrParamRequired("EmailChannelRequest"))
32523	}
32524	if s.EmailChannelRequest != nil {
32525		if err := s.EmailChannelRequest.Validate(); err != nil {
32526			invalidParams.AddNested("EmailChannelRequest", err.(request.ErrInvalidParams))
32527		}
32528	}
32529
32530	if invalidParams.Len() > 0 {
32531		return invalidParams
32532	}
32533	return nil
32534}
32535
32536// SetApplicationId sets the ApplicationId field's value.
32537func (s *UpdateEmailChannelInput) SetApplicationId(v string) *UpdateEmailChannelInput {
32538	s.ApplicationId = &v
32539	return s
32540}
32541
32542// SetEmailChannelRequest sets the EmailChannelRequest field's value.
32543func (s *UpdateEmailChannelInput) SetEmailChannelRequest(v *EmailChannelRequest) *UpdateEmailChannelInput {
32544	s.EmailChannelRequest = v
32545	return s
32546}
32547
32548type UpdateEmailChannelOutput struct {
32549	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
32550
32551	// Provides information about the status and settings of the email channel for
32552	// an application.
32553	//
32554	// EmailChannelResponse is a required field
32555	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
32556}
32557
32558// String returns the string representation
32559func (s UpdateEmailChannelOutput) String() string {
32560	return awsutil.Prettify(s)
32561}
32562
32563// GoString returns the string representation
32564func (s UpdateEmailChannelOutput) GoString() string {
32565	return s.String()
32566}
32567
32568// SetEmailChannelResponse sets the EmailChannelResponse field's value.
32569func (s *UpdateEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *UpdateEmailChannelOutput {
32570	s.EmailChannelResponse = v
32571	return s
32572}
32573
32574type UpdateEmailTemplateInput struct {
32575	_ struct{} `type:"structure" payload:"EmailTemplateRequest"`
32576
32577	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
32578
32579	// Specifies the content and settings for a message template that can be used
32580	// in messages that are sent through the email channel.
32581	//
32582	// EmailTemplateRequest is a required field
32583	EmailTemplateRequest *EmailTemplateRequest `type:"structure" required:"true"`
32584
32585	// TemplateName is a required field
32586	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
32587
32588	Version *string `location:"querystring" locationName:"version" type:"string"`
32589}
32590
32591// String returns the string representation
32592func (s UpdateEmailTemplateInput) String() string {
32593	return awsutil.Prettify(s)
32594}
32595
32596// GoString returns the string representation
32597func (s UpdateEmailTemplateInput) GoString() string {
32598	return s.String()
32599}
32600
32601// Validate inspects the fields of the type to determine if they are valid.
32602func (s *UpdateEmailTemplateInput) Validate() error {
32603	invalidParams := request.ErrInvalidParams{Context: "UpdateEmailTemplateInput"}
32604	if s.EmailTemplateRequest == nil {
32605		invalidParams.Add(request.NewErrParamRequired("EmailTemplateRequest"))
32606	}
32607	if s.TemplateName == nil {
32608		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
32609	}
32610	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
32611		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
32612	}
32613
32614	if invalidParams.Len() > 0 {
32615		return invalidParams
32616	}
32617	return nil
32618}
32619
32620// SetCreateNewVersion sets the CreateNewVersion field's value.
32621func (s *UpdateEmailTemplateInput) SetCreateNewVersion(v bool) *UpdateEmailTemplateInput {
32622	s.CreateNewVersion = &v
32623	return s
32624}
32625
32626// SetEmailTemplateRequest sets the EmailTemplateRequest field's value.
32627func (s *UpdateEmailTemplateInput) SetEmailTemplateRequest(v *EmailTemplateRequest) *UpdateEmailTemplateInput {
32628	s.EmailTemplateRequest = v
32629	return s
32630}
32631
32632// SetTemplateName sets the TemplateName field's value.
32633func (s *UpdateEmailTemplateInput) SetTemplateName(v string) *UpdateEmailTemplateInput {
32634	s.TemplateName = &v
32635	return s
32636}
32637
32638// SetVersion sets the Version field's value.
32639func (s *UpdateEmailTemplateInput) SetVersion(v string) *UpdateEmailTemplateInput {
32640	s.Version = &v
32641	return s
32642}
32643
32644type UpdateEmailTemplateOutput struct {
32645	_ struct{} `type:"structure" payload:"MessageBody"`
32646
32647	// Provides information about an API request or response.
32648	//
32649	// MessageBody is a required field
32650	MessageBody *MessageBody `type:"structure" required:"true"`
32651}
32652
32653// String returns the string representation
32654func (s UpdateEmailTemplateOutput) String() string {
32655	return awsutil.Prettify(s)
32656}
32657
32658// GoString returns the string representation
32659func (s UpdateEmailTemplateOutput) GoString() string {
32660	return s.String()
32661}
32662
32663// SetMessageBody sets the MessageBody field's value.
32664func (s *UpdateEmailTemplateOutput) SetMessageBody(v *MessageBody) *UpdateEmailTemplateOutput {
32665	s.MessageBody = v
32666	return s
32667}
32668
32669type UpdateEndpointInput struct {
32670	_ struct{} `type:"structure" payload:"EndpointRequest"`
32671
32672	// ApplicationId is a required field
32673	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32674
32675	// EndpointId is a required field
32676	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
32677
32678	// Specifies the channel type and other settings for an endpoint.
32679	//
32680	// EndpointRequest is a required field
32681	EndpointRequest *EndpointRequest `type:"structure" required:"true"`
32682}
32683
32684// String returns the string representation
32685func (s UpdateEndpointInput) String() string {
32686	return awsutil.Prettify(s)
32687}
32688
32689// GoString returns the string representation
32690func (s UpdateEndpointInput) GoString() string {
32691	return s.String()
32692}
32693
32694// Validate inspects the fields of the type to determine if they are valid.
32695func (s *UpdateEndpointInput) Validate() error {
32696	invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointInput"}
32697	if s.ApplicationId == nil {
32698		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32699	}
32700	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32701		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32702	}
32703	if s.EndpointId == nil {
32704		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
32705	}
32706	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
32707		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
32708	}
32709	if s.EndpointRequest == nil {
32710		invalidParams.Add(request.NewErrParamRequired("EndpointRequest"))
32711	}
32712
32713	if invalidParams.Len() > 0 {
32714		return invalidParams
32715	}
32716	return nil
32717}
32718
32719// SetApplicationId sets the ApplicationId field's value.
32720func (s *UpdateEndpointInput) SetApplicationId(v string) *UpdateEndpointInput {
32721	s.ApplicationId = &v
32722	return s
32723}
32724
32725// SetEndpointId sets the EndpointId field's value.
32726func (s *UpdateEndpointInput) SetEndpointId(v string) *UpdateEndpointInput {
32727	s.EndpointId = &v
32728	return s
32729}
32730
32731// SetEndpointRequest sets the EndpointRequest field's value.
32732func (s *UpdateEndpointInput) SetEndpointRequest(v *EndpointRequest) *UpdateEndpointInput {
32733	s.EndpointRequest = v
32734	return s
32735}
32736
32737type UpdateEndpointOutput struct {
32738	_ struct{} `type:"structure" payload:"MessageBody"`
32739
32740	// Provides information about an API request or response.
32741	//
32742	// MessageBody is a required field
32743	MessageBody *MessageBody `type:"structure" required:"true"`
32744}
32745
32746// String returns the string representation
32747func (s UpdateEndpointOutput) String() string {
32748	return awsutil.Prettify(s)
32749}
32750
32751// GoString returns the string representation
32752func (s UpdateEndpointOutput) GoString() string {
32753	return s.String()
32754}
32755
32756// SetMessageBody sets the MessageBody field's value.
32757func (s *UpdateEndpointOutput) SetMessageBody(v *MessageBody) *UpdateEndpointOutput {
32758	s.MessageBody = v
32759	return s
32760}
32761
32762type UpdateEndpointsBatchInput struct {
32763	_ struct{} `type:"structure" payload:"EndpointBatchRequest"`
32764
32765	// ApplicationId is a required field
32766	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32767
32768	// Specifies a batch of endpoints to create or update and the settings and attributes
32769	// to set or change for each endpoint.
32770	//
32771	// EndpointBatchRequest is a required field
32772	EndpointBatchRequest *EndpointBatchRequest `type:"structure" required:"true"`
32773}
32774
32775// String returns the string representation
32776func (s UpdateEndpointsBatchInput) String() string {
32777	return awsutil.Prettify(s)
32778}
32779
32780// GoString returns the string representation
32781func (s UpdateEndpointsBatchInput) GoString() string {
32782	return s.String()
32783}
32784
32785// Validate inspects the fields of the type to determine if they are valid.
32786func (s *UpdateEndpointsBatchInput) Validate() error {
32787	invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointsBatchInput"}
32788	if s.ApplicationId == nil {
32789		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32790	}
32791	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32792		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32793	}
32794	if s.EndpointBatchRequest == nil {
32795		invalidParams.Add(request.NewErrParamRequired("EndpointBatchRequest"))
32796	}
32797	if s.EndpointBatchRequest != nil {
32798		if err := s.EndpointBatchRequest.Validate(); err != nil {
32799			invalidParams.AddNested("EndpointBatchRequest", err.(request.ErrInvalidParams))
32800		}
32801	}
32802
32803	if invalidParams.Len() > 0 {
32804		return invalidParams
32805	}
32806	return nil
32807}
32808
32809// SetApplicationId sets the ApplicationId field's value.
32810func (s *UpdateEndpointsBatchInput) SetApplicationId(v string) *UpdateEndpointsBatchInput {
32811	s.ApplicationId = &v
32812	return s
32813}
32814
32815// SetEndpointBatchRequest sets the EndpointBatchRequest field's value.
32816func (s *UpdateEndpointsBatchInput) SetEndpointBatchRequest(v *EndpointBatchRequest) *UpdateEndpointsBatchInput {
32817	s.EndpointBatchRequest = v
32818	return s
32819}
32820
32821type UpdateEndpointsBatchOutput struct {
32822	_ struct{} `type:"structure" payload:"MessageBody"`
32823
32824	// Provides information about an API request or response.
32825	//
32826	// MessageBody is a required field
32827	MessageBody *MessageBody `type:"structure" required:"true"`
32828}
32829
32830// String returns the string representation
32831func (s UpdateEndpointsBatchOutput) String() string {
32832	return awsutil.Prettify(s)
32833}
32834
32835// GoString returns the string representation
32836func (s UpdateEndpointsBatchOutput) GoString() string {
32837	return s.String()
32838}
32839
32840// SetMessageBody sets the MessageBody field's value.
32841func (s *UpdateEndpointsBatchOutput) SetMessageBody(v *MessageBody) *UpdateEndpointsBatchOutput {
32842	s.MessageBody = v
32843	return s
32844}
32845
32846type UpdateGcmChannelInput struct {
32847	_ struct{} `type:"structure" payload:"GCMChannelRequest"`
32848
32849	// ApplicationId is a required field
32850	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32851
32852	// Specifies the status and settings of the GCM channel for an application.
32853	// This channel enables Amazon Pinpoint to send push notifications through the
32854	// Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.
32855	//
32856	// GCMChannelRequest is a required field
32857	GCMChannelRequest *GCMChannelRequest `type:"structure" required:"true"`
32858}
32859
32860// String returns the string representation
32861func (s UpdateGcmChannelInput) String() string {
32862	return awsutil.Prettify(s)
32863}
32864
32865// GoString returns the string representation
32866func (s UpdateGcmChannelInput) GoString() string {
32867	return s.String()
32868}
32869
32870// Validate inspects the fields of the type to determine if they are valid.
32871func (s *UpdateGcmChannelInput) Validate() error {
32872	invalidParams := request.ErrInvalidParams{Context: "UpdateGcmChannelInput"}
32873	if s.ApplicationId == nil {
32874		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32875	}
32876	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32877		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32878	}
32879	if s.GCMChannelRequest == nil {
32880		invalidParams.Add(request.NewErrParamRequired("GCMChannelRequest"))
32881	}
32882	if s.GCMChannelRequest != nil {
32883		if err := s.GCMChannelRequest.Validate(); err != nil {
32884			invalidParams.AddNested("GCMChannelRequest", err.(request.ErrInvalidParams))
32885		}
32886	}
32887
32888	if invalidParams.Len() > 0 {
32889		return invalidParams
32890	}
32891	return nil
32892}
32893
32894// SetApplicationId sets the ApplicationId field's value.
32895func (s *UpdateGcmChannelInput) SetApplicationId(v string) *UpdateGcmChannelInput {
32896	s.ApplicationId = &v
32897	return s
32898}
32899
32900// SetGCMChannelRequest sets the GCMChannelRequest field's value.
32901func (s *UpdateGcmChannelInput) SetGCMChannelRequest(v *GCMChannelRequest) *UpdateGcmChannelInput {
32902	s.GCMChannelRequest = v
32903	return s
32904}
32905
32906type UpdateGcmChannelOutput struct {
32907	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
32908
32909	// Provides information about the status and settings of the GCM channel for
32910	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
32911	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
32912	// (GCM), service.
32913	//
32914	// GCMChannelResponse is a required field
32915	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
32916}
32917
32918// String returns the string representation
32919func (s UpdateGcmChannelOutput) String() string {
32920	return awsutil.Prettify(s)
32921}
32922
32923// GoString returns the string representation
32924func (s UpdateGcmChannelOutput) GoString() string {
32925	return s.String()
32926}
32927
32928// SetGCMChannelResponse sets the GCMChannelResponse field's value.
32929func (s *UpdateGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *UpdateGcmChannelOutput {
32930	s.GCMChannelResponse = v
32931	return s
32932}
32933
32934type UpdateJourneyInput struct {
32935	_ struct{} `type:"structure" payload:"WriteJourneyRequest"`
32936
32937	// ApplicationId is a required field
32938	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32939
32940	// JourneyId is a required field
32941	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
32942
32943	// Specifies the configuration and other settings for a journey.
32944	//
32945	// WriteJourneyRequest is a required field
32946	WriteJourneyRequest *WriteJourneyRequest `type:"structure" required:"true"`
32947}
32948
32949// String returns the string representation
32950func (s UpdateJourneyInput) String() string {
32951	return awsutil.Prettify(s)
32952}
32953
32954// GoString returns the string representation
32955func (s UpdateJourneyInput) GoString() string {
32956	return s.String()
32957}
32958
32959// Validate inspects the fields of the type to determine if they are valid.
32960func (s *UpdateJourneyInput) Validate() error {
32961	invalidParams := request.ErrInvalidParams{Context: "UpdateJourneyInput"}
32962	if s.ApplicationId == nil {
32963		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32964	}
32965	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32966		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32967	}
32968	if s.JourneyId == nil {
32969		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
32970	}
32971	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
32972		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
32973	}
32974	if s.WriteJourneyRequest == nil {
32975		invalidParams.Add(request.NewErrParamRequired("WriteJourneyRequest"))
32976	}
32977	if s.WriteJourneyRequest != nil {
32978		if err := s.WriteJourneyRequest.Validate(); err != nil {
32979			invalidParams.AddNested("WriteJourneyRequest", err.(request.ErrInvalidParams))
32980		}
32981	}
32982
32983	if invalidParams.Len() > 0 {
32984		return invalidParams
32985	}
32986	return nil
32987}
32988
32989// SetApplicationId sets the ApplicationId field's value.
32990func (s *UpdateJourneyInput) SetApplicationId(v string) *UpdateJourneyInput {
32991	s.ApplicationId = &v
32992	return s
32993}
32994
32995// SetJourneyId sets the JourneyId field's value.
32996func (s *UpdateJourneyInput) SetJourneyId(v string) *UpdateJourneyInput {
32997	s.JourneyId = &v
32998	return s
32999}
33000
33001// SetWriteJourneyRequest sets the WriteJourneyRequest field's value.
33002func (s *UpdateJourneyInput) SetWriteJourneyRequest(v *WriteJourneyRequest) *UpdateJourneyInput {
33003	s.WriteJourneyRequest = v
33004	return s
33005}
33006
33007type UpdateJourneyOutput struct {
33008	_ struct{} `type:"structure" payload:"JourneyResponse"`
33009
33010	// Provides information about the status, configuration, and other settings
33011	// for a journey.
33012	//
33013	// JourneyResponse is a required field
33014	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
33015}
33016
33017// String returns the string representation
33018func (s UpdateJourneyOutput) String() string {
33019	return awsutil.Prettify(s)
33020}
33021
33022// GoString returns the string representation
33023func (s UpdateJourneyOutput) GoString() string {
33024	return s.String()
33025}
33026
33027// SetJourneyResponse sets the JourneyResponse field's value.
33028func (s *UpdateJourneyOutput) SetJourneyResponse(v *JourneyResponse) *UpdateJourneyOutput {
33029	s.JourneyResponse = v
33030	return s
33031}
33032
33033type UpdateJourneyStateInput struct {
33034	_ struct{} `type:"structure" payload:"JourneyStateRequest"`
33035
33036	// ApplicationId is a required field
33037	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
33038
33039	// JourneyId is a required field
33040	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
33041
33042	// Changes the status of a journey.
33043	//
33044	// JourneyStateRequest is a required field
33045	JourneyStateRequest *JourneyStateRequest `type:"structure" required:"true"`
33046}
33047
33048// String returns the string representation
33049func (s UpdateJourneyStateInput) String() string {
33050	return awsutil.Prettify(s)
33051}
33052
33053// GoString returns the string representation
33054func (s UpdateJourneyStateInput) GoString() string {
33055	return s.String()
33056}
33057
33058// Validate inspects the fields of the type to determine if they are valid.
33059func (s *UpdateJourneyStateInput) Validate() error {
33060	invalidParams := request.ErrInvalidParams{Context: "UpdateJourneyStateInput"}
33061	if s.ApplicationId == nil {
33062		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
33063	}
33064	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
33065		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
33066	}
33067	if s.JourneyId == nil {
33068		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
33069	}
33070	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
33071		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
33072	}
33073	if s.JourneyStateRequest == nil {
33074		invalidParams.Add(request.NewErrParamRequired("JourneyStateRequest"))
33075	}
33076
33077	if invalidParams.Len() > 0 {
33078		return invalidParams
33079	}
33080	return nil
33081}
33082
33083// SetApplicationId sets the ApplicationId field's value.
33084func (s *UpdateJourneyStateInput) SetApplicationId(v string) *UpdateJourneyStateInput {
33085	s.ApplicationId = &v
33086	return s
33087}
33088
33089// SetJourneyId sets the JourneyId field's value.
33090func (s *UpdateJourneyStateInput) SetJourneyId(v string) *UpdateJourneyStateInput {
33091	s.JourneyId = &v
33092	return s
33093}
33094
33095// SetJourneyStateRequest sets the JourneyStateRequest field's value.
33096func (s *UpdateJourneyStateInput) SetJourneyStateRequest(v *JourneyStateRequest) *UpdateJourneyStateInput {
33097	s.JourneyStateRequest = v
33098	return s
33099}
33100
33101type UpdateJourneyStateOutput struct {
33102	_ struct{} `type:"structure" payload:"JourneyResponse"`
33103
33104	// Provides information about the status, configuration, and other settings
33105	// for a journey.
33106	//
33107	// JourneyResponse is a required field
33108	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
33109}
33110
33111// String returns the string representation
33112func (s UpdateJourneyStateOutput) String() string {
33113	return awsutil.Prettify(s)
33114}
33115
33116// GoString returns the string representation
33117func (s UpdateJourneyStateOutput) GoString() string {
33118	return s.String()
33119}
33120
33121// SetJourneyResponse sets the JourneyResponse field's value.
33122func (s *UpdateJourneyStateOutput) SetJourneyResponse(v *JourneyResponse) *UpdateJourneyStateOutput {
33123	s.JourneyResponse = v
33124	return s
33125}
33126
33127type UpdatePushTemplateInput struct {
33128	_ struct{} `type:"structure" payload:"PushNotificationTemplateRequest"`
33129
33130	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
33131
33132	// Specifies the content and settings for a message template that can be used
33133	// in messages that are sent through a push notification channel.
33134	//
33135	// PushNotificationTemplateRequest is a required field
33136	PushNotificationTemplateRequest *PushNotificationTemplateRequest `type:"structure" required:"true"`
33137
33138	// TemplateName is a required field
33139	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
33140
33141	Version *string `location:"querystring" locationName:"version" type:"string"`
33142}
33143
33144// String returns the string representation
33145func (s UpdatePushTemplateInput) String() string {
33146	return awsutil.Prettify(s)
33147}
33148
33149// GoString returns the string representation
33150func (s UpdatePushTemplateInput) GoString() string {
33151	return s.String()
33152}
33153
33154// Validate inspects the fields of the type to determine if they are valid.
33155func (s *UpdatePushTemplateInput) Validate() error {
33156	invalidParams := request.ErrInvalidParams{Context: "UpdatePushTemplateInput"}
33157	if s.PushNotificationTemplateRequest == nil {
33158		invalidParams.Add(request.NewErrParamRequired("PushNotificationTemplateRequest"))
33159	}
33160	if s.TemplateName == nil {
33161		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
33162	}
33163	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
33164		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
33165	}
33166
33167	if invalidParams.Len() > 0 {
33168		return invalidParams
33169	}
33170	return nil
33171}
33172
33173// SetCreateNewVersion sets the CreateNewVersion field's value.
33174func (s *UpdatePushTemplateInput) SetCreateNewVersion(v bool) *UpdatePushTemplateInput {
33175	s.CreateNewVersion = &v
33176	return s
33177}
33178
33179// SetPushNotificationTemplateRequest sets the PushNotificationTemplateRequest field's value.
33180func (s *UpdatePushTemplateInput) SetPushNotificationTemplateRequest(v *PushNotificationTemplateRequest) *UpdatePushTemplateInput {
33181	s.PushNotificationTemplateRequest = v
33182	return s
33183}
33184
33185// SetTemplateName sets the TemplateName field's value.
33186func (s *UpdatePushTemplateInput) SetTemplateName(v string) *UpdatePushTemplateInput {
33187	s.TemplateName = &v
33188	return s
33189}
33190
33191// SetVersion sets the Version field's value.
33192func (s *UpdatePushTemplateInput) SetVersion(v string) *UpdatePushTemplateInput {
33193	s.Version = &v
33194	return s
33195}
33196
33197type UpdatePushTemplateOutput struct {
33198	_ struct{} `type:"structure" payload:"MessageBody"`
33199
33200	// Provides information about an API request or response.
33201	//
33202	// MessageBody is a required field
33203	MessageBody *MessageBody `type:"structure" required:"true"`
33204}
33205
33206// String returns the string representation
33207func (s UpdatePushTemplateOutput) String() string {
33208	return awsutil.Prettify(s)
33209}
33210
33211// GoString returns the string representation
33212func (s UpdatePushTemplateOutput) GoString() string {
33213	return s.String()
33214}
33215
33216// SetMessageBody sets the MessageBody field's value.
33217func (s *UpdatePushTemplateOutput) SetMessageBody(v *MessageBody) *UpdatePushTemplateOutput {
33218	s.MessageBody = v
33219	return s
33220}
33221
33222// Specifies Amazon Pinpoint configuration settings for retrieving and processing
33223// recommendation data from a recommender model.
33224type UpdateRecommenderConfiguration struct {
33225	_ struct{} `type:"structure"`
33226
33227	// A map of key-value pairs that defines 1-10 custom endpoint or user attributes,
33228	// depending on the value for the RecommendationProviderIdType property. Each
33229	// of these attributes temporarily stores a recommended item that's retrieved
33230	// from the recommender model and sent to an AWS Lambda function for additional
33231	// processing. Each attribute can be used as a message variable in a message
33232	// template.
33233	//
33234	// In the map, the key is the name of a custom attribute and the value is a
33235	// custom display name for that attribute. The display name appears in the Attribute
33236	// finder of the template editor on the Amazon Pinpoint console. The following
33237	// restrictions apply to these names:
33238	//
33239	//    * An attribute name must start with a letter or number and it can contain
33240	//    up to 50 characters. The characters can be letters, numbers, underscores
33241	//    (_), or hyphens (-). Attribute names are case sensitive and must be unique.
33242	//
33243	//    * An attribute display name must start with a letter or number and it
33244	//    can contain up to 25 characters. The characters can be letters, numbers,
33245	//    spaces, underscores (_), or hyphens (-).
33246	//
33247	// This object is required if the configuration invokes an AWS Lambda function
33248	// (RecommendationTransformerUri) to process recommendation data. Otherwise,
33249	// don't include this object in your request.
33250	Attributes map[string]*string `type:"map"`
33251
33252	// A custom description of the configuration for the recommender model. The
33253	// description can contain up to 128 characters. The characters can be letters,
33254	// numbers, spaces, or the following symbols: _ ; () , ‐.
33255	Description *string `type:"string"`
33256
33257	// A custom name of the configuration for the recommender model. The name must
33258	// start with a letter or number and it can contain up to 128 characters. The
33259	// characters can be letters, numbers, spaces, underscores (_), or hyphens (-).
33260	Name *string `type:"string"`
33261
33262	// The type of Amazon Pinpoint ID to associate with unique user IDs in the recommender
33263	// model. This value enables the model to use attribute and event data that’s
33264	// specific to a particular endpoint or user in an Amazon Pinpoint application.
33265	// Valid values are:
33266	//
33267	//    * PINPOINT_ENDPOINT_ID - Associate each user in the model with a particular
33268	//    endpoint in Amazon Pinpoint. The data is correlated based on endpoint
33269	//    IDs in Amazon Pinpoint. This is the default value.
33270	//
33271	//    * PINPOINT_USER_ID - Associate each user in the model with a particular
33272	//    user and endpoint in Amazon Pinpoint. The data is correlated based on
33273	//    user IDs in Amazon Pinpoint. If you specify this value, an endpoint definition
33274	//    in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint
33275	//    ID. Otherwise, messages won’t be sent to the user's endpoint.
33276	RecommendationProviderIdType *string `type:"string"`
33277
33278	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
33279	// (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data
33280	// from the recommender model.
33281	//
33282	// RecommendationProviderRoleArn is a required field
33283	RecommendationProviderRoleArn *string `type:"string" required:"true"`
33284
33285	// The Amazon Resource Name (ARN) of the recommender model to retrieve recommendation
33286	// data from. This value must match the ARN of an Amazon Personalize campaign.
33287	//
33288	// RecommendationProviderUri is a required field
33289	RecommendationProviderUri *string `type:"string" required:"true"`
33290
33291	// The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke
33292	// for additional processing of recommendation data that's retrieved from the
33293	// recommender model.
33294	RecommendationTransformerUri *string `type:"string"`
33295
33296	// A custom display name for the standard endpoint or user attribute (RecommendationItems)
33297	// that temporarily stores recommended items for each endpoint or user, depending
33298	// on the value for the RecommendationProviderIdType property. This value is
33299	// required if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri)
33300	// to perform additional processing of recommendation data.
33301	//
33302	// This name appears in the Attribute finder of the template editor on the Amazon
33303	// Pinpoint console. The name can contain up to 25 characters. The characters
33304	// can be letters, numbers, spaces, underscores (_), or hyphens (-). These restrictions
33305	// don't apply to attribute values.
33306	RecommendationsDisplayName *string `type:"string"`
33307
33308	// The number of recommended items to retrieve from the model for each endpoint
33309	// or user, depending on the value for the RecommendationProviderIdType property.
33310	// This number determines how many recommended items are available for use in
33311	// message variables. The minimum value is 1. The maximum value is 5. The default
33312	// value is 5.
33313	//
33314	// To use multiple recommended items and custom attributes with message variables,
33315	// you have to use an AWS Lambda function (RecommendationTransformerUri) to
33316	// perform additional processing of recommendation data.
33317	RecommendationsPerMessage *int64 `type:"integer"`
33318}
33319
33320// String returns the string representation
33321func (s UpdateRecommenderConfiguration) String() string {
33322	return awsutil.Prettify(s)
33323}
33324
33325// GoString returns the string representation
33326func (s UpdateRecommenderConfiguration) GoString() string {
33327	return s.String()
33328}
33329
33330// Validate inspects the fields of the type to determine if they are valid.
33331func (s *UpdateRecommenderConfiguration) Validate() error {
33332	invalidParams := request.ErrInvalidParams{Context: "UpdateRecommenderConfiguration"}
33333	if s.RecommendationProviderRoleArn == nil {
33334		invalidParams.Add(request.NewErrParamRequired("RecommendationProviderRoleArn"))
33335	}
33336	if s.RecommendationProviderUri == nil {
33337		invalidParams.Add(request.NewErrParamRequired("RecommendationProviderUri"))
33338	}
33339
33340	if invalidParams.Len() > 0 {
33341		return invalidParams
33342	}
33343	return nil
33344}
33345
33346// SetAttributes sets the Attributes field's value.
33347func (s *UpdateRecommenderConfiguration) SetAttributes(v map[string]*string) *UpdateRecommenderConfiguration {
33348	s.Attributes = v
33349	return s
33350}
33351
33352// SetDescription sets the Description field's value.
33353func (s *UpdateRecommenderConfiguration) SetDescription(v string) *UpdateRecommenderConfiguration {
33354	s.Description = &v
33355	return s
33356}
33357
33358// SetName sets the Name field's value.
33359func (s *UpdateRecommenderConfiguration) SetName(v string) *UpdateRecommenderConfiguration {
33360	s.Name = &v
33361	return s
33362}
33363
33364// SetRecommendationProviderIdType sets the RecommendationProviderIdType field's value.
33365func (s *UpdateRecommenderConfiguration) SetRecommendationProviderIdType(v string) *UpdateRecommenderConfiguration {
33366	s.RecommendationProviderIdType = &v
33367	return s
33368}
33369
33370// SetRecommendationProviderRoleArn sets the RecommendationProviderRoleArn field's value.
33371func (s *UpdateRecommenderConfiguration) SetRecommendationProviderRoleArn(v string) *UpdateRecommenderConfiguration {
33372	s.RecommendationProviderRoleArn = &v
33373	return s
33374}
33375
33376// SetRecommendationProviderUri sets the RecommendationProviderUri field's value.
33377func (s *UpdateRecommenderConfiguration) SetRecommendationProviderUri(v string) *UpdateRecommenderConfiguration {
33378	s.RecommendationProviderUri = &v
33379	return s
33380}
33381
33382// SetRecommendationTransformerUri sets the RecommendationTransformerUri field's value.
33383func (s *UpdateRecommenderConfiguration) SetRecommendationTransformerUri(v string) *UpdateRecommenderConfiguration {
33384	s.RecommendationTransformerUri = &v
33385	return s
33386}
33387
33388// SetRecommendationsDisplayName sets the RecommendationsDisplayName field's value.
33389func (s *UpdateRecommenderConfiguration) SetRecommendationsDisplayName(v string) *UpdateRecommenderConfiguration {
33390	s.RecommendationsDisplayName = &v
33391	return s
33392}
33393
33394// SetRecommendationsPerMessage sets the RecommendationsPerMessage field's value.
33395func (s *UpdateRecommenderConfiguration) SetRecommendationsPerMessage(v int64) *UpdateRecommenderConfiguration {
33396	s.RecommendationsPerMessage = &v
33397	return s
33398}
33399
33400type UpdateRecommenderConfigurationInput struct {
33401	_ struct{} `type:"structure" payload:"UpdateRecommenderConfiguration"`
33402
33403	// RecommenderId is a required field
33404	RecommenderId *string `location:"uri" locationName:"recommender-id" type:"string" required:"true"`
33405
33406	// Specifies Amazon Pinpoint configuration settings for retrieving and processing
33407	// recommendation data from a recommender model.
33408	//
33409	// UpdateRecommenderConfiguration is a required field
33410	UpdateRecommenderConfiguration *UpdateRecommenderConfiguration `type:"structure" required:"true"`
33411}
33412
33413// String returns the string representation
33414func (s UpdateRecommenderConfigurationInput) String() string {
33415	return awsutil.Prettify(s)
33416}
33417
33418// GoString returns the string representation
33419func (s UpdateRecommenderConfigurationInput) GoString() string {
33420	return s.String()
33421}
33422
33423// Validate inspects the fields of the type to determine if they are valid.
33424func (s *UpdateRecommenderConfigurationInput) Validate() error {
33425	invalidParams := request.ErrInvalidParams{Context: "UpdateRecommenderConfigurationInput"}
33426	if s.RecommenderId == nil {
33427		invalidParams.Add(request.NewErrParamRequired("RecommenderId"))
33428	}
33429	if s.RecommenderId != nil && len(*s.RecommenderId) < 1 {
33430		invalidParams.Add(request.NewErrParamMinLen("RecommenderId", 1))
33431	}
33432	if s.UpdateRecommenderConfiguration == nil {
33433		invalidParams.Add(request.NewErrParamRequired("UpdateRecommenderConfiguration"))
33434	}
33435	if s.UpdateRecommenderConfiguration != nil {
33436		if err := s.UpdateRecommenderConfiguration.Validate(); err != nil {
33437			invalidParams.AddNested("UpdateRecommenderConfiguration", err.(request.ErrInvalidParams))
33438		}
33439	}
33440
33441	if invalidParams.Len() > 0 {
33442		return invalidParams
33443	}
33444	return nil
33445}
33446
33447// SetRecommenderId sets the RecommenderId field's value.
33448func (s *UpdateRecommenderConfigurationInput) SetRecommenderId(v string) *UpdateRecommenderConfigurationInput {
33449	s.RecommenderId = &v
33450	return s
33451}
33452
33453// SetUpdateRecommenderConfiguration sets the UpdateRecommenderConfiguration field's value.
33454func (s *UpdateRecommenderConfigurationInput) SetUpdateRecommenderConfiguration(v *UpdateRecommenderConfiguration) *UpdateRecommenderConfigurationInput {
33455	s.UpdateRecommenderConfiguration = v
33456	return s
33457}
33458
33459type UpdateRecommenderConfigurationOutput struct {
33460	_ struct{} `type:"structure" payload:"RecommenderConfigurationResponse"`
33461
33462	// Provides information about Amazon Pinpoint configuration settings for retrieving
33463	// and processing data from a recommender model.
33464	//
33465	// RecommenderConfigurationResponse is a required field
33466	RecommenderConfigurationResponse *RecommenderConfigurationResponse `type:"structure" required:"true"`
33467}
33468
33469// String returns the string representation
33470func (s UpdateRecommenderConfigurationOutput) String() string {
33471	return awsutil.Prettify(s)
33472}
33473
33474// GoString returns the string representation
33475func (s UpdateRecommenderConfigurationOutput) GoString() string {
33476	return s.String()
33477}
33478
33479// SetRecommenderConfigurationResponse sets the RecommenderConfigurationResponse field's value.
33480func (s *UpdateRecommenderConfigurationOutput) SetRecommenderConfigurationResponse(v *RecommenderConfigurationResponse) *UpdateRecommenderConfigurationOutput {
33481	s.RecommenderConfigurationResponse = v
33482	return s
33483}
33484
33485type UpdateSegmentInput struct {
33486	_ struct{} `type:"structure" payload:"WriteSegmentRequest"`
33487
33488	// ApplicationId is a required field
33489	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
33490
33491	// SegmentId is a required field
33492	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
33493
33494	// Specifies the configuration, dimension, and other settings for a segment.
33495	// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
33496	// object, but not both.
33497	//
33498	// WriteSegmentRequest is a required field
33499	WriteSegmentRequest *WriteSegmentRequest `type:"structure" required:"true"`
33500}
33501
33502// String returns the string representation
33503func (s UpdateSegmentInput) String() string {
33504	return awsutil.Prettify(s)
33505}
33506
33507// GoString returns the string representation
33508func (s UpdateSegmentInput) GoString() string {
33509	return s.String()
33510}
33511
33512// Validate inspects the fields of the type to determine if they are valid.
33513func (s *UpdateSegmentInput) Validate() error {
33514	invalidParams := request.ErrInvalidParams{Context: "UpdateSegmentInput"}
33515	if s.ApplicationId == nil {
33516		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
33517	}
33518	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
33519		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
33520	}
33521	if s.SegmentId == nil {
33522		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
33523	}
33524	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
33525		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
33526	}
33527	if s.WriteSegmentRequest == nil {
33528		invalidParams.Add(request.NewErrParamRequired("WriteSegmentRequest"))
33529	}
33530	if s.WriteSegmentRequest != nil {
33531		if err := s.WriteSegmentRequest.Validate(); err != nil {
33532			invalidParams.AddNested("WriteSegmentRequest", err.(request.ErrInvalidParams))
33533		}
33534	}
33535
33536	if invalidParams.Len() > 0 {
33537		return invalidParams
33538	}
33539	return nil
33540}
33541
33542// SetApplicationId sets the ApplicationId field's value.
33543func (s *UpdateSegmentInput) SetApplicationId(v string) *UpdateSegmentInput {
33544	s.ApplicationId = &v
33545	return s
33546}
33547
33548// SetSegmentId sets the SegmentId field's value.
33549func (s *UpdateSegmentInput) SetSegmentId(v string) *UpdateSegmentInput {
33550	s.SegmentId = &v
33551	return s
33552}
33553
33554// SetWriteSegmentRequest sets the WriteSegmentRequest field's value.
33555func (s *UpdateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *UpdateSegmentInput {
33556	s.WriteSegmentRequest = v
33557	return s
33558}
33559
33560type UpdateSegmentOutput struct {
33561	_ struct{} `type:"structure" payload:"SegmentResponse"`
33562
33563	// Provides information about the configuration, dimension, and other settings
33564	// for a segment.
33565	//
33566	// SegmentResponse is a required field
33567	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
33568}
33569
33570// String returns the string representation
33571func (s UpdateSegmentOutput) String() string {
33572	return awsutil.Prettify(s)
33573}
33574
33575// GoString returns the string representation
33576func (s UpdateSegmentOutput) GoString() string {
33577	return s.String()
33578}
33579
33580// SetSegmentResponse sets the SegmentResponse field's value.
33581func (s *UpdateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *UpdateSegmentOutput {
33582	s.SegmentResponse = v
33583	return s
33584}
33585
33586type UpdateSmsChannelInput struct {
33587	_ struct{} `type:"structure" payload:"SMSChannelRequest"`
33588
33589	// ApplicationId is a required field
33590	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
33591
33592	// Specifies the status and settings of the SMS channel for an application.
33593	//
33594	// SMSChannelRequest is a required field
33595	SMSChannelRequest *SMSChannelRequest `type:"structure" required:"true"`
33596}
33597
33598// String returns the string representation
33599func (s UpdateSmsChannelInput) String() string {
33600	return awsutil.Prettify(s)
33601}
33602
33603// GoString returns the string representation
33604func (s UpdateSmsChannelInput) GoString() string {
33605	return s.String()
33606}
33607
33608// Validate inspects the fields of the type to determine if they are valid.
33609func (s *UpdateSmsChannelInput) Validate() error {
33610	invalidParams := request.ErrInvalidParams{Context: "UpdateSmsChannelInput"}
33611	if s.ApplicationId == nil {
33612		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
33613	}
33614	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
33615		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
33616	}
33617	if s.SMSChannelRequest == nil {
33618		invalidParams.Add(request.NewErrParamRequired("SMSChannelRequest"))
33619	}
33620
33621	if invalidParams.Len() > 0 {
33622		return invalidParams
33623	}
33624	return nil
33625}
33626
33627// SetApplicationId sets the ApplicationId field's value.
33628func (s *UpdateSmsChannelInput) SetApplicationId(v string) *UpdateSmsChannelInput {
33629	s.ApplicationId = &v
33630	return s
33631}
33632
33633// SetSMSChannelRequest sets the SMSChannelRequest field's value.
33634func (s *UpdateSmsChannelInput) SetSMSChannelRequest(v *SMSChannelRequest) *UpdateSmsChannelInput {
33635	s.SMSChannelRequest = v
33636	return s
33637}
33638
33639type UpdateSmsChannelOutput struct {
33640	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
33641
33642	// Provides information about the status and settings of the SMS channel for
33643	// an application.
33644	//
33645	// SMSChannelResponse is a required field
33646	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
33647}
33648
33649// String returns the string representation
33650func (s UpdateSmsChannelOutput) String() string {
33651	return awsutil.Prettify(s)
33652}
33653
33654// GoString returns the string representation
33655func (s UpdateSmsChannelOutput) GoString() string {
33656	return s.String()
33657}
33658
33659// SetSMSChannelResponse sets the SMSChannelResponse field's value.
33660func (s *UpdateSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *UpdateSmsChannelOutput {
33661	s.SMSChannelResponse = v
33662	return s
33663}
33664
33665type UpdateSmsTemplateInput struct {
33666	_ struct{} `type:"structure" payload:"SMSTemplateRequest"`
33667
33668	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
33669
33670	// Specifies the content and settings for a message template that can be used
33671	// in text messages that are sent through the SMS channel.
33672	//
33673	// SMSTemplateRequest is a required field
33674	SMSTemplateRequest *SMSTemplateRequest `type:"structure" required:"true"`
33675
33676	// TemplateName is a required field
33677	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
33678
33679	Version *string `location:"querystring" locationName:"version" type:"string"`
33680}
33681
33682// String returns the string representation
33683func (s UpdateSmsTemplateInput) String() string {
33684	return awsutil.Prettify(s)
33685}
33686
33687// GoString returns the string representation
33688func (s UpdateSmsTemplateInput) GoString() string {
33689	return s.String()
33690}
33691
33692// Validate inspects the fields of the type to determine if they are valid.
33693func (s *UpdateSmsTemplateInput) Validate() error {
33694	invalidParams := request.ErrInvalidParams{Context: "UpdateSmsTemplateInput"}
33695	if s.SMSTemplateRequest == nil {
33696		invalidParams.Add(request.NewErrParamRequired("SMSTemplateRequest"))
33697	}
33698	if s.TemplateName == nil {
33699		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
33700	}
33701	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
33702		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
33703	}
33704
33705	if invalidParams.Len() > 0 {
33706		return invalidParams
33707	}
33708	return nil
33709}
33710
33711// SetCreateNewVersion sets the CreateNewVersion field's value.
33712func (s *UpdateSmsTemplateInput) SetCreateNewVersion(v bool) *UpdateSmsTemplateInput {
33713	s.CreateNewVersion = &v
33714	return s
33715}
33716
33717// SetSMSTemplateRequest sets the SMSTemplateRequest field's value.
33718func (s *UpdateSmsTemplateInput) SetSMSTemplateRequest(v *SMSTemplateRequest) *UpdateSmsTemplateInput {
33719	s.SMSTemplateRequest = v
33720	return s
33721}
33722
33723// SetTemplateName sets the TemplateName field's value.
33724func (s *UpdateSmsTemplateInput) SetTemplateName(v string) *UpdateSmsTemplateInput {
33725	s.TemplateName = &v
33726	return s
33727}
33728
33729// SetVersion sets the Version field's value.
33730func (s *UpdateSmsTemplateInput) SetVersion(v string) *UpdateSmsTemplateInput {
33731	s.Version = &v
33732	return s
33733}
33734
33735type UpdateSmsTemplateOutput struct {
33736	_ struct{} `type:"structure" payload:"MessageBody"`
33737
33738	// Provides information about an API request or response.
33739	//
33740	// MessageBody is a required field
33741	MessageBody *MessageBody `type:"structure" required:"true"`
33742}
33743
33744// String returns the string representation
33745func (s UpdateSmsTemplateOutput) String() string {
33746	return awsutil.Prettify(s)
33747}
33748
33749// GoString returns the string representation
33750func (s UpdateSmsTemplateOutput) GoString() string {
33751	return s.String()
33752}
33753
33754// SetMessageBody sets the MessageBody field's value.
33755func (s *UpdateSmsTemplateOutput) SetMessageBody(v *MessageBody) *UpdateSmsTemplateOutput {
33756	s.MessageBody = v
33757	return s
33758}
33759
33760type UpdateTemplateActiveVersionInput struct {
33761	_ struct{} `type:"structure" payload:"TemplateActiveVersionRequest"`
33762
33763	// Specifies which version of a message template to use as the active version
33764	// of the template.
33765	//
33766	// TemplateActiveVersionRequest is a required field
33767	TemplateActiveVersionRequest *TemplateActiveVersionRequest `type:"structure" required:"true"`
33768
33769	// TemplateName is a required field
33770	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
33771
33772	// TemplateType is a required field
33773	TemplateType *string `location:"uri" locationName:"template-type" type:"string" required:"true"`
33774}
33775
33776// String returns the string representation
33777func (s UpdateTemplateActiveVersionInput) String() string {
33778	return awsutil.Prettify(s)
33779}
33780
33781// GoString returns the string representation
33782func (s UpdateTemplateActiveVersionInput) GoString() string {
33783	return s.String()
33784}
33785
33786// Validate inspects the fields of the type to determine if they are valid.
33787func (s *UpdateTemplateActiveVersionInput) Validate() error {
33788	invalidParams := request.ErrInvalidParams{Context: "UpdateTemplateActiveVersionInput"}
33789	if s.TemplateActiveVersionRequest == nil {
33790		invalidParams.Add(request.NewErrParamRequired("TemplateActiveVersionRequest"))
33791	}
33792	if s.TemplateName == nil {
33793		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
33794	}
33795	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
33796		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
33797	}
33798	if s.TemplateType == nil {
33799		invalidParams.Add(request.NewErrParamRequired("TemplateType"))
33800	}
33801	if s.TemplateType != nil && len(*s.TemplateType) < 1 {
33802		invalidParams.Add(request.NewErrParamMinLen("TemplateType", 1))
33803	}
33804
33805	if invalidParams.Len() > 0 {
33806		return invalidParams
33807	}
33808	return nil
33809}
33810
33811// SetTemplateActiveVersionRequest sets the TemplateActiveVersionRequest field's value.
33812func (s *UpdateTemplateActiveVersionInput) SetTemplateActiveVersionRequest(v *TemplateActiveVersionRequest) *UpdateTemplateActiveVersionInput {
33813	s.TemplateActiveVersionRequest = v
33814	return s
33815}
33816
33817// SetTemplateName sets the TemplateName field's value.
33818func (s *UpdateTemplateActiveVersionInput) SetTemplateName(v string) *UpdateTemplateActiveVersionInput {
33819	s.TemplateName = &v
33820	return s
33821}
33822
33823// SetTemplateType sets the TemplateType field's value.
33824func (s *UpdateTemplateActiveVersionInput) SetTemplateType(v string) *UpdateTemplateActiveVersionInput {
33825	s.TemplateType = &v
33826	return s
33827}
33828
33829type UpdateTemplateActiveVersionOutput struct {
33830	_ struct{} `type:"structure" payload:"MessageBody"`
33831
33832	// Provides information about an API request or response.
33833	//
33834	// MessageBody is a required field
33835	MessageBody *MessageBody `type:"structure" required:"true"`
33836}
33837
33838// String returns the string representation
33839func (s UpdateTemplateActiveVersionOutput) String() string {
33840	return awsutil.Prettify(s)
33841}
33842
33843// GoString returns the string representation
33844func (s UpdateTemplateActiveVersionOutput) GoString() string {
33845	return s.String()
33846}
33847
33848// SetMessageBody sets the MessageBody field's value.
33849func (s *UpdateTemplateActiveVersionOutput) SetMessageBody(v *MessageBody) *UpdateTemplateActiveVersionOutput {
33850	s.MessageBody = v
33851	return s
33852}
33853
33854type UpdateVoiceChannelInput struct {
33855	_ struct{} `type:"structure" payload:"VoiceChannelRequest"`
33856
33857	// ApplicationId is a required field
33858	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
33859
33860	// Specifies the status and settings of the voice channel for an application.
33861	//
33862	// VoiceChannelRequest is a required field
33863	VoiceChannelRequest *VoiceChannelRequest `type:"structure" required:"true"`
33864}
33865
33866// String returns the string representation
33867func (s UpdateVoiceChannelInput) String() string {
33868	return awsutil.Prettify(s)
33869}
33870
33871// GoString returns the string representation
33872func (s UpdateVoiceChannelInput) GoString() string {
33873	return s.String()
33874}
33875
33876// Validate inspects the fields of the type to determine if they are valid.
33877func (s *UpdateVoiceChannelInput) Validate() error {
33878	invalidParams := request.ErrInvalidParams{Context: "UpdateVoiceChannelInput"}
33879	if s.ApplicationId == nil {
33880		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
33881	}
33882	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
33883		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
33884	}
33885	if s.VoiceChannelRequest == nil {
33886		invalidParams.Add(request.NewErrParamRequired("VoiceChannelRequest"))
33887	}
33888
33889	if invalidParams.Len() > 0 {
33890		return invalidParams
33891	}
33892	return nil
33893}
33894
33895// SetApplicationId sets the ApplicationId field's value.
33896func (s *UpdateVoiceChannelInput) SetApplicationId(v string) *UpdateVoiceChannelInput {
33897	s.ApplicationId = &v
33898	return s
33899}
33900
33901// SetVoiceChannelRequest sets the VoiceChannelRequest field's value.
33902func (s *UpdateVoiceChannelInput) SetVoiceChannelRequest(v *VoiceChannelRequest) *UpdateVoiceChannelInput {
33903	s.VoiceChannelRequest = v
33904	return s
33905}
33906
33907type UpdateVoiceChannelOutput struct {
33908	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
33909
33910	// Provides information about the status and settings of the voice channel for
33911	// an application.
33912	//
33913	// VoiceChannelResponse is a required field
33914	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
33915}
33916
33917// String returns the string representation
33918func (s UpdateVoiceChannelOutput) String() string {
33919	return awsutil.Prettify(s)
33920}
33921
33922// GoString returns the string representation
33923func (s UpdateVoiceChannelOutput) GoString() string {
33924	return s.String()
33925}
33926
33927// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
33928func (s *UpdateVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *UpdateVoiceChannelOutput {
33929	s.VoiceChannelResponse = v
33930	return s
33931}
33932
33933type UpdateVoiceTemplateInput struct {
33934	_ struct{} `type:"structure" payload:"VoiceTemplateRequest"`
33935
33936	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
33937
33938	// TemplateName is a required field
33939	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
33940
33941	Version *string `location:"querystring" locationName:"version" type:"string"`
33942
33943	// Specifies the content and settings for a message template that can be used
33944	// in messages that are sent through the voice channel.
33945	//
33946	// VoiceTemplateRequest is a required field
33947	VoiceTemplateRequest *VoiceTemplateRequest `type:"structure" required:"true"`
33948}
33949
33950// String returns the string representation
33951func (s UpdateVoiceTemplateInput) String() string {
33952	return awsutil.Prettify(s)
33953}
33954
33955// GoString returns the string representation
33956func (s UpdateVoiceTemplateInput) GoString() string {
33957	return s.String()
33958}
33959
33960// Validate inspects the fields of the type to determine if they are valid.
33961func (s *UpdateVoiceTemplateInput) Validate() error {
33962	invalidParams := request.ErrInvalidParams{Context: "UpdateVoiceTemplateInput"}
33963	if s.TemplateName == nil {
33964		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
33965	}
33966	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
33967		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
33968	}
33969	if s.VoiceTemplateRequest == nil {
33970		invalidParams.Add(request.NewErrParamRequired("VoiceTemplateRequest"))
33971	}
33972
33973	if invalidParams.Len() > 0 {
33974		return invalidParams
33975	}
33976	return nil
33977}
33978
33979// SetCreateNewVersion sets the CreateNewVersion field's value.
33980func (s *UpdateVoiceTemplateInput) SetCreateNewVersion(v bool) *UpdateVoiceTemplateInput {
33981	s.CreateNewVersion = &v
33982	return s
33983}
33984
33985// SetTemplateName sets the TemplateName field's value.
33986func (s *UpdateVoiceTemplateInput) SetTemplateName(v string) *UpdateVoiceTemplateInput {
33987	s.TemplateName = &v
33988	return s
33989}
33990
33991// SetVersion sets the Version field's value.
33992func (s *UpdateVoiceTemplateInput) SetVersion(v string) *UpdateVoiceTemplateInput {
33993	s.Version = &v
33994	return s
33995}
33996
33997// SetVoiceTemplateRequest sets the VoiceTemplateRequest field's value.
33998func (s *UpdateVoiceTemplateInput) SetVoiceTemplateRequest(v *VoiceTemplateRequest) *UpdateVoiceTemplateInput {
33999	s.VoiceTemplateRequest = v
34000	return s
34001}
34002
34003type UpdateVoiceTemplateOutput struct {
34004	_ struct{} `type:"structure" payload:"MessageBody"`
34005
34006	// Provides information about an API request or response.
34007	//
34008	// MessageBody is a required field
34009	MessageBody *MessageBody `type:"structure" required:"true"`
34010}
34011
34012// String returns the string representation
34013func (s UpdateVoiceTemplateOutput) String() string {
34014	return awsutil.Prettify(s)
34015}
34016
34017// GoString returns the string representation
34018func (s UpdateVoiceTemplateOutput) GoString() string {
34019	return s.String()
34020}
34021
34022// SetMessageBody sets the MessageBody field's value.
34023func (s *UpdateVoiceTemplateOutput) SetMessageBody(v *MessageBody) *UpdateVoiceTemplateOutput {
34024	s.MessageBody = v
34025	return s
34026}
34027
34028// Specifies the status and settings of the voice channel for an application.
34029type VoiceChannelRequest struct {
34030	_ struct{} `type:"structure"`
34031
34032	// Specifies whether to enable the voice channel for the application.
34033	Enabled *bool `type:"boolean"`
34034}
34035
34036// String returns the string representation
34037func (s VoiceChannelRequest) String() string {
34038	return awsutil.Prettify(s)
34039}
34040
34041// GoString returns the string representation
34042func (s VoiceChannelRequest) GoString() string {
34043	return s.String()
34044}
34045
34046// SetEnabled sets the Enabled field's value.
34047func (s *VoiceChannelRequest) SetEnabled(v bool) *VoiceChannelRequest {
34048	s.Enabled = &v
34049	return s
34050}
34051
34052// Provides information about the status and settings of the voice channel for
34053// an application.
34054type VoiceChannelResponse struct {
34055	_ struct{} `type:"structure"`
34056
34057	// The unique identifier for the application that the voice channel applies
34058	// to.
34059	ApplicationId *string `type:"string"`
34060
34061	// The date and time, in ISO 8601 format, when the voice channel was enabled.
34062	CreationDate *string `type:"string"`
34063
34064	// Specifies whether the voice channel is enabled for the application.
34065	Enabled *bool `type:"boolean"`
34066
34067	// (Not used) This property is retained only for backward compatibility.
34068	HasCredential *bool `type:"boolean"`
34069
34070	// (Deprecated) An identifier for the voice channel. This property is retained
34071	// only for backward compatibility.
34072	Id *string `type:"string"`
34073
34074	// Specifies whether the voice channel is archived.
34075	IsArchived *bool `type:"boolean"`
34076
34077	// The user who last modified the voice channel.
34078	LastModifiedBy *string `type:"string"`
34079
34080	// The date and time, in ISO 8601 format, when the voice channel was last modified.
34081	LastModifiedDate *string `type:"string"`
34082
34083	// The type of messaging or notification platform for the channel. For the voice
34084	// channel, this value is VOICE.
34085	//
34086	// Platform is a required field
34087	Platform *string `type:"string" required:"true"`
34088
34089	// The current version of the voice channel.
34090	Version *int64 `type:"integer"`
34091}
34092
34093// String returns the string representation
34094func (s VoiceChannelResponse) String() string {
34095	return awsutil.Prettify(s)
34096}
34097
34098// GoString returns the string representation
34099func (s VoiceChannelResponse) GoString() string {
34100	return s.String()
34101}
34102
34103// SetApplicationId sets the ApplicationId field's value.
34104func (s *VoiceChannelResponse) SetApplicationId(v string) *VoiceChannelResponse {
34105	s.ApplicationId = &v
34106	return s
34107}
34108
34109// SetCreationDate sets the CreationDate field's value.
34110func (s *VoiceChannelResponse) SetCreationDate(v string) *VoiceChannelResponse {
34111	s.CreationDate = &v
34112	return s
34113}
34114
34115// SetEnabled sets the Enabled field's value.
34116func (s *VoiceChannelResponse) SetEnabled(v bool) *VoiceChannelResponse {
34117	s.Enabled = &v
34118	return s
34119}
34120
34121// SetHasCredential sets the HasCredential field's value.
34122func (s *VoiceChannelResponse) SetHasCredential(v bool) *VoiceChannelResponse {
34123	s.HasCredential = &v
34124	return s
34125}
34126
34127// SetId sets the Id field's value.
34128func (s *VoiceChannelResponse) SetId(v string) *VoiceChannelResponse {
34129	s.Id = &v
34130	return s
34131}
34132
34133// SetIsArchived sets the IsArchived field's value.
34134func (s *VoiceChannelResponse) SetIsArchived(v bool) *VoiceChannelResponse {
34135	s.IsArchived = &v
34136	return s
34137}
34138
34139// SetLastModifiedBy sets the LastModifiedBy field's value.
34140func (s *VoiceChannelResponse) SetLastModifiedBy(v string) *VoiceChannelResponse {
34141	s.LastModifiedBy = &v
34142	return s
34143}
34144
34145// SetLastModifiedDate sets the LastModifiedDate field's value.
34146func (s *VoiceChannelResponse) SetLastModifiedDate(v string) *VoiceChannelResponse {
34147	s.LastModifiedDate = &v
34148	return s
34149}
34150
34151// SetPlatform sets the Platform field's value.
34152func (s *VoiceChannelResponse) SetPlatform(v string) *VoiceChannelResponse {
34153	s.Platform = &v
34154	return s
34155}
34156
34157// SetVersion sets the Version field's value.
34158func (s *VoiceChannelResponse) SetVersion(v int64) *VoiceChannelResponse {
34159	s.Version = &v
34160	return s
34161}
34162
34163// Specifies the settings for a one-time voice message that's sent directly
34164// to an endpoint through the voice channel.
34165type VoiceMessage struct {
34166	_ struct{} `type:"structure"`
34167
34168	// The text of the script to use for the voice message.
34169	Body *string `type:"string"`
34170
34171	// The code for the language to use when synthesizing the text of the message
34172	// script. For a list of supported languages and the code for each one, see
34173	// the Amazon Polly Developer Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
34174	LanguageCode *string `type:"string"`
34175
34176	// The long code to send the voice message from. This value should be one of
34177	// the dedicated long codes that's assigned to your AWS account. Although it
34178	// isn't required, we recommend that you specify the long code in E.164 format,
34179	// for example +12065550100, to ensure prompt and accurate delivery of the message.
34180	OriginationNumber *string `type:"string"`
34181
34182	// The default message variables to use in the voice message. You can override
34183	// the default variables with individual address variables.
34184	Substitutions map[string][]*string `type:"map"`
34185
34186	// The name of the voice to use when delivering the message. For a list of supported
34187	// voices, see the Amazon Polly Developer Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
34188	VoiceId *string `type:"string"`
34189}
34190
34191// String returns the string representation
34192func (s VoiceMessage) String() string {
34193	return awsutil.Prettify(s)
34194}
34195
34196// GoString returns the string representation
34197func (s VoiceMessage) GoString() string {
34198	return s.String()
34199}
34200
34201// SetBody sets the Body field's value.
34202func (s *VoiceMessage) SetBody(v string) *VoiceMessage {
34203	s.Body = &v
34204	return s
34205}
34206
34207// SetLanguageCode sets the LanguageCode field's value.
34208func (s *VoiceMessage) SetLanguageCode(v string) *VoiceMessage {
34209	s.LanguageCode = &v
34210	return s
34211}
34212
34213// SetOriginationNumber sets the OriginationNumber field's value.
34214func (s *VoiceMessage) SetOriginationNumber(v string) *VoiceMessage {
34215	s.OriginationNumber = &v
34216	return s
34217}
34218
34219// SetSubstitutions sets the Substitutions field's value.
34220func (s *VoiceMessage) SetSubstitutions(v map[string][]*string) *VoiceMessage {
34221	s.Substitutions = v
34222	return s
34223}
34224
34225// SetVoiceId sets the VoiceId field's value.
34226func (s *VoiceMessage) SetVoiceId(v string) *VoiceMessage {
34227	s.VoiceId = &v
34228	return s
34229}
34230
34231// Specifies the content and settings for a message template that can be used
34232// in messages that are sent through the voice channel.
34233type VoiceTemplateRequest struct {
34234	_ struct{} `type:"structure"`
34235
34236	// The text of the script to use in messages that are based on the message template,
34237	// in plain text format.
34238	Body *string `type:"string"`
34239
34240	// A JSON object that specifies the default values to use for message variables
34241	// in the message template. This object is a set of key-value pairs. Each key
34242	// defines a message variable in the template. The corresponding value defines
34243	// the default value for that variable. When you create a message that's based
34244	// on the template, you can override these defaults with message-specific and
34245	// address-specific variables and values.
34246	DefaultSubstitutions *string `type:"string"`
34247
34248	// The code for the language to use when synthesizing the text of the script
34249	// in messages that are based on the message template. For a list of supported
34250	// languages and the code for each one, see the Amazon Polly Developer Guide
34251	// (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
34252	LanguageCode *string `type:"string"`
34253
34254	// A string-to-string map of key-value pairs that defines the tags to associate
34255	// with the message template. Each tag consists of a required tag key and an
34256	// associated tag value.
34257	Tags map[string]*string `locationName:"tags" type:"map"`
34258
34259	// A custom description of the message template.
34260	TemplateDescription *string `type:"string"`
34261
34262	// The name of the voice to use when delivering messages that are based on the
34263	// message template. For a list of supported voices, see the Amazon Polly Developer
34264	// Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
34265	VoiceId *string `type:"string"`
34266}
34267
34268// String returns the string representation
34269func (s VoiceTemplateRequest) String() string {
34270	return awsutil.Prettify(s)
34271}
34272
34273// GoString returns the string representation
34274func (s VoiceTemplateRequest) GoString() string {
34275	return s.String()
34276}
34277
34278// SetBody sets the Body field's value.
34279func (s *VoiceTemplateRequest) SetBody(v string) *VoiceTemplateRequest {
34280	s.Body = &v
34281	return s
34282}
34283
34284// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
34285func (s *VoiceTemplateRequest) SetDefaultSubstitutions(v string) *VoiceTemplateRequest {
34286	s.DefaultSubstitutions = &v
34287	return s
34288}
34289
34290// SetLanguageCode sets the LanguageCode field's value.
34291func (s *VoiceTemplateRequest) SetLanguageCode(v string) *VoiceTemplateRequest {
34292	s.LanguageCode = &v
34293	return s
34294}
34295
34296// SetTags sets the Tags field's value.
34297func (s *VoiceTemplateRequest) SetTags(v map[string]*string) *VoiceTemplateRequest {
34298	s.Tags = v
34299	return s
34300}
34301
34302// SetTemplateDescription sets the TemplateDescription field's value.
34303func (s *VoiceTemplateRequest) SetTemplateDescription(v string) *VoiceTemplateRequest {
34304	s.TemplateDescription = &v
34305	return s
34306}
34307
34308// SetVoiceId sets the VoiceId field's value.
34309func (s *VoiceTemplateRequest) SetVoiceId(v string) *VoiceTemplateRequest {
34310	s.VoiceId = &v
34311	return s
34312}
34313
34314// Provides information about the content and settings for a message template
34315// that can be used in messages that are sent through the voice channel.
34316type VoiceTemplateResponse struct {
34317	_ struct{} `type:"structure"`
34318
34319	// The Amazon Resource Name (ARN) of the message template.
34320	Arn *string `type:"string"`
34321
34322	// The text of the script that's used in messages that are based on the message
34323	// template, in plain text format.
34324	Body *string `type:"string"`
34325
34326	// The date, in ISO 8601 format, when the message template was created.
34327	//
34328	// CreationDate is a required field
34329	CreationDate *string `type:"string" required:"true"`
34330
34331	// The JSON object that specifies the default values that are used for message
34332	// variables in the message template. This object is a set of key-value pairs.
34333	// Each key defines a message variable in the template. The corresponding value
34334	// defines the default value for that variable.
34335	DefaultSubstitutions *string `type:"string"`
34336
34337	// The code for the language that's used when synthesizing the text of the script
34338	// in messages that are based on the message template. For a list of supported
34339	// languages and the code for each one, see the Amazon Polly Developer Guide
34340	// (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
34341	LanguageCode *string `type:"string"`
34342
34343	// The date, in ISO 8601 format, when the message template was last modified.
34344	//
34345	// LastModifiedDate is a required field
34346	LastModifiedDate *string `type:"string" required:"true"`
34347
34348	// A string-to-string map of key-value pairs that identifies the tags that are
34349	// associated with the message template. Each tag consists of a required tag
34350	// key and an associated tag value.
34351	Tags map[string]*string `locationName:"tags" type:"map"`
34352
34353	// The custom description of the message template.
34354	TemplateDescription *string `type:"string"`
34355
34356	// The name of the message template.
34357	//
34358	// TemplateName is a required field
34359	TemplateName *string `type:"string" required:"true"`
34360
34361	// The type of channel that the message template is designed for. For a voice
34362	// template, this value is VOICE.
34363	//
34364	// TemplateType is a required field
34365	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
34366
34367	// The unique identifier, as an integer, for the active version of the message
34368	// template, or the version of the template that you specified by using the
34369	// version parameter in your request.
34370	Version *string `type:"string"`
34371
34372	// The name of the voice that's used when delivering messages that are based
34373	// on the message template. For a list of supported voices, see the Amazon Polly
34374	// Developer Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
34375	VoiceId *string `type:"string"`
34376}
34377
34378// String returns the string representation
34379func (s VoiceTemplateResponse) String() string {
34380	return awsutil.Prettify(s)
34381}
34382
34383// GoString returns the string representation
34384func (s VoiceTemplateResponse) GoString() string {
34385	return s.String()
34386}
34387
34388// SetArn sets the Arn field's value.
34389func (s *VoiceTemplateResponse) SetArn(v string) *VoiceTemplateResponse {
34390	s.Arn = &v
34391	return s
34392}
34393
34394// SetBody sets the Body field's value.
34395func (s *VoiceTemplateResponse) SetBody(v string) *VoiceTemplateResponse {
34396	s.Body = &v
34397	return s
34398}
34399
34400// SetCreationDate sets the CreationDate field's value.
34401func (s *VoiceTemplateResponse) SetCreationDate(v string) *VoiceTemplateResponse {
34402	s.CreationDate = &v
34403	return s
34404}
34405
34406// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
34407func (s *VoiceTemplateResponse) SetDefaultSubstitutions(v string) *VoiceTemplateResponse {
34408	s.DefaultSubstitutions = &v
34409	return s
34410}
34411
34412// SetLanguageCode sets the LanguageCode field's value.
34413func (s *VoiceTemplateResponse) SetLanguageCode(v string) *VoiceTemplateResponse {
34414	s.LanguageCode = &v
34415	return s
34416}
34417
34418// SetLastModifiedDate sets the LastModifiedDate field's value.
34419func (s *VoiceTemplateResponse) SetLastModifiedDate(v string) *VoiceTemplateResponse {
34420	s.LastModifiedDate = &v
34421	return s
34422}
34423
34424// SetTags sets the Tags field's value.
34425func (s *VoiceTemplateResponse) SetTags(v map[string]*string) *VoiceTemplateResponse {
34426	s.Tags = v
34427	return s
34428}
34429
34430// SetTemplateDescription sets the TemplateDescription field's value.
34431func (s *VoiceTemplateResponse) SetTemplateDescription(v string) *VoiceTemplateResponse {
34432	s.TemplateDescription = &v
34433	return s
34434}
34435
34436// SetTemplateName sets the TemplateName field's value.
34437func (s *VoiceTemplateResponse) SetTemplateName(v string) *VoiceTemplateResponse {
34438	s.TemplateName = &v
34439	return s
34440}
34441
34442// SetTemplateType sets the TemplateType field's value.
34443func (s *VoiceTemplateResponse) SetTemplateType(v string) *VoiceTemplateResponse {
34444	s.TemplateType = &v
34445	return s
34446}
34447
34448// SetVersion sets the Version field's value.
34449func (s *VoiceTemplateResponse) SetVersion(v string) *VoiceTemplateResponse {
34450	s.Version = &v
34451	return s
34452}
34453
34454// SetVoiceId sets the VoiceId field's value.
34455func (s *VoiceTemplateResponse) SetVoiceId(v string) *VoiceTemplateResponse {
34456	s.VoiceId = &v
34457	return s
34458}
34459
34460// Specifies the settings for a wait activity in a journey. This type of activity
34461// waits for a certain amount of time or until a specific date and time before
34462// moving participants to the next activity in a journey.
34463type WaitActivity struct {
34464	_ struct{} `type:"structure"`
34465
34466	// The unique identifier for the next activity to perform, after performing
34467	// the wait activity.
34468	NextActivity *string `type:"string"`
34469
34470	// The amount of time to wait or the date and time when the activity moves participants
34471	// to the next activity in the journey.
34472	WaitTime *WaitTime `type:"structure"`
34473}
34474
34475// String returns the string representation
34476func (s WaitActivity) String() string {
34477	return awsutil.Prettify(s)
34478}
34479
34480// GoString returns the string representation
34481func (s WaitActivity) GoString() string {
34482	return s.String()
34483}
34484
34485// SetNextActivity sets the NextActivity field's value.
34486func (s *WaitActivity) SetNextActivity(v string) *WaitActivity {
34487	s.NextActivity = &v
34488	return s
34489}
34490
34491// SetWaitTime sets the WaitTime field's value.
34492func (s *WaitActivity) SetWaitTime(v *WaitTime) *WaitActivity {
34493	s.WaitTime = v
34494	return s
34495}
34496
34497// Specifies a duration or a date and time that indicates when Amazon Pinpoint
34498// determines whether an activity's conditions have been met or an activity
34499// moves participants to the next activity in a journey.
34500type WaitTime struct {
34501	_ struct{} `type:"structure"`
34502
34503	// The amount of time to wait, as a duration in ISO 8601 format, before determining
34504	// whether the activity's conditions have been met or moving participants to
34505	// the next activity in the journey.
34506	WaitFor *string `type:"string"`
34507
34508	// The date and time, in ISO 8601 format, when Amazon Pinpoint determines whether
34509	// the activity's conditions have been met or the activity moves participants
34510	// to the next activity in the journey.
34511	WaitUntil *string `type:"string"`
34512}
34513
34514// String returns the string representation
34515func (s WaitTime) String() string {
34516	return awsutil.Prettify(s)
34517}
34518
34519// GoString returns the string representation
34520func (s WaitTime) GoString() string {
34521	return s.String()
34522}
34523
34524// SetWaitFor sets the WaitFor field's value.
34525func (s *WaitTime) SetWaitFor(v string) *WaitTime {
34526	s.WaitFor = &v
34527	return s
34528}
34529
34530// SetWaitUntil sets the WaitUntil field's value.
34531func (s *WaitTime) SetWaitUntil(v string) *WaitTime {
34532	s.WaitUntil = &v
34533	return s
34534}
34535
34536// Specifies the default settings for an application.
34537type WriteApplicationSettingsRequest struct {
34538	_ struct{} `type:"structure"`
34539
34540	// The settings for the AWS Lambda function to invoke by default as a code hook
34541	// for campaigns in the application. You can use this hook to customize segments
34542	// that are used by campaigns in the application.
34543	//
34544	// To override these settings and define custom settings for a specific campaign,
34545	// use the CampaignHook object of the Campaign resource.
34546	CampaignHook *CampaignHook `type:"structure"`
34547
34548	// Specifies whether to enable application-related alarms in Amazon CloudWatch.
34549	CloudWatchMetricsEnabled *bool `type:"boolean"`
34550
34551	// The default sending limits for campaigns in the application. To override
34552	// these limits and define custom limits for a specific campaign or journey,
34553	// use the Campaign resource or the Journey resource, respectively.
34554	Limits *CampaignLimits `type:"structure"`
34555
34556	// The default quiet time for campaigns in the application. Quiet time is a
34557	// specific time range when messages aren't sent to endpoints, if all the following
34558	// conditions are met:
34559	//
34560	//    * The EndpointDemographic.Timezone property of the endpoint is set to
34561	//    a valid value.
34562	//
34563	//    * The current time in the endpoint's time zone is later than or equal
34564	//    to the time specified by the QuietTime.Start property for the application
34565	//    (or a campaign or journey that has custom quiet time settings).
34566	//
34567	//    * The current time in the endpoint's time zone is earlier than or equal
34568	//    to the time specified by the QuietTime.End property for the application
34569	//    (or a campaign or journey that has custom quiet time settings).
34570	//
34571	// If any of the preceding conditions isn't met, the endpoint will receive messages
34572	// from a campaign or journey, even if quiet time is enabled.
34573	//
34574	// To override the default quiet time settings for a specific campaign or journey,
34575	// use the Campaign resource or the Journey resource to define a custom quiet
34576	// time for the campaign or journey.
34577	QuietTime *QuietTime `type:"structure"`
34578}
34579
34580// String returns the string representation
34581func (s WriteApplicationSettingsRequest) String() string {
34582	return awsutil.Prettify(s)
34583}
34584
34585// GoString returns the string representation
34586func (s WriteApplicationSettingsRequest) GoString() string {
34587	return s.String()
34588}
34589
34590// SetCampaignHook sets the CampaignHook field's value.
34591func (s *WriteApplicationSettingsRequest) SetCampaignHook(v *CampaignHook) *WriteApplicationSettingsRequest {
34592	s.CampaignHook = v
34593	return s
34594}
34595
34596// SetCloudWatchMetricsEnabled sets the CloudWatchMetricsEnabled field's value.
34597func (s *WriteApplicationSettingsRequest) SetCloudWatchMetricsEnabled(v bool) *WriteApplicationSettingsRequest {
34598	s.CloudWatchMetricsEnabled = &v
34599	return s
34600}
34601
34602// SetLimits sets the Limits field's value.
34603func (s *WriteApplicationSettingsRequest) SetLimits(v *CampaignLimits) *WriteApplicationSettingsRequest {
34604	s.Limits = v
34605	return s
34606}
34607
34608// SetQuietTime sets the QuietTime field's value.
34609func (s *WriteApplicationSettingsRequest) SetQuietTime(v *QuietTime) *WriteApplicationSettingsRequest {
34610	s.QuietTime = v
34611	return s
34612}
34613
34614// Specifies the configuration and other settings for a campaign.
34615type WriteCampaignRequest struct {
34616	_ struct{} `type:"structure"`
34617
34618	// An array of requests that defines additional treatments for the campaign,
34619	// in addition to the default treatment for the campaign.
34620	AdditionalTreatments []*WriteTreatmentResource `type:"list"`
34621
34622	// The delivery configuration settings for sending the campaign through a custom
34623	// channel. This object is required if the MessageConfiguration object for the
34624	// campaign specifies a CustomMessage object.
34625	CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"`
34626
34627	// A custom description of the campaign.
34628	Description *string `type:"string"`
34629
34630	// The allocated percentage of users (segment members) who shouldn't receive
34631	// messages from the campaign.
34632	HoldoutPercent *int64 `type:"integer"`
34633
34634	// The settings for the AWS Lambda function to invoke as a code hook for the
34635	// campaign. You can use this hook to customize the segment that's used by the
34636	// campaign.
34637	Hook *CampaignHook `type:"structure"`
34638
34639	// Specifies whether to pause the campaign. A paused campaign doesn't run unless
34640	// you resume it by changing this value to false.
34641	IsPaused *bool `type:"boolean"`
34642
34643	// The messaging limits for the campaign.
34644	Limits *CampaignLimits `type:"structure"`
34645
34646	// The message configuration settings for the campaign.
34647	MessageConfiguration *MessageConfiguration `type:"structure"`
34648
34649	// A custom name for the campaign.
34650	Name *string `type:"string"`
34651
34652	// The schedule settings for the campaign.
34653	Schedule *Schedule `type:"structure"`
34654
34655	// The unique identifier for the segment to associate with the campaign.
34656	SegmentId *string `type:"string"`
34657
34658	// The version of the segment to associate with the campaign.
34659	SegmentVersion *int64 `type:"integer"`
34660
34661	// A string-to-string map of key-value pairs that defines the tags to associate
34662	// with the campaign. Each tag consists of a required tag key and an associated
34663	// tag value.
34664	Tags map[string]*string `locationName:"tags" type:"map"`
34665
34666	// The message template to use for the campaign.
34667	TemplateConfiguration *TemplateConfiguration `type:"structure"`
34668
34669	// A custom description of the default treatment for the campaign.
34670	TreatmentDescription *string `type:"string"`
34671
34672	// A custom name of the default treatment for the campaign, if the campaign
34673	// has multiple treatments. A treatment is a variation of a campaign that's
34674	// used for A/B testing.
34675	TreatmentName *string `type:"string"`
34676}
34677
34678// String returns the string representation
34679func (s WriteCampaignRequest) String() string {
34680	return awsutil.Prettify(s)
34681}
34682
34683// GoString returns the string representation
34684func (s WriteCampaignRequest) GoString() string {
34685	return s.String()
34686}
34687
34688// Validate inspects the fields of the type to determine if they are valid.
34689func (s *WriteCampaignRequest) Validate() error {
34690	invalidParams := request.ErrInvalidParams{Context: "WriteCampaignRequest"}
34691	if s.AdditionalTreatments != nil {
34692		for i, v := range s.AdditionalTreatments {
34693			if v == nil {
34694				continue
34695			}
34696			if err := v.Validate(); err != nil {
34697				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalTreatments", i), err.(request.ErrInvalidParams))
34698			}
34699		}
34700	}
34701	if s.CustomDeliveryConfiguration != nil {
34702		if err := s.CustomDeliveryConfiguration.Validate(); err != nil {
34703			invalidParams.AddNested("CustomDeliveryConfiguration", err.(request.ErrInvalidParams))
34704		}
34705	}
34706	if s.Schedule != nil {
34707		if err := s.Schedule.Validate(); err != nil {
34708			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
34709		}
34710	}
34711
34712	if invalidParams.Len() > 0 {
34713		return invalidParams
34714	}
34715	return nil
34716}
34717
34718// SetAdditionalTreatments sets the AdditionalTreatments field's value.
34719func (s *WriteCampaignRequest) SetAdditionalTreatments(v []*WriteTreatmentResource) *WriteCampaignRequest {
34720	s.AdditionalTreatments = v
34721	return s
34722}
34723
34724// SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value.
34725func (s *WriteCampaignRequest) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *WriteCampaignRequest {
34726	s.CustomDeliveryConfiguration = v
34727	return s
34728}
34729
34730// SetDescription sets the Description field's value.
34731func (s *WriteCampaignRequest) SetDescription(v string) *WriteCampaignRequest {
34732	s.Description = &v
34733	return s
34734}
34735
34736// SetHoldoutPercent sets the HoldoutPercent field's value.
34737func (s *WriteCampaignRequest) SetHoldoutPercent(v int64) *WriteCampaignRequest {
34738	s.HoldoutPercent = &v
34739	return s
34740}
34741
34742// SetHook sets the Hook field's value.
34743func (s *WriteCampaignRequest) SetHook(v *CampaignHook) *WriteCampaignRequest {
34744	s.Hook = v
34745	return s
34746}
34747
34748// SetIsPaused sets the IsPaused field's value.
34749func (s *WriteCampaignRequest) SetIsPaused(v bool) *WriteCampaignRequest {
34750	s.IsPaused = &v
34751	return s
34752}
34753
34754// SetLimits sets the Limits field's value.
34755func (s *WriteCampaignRequest) SetLimits(v *CampaignLimits) *WriteCampaignRequest {
34756	s.Limits = v
34757	return s
34758}
34759
34760// SetMessageConfiguration sets the MessageConfiguration field's value.
34761func (s *WriteCampaignRequest) SetMessageConfiguration(v *MessageConfiguration) *WriteCampaignRequest {
34762	s.MessageConfiguration = v
34763	return s
34764}
34765
34766// SetName sets the Name field's value.
34767func (s *WriteCampaignRequest) SetName(v string) *WriteCampaignRequest {
34768	s.Name = &v
34769	return s
34770}
34771
34772// SetSchedule sets the Schedule field's value.
34773func (s *WriteCampaignRequest) SetSchedule(v *Schedule) *WriteCampaignRequest {
34774	s.Schedule = v
34775	return s
34776}
34777
34778// SetSegmentId sets the SegmentId field's value.
34779func (s *WriteCampaignRequest) SetSegmentId(v string) *WriteCampaignRequest {
34780	s.SegmentId = &v
34781	return s
34782}
34783
34784// SetSegmentVersion sets the SegmentVersion field's value.
34785func (s *WriteCampaignRequest) SetSegmentVersion(v int64) *WriteCampaignRequest {
34786	s.SegmentVersion = &v
34787	return s
34788}
34789
34790// SetTags sets the Tags field's value.
34791func (s *WriteCampaignRequest) SetTags(v map[string]*string) *WriteCampaignRequest {
34792	s.Tags = v
34793	return s
34794}
34795
34796// SetTemplateConfiguration sets the TemplateConfiguration field's value.
34797func (s *WriteCampaignRequest) SetTemplateConfiguration(v *TemplateConfiguration) *WriteCampaignRequest {
34798	s.TemplateConfiguration = v
34799	return s
34800}
34801
34802// SetTreatmentDescription sets the TreatmentDescription field's value.
34803func (s *WriteCampaignRequest) SetTreatmentDescription(v string) *WriteCampaignRequest {
34804	s.TreatmentDescription = &v
34805	return s
34806}
34807
34808// SetTreatmentName sets the TreatmentName field's value.
34809func (s *WriteCampaignRequest) SetTreatmentName(v string) *WriteCampaignRequest {
34810	s.TreatmentName = &v
34811	return s
34812}
34813
34814// Specifies the Amazon Resource Name (ARN) of an event stream to publish events
34815// to and the AWS Identity and Access Management (IAM) role to use when publishing
34816// those events.
34817type WriteEventStream struct {
34818	_ struct{} `type:"structure"`
34819
34820	// The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon
34821	// Kinesis Data Firehose delivery stream that you want to publish event data
34822	// to.
34823	//
34824	// For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name
34825	//
34826	// For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name
34827	//
34828	// DestinationStreamArn is a required field
34829	DestinationStreamArn *string `type:"string" required:"true"`
34830
34831	// The AWS Identity and Access Management (IAM) role that authorizes Amazon
34832	// Pinpoint to publish event data to the stream in your AWS account.
34833	//
34834	// RoleArn is a required field
34835	RoleArn *string `type:"string" required:"true"`
34836}
34837
34838// String returns the string representation
34839func (s WriteEventStream) String() string {
34840	return awsutil.Prettify(s)
34841}
34842
34843// GoString returns the string representation
34844func (s WriteEventStream) GoString() string {
34845	return s.String()
34846}
34847
34848// Validate inspects the fields of the type to determine if they are valid.
34849func (s *WriteEventStream) Validate() error {
34850	invalidParams := request.ErrInvalidParams{Context: "WriteEventStream"}
34851	if s.DestinationStreamArn == nil {
34852		invalidParams.Add(request.NewErrParamRequired("DestinationStreamArn"))
34853	}
34854	if s.RoleArn == nil {
34855		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
34856	}
34857
34858	if invalidParams.Len() > 0 {
34859		return invalidParams
34860	}
34861	return nil
34862}
34863
34864// SetDestinationStreamArn sets the DestinationStreamArn field's value.
34865func (s *WriteEventStream) SetDestinationStreamArn(v string) *WriteEventStream {
34866	s.DestinationStreamArn = &v
34867	return s
34868}
34869
34870// SetRoleArn sets the RoleArn field's value.
34871func (s *WriteEventStream) SetRoleArn(v string) *WriteEventStream {
34872	s.RoleArn = &v
34873	return s
34874}
34875
34876// Specifies the configuration and other settings for a journey.
34877type WriteJourneyRequest struct {
34878	_ struct{} `type:"structure"`
34879
34880	// A map that contains a set of Activity objects, one object for each activity
34881	// in the journey. For each Activity object, the key is the unique identifier
34882	// (string) for an activity and the value is the settings for the activity.
34883	// An activity identifier can contain a maximum of 100 characters. The characters
34884	// must be alphanumeric characters.
34885	Activities map[string]*Activity `type:"map"`
34886
34887	// The date, in ISO 8601 format, when the journey was created.
34888	CreationDate *string `type:"string"`
34889
34890	// The date, in ISO 8601 format, when the journey was last modified.
34891	LastModifiedDate *string `type:"string"`
34892
34893	// The messaging and entry limits for the journey.
34894	Limits *JourneyLimits `type:"structure"`
34895
34896	// Specifies whether the journey's scheduled start and end times use each participant's
34897	// local time. To base the schedule on each participant's local time, set this
34898	// value to true.
34899	LocalTime *bool `type:"boolean"`
34900
34901	// The name of the journey. A journey name can contain a maximum of 150 characters.
34902	// The characters can be alphanumeric characters or symbols, such as underscores
34903	// (_) or hyphens (-). A journey name can't contain any spaces.
34904	//
34905	// Name is a required field
34906	Name *string `type:"string" required:"true"`
34907
34908	// The quiet time settings for the journey. Quiet time is a specific time range
34909	// when a journey doesn't send messages to participants, if all the following
34910	// conditions are met:
34911	//
34912	//    * The EndpointDemographic.Timezone property of the endpoint for the participant
34913	//    is set to a valid value.
34914	//
34915	//    * The current time in the participant's time zone is later than or equal
34916	//    to the time specified by the QuietTime.Start property for the journey.
34917	//
34918	//    * The current time in the participant's time zone is earlier than or equal
34919	//    to the time specified by the QuietTime.End property for the journey.
34920	//
34921	// If any of the preceding conditions isn't met, the participant will receive
34922	// messages from the journey, even if quiet time is enabled.
34923	QuietTime *QuietTime `type:"structure"`
34924
34925	// The frequency with which Amazon Pinpoint evaluates segment and event data
34926	// for the journey, as a duration in ISO 8601 format.
34927	RefreshFrequency *string `type:"string"`
34928
34929	RefreshOnSegmentUpdate *bool `type:"boolean"`
34930
34931	// The schedule settings for the journey.
34932	Schedule *JourneySchedule `type:"structure"`
34933
34934	// The unique identifier for the first activity in the journey. The identifier
34935	// for this activity can contain a maximum of 128 characters. The characters
34936	// must be alphanumeric characters.
34937	StartActivity *string `type:"string"`
34938
34939	// The segment that defines which users are participants in the journey.
34940	StartCondition *StartCondition `type:"structure"`
34941
34942	// The status of the journey. Valid values are:
34943	//
34944	//    * DRAFT - Saves the journey and doesn't publish it.
34945	//
34946	//    * ACTIVE - Saves and publishes the journey. Depending on the journey's
34947	//    schedule, the journey starts running immediately or at the scheduled start
34948	//    time. If a journey's status is ACTIVE, you can't add, change, or remove
34949	//    activities from it.
34950	//
34951	// PAUSED, CANCELLED, COMPLETED, and CLOSED states are not supported in requests
34952	// to create or update a journey. To cancel, pause, or resume a journey, use
34953	// the Journey State resource.
34954	State *string `type:"string" enum:"State"`
34955
34956	WaitForQuietTime *bool `type:"boolean"`
34957}
34958
34959// String returns the string representation
34960func (s WriteJourneyRequest) String() string {
34961	return awsutil.Prettify(s)
34962}
34963
34964// GoString returns the string representation
34965func (s WriteJourneyRequest) GoString() string {
34966	return s.String()
34967}
34968
34969// Validate inspects the fields of the type to determine if they are valid.
34970func (s *WriteJourneyRequest) Validate() error {
34971	invalidParams := request.ErrInvalidParams{Context: "WriteJourneyRequest"}
34972	if s.Name == nil {
34973		invalidParams.Add(request.NewErrParamRequired("Name"))
34974	}
34975	if s.Activities != nil {
34976		for i, v := range s.Activities {
34977			if v == nil {
34978				continue
34979			}
34980			if err := v.Validate(); err != nil {
34981				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Activities", i), err.(request.ErrInvalidParams))
34982			}
34983		}
34984	}
34985	if s.StartCondition != nil {
34986		if err := s.StartCondition.Validate(); err != nil {
34987			invalidParams.AddNested("StartCondition", err.(request.ErrInvalidParams))
34988		}
34989	}
34990
34991	if invalidParams.Len() > 0 {
34992		return invalidParams
34993	}
34994	return nil
34995}
34996
34997// SetActivities sets the Activities field's value.
34998func (s *WriteJourneyRequest) SetActivities(v map[string]*Activity) *WriteJourneyRequest {
34999	s.Activities = v
35000	return s
35001}
35002
35003// SetCreationDate sets the CreationDate field's value.
35004func (s *WriteJourneyRequest) SetCreationDate(v string) *WriteJourneyRequest {
35005	s.CreationDate = &v
35006	return s
35007}
35008
35009// SetLastModifiedDate sets the LastModifiedDate field's value.
35010func (s *WriteJourneyRequest) SetLastModifiedDate(v string) *WriteJourneyRequest {
35011	s.LastModifiedDate = &v
35012	return s
35013}
35014
35015// SetLimits sets the Limits field's value.
35016func (s *WriteJourneyRequest) SetLimits(v *JourneyLimits) *WriteJourneyRequest {
35017	s.Limits = v
35018	return s
35019}
35020
35021// SetLocalTime sets the LocalTime field's value.
35022func (s *WriteJourneyRequest) SetLocalTime(v bool) *WriteJourneyRequest {
35023	s.LocalTime = &v
35024	return s
35025}
35026
35027// SetName sets the Name field's value.
35028func (s *WriteJourneyRequest) SetName(v string) *WriteJourneyRequest {
35029	s.Name = &v
35030	return s
35031}
35032
35033// SetQuietTime sets the QuietTime field's value.
35034func (s *WriteJourneyRequest) SetQuietTime(v *QuietTime) *WriteJourneyRequest {
35035	s.QuietTime = v
35036	return s
35037}
35038
35039// SetRefreshFrequency sets the RefreshFrequency field's value.
35040func (s *WriteJourneyRequest) SetRefreshFrequency(v string) *WriteJourneyRequest {
35041	s.RefreshFrequency = &v
35042	return s
35043}
35044
35045// SetRefreshOnSegmentUpdate sets the RefreshOnSegmentUpdate field's value.
35046func (s *WriteJourneyRequest) SetRefreshOnSegmentUpdate(v bool) *WriteJourneyRequest {
35047	s.RefreshOnSegmentUpdate = &v
35048	return s
35049}
35050
35051// SetSchedule sets the Schedule field's value.
35052func (s *WriteJourneyRequest) SetSchedule(v *JourneySchedule) *WriteJourneyRequest {
35053	s.Schedule = v
35054	return s
35055}
35056
35057// SetStartActivity sets the StartActivity field's value.
35058func (s *WriteJourneyRequest) SetStartActivity(v string) *WriteJourneyRequest {
35059	s.StartActivity = &v
35060	return s
35061}
35062
35063// SetStartCondition sets the StartCondition field's value.
35064func (s *WriteJourneyRequest) SetStartCondition(v *StartCondition) *WriteJourneyRequest {
35065	s.StartCondition = v
35066	return s
35067}
35068
35069// SetState sets the State field's value.
35070func (s *WriteJourneyRequest) SetState(v string) *WriteJourneyRequest {
35071	s.State = &v
35072	return s
35073}
35074
35075// SetWaitForQuietTime sets the WaitForQuietTime field's value.
35076func (s *WriteJourneyRequest) SetWaitForQuietTime(v bool) *WriteJourneyRequest {
35077	s.WaitForQuietTime = &v
35078	return s
35079}
35080
35081// Specifies the configuration, dimension, and other settings for a segment.
35082// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
35083// object, but not both.
35084type WriteSegmentRequest struct {
35085	_ struct{} `type:"structure"`
35086
35087	// The criteria that define the dimensions for the segment.
35088	Dimensions *SegmentDimensions `type:"structure"`
35089
35090	// The name of the segment.
35091	Name *string `type:"string"`
35092
35093	// The segment group to use and the dimensions to apply to the group's base
35094	// segments in order to build the segment. A segment group can consist of zero
35095	// or more base segments. Your request can include only one segment group.
35096	SegmentGroups *SegmentGroupList `type:"structure"`
35097
35098	// A string-to-string map of key-value pairs that defines the tags to associate
35099	// with the segment. Each tag consists of a required tag key and an associated
35100	// tag value.
35101	Tags map[string]*string `locationName:"tags" type:"map"`
35102}
35103
35104// String returns the string representation
35105func (s WriteSegmentRequest) String() string {
35106	return awsutil.Prettify(s)
35107}
35108
35109// GoString returns the string representation
35110func (s WriteSegmentRequest) GoString() string {
35111	return s.String()
35112}
35113
35114// Validate inspects the fields of the type to determine if they are valid.
35115func (s *WriteSegmentRequest) Validate() error {
35116	invalidParams := request.ErrInvalidParams{Context: "WriteSegmentRequest"}
35117	if s.Dimensions != nil {
35118		if err := s.Dimensions.Validate(); err != nil {
35119			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
35120		}
35121	}
35122	if s.SegmentGroups != nil {
35123		if err := s.SegmentGroups.Validate(); err != nil {
35124			invalidParams.AddNested("SegmentGroups", err.(request.ErrInvalidParams))
35125		}
35126	}
35127
35128	if invalidParams.Len() > 0 {
35129		return invalidParams
35130	}
35131	return nil
35132}
35133
35134// SetDimensions sets the Dimensions field's value.
35135func (s *WriteSegmentRequest) SetDimensions(v *SegmentDimensions) *WriteSegmentRequest {
35136	s.Dimensions = v
35137	return s
35138}
35139
35140// SetName sets the Name field's value.
35141func (s *WriteSegmentRequest) SetName(v string) *WriteSegmentRequest {
35142	s.Name = &v
35143	return s
35144}
35145
35146// SetSegmentGroups sets the SegmentGroups field's value.
35147func (s *WriteSegmentRequest) SetSegmentGroups(v *SegmentGroupList) *WriteSegmentRequest {
35148	s.SegmentGroups = v
35149	return s
35150}
35151
35152// SetTags sets the Tags field's value.
35153func (s *WriteSegmentRequest) SetTags(v map[string]*string) *WriteSegmentRequest {
35154	s.Tags = v
35155	return s
35156}
35157
35158// Specifies the settings for a campaign treatment. A treatment is a variation
35159// of a campaign that's used for A/B testing of a campaign.
35160type WriteTreatmentResource struct {
35161	_ struct{} `type:"structure"`
35162
35163	// The delivery configuration settings for sending the treatment through a custom
35164	// channel. This object is required if the MessageConfiguration object for the
35165	// treatment specifies a CustomMessage object.
35166	CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"`
35167
35168	// The message configuration settings for the treatment.
35169	MessageConfiguration *MessageConfiguration `type:"structure"`
35170
35171	// The schedule settings for the treatment.
35172	Schedule *Schedule `type:"structure"`
35173
35174	// The allocated percentage of users (segment members) to send the treatment
35175	// to.
35176	//
35177	// SizePercent is a required field
35178	SizePercent *int64 `type:"integer" required:"true"`
35179
35180	// The message template to use for the treatment.
35181	TemplateConfiguration *TemplateConfiguration `type:"structure"`
35182
35183	// A custom description of the treatment.
35184	TreatmentDescription *string `type:"string"`
35185
35186	// A custom name for the treatment.
35187	TreatmentName *string `type:"string"`
35188}
35189
35190// String returns the string representation
35191func (s WriteTreatmentResource) String() string {
35192	return awsutil.Prettify(s)
35193}
35194
35195// GoString returns the string representation
35196func (s WriteTreatmentResource) GoString() string {
35197	return s.String()
35198}
35199
35200// Validate inspects the fields of the type to determine if they are valid.
35201func (s *WriteTreatmentResource) Validate() error {
35202	invalidParams := request.ErrInvalidParams{Context: "WriteTreatmentResource"}
35203	if s.SizePercent == nil {
35204		invalidParams.Add(request.NewErrParamRequired("SizePercent"))
35205	}
35206	if s.CustomDeliveryConfiguration != nil {
35207		if err := s.CustomDeliveryConfiguration.Validate(); err != nil {
35208			invalidParams.AddNested("CustomDeliveryConfiguration", err.(request.ErrInvalidParams))
35209		}
35210	}
35211	if s.Schedule != nil {
35212		if err := s.Schedule.Validate(); err != nil {
35213			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
35214		}
35215	}
35216
35217	if invalidParams.Len() > 0 {
35218		return invalidParams
35219	}
35220	return nil
35221}
35222
35223// SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value.
35224func (s *WriteTreatmentResource) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *WriteTreatmentResource {
35225	s.CustomDeliveryConfiguration = v
35226	return s
35227}
35228
35229// SetMessageConfiguration sets the MessageConfiguration field's value.
35230func (s *WriteTreatmentResource) SetMessageConfiguration(v *MessageConfiguration) *WriteTreatmentResource {
35231	s.MessageConfiguration = v
35232	return s
35233}
35234
35235// SetSchedule sets the Schedule field's value.
35236func (s *WriteTreatmentResource) SetSchedule(v *Schedule) *WriteTreatmentResource {
35237	s.Schedule = v
35238	return s
35239}
35240
35241// SetSizePercent sets the SizePercent field's value.
35242func (s *WriteTreatmentResource) SetSizePercent(v int64) *WriteTreatmentResource {
35243	s.SizePercent = &v
35244	return s
35245}
35246
35247// SetTemplateConfiguration sets the TemplateConfiguration field's value.
35248func (s *WriteTreatmentResource) SetTemplateConfiguration(v *TemplateConfiguration) *WriteTreatmentResource {
35249	s.TemplateConfiguration = v
35250	return s
35251}
35252
35253// SetTreatmentDescription sets the TreatmentDescription field's value.
35254func (s *WriteTreatmentResource) SetTreatmentDescription(v string) *WriteTreatmentResource {
35255	s.TreatmentDescription = &v
35256	return s
35257}
35258
35259// SetTreatmentName sets the TreatmentName field's value.
35260func (s *WriteTreatmentResource) SetTreatmentName(v string) *WriteTreatmentResource {
35261	s.TreatmentName = &v
35262	return s
35263}
35264
35265const (
35266	// ActionOpenApp is a Action enum value
35267	ActionOpenApp = "OPEN_APP"
35268
35269	// ActionDeepLink is a Action enum value
35270	ActionDeepLink = "DEEP_LINK"
35271
35272	// ActionUrl is a Action enum value
35273	ActionUrl = "URL"
35274)
35275
35276// Action_Values returns all elements of the Action enum
35277func Action_Values() []string {
35278	return []string{
35279		ActionOpenApp,
35280		ActionDeepLink,
35281		ActionUrl,
35282	}
35283}
35284
35285const (
35286	// AttributeTypeInclusive is a AttributeType enum value
35287	AttributeTypeInclusive = "INCLUSIVE"
35288
35289	// AttributeTypeExclusive is a AttributeType enum value
35290	AttributeTypeExclusive = "EXCLUSIVE"
35291
35292	// AttributeTypeContains is a AttributeType enum value
35293	AttributeTypeContains = "CONTAINS"
35294
35295	// AttributeTypeBefore is a AttributeType enum value
35296	AttributeTypeBefore = "BEFORE"
35297
35298	// AttributeTypeAfter is a AttributeType enum value
35299	AttributeTypeAfter = "AFTER"
35300
35301	// AttributeTypeBetween is a AttributeType enum value
35302	AttributeTypeBetween = "BETWEEN"
35303
35304	// AttributeTypeOn is a AttributeType enum value
35305	AttributeTypeOn = "ON"
35306)
35307
35308// AttributeType_Values returns all elements of the AttributeType enum
35309func AttributeType_Values() []string {
35310	return []string{
35311		AttributeTypeInclusive,
35312		AttributeTypeExclusive,
35313		AttributeTypeContains,
35314		AttributeTypeBefore,
35315		AttributeTypeAfter,
35316		AttributeTypeBetween,
35317		AttributeTypeOn,
35318	}
35319}
35320
35321const (
35322	// CampaignStatusScheduled is a CampaignStatus enum value
35323	CampaignStatusScheduled = "SCHEDULED"
35324
35325	// CampaignStatusExecuting is a CampaignStatus enum value
35326	CampaignStatusExecuting = "EXECUTING"
35327
35328	// CampaignStatusPendingNextRun is a CampaignStatus enum value
35329	CampaignStatusPendingNextRun = "PENDING_NEXT_RUN"
35330
35331	// CampaignStatusCompleted is a CampaignStatus enum value
35332	CampaignStatusCompleted = "COMPLETED"
35333
35334	// CampaignStatusPaused is a CampaignStatus enum value
35335	CampaignStatusPaused = "PAUSED"
35336
35337	// CampaignStatusDeleted is a CampaignStatus enum value
35338	CampaignStatusDeleted = "DELETED"
35339
35340	// CampaignStatusInvalid is a CampaignStatus enum value
35341	CampaignStatusInvalid = "INVALID"
35342)
35343
35344// CampaignStatus_Values returns all elements of the CampaignStatus enum
35345func CampaignStatus_Values() []string {
35346	return []string{
35347		CampaignStatusScheduled,
35348		CampaignStatusExecuting,
35349		CampaignStatusPendingNextRun,
35350		CampaignStatusCompleted,
35351		CampaignStatusPaused,
35352		CampaignStatusDeleted,
35353		CampaignStatusInvalid,
35354	}
35355}
35356
35357const (
35358	// ChannelTypePush is a ChannelType enum value
35359	ChannelTypePush = "PUSH"
35360
35361	// ChannelTypeGcm is a ChannelType enum value
35362	ChannelTypeGcm = "GCM"
35363
35364	// ChannelTypeApns is a ChannelType enum value
35365	ChannelTypeApns = "APNS"
35366
35367	// ChannelTypeApnsSandbox is a ChannelType enum value
35368	ChannelTypeApnsSandbox = "APNS_SANDBOX"
35369
35370	// ChannelTypeApnsVoip is a ChannelType enum value
35371	ChannelTypeApnsVoip = "APNS_VOIP"
35372
35373	// ChannelTypeApnsVoipSandbox is a ChannelType enum value
35374	ChannelTypeApnsVoipSandbox = "APNS_VOIP_SANDBOX"
35375
35376	// ChannelTypeAdm is a ChannelType enum value
35377	ChannelTypeAdm = "ADM"
35378
35379	// ChannelTypeSms is a ChannelType enum value
35380	ChannelTypeSms = "SMS"
35381
35382	// ChannelTypeVoice is a ChannelType enum value
35383	ChannelTypeVoice = "VOICE"
35384
35385	// ChannelTypeEmail is a ChannelType enum value
35386	ChannelTypeEmail = "EMAIL"
35387
35388	// ChannelTypeBaidu is a ChannelType enum value
35389	ChannelTypeBaidu = "BAIDU"
35390
35391	// ChannelTypeCustom is a ChannelType enum value
35392	ChannelTypeCustom = "CUSTOM"
35393)
35394
35395// ChannelType_Values returns all elements of the ChannelType enum
35396func ChannelType_Values() []string {
35397	return []string{
35398		ChannelTypePush,
35399		ChannelTypeGcm,
35400		ChannelTypeApns,
35401		ChannelTypeApnsSandbox,
35402		ChannelTypeApnsVoip,
35403		ChannelTypeApnsVoipSandbox,
35404		ChannelTypeAdm,
35405		ChannelTypeSms,
35406		ChannelTypeVoice,
35407		ChannelTypeEmail,
35408		ChannelTypeBaidu,
35409		ChannelTypeCustom,
35410	}
35411}
35412
35413const (
35414	// DeliveryStatusSuccessful is a DeliveryStatus enum value
35415	DeliveryStatusSuccessful = "SUCCESSFUL"
35416
35417	// DeliveryStatusThrottled is a DeliveryStatus enum value
35418	DeliveryStatusThrottled = "THROTTLED"
35419
35420	// DeliveryStatusTemporaryFailure is a DeliveryStatus enum value
35421	DeliveryStatusTemporaryFailure = "TEMPORARY_FAILURE"
35422
35423	// DeliveryStatusPermanentFailure is a DeliveryStatus enum value
35424	DeliveryStatusPermanentFailure = "PERMANENT_FAILURE"
35425
35426	// DeliveryStatusUnknownFailure is a DeliveryStatus enum value
35427	DeliveryStatusUnknownFailure = "UNKNOWN_FAILURE"
35428
35429	// DeliveryStatusOptOut is a DeliveryStatus enum value
35430	DeliveryStatusOptOut = "OPT_OUT"
35431
35432	// DeliveryStatusDuplicate is a DeliveryStatus enum value
35433	DeliveryStatusDuplicate = "DUPLICATE"
35434)
35435
35436// DeliveryStatus_Values returns all elements of the DeliveryStatus enum
35437func DeliveryStatus_Values() []string {
35438	return []string{
35439		DeliveryStatusSuccessful,
35440		DeliveryStatusThrottled,
35441		DeliveryStatusTemporaryFailure,
35442		DeliveryStatusPermanentFailure,
35443		DeliveryStatusUnknownFailure,
35444		DeliveryStatusOptOut,
35445		DeliveryStatusDuplicate,
35446	}
35447}
35448
35449const (
35450	// DimensionTypeInclusive is a DimensionType enum value
35451	DimensionTypeInclusive = "INCLUSIVE"
35452
35453	// DimensionTypeExclusive is a DimensionType enum value
35454	DimensionTypeExclusive = "EXCLUSIVE"
35455)
35456
35457// DimensionType_Values returns all elements of the DimensionType enum
35458func DimensionType_Values() []string {
35459	return []string{
35460		DimensionTypeInclusive,
35461		DimensionTypeExclusive,
35462	}
35463}
35464
35465const (
35466	// DurationHr24 is a Duration enum value
35467	DurationHr24 = "HR_24"
35468
35469	// DurationDay7 is a Duration enum value
35470	DurationDay7 = "DAY_7"
35471
35472	// DurationDay14 is a Duration enum value
35473	DurationDay14 = "DAY_14"
35474
35475	// DurationDay30 is a Duration enum value
35476	DurationDay30 = "DAY_30"
35477)
35478
35479// Duration_Values returns all elements of the Duration enum
35480func Duration_Values() []string {
35481	return []string{
35482		DurationHr24,
35483		DurationDay7,
35484		DurationDay14,
35485		DurationDay30,
35486	}
35487}
35488
35489const (
35490	// EndpointTypesElementPush is a EndpointTypesElement enum value
35491	EndpointTypesElementPush = "PUSH"
35492
35493	// EndpointTypesElementGcm is a EndpointTypesElement enum value
35494	EndpointTypesElementGcm = "GCM"
35495
35496	// EndpointTypesElementApns is a EndpointTypesElement enum value
35497	EndpointTypesElementApns = "APNS"
35498
35499	// EndpointTypesElementApnsSandbox is a EndpointTypesElement enum value
35500	EndpointTypesElementApnsSandbox = "APNS_SANDBOX"
35501
35502	// EndpointTypesElementApnsVoip is a EndpointTypesElement enum value
35503	EndpointTypesElementApnsVoip = "APNS_VOIP"
35504
35505	// EndpointTypesElementApnsVoipSandbox is a EndpointTypesElement enum value
35506	EndpointTypesElementApnsVoipSandbox = "APNS_VOIP_SANDBOX"
35507
35508	// EndpointTypesElementAdm is a EndpointTypesElement enum value
35509	EndpointTypesElementAdm = "ADM"
35510
35511	// EndpointTypesElementSms is a EndpointTypesElement enum value
35512	EndpointTypesElementSms = "SMS"
35513
35514	// EndpointTypesElementVoice is a EndpointTypesElement enum value
35515	EndpointTypesElementVoice = "VOICE"
35516
35517	// EndpointTypesElementEmail is a EndpointTypesElement enum value
35518	EndpointTypesElementEmail = "EMAIL"
35519
35520	// EndpointTypesElementBaidu is a EndpointTypesElement enum value
35521	EndpointTypesElementBaidu = "BAIDU"
35522
35523	// EndpointTypesElementCustom is a EndpointTypesElement enum value
35524	EndpointTypesElementCustom = "CUSTOM"
35525)
35526
35527// EndpointTypesElement_Values returns all elements of the EndpointTypesElement enum
35528func EndpointTypesElement_Values() []string {
35529	return []string{
35530		EndpointTypesElementPush,
35531		EndpointTypesElementGcm,
35532		EndpointTypesElementApns,
35533		EndpointTypesElementApnsSandbox,
35534		EndpointTypesElementApnsVoip,
35535		EndpointTypesElementApnsVoipSandbox,
35536		EndpointTypesElementAdm,
35537		EndpointTypesElementSms,
35538		EndpointTypesElementVoice,
35539		EndpointTypesElementEmail,
35540		EndpointTypesElementBaidu,
35541		EndpointTypesElementCustom,
35542	}
35543}
35544
35545const (
35546	// FilterTypeSystem is a FilterType enum value
35547	FilterTypeSystem = "SYSTEM"
35548
35549	// FilterTypeEndpoint is a FilterType enum value
35550	FilterTypeEndpoint = "ENDPOINT"
35551)
35552
35553// FilterType_Values returns all elements of the FilterType enum
35554func FilterType_Values() []string {
35555	return []string{
35556		FilterTypeSystem,
35557		FilterTypeEndpoint,
35558	}
35559}
35560
35561const (
35562	// FormatCsv is a Format enum value
35563	FormatCsv = "CSV"
35564
35565	// FormatJson is a Format enum value
35566	FormatJson = "JSON"
35567)
35568
35569// Format_Values returns all elements of the Format enum
35570func Format_Values() []string {
35571	return []string{
35572		FormatCsv,
35573		FormatJson,
35574	}
35575}
35576
35577const (
35578	// FrequencyOnce is a Frequency enum value
35579	FrequencyOnce = "ONCE"
35580
35581	// FrequencyHourly is a Frequency enum value
35582	FrequencyHourly = "HOURLY"
35583
35584	// FrequencyDaily is a Frequency enum value
35585	FrequencyDaily = "DAILY"
35586
35587	// FrequencyWeekly is a Frequency enum value
35588	FrequencyWeekly = "WEEKLY"
35589
35590	// FrequencyMonthly is a Frequency enum value
35591	FrequencyMonthly = "MONTHLY"
35592
35593	// FrequencyEvent is a Frequency enum value
35594	FrequencyEvent = "EVENT"
35595)
35596
35597// Frequency_Values returns all elements of the Frequency enum
35598func Frequency_Values() []string {
35599	return []string{
35600		FrequencyOnce,
35601		FrequencyHourly,
35602		FrequencyDaily,
35603		FrequencyWeekly,
35604		FrequencyMonthly,
35605		FrequencyEvent,
35606	}
35607}
35608
35609const (
35610	// IncludeAll is a Include enum value
35611	IncludeAll = "ALL"
35612
35613	// IncludeAny is a Include enum value
35614	IncludeAny = "ANY"
35615
35616	// IncludeNone is a Include enum value
35617	IncludeNone = "NONE"
35618)
35619
35620// Include_Values returns all elements of the Include enum
35621func Include_Values() []string {
35622	return []string{
35623		IncludeAll,
35624		IncludeAny,
35625		IncludeNone,
35626	}
35627}
35628
35629const (
35630	// JobStatusCreated is a JobStatus enum value
35631	JobStatusCreated = "CREATED"
35632
35633	// JobStatusPreparingForInitialization is a JobStatus enum value
35634	JobStatusPreparingForInitialization = "PREPARING_FOR_INITIALIZATION"
35635
35636	// JobStatusInitializing is a JobStatus enum value
35637	JobStatusInitializing = "INITIALIZING"
35638
35639	// JobStatusProcessing is a JobStatus enum value
35640	JobStatusProcessing = "PROCESSING"
35641
35642	// JobStatusPendingJob is a JobStatus enum value
35643	JobStatusPendingJob = "PENDING_JOB"
35644
35645	// JobStatusCompleting is a JobStatus enum value
35646	JobStatusCompleting = "COMPLETING"
35647
35648	// JobStatusCompleted is a JobStatus enum value
35649	JobStatusCompleted = "COMPLETED"
35650
35651	// JobStatusFailing is a JobStatus enum value
35652	JobStatusFailing = "FAILING"
35653
35654	// JobStatusFailed is a JobStatus enum value
35655	JobStatusFailed = "FAILED"
35656)
35657
35658// JobStatus_Values returns all elements of the JobStatus enum
35659func JobStatus_Values() []string {
35660	return []string{
35661		JobStatusCreated,
35662		JobStatusPreparingForInitialization,
35663		JobStatusInitializing,
35664		JobStatusProcessing,
35665		JobStatusPendingJob,
35666		JobStatusCompleting,
35667		JobStatusCompleted,
35668		JobStatusFailing,
35669		JobStatusFailed,
35670	}
35671}
35672
35673const (
35674	// MessageTypeTransactional is a MessageType enum value
35675	MessageTypeTransactional = "TRANSACTIONAL"
35676
35677	// MessageTypePromotional is a MessageType enum value
35678	MessageTypePromotional = "PROMOTIONAL"
35679)
35680
35681// MessageType_Values returns all elements of the MessageType enum
35682func MessageType_Values() []string {
35683	return []string{
35684		MessageTypeTransactional,
35685		MessageTypePromotional,
35686	}
35687}
35688
35689const (
35690	// ModeDelivery is a Mode enum value
35691	ModeDelivery = "DELIVERY"
35692
35693	// ModeFilter is a Mode enum value
35694	ModeFilter = "FILTER"
35695)
35696
35697// Mode_Values returns all elements of the Mode enum
35698func Mode_Values() []string {
35699	return []string{
35700		ModeDelivery,
35701		ModeFilter,
35702	}
35703}
35704
35705const (
35706	// OperatorAll is a Operator enum value
35707	OperatorAll = "ALL"
35708
35709	// OperatorAny is a Operator enum value
35710	OperatorAny = "ANY"
35711)
35712
35713// Operator_Values returns all elements of the Operator enum
35714func Operator_Values() []string {
35715	return []string{
35716		OperatorAll,
35717		OperatorAny,
35718	}
35719}
35720
35721const (
35722	// RecencyTypeActive is a RecencyType enum value
35723	RecencyTypeActive = "ACTIVE"
35724
35725	// RecencyTypeInactive is a RecencyType enum value
35726	RecencyTypeInactive = "INACTIVE"
35727)
35728
35729// RecencyType_Values returns all elements of the RecencyType enum
35730func RecencyType_Values() []string {
35731	return []string{
35732		RecencyTypeActive,
35733		RecencyTypeInactive,
35734	}
35735}
35736
35737const (
35738	// SegmentTypeDimensional is a SegmentType enum value
35739	SegmentTypeDimensional = "DIMENSIONAL"
35740
35741	// SegmentTypeImport is a SegmentType enum value
35742	SegmentTypeImport = "IMPORT"
35743)
35744
35745// SegmentType_Values returns all elements of the SegmentType enum
35746func SegmentType_Values() []string {
35747	return []string{
35748		SegmentTypeDimensional,
35749		SegmentTypeImport,
35750	}
35751}
35752
35753const (
35754	// SourceTypeAll is a SourceType enum value
35755	SourceTypeAll = "ALL"
35756
35757	// SourceTypeAny is a SourceType enum value
35758	SourceTypeAny = "ANY"
35759
35760	// SourceTypeNone is a SourceType enum value
35761	SourceTypeNone = "NONE"
35762)
35763
35764// SourceType_Values returns all elements of the SourceType enum
35765func SourceType_Values() []string {
35766	return []string{
35767		SourceTypeAll,
35768		SourceTypeAny,
35769		SourceTypeNone,
35770	}
35771}
35772
35773const (
35774	// StateDraft is a State enum value
35775	StateDraft = "DRAFT"
35776
35777	// StateActive is a State enum value
35778	StateActive = "ACTIVE"
35779
35780	// StateCompleted is a State enum value
35781	StateCompleted = "COMPLETED"
35782
35783	// StateCancelled is a State enum value
35784	StateCancelled = "CANCELLED"
35785
35786	// StateClosed is a State enum value
35787	StateClosed = "CLOSED"
35788
35789	// StatePaused is a State enum value
35790	StatePaused = "PAUSED"
35791)
35792
35793// State_Values returns all elements of the State enum
35794func State_Values() []string {
35795	return []string{
35796		StateDraft,
35797		StateActive,
35798		StateCompleted,
35799		StateCancelled,
35800		StateClosed,
35801		StatePaused,
35802	}
35803}
35804
35805const (
35806	// TemplateTypeEmail is a TemplateType enum value
35807	TemplateTypeEmail = "EMAIL"
35808
35809	// TemplateTypeSms is a TemplateType enum value
35810	TemplateTypeSms = "SMS"
35811
35812	// TemplateTypeVoice is a TemplateType enum value
35813	TemplateTypeVoice = "VOICE"
35814
35815	// TemplateTypePush is a TemplateType enum value
35816	TemplateTypePush = "PUSH"
35817)
35818
35819// TemplateType_Values returns all elements of the TemplateType enum
35820func TemplateType_Values() []string {
35821	return []string{
35822		TemplateTypeEmail,
35823		TemplateTypeSms,
35824		TemplateTypeVoice,
35825		TemplateTypePush,
35826	}
35827}
35828
35829const (
35830	// TypeAll is a Type enum value
35831	TypeAll = "ALL"
35832
35833	// TypeAny is a Type enum value
35834	TypeAny = "ANY"
35835
35836	// TypeNone is a Type enum value
35837	TypeNone = "NONE"
35838)
35839
35840// Type_Values returns all elements of the Type enum
35841func Type_Values() []string {
35842	return []string{
35843		TypeAll,
35844		TypeAny,
35845		TypeNone,
35846	}
35847}
35848