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 opCreateInAppTemplate = "CreateInAppTemplate"
497
498// CreateInAppTemplateRequest generates a "aws/request.Request" representing the
499// client's request for the CreateInAppTemplate operation. The "output" return
500// value will be populated with the request's response once the request completes
501// successfully.
502//
503// Use "Send" method on the returned Request to send the API call to the service.
504// the "output" return value is not valid until after Send returns without error.
505//
506// See CreateInAppTemplate for more information on using the CreateInAppTemplate
507// API call, and error handling.
508//
509// This method is useful when you want to inject custom logic or configuration
510// into the SDK's request lifecycle. Such as custom headers, or retry logic.
511//
512//
513//    // Example sending a request using the CreateInAppTemplateRequest method.
514//    req, resp := client.CreateInAppTemplateRequest(params)
515//
516//    err := req.Send()
517//    if err == nil { // resp is now filled
518//        fmt.Println(resp)
519//    }
520//
521// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateInAppTemplate
522func (c *Pinpoint) CreateInAppTemplateRequest(input *CreateInAppTemplateInput) (req *request.Request, output *CreateInAppTemplateOutput) {
523	op := &request.Operation{
524		Name:       opCreateInAppTemplate,
525		HTTPMethod: "POST",
526		HTTPPath:   "/v1/templates/{template-name}/inapp",
527	}
528
529	if input == nil {
530		input = &CreateInAppTemplateInput{}
531	}
532
533	output = &CreateInAppTemplateOutput{}
534	req = c.newRequest(op, input, output)
535	return
536}
537
538// CreateInAppTemplate API operation for Amazon Pinpoint.
539//
540// Creates a new message template for messages using the in-app message channel.
541//
542// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
543// with awserr.Error's Code and Message methods to get detailed information about
544// the error.
545//
546// See the AWS API reference guide for Amazon Pinpoint's
547// API operation CreateInAppTemplate for usage and error information.
548//
549// Returned Error Types:
550//   * MethodNotAllowedException
551//   Provides information about an API request or response.
552//
553//   * TooManyRequestsException
554//   Provides information about an API request or response.
555//
556//   * BadRequestException
557//   Provides information about an API request or response.
558//
559//   * InternalServerErrorException
560//   Provides information about an API request or response.
561//
562//   * ForbiddenException
563//   Provides information about an API request or response.
564//
565// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateInAppTemplate
566func (c *Pinpoint) CreateInAppTemplate(input *CreateInAppTemplateInput) (*CreateInAppTemplateOutput, error) {
567	req, out := c.CreateInAppTemplateRequest(input)
568	return out, req.Send()
569}
570
571// CreateInAppTemplateWithContext is the same as CreateInAppTemplate with the addition of
572// the ability to pass a context and additional request options.
573//
574// See CreateInAppTemplate for details on how to use this API operation.
575//
576// The context must be non-nil and will be used for request cancellation. If
577// the context is nil a panic will occur. In the future the SDK may create
578// sub-contexts for http.Requests. See https://golang.org/pkg/context/
579// for more information on using Contexts.
580func (c *Pinpoint) CreateInAppTemplateWithContext(ctx aws.Context, input *CreateInAppTemplateInput, opts ...request.Option) (*CreateInAppTemplateOutput, error) {
581	req, out := c.CreateInAppTemplateRequest(input)
582	req.SetContext(ctx)
583	req.ApplyOptions(opts...)
584	return out, req.Send()
585}
586
587const opCreateJourney = "CreateJourney"
588
589// CreateJourneyRequest generates a "aws/request.Request" representing the
590// client's request for the CreateJourney operation. The "output" return
591// value will be populated with the request's response once the request completes
592// successfully.
593//
594// Use "Send" method on the returned Request to send the API call to the service.
595// the "output" return value is not valid until after Send returns without error.
596//
597// See CreateJourney for more information on using the CreateJourney
598// API call, and error handling.
599//
600// This method is useful when you want to inject custom logic or configuration
601// into the SDK's request lifecycle. Such as custom headers, or retry logic.
602//
603//
604//    // Example sending a request using the CreateJourneyRequest method.
605//    req, resp := client.CreateJourneyRequest(params)
606//
607//    err := req.Send()
608//    if err == nil { // resp is now filled
609//        fmt.Println(resp)
610//    }
611//
612// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateJourney
613func (c *Pinpoint) CreateJourneyRequest(input *CreateJourneyInput) (req *request.Request, output *CreateJourneyOutput) {
614	op := &request.Operation{
615		Name:       opCreateJourney,
616		HTTPMethod: "POST",
617		HTTPPath:   "/v1/apps/{application-id}/journeys",
618	}
619
620	if input == nil {
621		input = &CreateJourneyInput{}
622	}
623
624	output = &CreateJourneyOutput{}
625	req = c.newRequest(op, input, output)
626	return
627}
628
629// CreateJourney API operation for Amazon Pinpoint.
630//
631// Creates a journey for an application.
632//
633// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
634// with awserr.Error's Code and Message methods to get detailed information about
635// the error.
636//
637// See the AWS API reference guide for Amazon Pinpoint's
638// API operation CreateJourney for usage and error information.
639//
640// Returned Error Types:
641//   * BadRequestException
642//   Provides information about an API request or response.
643//
644//   * InternalServerErrorException
645//   Provides information about an API request or response.
646//
647//   * PayloadTooLargeException
648//   Provides information about an API request or response.
649//
650//   * ForbiddenException
651//   Provides information about an API request or response.
652//
653//   * NotFoundException
654//   Provides information about an API request or response.
655//
656//   * MethodNotAllowedException
657//   Provides information about an API request or response.
658//
659//   * TooManyRequestsException
660//   Provides information about an API request or response.
661//
662// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateJourney
663func (c *Pinpoint) CreateJourney(input *CreateJourneyInput) (*CreateJourneyOutput, error) {
664	req, out := c.CreateJourneyRequest(input)
665	return out, req.Send()
666}
667
668// CreateJourneyWithContext is the same as CreateJourney with the addition of
669// the ability to pass a context and additional request options.
670//
671// See CreateJourney for details on how to use this API operation.
672//
673// The context must be non-nil and will be used for request cancellation. If
674// the context is nil a panic will occur. In the future the SDK may create
675// sub-contexts for http.Requests. See https://golang.org/pkg/context/
676// for more information on using Contexts.
677func (c *Pinpoint) CreateJourneyWithContext(ctx aws.Context, input *CreateJourneyInput, opts ...request.Option) (*CreateJourneyOutput, error) {
678	req, out := c.CreateJourneyRequest(input)
679	req.SetContext(ctx)
680	req.ApplyOptions(opts...)
681	return out, req.Send()
682}
683
684const opCreatePushTemplate = "CreatePushTemplate"
685
686// CreatePushTemplateRequest generates a "aws/request.Request" representing the
687// client's request for the CreatePushTemplate operation. The "output" return
688// value will be populated with the request's response once the request completes
689// successfully.
690//
691// Use "Send" method on the returned Request to send the API call to the service.
692// the "output" return value is not valid until after Send returns without error.
693//
694// See CreatePushTemplate for more information on using the CreatePushTemplate
695// API call, and error handling.
696//
697// This method is useful when you want to inject custom logic or configuration
698// into the SDK's request lifecycle. Such as custom headers, or retry logic.
699//
700//
701//    // Example sending a request using the CreatePushTemplateRequest method.
702//    req, resp := client.CreatePushTemplateRequest(params)
703//
704//    err := req.Send()
705//    if err == nil { // resp is now filled
706//        fmt.Println(resp)
707//    }
708//
709// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreatePushTemplate
710func (c *Pinpoint) CreatePushTemplateRequest(input *CreatePushTemplateInput) (req *request.Request, output *CreatePushTemplateOutput) {
711	op := &request.Operation{
712		Name:       opCreatePushTemplate,
713		HTTPMethod: "POST",
714		HTTPPath:   "/v1/templates/{template-name}/push",
715	}
716
717	if input == nil {
718		input = &CreatePushTemplateInput{}
719	}
720
721	output = &CreatePushTemplateOutput{}
722	req = c.newRequest(op, input, output)
723	return
724}
725
726// CreatePushTemplate API operation for Amazon Pinpoint.
727//
728// Creates a message template for messages that are sent through a push notification
729// channel.
730//
731// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
732// with awserr.Error's Code and Message methods to get detailed information about
733// the error.
734//
735// See the AWS API reference guide for Amazon Pinpoint's
736// API operation CreatePushTemplate for usage and error information.
737//
738// Returned Error Types:
739//   * MethodNotAllowedException
740//   Provides information about an API request or response.
741//
742//   * TooManyRequestsException
743//   Provides information about an API request or response.
744//
745//   * BadRequestException
746//   Provides information about an API request or response.
747//
748//   * InternalServerErrorException
749//   Provides information about an API request or response.
750//
751//   * ForbiddenException
752//   Provides information about an API request or response.
753//
754// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreatePushTemplate
755func (c *Pinpoint) CreatePushTemplate(input *CreatePushTemplateInput) (*CreatePushTemplateOutput, error) {
756	req, out := c.CreatePushTemplateRequest(input)
757	return out, req.Send()
758}
759
760// CreatePushTemplateWithContext is the same as CreatePushTemplate with the addition of
761// the ability to pass a context and additional request options.
762//
763// See CreatePushTemplate for details on how to use this API operation.
764//
765// The context must be non-nil and will be used for request cancellation. If
766// the context is nil a panic will occur. In the future the SDK may create
767// sub-contexts for http.Requests. See https://golang.org/pkg/context/
768// for more information on using Contexts.
769func (c *Pinpoint) CreatePushTemplateWithContext(ctx aws.Context, input *CreatePushTemplateInput, opts ...request.Option) (*CreatePushTemplateOutput, error) {
770	req, out := c.CreatePushTemplateRequest(input)
771	req.SetContext(ctx)
772	req.ApplyOptions(opts...)
773	return out, req.Send()
774}
775
776const opCreateRecommenderConfiguration = "CreateRecommenderConfiguration"
777
778// CreateRecommenderConfigurationRequest generates a "aws/request.Request" representing the
779// client's request for the CreateRecommenderConfiguration operation. The "output" return
780// value will be populated with the request's response once the request completes
781// successfully.
782//
783// Use "Send" method on the returned Request to send the API call to the service.
784// the "output" return value is not valid until after Send returns without error.
785//
786// See CreateRecommenderConfiguration for more information on using the CreateRecommenderConfiguration
787// API call, and error handling.
788//
789// This method is useful when you want to inject custom logic or configuration
790// into the SDK's request lifecycle. Such as custom headers, or retry logic.
791//
792//
793//    // Example sending a request using the CreateRecommenderConfigurationRequest method.
794//    req, resp := client.CreateRecommenderConfigurationRequest(params)
795//
796//    err := req.Send()
797//    if err == nil { // resp is now filled
798//        fmt.Println(resp)
799//    }
800//
801// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateRecommenderConfiguration
802func (c *Pinpoint) CreateRecommenderConfigurationRequest(input *CreateRecommenderConfigurationInput) (req *request.Request, output *CreateRecommenderConfigurationOutput) {
803	op := &request.Operation{
804		Name:       opCreateRecommenderConfiguration,
805		HTTPMethod: "POST",
806		HTTPPath:   "/v1/recommenders",
807	}
808
809	if input == nil {
810		input = &CreateRecommenderConfigurationInput{}
811	}
812
813	output = &CreateRecommenderConfigurationOutput{}
814	req = c.newRequest(op, input, output)
815	return
816}
817
818// CreateRecommenderConfiguration API operation for Amazon Pinpoint.
819//
820// Creates an Amazon Pinpoint configuration for a recommender model.
821//
822// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
823// with awserr.Error's Code and Message methods to get detailed information about
824// the error.
825//
826// See the AWS API reference guide for Amazon Pinpoint's
827// API operation CreateRecommenderConfiguration for usage and error information.
828//
829// Returned Error Types:
830//   * BadRequestException
831//   Provides information about an API request or response.
832//
833//   * InternalServerErrorException
834//   Provides information about an API request or response.
835//
836//   * PayloadTooLargeException
837//   Provides information about an API request or response.
838//
839//   * ForbiddenException
840//   Provides information about an API request or response.
841//
842//   * NotFoundException
843//   Provides information about an API request or response.
844//
845//   * MethodNotAllowedException
846//   Provides information about an API request or response.
847//
848//   * TooManyRequestsException
849//   Provides information about an API request or response.
850//
851// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateRecommenderConfiguration
852func (c *Pinpoint) CreateRecommenderConfiguration(input *CreateRecommenderConfigurationInput) (*CreateRecommenderConfigurationOutput, error) {
853	req, out := c.CreateRecommenderConfigurationRequest(input)
854	return out, req.Send()
855}
856
857// CreateRecommenderConfigurationWithContext is the same as CreateRecommenderConfiguration with the addition of
858// the ability to pass a context and additional request options.
859//
860// See CreateRecommenderConfiguration for details on how to use this API operation.
861//
862// The context must be non-nil and will be used for request cancellation. If
863// the context is nil a panic will occur. In the future the SDK may create
864// sub-contexts for http.Requests. See https://golang.org/pkg/context/
865// for more information on using Contexts.
866func (c *Pinpoint) CreateRecommenderConfigurationWithContext(ctx aws.Context, input *CreateRecommenderConfigurationInput, opts ...request.Option) (*CreateRecommenderConfigurationOutput, error) {
867	req, out := c.CreateRecommenderConfigurationRequest(input)
868	req.SetContext(ctx)
869	req.ApplyOptions(opts...)
870	return out, req.Send()
871}
872
873const opCreateSegment = "CreateSegment"
874
875// CreateSegmentRequest generates a "aws/request.Request" representing the
876// client's request for the CreateSegment operation. The "output" return
877// value will be populated with the request's response once the request completes
878// successfully.
879//
880// Use "Send" method on the returned Request to send the API call to the service.
881// the "output" return value is not valid until after Send returns without error.
882//
883// See CreateSegment for more information on using the CreateSegment
884// API call, and error handling.
885//
886// This method is useful when you want to inject custom logic or configuration
887// into the SDK's request lifecycle. Such as custom headers, or retry logic.
888//
889//
890//    // Example sending a request using the CreateSegmentRequest method.
891//    req, resp := client.CreateSegmentRequest(params)
892//
893//    err := req.Send()
894//    if err == nil { // resp is now filled
895//        fmt.Println(resp)
896//    }
897//
898// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSegment
899func (c *Pinpoint) CreateSegmentRequest(input *CreateSegmentInput) (req *request.Request, output *CreateSegmentOutput) {
900	op := &request.Operation{
901		Name:       opCreateSegment,
902		HTTPMethod: "POST",
903		HTTPPath:   "/v1/apps/{application-id}/segments",
904	}
905
906	if input == nil {
907		input = &CreateSegmentInput{}
908	}
909
910	output = &CreateSegmentOutput{}
911	req = c.newRequest(op, input, output)
912	return
913}
914
915// CreateSegment API operation for Amazon Pinpoint.
916//
917// Creates a new segment for an application or updates the configuration, dimension,
918// and other settings for an existing segment that's associated with an application.
919//
920// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
921// with awserr.Error's Code and Message methods to get detailed information about
922// the error.
923//
924// See the AWS API reference guide for Amazon Pinpoint's
925// API operation CreateSegment for usage and error information.
926//
927// Returned Error Types:
928//   * BadRequestException
929//   Provides information about an API request or response.
930//
931//   * InternalServerErrorException
932//   Provides information about an API request or response.
933//
934//   * PayloadTooLargeException
935//   Provides information about an API request or response.
936//
937//   * ForbiddenException
938//   Provides information about an API request or response.
939//
940//   * NotFoundException
941//   Provides information about an API request or response.
942//
943//   * MethodNotAllowedException
944//   Provides information about an API request or response.
945//
946//   * TooManyRequestsException
947//   Provides information about an API request or response.
948//
949// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSegment
950func (c *Pinpoint) CreateSegment(input *CreateSegmentInput) (*CreateSegmentOutput, error) {
951	req, out := c.CreateSegmentRequest(input)
952	return out, req.Send()
953}
954
955// CreateSegmentWithContext is the same as CreateSegment with the addition of
956// the ability to pass a context and additional request options.
957//
958// See CreateSegment for details on how to use this API operation.
959//
960// The context must be non-nil and will be used for request cancellation. If
961// the context is nil a panic will occur. In the future the SDK may create
962// sub-contexts for http.Requests. See https://golang.org/pkg/context/
963// for more information on using Contexts.
964func (c *Pinpoint) CreateSegmentWithContext(ctx aws.Context, input *CreateSegmentInput, opts ...request.Option) (*CreateSegmentOutput, error) {
965	req, out := c.CreateSegmentRequest(input)
966	req.SetContext(ctx)
967	req.ApplyOptions(opts...)
968	return out, req.Send()
969}
970
971const opCreateSmsTemplate = "CreateSmsTemplate"
972
973// CreateSmsTemplateRequest generates a "aws/request.Request" representing the
974// client's request for the CreateSmsTemplate operation. The "output" return
975// value will be populated with the request's response once the request completes
976// successfully.
977//
978// Use "Send" method on the returned Request to send the API call to the service.
979// the "output" return value is not valid until after Send returns without error.
980//
981// See CreateSmsTemplate for more information on using the CreateSmsTemplate
982// API call, and error handling.
983//
984// This method is useful when you want to inject custom logic or configuration
985// into the SDK's request lifecycle. Such as custom headers, or retry logic.
986//
987//
988//    // Example sending a request using the CreateSmsTemplateRequest method.
989//    req, resp := client.CreateSmsTemplateRequest(params)
990//
991//    err := req.Send()
992//    if err == nil { // resp is now filled
993//        fmt.Println(resp)
994//    }
995//
996// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSmsTemplate
997func (c *Pinpoint) CreateSmsTemplateRequest(input *CreateSmsTemplateInput) (req *request.Request, output *CreateSmsTemplateOutput) {
998	op := &request.Operation{
999		Name:       opCreateSmsTemplate,
1000		HTTPMethod: "POST",
1001		HTTPPath:   "/v1/templates/{template-name}/sms",
1002	}
1003
1004	if input == nil {
1005		input = &CreateSmsTemplateInput{}
1006	}
1007
1008	output = &CreateSmsTemplateOutput{}
1009	req = c.newRequest(op, input, output)
1010	return
1011}
1012
1013// CreateSmsTemplate API operation for Amazon Pinpoint.
1014//
1015// Creates a message template for messages that are sent through the SMS channel.
1016//
1017// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1018// with awserr.Error's Code and Message methods to get detailed information about
1019// the error.
1020//
1021// See the AWS API reference guide for Amazon Pinpoint's
1022// API operation CreateSmsTemplate for usage and error information.
1023//
1024// Returned Error Types:
1025//   * MethodNotAllowedException
1026//   Provides information about an API request or response.
1027//
1028//   * TooManyRequestsException
1029//   Provides information about an API request or response.
1030//
1031//   * BadRequestException
1032//   Provides information about an API request or response.
1033//
1034//   * InternalServerErrorException
1035//   Provides information about an API request or response.
1036//
1037//   * ForbiddenException
1038//   Provides information about an API request or response.
1039//
1040// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSmsTemplate
1041func (c *Pinpoint) CreateSmsTemplate(input *CreateSmsTemplateInput) (*CreateSmsTemplateOutput, error) {
1042	req, out := c.CreateSmsTemplateRequest(input)
1043	return out, req.Send()
1044}
1045
1046// CreateSmsTemplateWithContext is the same as CreateSmsTemplate with the addition of
1047// the ability to pass a context and additional request options.
1048//
1049// See CreateSmsTemplate for details on how to use this API operation.
1050//
1051// The context must be non-nil and will be used for request cancellation. If
1052// the context is nil a panic will occur. In the future the SDK may create
1053// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1054// for more information on using Contexts.
1055func (c *Pinpoint) CreateSmsTemplateWithContext(ctx aws.Context, input *CreateSmsTemplateInput, opts ...request.Option) (*CreateSmsTemplateOutput, error) {
1056	req, out := c.CreateSmsTemplateRequest(input)
1057	req.SetContext(ctx)
1058	req.ApplyOptions(opts...)
1059	return out, req.Send()
1060}
1061
1062const opCreateVoiceTemplate = "CreateVoiceTemplate"
1063
1064// CreateVoiceTemplateRequest generates a "aws/request.Request" representing the
1065// client's request for the CreateVoiceTemplate operation. The "output" return
1066// value will be populated with the request's response once the request completes
1067// successfully.
1068//
1069// Use "Send" method on the returned Request to send the API call to the service.
1070// the "output" return value is not valid until after Send returns without error.
1071//
1072// See CreateVoiceTemplate for more information on using the CreateVoiceTemplate
1073// API call, and error handling.
1074//
1075// This method is useful when you want to inject custom logic or configuration
1076// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1077//
1078//
1079//    // Example sending a request using the CreateVoiceTemplateRequest method.
1080//    req, resp := client.CreateVoiceTemplateRequest(params)
1081//
1082//    err := req.Send()
1083//    if err == nil { // resp is now filled
1084//        fmt.Println(resp)
1085//    }
1086//
1087// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateVoiceTemplate
1088func (c *Pinpoint) CreateVoiceTemplateRequest(input *CreateVoiceTemplateInput) (req *request.Request, output *CreateVoiceTemplateOutput) {
1089	op := &request.Operation{
1090		Name:       opCreateVoiceTemplate,
1091		HTTPMethod: "POST",
1092		HTTPPath:   "/v1/templates/{template-name}/voice",
1093	}
1094
1095	if input == nil {
1096		input = &CreateVoiceTemplateInput{}
1097	}
1098
1099	output = &CreateVoiceTemplateOutput{}
1100	req = c.newRequest(op, input, output)
1101	return
1102}
1103
1104// CreateVoiceTemplate API operation for Amazon Pinpoint.
1105//
1106// Creates a message template for messages that are sent through the voice channel.
1107//
1108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1109// with awserr.Error's Code and Message methods to get detailed information about
1110// the error.
1111//
1112// See the AWS API reference guide for Amazon Pinpoint's
1113// API operation CreateVoiceTemplate for usage and error information.
1114//
1115// Returned Error Types:
1116//   * MethodNotAllowedException
1117//   Provides information about an API request or response.
1118//
1119//   * TooManyRequestsException
1120//   Provides information about an API request or response.
1121//
1122//   * BadRequestException
1123//   Provides information about an API request or response.
1124//
1125//   * InternalServerErrorException
1126//   Provides information about an API request or response.
1127//
1128//   * ForbiddenException
1129//   Provides information about an API request or response.
1130//
1131// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateVoiceTemplate
1132func (c *Pinpoint) CreateVoiceTemplate(input *CreateVoiceTemplateInput) (*CreateVoiceTemplateOutput, error) {
1133	req, out := c.CreateVoiceTemplateRequest(input)
1134	return out, req.Send()
1135}
1136
1137// CreateVoiceTemplateWithContext is the same as CreateVoiceTemplate with the addition of
1138// the ability to pass a context and additional request options.
1139//
1140// See CreateVoiceTemplate for details on how to use this API operation.
1141//
1142// The context must be non-nil and will be used for request cancellation. If
1143// the context is nil a panic will occur. In the future the SDK may create
1144// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1145// for more information on using Contexts.
1146func (c *Pinpoint) CreateVoiceTemplateWithContext(ctx aws.Context, input *CreateVoiceTemplateInput, opts ...request.Option) (*CreateVoiceTemplateOutput, error) {
1147	req, out := c.CreateVoiceTemplateRequest(input)
1148	req.SetContext(ctx)
1149	req.ApplyOptions(opts...)
1150	return out, req.Send()
1151}
1152
1153const opDeleteAdmChannel = "DeleteAdmChannel"
1154
1155// DeleteAdmChannelRequest generates a "aws/request.Request" representing the
1156// client's request for the DeleteAdmChannel operation. The "output" return
1157// value will be populated with the request's response once the request completes
1158// successfully.
1159//
1160// Use "Send" method on the returned Request to send the API call to the service.
1161// the "output" return value is not valid until after Send returns without error.
1162//
1163// See DeleteAdmChannel for more information on using the DeleteAdmChannel
1164// API call, and error handling.
1165//
1166// This method is useful when you want to inject custom logic or configuration
1167// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1168//
1169//
1170//    // Example sending a request using the DeleteAdmChannelRequest method.
1171//    req, resp := client.DeleteAdmChannelRequest(params)
1172//
1173//    err := req.Send()
1174//    if err == nil { // resp is now filled
1175//        fmt.Println(resp)
1176//    }
1177//
1178// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAdmChannel
1179func (c *Pinpoint) DeleteAdmChannelRequest(input *DeleteAdmChannelInput) (req *request.Request, output *DeleteAdmChannelOutput) {
1180	op := &request.Operation{
1181		Name:       opDeleteAdmChannel,
1182		HTTPMethod: "DELETE",
1183		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
1184	}
1185
1186	if input == nil {
1187		input = &DeleteAdmChannelInput{}
1188	}
1189
1190	output = &DeleteAdmChannelOutput{}
1191	req = c.newRequest(op, input, output)
1192	return
1193}
1194
1195// DeleteAdmChannel API operation for Amazon Pinpoint.
1196//
1197// Disables the ADM channel for an application and deletes any existing settings
1198// for the channel.
1199//
1200// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1201// with awserr.Error's Code and Message methods to get detailed information about
1202// the error.
1203//
1204// See the AWS API reference guide for Amazon Pinpoint's
1205// API operation DeleteAdmChannel for usage and error information.
1206//
1207// Returned Error Types:
1208//   * BadRequestException
1209//   Provides information about an API request or response.
1210//
1211//   * InternalServerErrorException
1212//   Provides information about an API request or response.
1213//
1214//   * PayloadTooLargeException
1215//   Provides information about an API request or response.
1216//
1217//   * ForbiddenException
1218//   Provides information about an API request or response.
1219//
1220//   * NotFoundException
1221//   Provides information about an API request or response.
1222//
1223//   * MethodNotAllowedException
1224//   Provides information about an API request or response.
1225//
1226//   * TooManyRequestsException
1227//   Provides information about an API request or response.
1228//
1229// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAdmChannel
1230func (c *Pinpoint) DeleteAdmChannel(input *DeleteAdmChannelInput) (*DeleteAdmChannelOutput, error) {
1231	req, out := c.DeleteAdmChannelRequest(input)
1232	return out, req.Send()
1233}
1234
1235// DeleteAdmChannelWithContext is the same as DeleteAdmChannel with the addition of
1236// the ability to pass a context and additional request options.
1237//
1238// See DeleteAdmChannel for details on how to use this API operation.
1239//
1240// The context must be non-nil and will be used for request cancellation. If
1241// the context is nil a panic will occur. In the future the SDK may create
1242// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1243// for more information on using Contexts.
1244func (c *Pinpoint) DeleteAdmChannelWithContext(ctx aws.Context, input *DeleteAdmChannelInput, opts ...request.Option) (*DeleteAdmChannelOutput, error) {
1245	req, out := c.DeleteAdmChannelRequest(input)
1246	req.SetContext(ctx)
1247	req.ApplyOptions(opts...)
1248	return out, req.Send()
1249}
1250
1251const opDeleteApnsChannel = "DeleteApnsChannel"
1252
1253// DeleteApnsChannelRequest generates a "aws/request.Request" representing the
1254// client's request for the DeleteApnsChannel operation. The "output" return
1255// value will be populated with the request's response once the request completes
1256// successfully.
1257//
1258// Use "Send" method on the returned Request to send the API call to the service.
1259// the "output" return value is not valid until after Send returns without error.
1260//
1261// See DeleteApnsChannel for more information on using the DeleteApnsChannel
1262// API call, and error handling.
1263//
1264// This method is useful when you want to inject custom logic or configuration
1265// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1266//
1267//
1268//    // Example sending a request using the DeleteApnsChannelRequest method.
1269//    req, resp := client.DeleteApnsChannelRequest(params)
1270//
1271//    err := req.Send()
1272//    if err == nil { // resp is now filled
1273//        fmt.Println(resp)
1274//    }
1275//
1276// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsChannel
1277func (c *Pinpoint) DeleteApnsChannelRequest(input *DeleteApnsChannelInput) (req *request.Request, output *DeleteApnsChannelOutput) {
1278	op := &request.Operation{
1279		Name:       opDeleteApnsChannel,
1280		HTTPMethod: "DELETE",
1281		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
1282	}
1283
1284	if input == nil {
1285		input = &DeleteApnsChannelInput{}
1286	}
1287
1288	output = &DeleteApnsChannelOutput{}
1289	req = c.newRequest(op, input, output)
1290	return
1291}
1292
1293// DeleteApnsChannel API operation for Amazon Pinpoint.
1294//
1295// Disables the APNs channel for an application and deletes any existing settings
1296// for the channel.
1297//
1298// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1299// with awserr.Error's Code and Message methods to get detailed information about
1300// the error.
1301//
1302// See the AWS API reference guide for Amazon Pinpoint's
1303// API operation DeleteApnsChannel for usage and error information.
1304//
1305// Returned Error Types:
1306//   * BadRequestException
1307//   Provides information about an API request or response.
1308//
1309//   * InternalServerErrorException
1310//   Provides information about an API request or response.
1311//
1312//   * PayloadTooLargeException
1313//   Provides information about an API request or response.
1314//
1315//   * ForbiddenException
1316//   Provides information about an API request or response.
1317//
1318//   * NotFoundException
1319//   Provides information about an API request or response.
1320//
1321//   * MethodNotAllowedException
1322//   Provides information about an API request or response.
1323//
1324//   * TooManyRequestsException
1325//   Provides information about an API request or response.
1326//
1327// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsChannel
1328func (c *Pinpoint) DeleteApnsChannel(input *DeleteApnsChannelInput) (*DeleteApnsChannelOutput, error) {
1329	req, out := c.DeleteApnsChannelRequest(input)
1330	return out, req.Send()
1331}
1332
1333// DeleteApnsChannelWithContext is the same as DeleteApnsChannel with the addition of
1334// the ability to pass a context and additional request options.
1335//
1336// See DeleteApnsChannel for details on how to use this API operation.
1337//
1338// The context must be non-nil and will be used for request cancellation. If
1339// the context is nil a panic will occur. In the future the SDK may create
1340// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1341// for more information on using Contexts.
1342func (c *Pinpoint) DeleteApnsChannelWithContext(ctx aws.Context, input *DeleteApnsChannelInput, opts ...request.Option) (*DeleteApnsChannelOutput, error) {
1343	req, out := c.DeleteApnsChannelRequest(input)
1344	req.SetContext(ctx)
1345	req.ApplyOptions(opts...)
1346	return out, req.Send()
1347}
1348
1349const opDeleteApnsSandboxChannel = "DeleteApnsSandboxChannel"
1350
1351// DeleteApnsSandboxChannelRequest generates a "aws/request.Request" representing the
1352// client's request for the DeleteApnsSandboxChannel operation. The "output" return
1353// value will be populated with the request's response once the request completes
1354// successfully.
1355//
1356// Use "Send" method on the returned Request to send the API call to the service.
1357// the "output" return value is not valid until after Send returns without error.
1358//
1359// See DeleteApnsSandboxChannel for more information on using the DeleteApnsSandboxChannel
1360// API call, and error handling.
1361//
1362// This method is useful when you want to inject custom logic or configuration
1363// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1364//
1365//
1366//    // Example sending a request using the DeleteApnsSandboxChannelRequest method.
1367//    req, resp := client.DeleteApnsSandboxChannelRequest(params)
1368//
1369//    err := req.Send()
1370//    if err == nil { // resp is now filled
1371//        fmt.Println(resp)
1372//    }
1373//
1374// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsSandboxChannel
1375func (c *Pinpoint) DeleteApnsSandboxChannelRequest(input *DeleteApnsSandboxChannelInput) (req *request.Request, output *DeleteApnsSandboxChannelOutput) {
1376	op := &request.Operation{
1377		Name:       opDeleteApnsSandboxChannel,
1378		HTTPMethod: "DELETE",
1379		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
1380	}
1381
1382	if input == nil {
1383		input = &DeleteApnsSandboxChannelInput{}
1384	}
1385
1386	output = &DeleteApnsSandboxChannelOutput{}
1387	req = c.newRequest(op, input, output)
1388	return
1389}
1390
1391// DeleteApnsSandboxChannel API operation for Amazon Pinpoint.
1392//
1393// Disables the APNs sandbox channel for an application and deletes any existing
1394// settings for the channel.
1395//
1396// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1397// with awserr.Error's Code and Message methods to get detailed information about
1398// the error.
1399//
1400// See the AWS API reference guide for Amazon Pinpoint's
1401// API operation DeleteApnsSandboxChannel for usage and error information.
1402//
1403// Returned Error Types:
1404//   * BadRequestException
1405//   Provides information about an API request or response.
1406//
1407//   * InternalServerErrorException
1408//   Provides information about an API request or response.
1409//
1410//   * PayloadTooLargeException
1411//   Provides information about an API request or response.
1412//
1413//   * ForbiddenException
1414//   Provides information about an API request or response.
1415//
1416//   * NotFoundException
1417//   Provides information about an API request or response.
1418//
1419//   * MethodNotAllowedException
1420//   Provides information about an API request or response.
1421//
1422//   * TooManyRequestsException
1423//   Provides information about an API request or response.
1424//
1425// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsSandboxChannel
1426func (c *Pinpoint) DeleteApnsSandboxChannel(input *DeleteApnsSandboxChannelInput) (*DeleteApnsSandboxChannelOutput, error) {
1427	req, out := c.DeleteApnsSandboxChannelRequest(input)
1428	return out, req.Send()
1429}
1430
1431// DeleteApnsSandboxChannelWithContext is the same as DeleteApnsSandboxChannel with the addition of
1432// the ability to pass a context and additional request options.
1433//
1434// See DeleteApnsSandboxChannel for details on how to use this API operation.
1435//
1436// The context must be non-nil and will be used for request cancellation. If
1437// the context is nil a panic will occur. In the future the SDK may create
1438// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1439// for more information on using Contexts.
1440func (c *Pinpoint) DeleteApnsSandboxChannelWithContext(ctx aws.Context, input *DeleteApnsSandboxChannelInput, opts ...request.Option) (*DeleteApnsSandboxChannelOutput, error) {
1441	req, out := c.DeleteApnsSandboxChannelRequest(input)
1442	req.SetContext(ctx)
1443	req.ApplyOptions(opts...)
1444	return out, req.Send()
1445}
1446
1447const opDeleteApnsVoipChannel = "DeleteApnsVoipChannel"
1448
1449// DeleteApnsVoipChannelRequest generates a "aws/request.Request" representing the
1450// client's request for the DeleteApnsVoipChannel operation. The "output" return
1451// value will be populated with the request's response once the request completes
1452// successfully.
1453//
1454// Use "Send" method on the returned Request to send the API call to the service.
1455// the "output" return value is not valid until after Send returns without error.
1456//
1457// See DeleteApnsVoipChannel for more information on using the DeleteApnsVoipChannel
1458// API call, and error handling.
1459//
1460// This method is useful when you want to inject custom logic or configuration
1461// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1462//
1463//
1464//    // Example sending a request using the DeleteApnsVoipChannelRequest method.
1465//    req, resp := client.DeleteApnsVoipChannelRequest(params)
1466//
1467//    err := req.Send()
1468//    if err == nil { // resp is now filled
1469//        fmt.Println(resp)
1470//    }
1471//
1472// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipChannel
1473func (c *Pinpoint) DeleteApnsVoipChannelRequest(input *DeleteApnsVoipChannelInput) (req *request.Request, output *DeleteApnsVoipChannelOutput) {
1474	op := &request.Operation{
1475		Name:       opDeleteApnsVoipChannel,
1476		HTTPMethod: "DELETE",
1477		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
1478	}
1479
1480	if input == nil {
1481		input = &DeleteApnsVoipChannelInput{}
1482	}
1483
1484	output = &DeleteApnsVoipChannelOutput{}
1485	req = c.newRequest(op, input, output)
1486	return
1487}
1488
1489// DeleteApnsVoipChannel API operation for Amazon Pinpoint.
1490//
1491// Disables the APNs VoIP channel for an application and deletes any existing
1492// settings for the channel.
1493//
1494// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1495// with awserr.Error's Code and Message methods to get detailed information about
1496// the error.
1497//
1498// See the AWS API reference guide for Amazon Pinpoint's
1499// API operation DeleteApnsVoipChannel for usage and error information.
1500//
1501// Returned Error Types:
1502//   * BadRequestException
1503//   Provides information about an API request or response.
1504//
1505//   * InternalServerErrorException
1506//   Provides information about an API request or response.
1507//
1508//   * PayloadTooLargeException
1509//   Provides information about an API request or response.
1510//
1511//   * ForbiddenException
1512//   Provides information about an API request or response.
1513//
1514//   * NotFoundException
1515//   Provides information about an API request or response.
1516//
1517//   * MethodNotAllowedException
1518//   Provides information about an API request or response.
1519//
1520//   * TooManyRequestsException
1521//   Provides information about an API request or response.
1522//
1523// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipChannel
1524func (c *Pinpoint) DeleteApnsVoipChannel(input *DeleteApnsVoipChannelInput) (*DeleteApnsVoipChannelOutput, error) {
1525	req, out := c.DeleteApnsVoipChannelRequest(input)
1526	return out, req.Send()
1527}
1528
1529// DeleteApnsVoipChannelWithContext is the same as DeleteApnsVoipChannel with the addition of
1530// the ability to pass a context and additional request options.
1531//
1532// See DeleteApnsVoipChannel for details on how to use this API operation.
1533//
1534// The context must be non-nil and will be used for request cancellation. If
1535// the context is nil a panic will occur. In the future the SDK may create
1536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1537// for more information on using Contexts.
1538func (c *Pinpoint) DeleteApnsVoipChannelWithContext(ctx aws.Context, input *DeleteApnsVoipChannelInput, opts ...request.Option) (*DeleteApnsVoipChannelOutput, error) {
1539	req, out := c.DeleteApnsVoipChannelRequest(input)
1540	req.SetContext(ctx)
1541	req.ApplyOptions(opts...)
1542	return out, req.Send()
1543}
1544
1545const opDeleteApnsVoipSandboxChannel = "DeleteApnsVoipSandboxChannel"
1546
1547// DeleteApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
1548// client's request for the DeleteApnsVoipSandboxChannel operation. The "output" return
1549// value will be populated with the request's response once the request completes
1550// successfully.
1551//
1552// Use "Send" method on the returned Request to send the API call to the service.
1553// the "output" return value is not valid until after Send returns without error.
1554//
1555// See DeleteApnsVoipSandboxChannel for more information on using the DeleteApnsVoipSandboxChannel
1556// API call, and error handling.
1557//
1558// This method is useful when you want to inject custom logic or configuration
1559// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1560//
1561//
1562//    // Example sending a request using the DeleteApnsVoipSandboxChannelRequest method.
1563//    req, resp := client.DeleteApnsVoipSandboxChannelRequest(params)
1564//
1565//    err := req.Send()
1566//    if err == nil { // resp is now filled
1567//        fmt.Println(resp)
1568//    }
1569//
1570// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipSandboxChannel
1571func (c *Pinpoint) DeleteApnsVoipSandboxChannelRequest(input *DeleteApnsVoipSandboxChannelInput) (req *request.Request, output *DeleteApnsVoipSandboxChannelOutput) {
1572	op := &request.Operation{
1573		Name:       opDeleteApnsVoipSandboxChannel,
1574		HTTPMethod: "DELETE",
1575		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
1576	}
1577
1578	if input == nil {
1579		input = &DeleteApnsVoipSandboxChannelInput{}
1580	}
1581
1582	output = &DeleteApnsVoipSandboxChannelOutput{}
1583	req = c.newRequest(op, input, output)
1584	return
1585}
1586
1587// DeleteApnsVoipSandboxChannel API operation for Amazon Pinpoint.
1588//
1589// Disables the APNs VoIP sandbox channel for an application and deletes any
1590// existing settings for the channel.
1591//
1592// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1593// with awserr.Error's Code and Message methods to get detailed information about
1594// the error.
1595//
1596// See the AWS API reference guide for Amazon Pinpoint's
1597// API operation DeleteApnsVoipSandboxChannel for usage and error information.
1598//
1599// Returned Error Types:
1600//   * BadRequestException
1601//   Provides information about an API request or response.
1602//
1603//   * InternalServerErrorException
1604//   Provides information about an API request or response.
1605//
1606//   * PayloadTooLargeException
1607//   Provides information about an API request or response.
1608//
1609//   * ForbiddenException
1610//   Provides information about an API request or response.
1611//
1612//   * NotFoundException
1613//   Provides information about an API request or response.
1614//
1615//   * MethodNotAllowedException
1616//   Provides information about an API request or response.
1617//
1618//   * TooManyRequestsException
1619//   Provides information about an API request or response.
1620//
1621// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipSandboxChannel
1622func (c *Pinpoint) DeleteApnsVoipSandboxChannel(input *DeleteApnsVoipSandboxChannelInput) (*DeleteApnsVoipSandboxChannelOutput, error) {
1623	req, out := c.DeleteApnsVoipSandboxChannelRequest(input)
1624	return out, req.Send()
1625}
1626
1627// DeleteApnsVoipSandboxChannelWithContext is the same as DeleteApnsVoipSandboxChannel with the addition of
1628// the ability to pass a context and additional request options.
1629//
1630// See DeleteApnsVoipSandboxChannel for details on how to use this API operation.
1631//
1632// The context must be non-nil and will be used for request cancellation. If
1633// the context is nil a panic will occur. In the future the SDK may create
1634// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1635// for more information on using Contexts.
1636func (c *Pinpoint) DeleteApnsVoipSandboxChannelWithContext(ctx aws.Context, input *DeleteApnsVoipSandboxChannelInput, opts ...request.Option) (*DeleteApnsVoipSandboxChannelOutput, error) {
1637	req, out := c.DeleteApnsVoipSandboxChannelRequest(input)
1638	req.SetContext(ctx)
1639	req.ApplyOptions(opts...)
1640	return out, req.Send()
1641}
1642
1643const opDeleteApp = "DeleteApp"
1644
1645// DeleteAppRequest generates a "aws/request.Request" representing the
1646// client's request for the DeleteApp operation. The "output" return
1647// value will be populated with the request's response once the request completes
1648// successfully.
1649//
1650// Use "Send" method on the returned Request to send the API call to the service.
1651// the "output" return value is not valid until after Send returns without error.
1652//
1653// See DeleteApp for more information on using the DeleteApp
1654// API call, and error handling.
1655//
1656// This method is useful when you want to inject custom logic or configuration
1657// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1658//
1659//
1660//    // Example sending a request using the DeleteAppRequest method.
1661//    req, resp := client.DeleteAppRequest(params)
1662//
1663//    err := req.Send()
1664//    if err == nil { // resp is now filled
1665//        fmt.Println(resp)
1666//    }
1667//
1668// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApp
1669func (c *Pinpoint) DeleteAppRequest(input *DeleteAppInput) (req *request.Request, output *DeleteAppOutput) {
1670	op := &request.Operation{
1671		Name:       opDeleteApp,
1672		HTTPMethod: "DELETE",
1673		HTTPPath:   "/v1/apps/{application-id}",
1674	}
1675
1676	if input == nil {
1677		input = &DeleteAppInput{}
1678	}
1679
1680	output = &DeleteAppOutput{}
1681	req = c.newRequest(op, input, output)
1682	return
1683}
1684
1685// DeleteApp API operation for Amazon Pinpoint.
1686//
1687// Deletes an application.
1688//
1689// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1690// with awserr.Error's Code and Message methods to get detailed information about
1691// the error.
1692//
1693// See the AWS API reference guide for Amazon Pinpoint's
1694// API operation DeleteApp for usage and error information.
1695//
1696// Returned Error Types:
1697//   * BadRequestException
1698//   Provides information about an API request or response.
1699//
1700//   * InternalServerErrorException
1701//   Provides information about an API request or response.
1702//
1703//   * PayloadTooLargeException
1704//   Provides information about an API request or response.
1705//
1706//   * ForbiddenException
1707//   Provides information about an API request or response.
1708//
1709//   * NotFoundException
1710//   Provides information about an API request or response.
1711//
1712//   * MethodNotAllowedException
1713//   Provides information about an API request or response.
1714//
1715//   * TooManyRequestsException
1716//   Provides information about an API request or response.
1717//
1718// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApp
1719func (c *Pinpoint) DeleteApp(input *DeleteAppInput) (*DeleteAppOutput, error) {
1720	req, out := c.DeleteAppRequest(input)
1721	return out, req.Send()
1722}
1723
1724// DeleteAppWithContext is the same as DeleteApp with the addition of
1725// the ability to pass a context and additional request options.
1726//
1727// See DeleteApp for details on how to use this API operation.
1728//
1729// The context must be non-nil and will be used for request cancellation. If
1730// the context is nil a panic will occur. In the future the SDK may create
1731// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1732// for more information on using Contexts.
1733func (c *Pinpoint) DeleteAppWithContext(ctx aws.Context, input *DeleteAppInput, opts ...request.Option) (*DeleteAppOutput, error) {
1734	req, out := c.DeleteAppRequest(input)
1735	req.SetContext(ctx)
1736	req.ApplyOptions(opts...)
1737	return out, req.Send()
1738}
1739
1740const opDeleteBaiduChannel = "DeleteBaiduChannel"
1741
1742// DeleteBaiduChannelRequest generates a "aws/request.Request" representing the
1743// client's request for the DeleteBaiduChannel operation. The "output" return
1744// value will be populated with the request's response once the request completes
1745// successfully.
1746//
1747// Use "Send" method on the returned Request to send the API call to the service.
1748// the "output" return value is not valid until after Send returns without error.
1749//
1750// See DeleteBaiduChannel for more information on using the DeleteBaiduChannel
1751// API call, and error handling.
1752//
1753// This method is useful when you want to inject custom logic or configuration
1754// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1755//
1756//
1757//    // Example sending a request using the DeleteBaiduChannelRequest method.
1758//    req, resp := client.DeleteBaiduChannelRequest(params)
1759//
1760//    err := req.Send()
1761//    if err == nil { // resp is now filled
1762//        fmt.Println(resp)
1763//    }
1764//
1765// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteBaiduChannel
1766func (c *Pinpoint) DeleteBaiduChannelRequest(input *DeleteBaiduChannelInput) (req *request.Request, output *DeleteBaiduChannelOutput) {
1767	op := &request.Operation{
1768		Name:       opDeleteBaiduChannel,
1769		HTTPMethod: "DELETE",
1770		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
1771	}
1772
1773	if input == nil {
1774		input = &DeleteBaiduChannelInput{}
1775	}
1776
1777	output = &DeleteBaiduChannelOutput{}
1778	req = c.newRequest(op, input, output)
1779	return
1780}
1781
1782// DeleteBaiduChannel API operation for Amazon Pinpoint.
1783//
1784// Disables the Baidu channel for an application and deletes any existing settings
1785// for the channel.
1786//
1787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1788// with awserr.Error's Code and Message methods to get detailed information about
1789// the error.
1790//
1791// See the AWS API reference guide for Amazon Pinpoint's
1792// API operation DeleteBaiduChannel for usage and error information.
1793//
1794// Returned Error Types:
1795//   * BadRequestException
1796//   Provides information about an API request or response.
1797//
1798//   * InternalServerErrorException
1799//   Provides information about an API request or response.
1800//
1801//   * PayloadTooLargeException
1802//   Provides information about an API request or response.
1803//
1804//   * ForbiddenException
1805//   Provides information about an API request or response.
1806//
1807//   * NotFoundException
1808//   Provides information about an API request or response.
1809//
1810//   * MethodNotAllowedException
1811//   Provides information about an API request or response.
1812//
1813//   * TooManyRequestsException
1814//   Provides information about an API request or response.
1815//
1816// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteBaiduChannel
1817func (c *Pinpoint) DeleteBaiduChannel(input *DeleteBaiduChannelInput) (*DeleteBaiduChannelOutput, error) {
1818	req, out := c.DeleteBaiduChannelRequest(input)
1819	return out, req.Send()
1820}
1821
1822// DeleteBaiduChannelWithContext is the same as DeleteBaiduChannel with the addition of
1823// the ability to pass a context and additional request options.
1824//
1825// See DeleteBaiduChannel for details on how to use this API operation.
1826//
1827// The context must be non-nil and will be used for request cancellation. If
1828// the context is nil a panic will occur. In the future the SDK may create
1829// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1830// for more information on using Contexts.
1831func (c *Pinpoint) DeleteBaiduChannelWithContext(ctx aws.Context, input *DeleteBaiduChannelInput, opts ...request.Option) (*DeleteBaiduChannelOutput, error) {
1832	req, out := c.DeleteBaiduChannelRequest(input)
1833	req.SetContext(ctx)
1834	req.ApplyOptions(opts...)
1835	return out, req.Send()
1836}
1837
1838const opDeleteCampaign = "DeleteCampaign"
1839
1840// DeleteCampaignRequest generates a "aws/request.Request" representing the
1841// client's request for the DeleteCampaign operation. The "output" return
1842// value will be populated with the request's response once the request completes
1843// successfully.
1844//
1845// Use "Send" method on the returned Request to send the API call to the service.
1846// the "output" return value is not valid until after Send returns without error.
1847//
1848// See DeleteCampaign for more information on using the DeleteCampaign
1849// API call, and error handling.
1850//
1851// This method is useful when you want to inject custom logic or configuration
1852// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1853//
1854//
1855//    // Example sending a request using the DeleteCampaignRequest method.
1856//    req, resp := client.DeleteCampaignRequest(params)
1857//
1858//    err := req.Send()
1859//    if err == nil { // resp is now filled
1860//        fmt.Println(resp)
1861//    }
1862//
1863// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteCampaign
1864func (c *Pinpoint) DeleteCampaignRequest(input *DeleteCampaignInput) (req *request.Request, output *DeleteCampaignOutput) {
1865	op := &request.Operation{
1866		Name:       opDeleteCampaign,
1867		HTTPMethod: "DELETE",
1868		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
1869	}
1870
1871	if input == nil {
1872		input = &DeleteCampaignInput{}
1873	}
1874
1875	output = &DeleteCampaignOutput{}
1876	req = c.newRequest(op, input, output)
1877	return
1878}
1879
1880// DeleteCampaign API operation for Amazon Pinpoint.
1881//
1882// Deletes a campaign from an application.
1883//
1884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1885// with awserr.Error's Code and Message methods to get detailed information about
1886// the error.
1887//
1888// See the AWS API reference guide for Amazon Pinpoint's
1889// API operation DeleteCampaign for usage and error information.
1890//
1891// Returned Error Types:
1892//   * BadRequestException
1893//   Provides information about an API request or response.
1894//
1895//   * InternalServerErrorException
1896//   Provides information about an API request or response.
1897//
1898//   * PayloadTooLargeException
1899//   Provides information about an API request or response.
1900//
1901//   * ForbiddenException
1902//   Provides information about an API request or response.
1903//
1904//   * NotFoundException
1905//   Provides information about an API request or response.
1906//
1907//   * MethodNotAllowedException
1908//   Provides information about an API request or response.
1909//
1910//   * TooManyRequestsException
1911//   Provides information about an API request or response.
1912//
1913// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteCampaign
1914func (c *Pinpoint) DeleteCampaign(input *DeleteCampaignInput) (*DeleteCampaignOutput, error) {
1915	req, out := c.DeleteCampaignRequest(input)
1916	return out, req.Send()
1917}
1918
1919// DeleteCampaignWithContext is the same as DeleteCampaign with the addition of
1920// the ability to pass a context and additional request options.
1921//
1922// See DeleteCampaign for details on how to use this API operation.
1923//
1924// The context must be non-nil and will be used for request cancellation. If
1925// the context is nil a panic will occur. In the future the SDK may create
1926// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1927// for more information on using Contexts.
1928func (c *Pinpoint) DeleteCampaignWithContext(ctx aws.Context, input *DeleteCampaignInput, opts ...request.Option) (*DeleteCampaignOutput, error) {
1929	req, out := c.DeleteCampaignRequest(input)
1930	req.SetContext(ctx)
1931	req.ApplyOptions(opts...)
1932	return out, req.Send()
1933}
1934
1935const opDeleteEmailChannel = "DeleteEmailChannel"
1936
1937// DeleteEmailChannelRequest generates a "aws/request.Request" representing the
1938// client's request for the DeleteEmailChannel operation. The "output" return
1939// value will be populated with the request's response once the request completes
1940// successfully.
1941//
1942// Use "Send" method on the returned Request to send the API call to the service.
1943// the "output" return value is not valid until after Send returns without error.
1944//
1945// See DeleteEmailChannel for more information on using the DeleteEmailChannel
1946// API call, and error handling.
1947//
1948// This method is useful when you want to inject custom logic or configuration
1949// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1950//
1951//
1952//    // Example sending a request using the DeleteEmailChannelRequest method.
1953//    req, resp := client.DeleteEmailChannelRequest(params)
1954//
1955//    err := req.Send()
1956//    if err == nil { // resp is now filled
1957//        fmt.Println(resp)
1958//    }
1959//
1960// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailChannel
1961func (c *Pinpoint) DeleteEmailChannelRequest(input *DeleteEmailChannelInput) (req *request.Request, output *DeleteEmailChannelOutput) {
1962	op := &request.Operation{
1963		Name:       opDeleteEmailChannel,
1964		HTTPMethod: "DELETE",
1965		HTTPPath:   "/v1/apps/{application-id}/channels/email",
1966	}
1967
1968	if input == nil {
1969		input = &DeleteEmailChannelInput{}
1970	}
1971
1972	output = &DeleteEmailChannelOutput{}
1973	req = c.newRequest(op, input, output)
1974	return
1975}
1976
1977// DeleteEmailChannel API operation for Amazon Pinpoint.
1978//
1979// Disables the email channel for an application and deletes any existing settings
1980// for the channel.
1981//
1982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1983// with awserr.Error's Code and Message methods to get detailed information about
1984// the error.
1985//
1986// See the AWS API reference guide for Amazon Pinpoint's
1987// API operation DeleteEmailChannel for usage and error information.
1988//
1989// Returned Error Types:
1990//   * BadRequestException
1991//   Provides information about an API request or response.
1992//
1993//   * InternalServerErrorException
1994//   Provides information about an API request or response.
1995//
1996//   * PayloadTooLargeException
1997//   Provides information about an API request or response.
1998//
1999//   * ForbiddenException
2000//   Provides information about an API request or response.
2001//
2002//   * NotFoundException
2003//   Provides information about an API request or response.
2004//
2005//   * MethodNotAllowedException
2006//   Provides information about an API request or response.
2007//
2008//   * TooManyRequestsException
2009//   Provides information about an API request or response.
2010//
2011// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailChannel
2012func (c *Pinpoint) DeleteEmailChannel(input *DeleteEmailChannelInput) (*DeleteEmailChannelOutput, error) {
2013	req, out := c.DeleteEmailChannelRequest(input)
2014	return out, req.Send()
2015}
2016
2017// DeleteEmailChannelWithContext is the same as DeleteEmailChannel with the addition of
2018// the ability to pass a context and additional request options.
2019//
2020// See DeleteEmailChannel for details on how to use this API operation.
2021//
2022// The context must be non-nil and will be used for request cancellation. If
2023// the context is nil a panic will occur. In the future the SDK may create
2024// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2025// for more information on using Contexts.
2026func (c *Pinpoint) DeleteEmailChannelWithContext(ctx aws.Context, input *DeleteEmailChannelInput, opts ...request.Option) (*DeleteEmailChannelOutput, error) {
2027	req, out := c.DeleteEmailChannelRequest(input)
2028	req.SetContext(ctx)
2029	req.ApplyOptions(opts...)
2030	return out, req.Send()
2031}
2032
2033const opDeleteEmailTemplate = "DeleteEmailTemplate"
2034
2035// DeleteEmailTemplateRequest generates a "aws/request.Request" representing the
2036// client's request for the DeleteEmailTemplate operation. The "output" return
2037// value will be populated with the request's response once the request completes
2038// successfully.
2039//
2040// Use "Send" method on the returned Request to send the API call to the service.
2041// the "output" return value is not valid until after Send returns without error.
2042//
2043// See DeleteEmailTemplate for more information on using the DeleteEmailTemplate
2044// API call, and error handling.
2045//
2046// This method is useful when you want to inject custom logic or configuration
2047// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2048//
2049//
2050//    // Example sending a request using the DeleteEmailTemplateRequest method.
2051//    req, resp := client.DeleteEmailTemplateRequest(params)
2052//
2053//    err := req.Send()
2054//    if err == nil { // resp is now filled
2055//        fmt.Println(resp)
2056//    }
2057//
2058// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailTemplate
2059func (c *Pinpoint) DeleteEmailTemplateRequest(input *DeleteEmailTemplateInput) (req *request.Request, output *DeleteEmailTemplateOutput) {
2060	op := &request.Operation{
2061		Name:       opDeleteEmailTemplate,
2062		HTTPMethod: "DELETE",
2063		HTTPPath:   "/v1/templates/{template-name}/email",
2064	}
2065
2066	if input == nil {
2067		input = &DeleteEmailTemplateInput{}
2068	}
2069
2070	output = &DeleteEmailTemplateOutput{}
2071	req = c.newRequest(op, input, output)
2072	return
2073}
2074
2075// DeleteEmailTemplate API operation for Amazon Pinpoint.
2076//
2077// Deletes a message template for messages that were sent through the email
2078// channel.
2079//
2080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2081// with awserr.Error's Code and Message methods to get detailed information about
2082// the error.
2083//
2084// See the AWS API reference guide for Amazon Pinpoint's
2085// API operation DeleteEmailTemplate for usage and error information.
2086//
2087// Returned Error Types:
2088//   * BadRequestException
2089//   Provides information about an API request or response.
2090//
2091//   * InternalServerErrorException
2092//   Provides information about an API request or response.
2093//
2094//   * PayloadTooLargeException
2095//   Provides information about an API request or response.
2096//
2097//   * ForbiddenException
2098//   Provides information about an API request or response.
2099//
2100//   * NotFoundException
2101//   Provides information about an API request or response.
2102//
2103//   * MethodNotAllowedException
2104//   Provides information about an API request or response.
2105//
2106//   * TooManyRequestsException
2107//   Provides information about an API request or response.
2108//
2109// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailTemplate
2110func (c *Pinpoint) DeleteEmailTemplate(input *DeleteEmailTemplateInput) (*DeleteEmailTemplateOutput, error) {
2111	req, out := c.DeleteEmailTemplateRequest(input)
2112	return out, req.Send()
2113}
2114
2115// DeleteEmailTemplateWithContext is the same as DeleteEmailTemplate with the addition of
2116// the ability to pass a context and additional request options.
2117//
2118// See DeleteEmailTemplate for details on how to use this API operation.
2119//
2120// The context must be non-nil and will be used for request cancellation. If
2121// the context is nil a panic will occur. In the future the SDK may create
2122// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2123// for more information on using Contexts.
2124func (c *Pinpoint) DeleteEmailTemplateWithContext(ctx aws.Context, input *DeleteEmailTemplateInput, opts ...request.Option) (*DeleteEmailTemplateOutput, error) {
2125	req, out := c.DeleteEmailTemplateRequest(input)
2126	req.SetContext(ctx)
2127	req.ApplyOptions(opts...)
2128	return out, req.Send()
2129}
2130
2131const opDeleteEndpoint = "DeleteEndpoint"
2132
2133// DeleteEndpointRequest generates a "aws/request.Request" representing the
2134// client's request for the DeleteEndpoint operation. The "output" return
2135// value will be populated with the request's response once the request completes
2136// successfully.
2137//
2138// Use "Send" method on the returned Request to send the API call to the service.
2139// the "output" return value is not valid until after Send returns without error.
2140//
2141// See DeleteEndpoint for more information on using the DeleteEndpoint
2142// API call, and error handling.
2143//
2144// This method is useful when you want to inject custom logic or configuration
2145// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2146//
2147//
2148//    // Example sending a request using the DeleteEndpointRequest method.
2149//    req, resp := client.DeleteEndpointRequest(params)
2150//
2151//    err := req.Send()
2152//    if err == nil { // resp is now filled
2153//        fmt.Println(resp)
2154//    }
2155//
2156// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEndpoint
2157func (c *Pinpoint) DeleteEndpointRequest(input *DeleteEndpointInput) (req *request.Request, output *DeleteEndpointOutput) {
2158	op := &request.Operation{
2159		Name:       opDeleteEndpoint,
2160		HTTPMethod: "DELETE",
2161		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
2162	}
2163
2164	if input == nil {
2165		input = &DeleteEndpointInput{}
2166	}
2167
2168	output = &DeleteEndpointOutput{}
2169	req = c.newRequest(op, input, output)
2170	return
2171}
2172
2173// DeleteEndpoint API operation for Amazon Pinpoint.
2174//
2175// Deletes an endpoint from an application.
2176//
2177// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2178// with awserr.Error's Code and Message methods to get detailed information about
2179// the error.
2180//
2181// See the AWS API reference guide for Amazon Pinpoint's
2182// API operation DeleteEndpoint for usage and error information.
2183//
2184// Returned Error Types:
2185//   * BadRequestException
2186//   Provides information about an API request or response.
2187//
2188//   * InternalServerErrorException
2189//   Provides information about an API request or response.
2190//
2191//   * PayloadTooLargeException
2192//   Provides information about an API request or response.
2193//
2194//   * ForbiddenException
2195//   Provides information about an API request or response.
2196//
2197//   * NotFoundException
2198//   Provides information about an API request or response.
2199//
2200//   * MethodNotAllowedException
2201//   Provides information about an API request or response.
2202//
2203//   * TooManyRequestsException
2204//   Provides information about an API request or response.
2205//
2206// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEndpoint
2207func (c *Pinpoint) DeleteEndpoint(input *DeleteEndpointInput) (*DeleteEndpointOutput, error) {
2208	req, out := c.DeleteEndpointRequest(input)
2209	return out, req.Send()
2210}
2211
2212// DeleteEndpointWithContext is the same as DeleteEndpoint with the addition of
2213// the ability to pass a context and additional request options.
2214//
2215// See DeleteEndpoint for details on how to use this API operation.
2216//
2217// The context must be non-nil and will be used for request cancellation. If
2218// the context is nil a panic will occur. In the future the SDK may create
2219// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2220// for more information on using Contexts.
2221func (c *Pinpoint) DeleteEndpointWithContext(ctx aws.Context, input *DeleteEndpointInput, opts ...request.Option) (*DeleteEndpointOutput, error) {
2222	req, out := c.DeleteEndpointRequest(input)
2223	req.SetContext(ctx)
2224	req.ApplyOptions(opts...)
2225	return out, req.Send()
2226}
2227
2228const opDeleteEventStream = "DeleteEventStream"
2229
2230// DeleteEventStreamRequest generates a "aws/request.Request" representing the
2231// client's request for the DeleteEventStream operation. The "output" return
2232// value will be populated with the request's response once the request completes
2233// successfully.
2234//
2235// Use "Send" method on the returned Request to send the API call to the service.
2236// the "output" return value is not valid until after Send returns without error.
2237//
2238// See DeleteEventStream for more information on using the DeleteEventStream
2239// API call, and error handling.
2240//
2241// This method is useful when you want to inject custom logic or configuration
2242// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2243//
2244//
2245//    // Example sending a request using the DeleteEventStreamRequest method.
2246//    req, resp := client.DeleteEventStreamRequest(params)
2247//
2248//    err := req.Send()
2249//    if err == nil { // resp is now filled
2250//        fmt.Println(resp)
2251//    }
2252//
2253// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStream
2254func (c *Pinpoint) DeleteEventStreamRequest(input *DeleteEventStreamInput) (req *request.Request, output *DeleteEventStreamOutput) {
2255	op := &request.Operation{
2256		Name:       opDeleteEventStream,
2257		HTTPMethod: "DELETE",
2258		HTTPPath:   "/v1/apps/{application-id}/eventstream",
2259	}
2260
2261	if input == nil {
2262		input = &DeleteEventStreamInput{}
2263	}
2264
2265	output = &DeleteEventStreamOutput{}
2266	req = c.newRequest(op, input, output)
2267	return
2268}
2269
2270// DeleteEventStream API operation for Amazon Pinpoint.
2271//
2272// Deletes the event stream for an application.
2273//
2274// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2275// with awserr.Error's Code and Message methods to get detailed information about
2276// the error.
2277//
2278// See the AWS API reference guide for Amazon Pinpoint's
2279// API operation DeleteEventStream for usage and error information.
2280//
2281// Returned Error Types:
2282//   * BadRequestException
2283//   Provides information about an API request or response.
2284//
2285//   * InternalServerErrorException
2286//   Provides information about an API request or response.
2287//
2288//   * PayloadTooLargeException
2289//   Provides information about an API request or response.
2290//
2291//   * ForbiddenException
2292//   Provides information about an API request or response.
2293//
2294//   * NotFoundException
2295//   Provides information about an API request or response.
2296//
2297//   * MethodNotAllowedException
2298//   Provides information about an API request or response.
2299//
2300//   * TooManyRequestsException
2301//   Provides information about an API request or response.
2302//
2303// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStream
2304func (c *Pinpoint) DeleteEventStream(input *DeleteEventStreamInput) (*DeleteEventStreamOutput, error) {
2305	req, out := c.DeleteEventStreamRequest(input)
2306	return out, req.Send()
2307}
2308
2309// DeleteEventStreamWithContext is the same as DeleteEventStream with the addition of
2310// the ability to pass a context and additional request options.
2311//
2312// See DeleteEventStream for details on how to use this API operation.
2313//
2314// The context must be non-nil and will be used for request cancellation. If
2315// the context is nil a panic will occur. In the future the SDK may create
2316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2317// for more information on using Contexts.
2318func (c *Pinpoint) DeleteEventStreamWithContext(ctx aws.Context, input *DeleteEventStreamInput, opts ...request.Option) (*DeleteEventStreamOutput, error) {
2319	req, out := c.DeleteEventStreamRequest(input)
2320	req.SetContext(ctx)
2321	req.ApplyOptions(opts...)
2322	return out, req.Send()
2323}
2324
2325const opDeleteGcmChannel = "DeleteGcmChannel"
2326
2327// DeleteGcmChannelRequest generates a "aws/request.Request" representing the
2328// client's request for the DeleteGcmChannel operation. The "output" return
2329// value will be populated with the request's response once the request completes
2330// successfully.
2331//
2332// Use "Send" method on the returned Request to send the API call to the service.
2333// the "output" return value is not valid until after Send returns without error.
2334//
2335// See DeleteGcmChannel for more information on using the DeleteGcmChannel
2336// API call, and error handling.
2337//
2338// This method is useful when you want to inject custom logic or configuration
2339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2340//
2341//
2342//    // Example sending a request using the DeleteGcmChannelRequest method.
2343//    req, resp := client.DeleteGcmChannelRequest(params)
2344//
2345//    err := req.Send()
2346//    if err == nil { // resp is now filled
2347//        fmt.Println(resp)
2348//    }
2349//
2350// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteGcmChannel
2351func (c *Pinpoint) DeleteGcmChannelRequest(input *DeleteGcmChannelInput) (req *request.Request, output *DeleteGcmChannelOutput) {
2352	op := &request.Operation{
2353		Name:       opDeleteGcmChannel,
2354		HTTPMethod: "DELETE",
2355		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
2356	}
2357
2358	if input == nil {
2359		input = &DeleteGcmChannelInput{}
2360	}
2361
2362	output = &DeleteGcmChannelOutput{}
2363	req = c.newRequest(op, input, output)
2364	return
2365}
2366
2367// DeleteGcmChannel API operation for Amazon Pinpoint.
2368//
2369// Disables the GCM channel for an application and deletes any existing settings
2370// for the channel.
2371//
2372// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2373// with awserr.Error's Code and Message methods to get detailed information about
2374// the error.
2375//
2376// See the AWS API reference guide for Amazon Pinpoint's
2377// API operation DeleteGcmChannel for usage and error information.
2378//
2379// Returned Error Types:
2380//   * BadRequestException
2381//   Provides information about an API request or response.
2382//
2383//   * InternalServerErrorException
2384//   Provides information about an API request or response.
2385//
2386//   * PayloadTooLargeException
2387//   Provides information about an API request or response.
2388//
2389//   * ForbiddenException
2390//   Provides information about an API request or response.
2391//
2392//   * NotFoundException
2393//   Provides information about an API request or response.
2394//
2395//   * MethodNotAllowedException
2396//   Provides information about an API request or response.
2397//
2398//   * TooManyRequestsException
2399//   Provides information about an API request or response.
2400//
2401// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteGcmChannel
2402func (c *Pinpoint) DeleteGcmChannel(input *DeleteGcmChannelInput) (*DeleteGcmChannelOutput, error) {
2403	req, out := c.DeleteGcmChannelRequest(input)
2404	return out, req.Send()
2405}
2406
2407// DeleteGcmChannelWithContext is the same as DeleteGcmChannel with the addition of
2408// the ability to pass a context and additional request options.
2409//
2410// See DeleteGcmChannel for details on how to use this API operation.
2411//
2412// The context must be non-nil and will be used for request cancellation. If
2413// the context is nil a panic will occur. In the future the SDK may create
2414// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2415// for more information on using Contexts.
2416func (c *Pinpoint) DeleteGcmChannelWithContext(ctx aws.Context, input *DeleteGcmChannelInput, opts ...request.Option) (*DeleteGcmChannelOutput, error) {
2417	req, out := c.DeleteGcmChannelRequest(input)
2418	req.SetContext(ctx)
2419	req.ApplyOptions(opts...)
2420	return out, req.Send()
2421}
2422
2423const opDeleteInAppTemplate = "DeleteInAppTemplate"
2424
2425// DeleteInAppTemplateRequest generates a "aws/request.Request" representing the
2426// client's request for the DeleteInAppTemplate operation. The "output" return
2427// value will be populated with the request's response once the request completes
2428// successfully.
2429//
2430// Use "Send" method on the returned Request to send the API call to the service.
2431// the "output" return value is not valid until after Send returns without error.
2432//
2433// See DeleteInAppTemplate for more information on using the DeleteInAppTemplate
2434// API call, and error handling.
2435//
2436// This method is useful when you want to inject custom logic or configuration
2437// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2438//
2439//
2440//    // Example sending a request using the DeleteInAppTemplateRequest method.
2441//    req, resp := client.DeleteInAppTemplateRequest(params)
2442//
2443//    err := req.Send()
2444//    if err == nil { // resp is now filled
2445//        fmt.Println(resp)
2446//    }
2447//
2448// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteInAppTemplate
2449func (c *Pinpoint) DeleteInAppTemplateRequest(input *DeleteInAppTemplateInput) (req *request.Request, output *DeleteInAppTemplateOutput) {
2450	op := &request.Operation{
2451		Name:       opDeleteInAppTemplate,
2452		HTTPMethod: "DELETE",
2453		HTTPPath:   "/v1/templates/{template-name}/inapp",
2454	}
2455
2456	if input == nil {
2457		input = &DeleteInAppTemplateInput{}
2458	}
2459
2460	output = &DeleteInAppTemplateOutput{}
2461	req = c.newRequest(op, input, output)
2462	return
2463}
2464
2465// DeleteInAppTemplate API operation for Amazon Pinpoint.
2466//
2467// Deletes a message template for messages sent using the in-app message channel.
2468//
2469// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2470// with awserr.Error's Code and Message methods to get detailed information about
2471// the error.
2472//
2473// See the AWS API reference guide for Amazon Pinpoint's
2474// API operation DeleteInAppTemplate for usage and error information.
2475//
2476// Returned Error Types:
2477//   * BadRequestException
2478//   Provides information about an API request or response.
2479//
2480//   * InternalServerErrorException
2481//   Provides information about an API request or response.
2482//
2483//   * PayloadTooLargeException
2484//   Provides information about an API request or response.
2485//
2486//   * ForbiddenException
2487//   Provides information about an API request or response.
2488//
2489//   * NotFoundException
2490//   Provides information about an API request or response.
2491//
2492//   * MethodNotAllowedException
2493//   Provides information about an API request or response.
2494//
2495//   * TooManyRequestsException
2496//   Provides information about an API request or response.
2497//
2498// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteInAppTemplate
2499func (c *Pinpoint) DeleteInAppTemplate(input *DeleteInAppTemplateInput) (*DeleteInAppTemplateOutput, error) {
2500	req, out := c.DeleteInAppTemplateRequest(input)
2501	return out, req.Send()
2502}
2503
2504// DeleteInAppTemplateWithContext is the same as DeleteInAppTemplate with the addition of
2505// the ability to pass a context and additional request options.
2506//
2507// See DeleteInAppTemplate for details on how to use this API operation.
2508//
2509// The context must be non-nil and will be used for request cancellation. If
2510// the context is nil a panic will occur. In the future the SDK may create
2511// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2512// for more information on using Contexts.
2513func (c *Pinpoint) DeleteInAppTemplateWithContext(ctx aws.Context, input *DeleteInAppTemplateInput, opts ...request.Option) (*DeleteInAppTemplateOutput, error) {
2514	req, out := c.DeleteInAppTemplateRequest(input)
2515	req.SetContext(ctx)
2516	req.ApplyOptions(opts...)
2517	return out, req.Send()
2518}
2519
2520const opDeleteJourney = "DeleteJourney"
2521
2522// DeleteJourneyRequest generates a "aws/request.Request" representing the
2523// client's request for the DeleteJourney operation. The "output" return
2524// value will be populated with the request's response once the request completes
2525// successfully.
2526//
2527// Use "Send" method on the returned Request to send the API call to the service.
2528// the "output" return value is not valid until after Send returns without error.
2529//
2530// See DeleteJourney for more information on using the DeleteJourney
2531// API call, and error handling.
2532//
2533// This method is useful when you want to inject custom logic or configuration
2534// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2535//
2536//
2537//    // Example sending a request using the DeleteJourneyRequest method.
2538//    req, resp := client.DeleteJourneyRequest(params)
2539//
2540//    err := req.Send()
2541//    if err == nil { // resp is now filled
2542//        fmt.Println(resp)
2543//    }
2544//
2545// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteJourney
2546func (c *Pinpoint) DeleteJourneyRequest(input *DeleteJourneyInput) (req *request.Request, output *DeleteJourneyOutput) {
2547	op := &request.Operation{
2548		Name:       opDeleteJourney,
2549		HTTPMethod: "DELETE",
2550		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}",
2551	}
2552
2553	if input == nil {
2554		input = &DeleteJourneyInput{}
2555	}
2556
2557	output = &DeleteJourneyOutput{}
2558	req = c.newRequest(op, input, output)
2559	return
2560}
2561
2562// DeleteJourney API operation for Amazon Pinpoint.
2563//
2564// Deletes a journey from an application.
2565//
2566// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2567// with awserr.Error's Code and Message methods to get detailed information about
2568// the error.
2569//
2570// See the AWS API reference guide for Amazon Pinpoint's
2571// API operation DeleteJourney for usage and error information.
2572//
2573// Returned Error Types:
2574//   * BadRequestException
2575//   Provides information about an API request or response.
2576//
2577//   * InternalServerErrorException
2578//   Provides information about an API request or response.
2579//
2580//   * PayloadTooLargeException
2581//   Provides information about an API request or response.
2582//
2583//   * ForbiddenException
2584//   Provides information about an API request or response.
2585//
2586//   * NotFoundException
2587//   Provides information about an API request or response.
2588//
2589//   * MethodNotAllowedException
2590//   Provides information about an API request or response.
2591//
2592//   * TooManyRequestsException
2593//   Provides information about an API request or response.
2594//
2595// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteJourney
2596func (c *Pinpoint) DeleteJourney(input *DeleteJourneyInput) (*DeleteJourneyOutput, error) {
2597	req, out := c.DeleteJourneyRequest(input)
2598	return out, req.Send()
2599}
2600
2601// DeleteJourneyWithContext is the same as DeleteJourney with the addition of
2602// the ability to pass a context and additional request options.
2603//
2604// See DeleteJourney for details on how to use this API operation.
2605//
2606// The context must be non-nil and will be used for request cancellation. If
2607// the context is nil a panic will occur. In the future the SDK may create
2608// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2609// for more information on using Contexts.
2610func (c *Pinpoint) DeleteJourneyWithContext(ctx aws.Context, input *DeleteJourneyInput, opts ...request.Option) (*DeleteJourneyOutput, error) {
2611	req, out := c.DeleteJourneyRequest(input)
2612	req.SetContext(ctx)
2613	req.ApplyOptions(opts...)
2614	return out, req.Send()
2615}
2616
2617const opDeletePushTemplate = "DeletePushTemplate"
2618
2619// DeletePushTemplateRequest generates a "aws/request.Request" representing the
2620// client's request for the DeletePushTemplate operation. The "output" return
2621// value will be populated with the request's response once the request completes
2622// successfully.
2623//
2624// Use "Send" method on the returned Request to send the API call to the service.
2625// the "output" return value is not valid until after Send returns without error.
2626//
2627// See DeletePushTemplate for more information on using the DeletePushTemplate
2628// API call, and error handling.
2629//
2630// This method is useful when you want to inject custom logic or configuration
2631// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2632//
2633//
2634//    // Example sending a request using the DeletePushTemplateRequest method.
2635//    req, resp := client.DeletePushTemplateRequest(params)
2636//
2637//    err := req.Send()
2638//    if err == nil { // resp is now filled
2639//        fmt.Println(resp)
2640//    }
2641//
2642// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeletePushTemplate
2643func (c *Pinpoint) DeletePushTemplateRequest(input *DeletePushTemplateInput) (req *request.Request, output *DeletePushTemplateOutput) {
2644	op := &request.Operation{
2645		Name:       opDeletePushTemplate,
2646		HTTPMethod: "DELETE",
2647		HTTPPath:   "/v1/templates/{template-name}/push",
2648	}
2649
2650	if input == nil {
2651		input = &DeletePushTemplateInput{}
2652	}
2653
2654	output = &DeletePushTemplateOutput{}
2655	req = c.newRequest(op, input, output)
2656	return
2657}
2658
2659// DeletePushTemplate API operation for Amazon Pinpoint.
2660//
2661// Deletes a message template for messages that were sent through a push notification
2662// channel.
2663//
2664// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2665// with awserr.Error's Code and Message methods to get detailed information about
2666// the error.
2667//
2668// See the AWS API reference guide for Amazon Pinpoint's
2669// API operation DeletePushTemplate for usage and error information.
2670//
2671// Returned Error Types:
2672//   * BadRequestException
2673//   Provides information about an API request or response.
2674//
2675//   * InternalServerErrorException
2676//   Provides information about an API request or response.
2677//
2678//   * PayloadTooLargeException
2679//   Provides information about an API request or response.
2680//
2681//   * ForbiddenException
2682//   Provides information about an API request or response.
2683//
2684//   * NotFoundException
2685//   Provides information about an API request or response.
2686//
2687//   * MethodNotAllowedException
2688//   Provides information about an API request or response.
2689//
2690//   * TooManyRequestsException
2691//   Provides information about an API request or response.
2692//
2693// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeletePushTemplate
2694func (c *Pinpoint) DeletePushTemplate(input *DeletePushTemplateInput) (*DeletePushTemplateOutput, error) {
2695	req, out := c.DeletePushTemplateRequest(input)
2696	return out, req.Send()
2697}
2698
2699// DeletePushTemplateWithContext is the same as DeletePushTemplate with the addition of
2700// the ability to pass a context and additional request options.
2701//
2702// See DeletePushTemplate for details on how to use this API operation.
2703//
2704// The context must be non-nil and will be used for request cancellation. If
2705// the context is nil a panic will occur. In the future the SDK may create
2706// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2707// for more information on using Contexts.
2708func (c *Pinpoint) DeletePushTemplateWithContext(ctx aws.Context, input *DeletePushTemplateInput, opts ...request.Option) (*DeletePushTemplateOutput, error) {
2709	req, out := c.DeletePushTemplateRequest(input)
2710	req.SetContext(ctx)
2711	req.ApplyOptions(opts...)
2712	return out, req.Send()
2713}
2714
2715const opDeleteRecommenderConfiguration = "DeleteRecommenderConfiguration"
2716
2717// DeleteRecommenderConfigurationRequest generates a "aws/request.Request" representing the
2718// client's request for the DeleteRecommenderConfiguration operation. The "output" return
2719// value will be populated with the request's response once the request completes
2720// successfully.
2721//
2722// Use "Send" method on the returned Request to send the API call to the service.
2723// the "output" return value is not valid until after Send returns without error.
2724//
2725// See DeleteRecommenderConfiguration for more information on using the DeleteRecommenderConfiguration
2726// API call, and error handling.
2727//
2728// This method is useful when you want to inject custom logic or configuration
2729// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2730//
2731//
2732//    // Example sending a request using the DeleteRecommenderConfigurationRequest method.
2733//    req, resp := client.DeleteRecommenderConfigurationRequest(params)
2734//
2735//    err := req.Send()
2736//    if err == nil { // resp is now filled
2737//        fmt.Println(resp)
2738//    }
2739//
2740// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteRecommenderConfiguration
2741func (c *Pinpoint) DeleteRecommenderConfigurationRequest(input *DeleteRecommenderConfigurationInput) (req *request.Request, output *DeleteRecommenderConfigurationOutput) {
2742	op := &request.Operation{
2743		Name:       opDeleteRecommenderConfiguration,
2744		HTTPMethod: "DELETE",
2745		HTTPPath:   "/v1/recommenders/{recommender-id}",
2746	}
2747
2748	if input == nil {
2749		input = &DeleteRecommenderConfigurationInput{}
2750	}
2751
2752	output = &DeleteRecommenderConfigurationOutput{}
2753	req = c.newRequest(op, input, output)
2754	return
2755}
2756
2757// DeleteRecommenderConfiguration API operation for Amazon Pinpoint.
2758//
2759// Deletes an Amazon Pinpoint configuration for a recommender model.
2760//
2761// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2762// with awserr.Error's Code and Message methods to get detailed information about
2763// the error.
2764//
2765// See the AWS API reference guide for Amazon Pinpoint's
2766// API operation DeleteRecommenderConfiguration for usage and error information.
2767//
2768// Returned Error Types:
2769//   * BadRequestException
2770//   Provides information about an API request or response.
2771//
2772//   * InternalServerErrorException
2773//   Provides information about an API request or response.
2774//
2775//   * PayloadTooLargeException
2776//   Provides information about an API request or response.
2777//
2778//   * ForbiddenException
2779//   Provides information about an API request or response.
2780//
2781//   * NotFoundException
2782//   Provides information about an API request or response.
2783//
2784//   * MethodNotAllowedException
2785//   Provides information about an API request or response.
2786//
2787//   * TooManyRequestsException
2788//   Provides information about an API request or response.
2789//
2790// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteRecommenderConfiguration
2791func (c *Pinpoint) DeleteRecommenderConfiguration(input *DeleteRecommenderConfigurationInput) (*DeleteRecommenderConfigurationOutput, error) {
2792	req, out := c.DeleteRecommenderConfigurationRequest(input)
2793	return out, req.Send()
2794}
2795
2796// DeleteRecommenderConfigurationWithContext is the same as DeleteRecommenderConfiguration with the addition of
2797// the ability to pass a context and additional request options.
2798//
2799// See DeleteRecommenderConfiguration for details on how to use this API operation.
2800//
2801// The context must be non-nil and will be used for request cancellation. If
2802// the context is nil a panic will occur. In the future the SDK may create
2803// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2804// for more information on using Contexts.
2805func (c *Pinpoint) DeleteRecommenderConfigurationWithContext(ctx aws.Context, input *DeleteRecommenderConfigurationInput, opts ...request.Option) (*DeleteRecommenderConfigurationOutput, error) {
2806	req, out := c.DeleteRecommenderConfigurationRequest(input)
2807	req.SetContext(ctx)
2808	req.ApplyOptions(opts...)
2809	return out, req.Send()
2810}
2811
2812const opDeleteSegment = "DeleteSegment"
2813
2814// DeleteSegmentRequest generates a "aws/request.Request" representing the
2815// client's request for the DeleteSegment operation. The "output" return
2816// value will be populated with the request's response once the request completes
2817// successfully.
2818//
2819// Use "Send" method on the returned Request to send the API call to the service.
2820// the "output" return value is not valid until after Send returns without error.
2821//
2822// See DeleteSegment for more information on using the DeleteSegment
2823// API call, and error handling.
2824//
2825// This method is useful when you want to inject custom logic or configuration
2826// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2827//
2828//
2829//    // Example sending a request using the DeleteSegmentRequest method.
2830//    req, resp := client.DeleteSegmentRequest(params)
2831//
2832//    err := req.Send()
2833//    if err == nil { // resp is now filled
2834//        fmt.Println(resp)
2835//    }
2836//
2837// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSegment
2838func (c *Pinpoint) DeleteSegmentRequest(input *DeleteSegmentInput) (req *request.Request, output *DeleteSegmentOutput) {
2839	op := &request.Operation{
2840		Name:       opDeleteSegment,
2841		HTTPMethod: "DELETE",
2842		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
2843	}
2844
2845	if input == nil {
2846		input = &DeleteSegmentInput{}
2847	}
2848
2849	output = &DeleteSegmentOutput{}
2850	req = c.newRequest(op, input, output)
2851	return
2852}
2853
2854// DeleteSegment API operation for Amazon Pinpoint.
2855//
2856// Deletes a segment from an application.
2857//
2858// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2859// with awserr.Error's Code and Message methods to get detailed information about
2860// the error.
2861//
2862// See the AWS API reference guide for Amazon Pinpoint's
2863// API operation DeleteSegment for usage and error information.
2864//
2865// Returned Error Types:
2866//   * BadRequestException
2867//   Provides information about an API request or response.
2868//
2869//   * InternalServerErrorException
2870//   Provides information about an API request or response.
2871//
2872//   * PayloadTooLargeException
2873//   Provides information about an API request or response.
2874//
2875//   * ForbiddenException
2876//   Provides information about an API request or response.
2877//
2878//   * NotFoundException
2879//   Provides information about an API request or response.
2880//
2881//   * MethodNotAllowedException
2882//   Provides information about an API request or response.
2883//
2884//   * TooManyRequestsException
2885//   Provides information about an API request or response.
2886//
2887// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSegment
2888func (c *Pinpoint) DeleteSegment(input *DeleteSegmentInput) (*DeleteSegmentOutput, error) {
2889	req, out := c.DeleteSegmentRequest(input)
2890	return out, req.Send()
2891}
2892
2893// DeleteSegmentWithContext is the same as DeleteSegment with the addition of
2894// the ability to pass a context and additional request options.
2895//
2896// See DeleteSegment for details on how to use this API operation.
2897//
2898// The context must be non-nil and will be used for request cancellation. If
2899// the context is nil a panic will occur. In the future the SDK may create
2900// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2901// for more information on using Contexts.
2902func (c *Pinpoint) DeleteSegmentWithContext(ctx aws.Context, input *DeleteSegmentInput, opts ...request.Option) (*DeleteSegmentOutput, error) {
2903	req, out := c.DeleteSegmentRequest(input)
2904	req.SetContext(ctx)
2905	req.ApplyOptions(opts...)
2906	return out, req.Send()
2907}
2908
2909const opDeleteSmsChannel = "DeleteSmsChannel"
2910
2911// DeleteSmsChannelRequest generates a "aws/request.Request" representing the
2912// client's request for the DeleteSmsChannel operation. The "output" return
2913// value will be populated with the request's response once the request completes
2914// successfully.
2915//
2916// Use "Send" method on the returned Request to send the API call to the service.
2917// the "output" return value is not valid until after Send returns without error.
2918//
2919// See DeleteSmsChannel for more information on using the DeleteSmsChannel
2920// API call, and error handling.
2921//
2922// This method is useful when you want to inject custom logic or configuration
2923// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2924//
2925//
2926//    // Example sending a request using the DeleteSmsChannelRequest method.
2927//    req, resp := client.DeleteSmsChannelRequest(params)
2928//
2929//    err := req.Send()
2930//    if err == nil { // resp is now filled
2931//        fmt.Println(resp)
2932//    }
2933//
2934// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsChannel
2935func (c *Pinpoint) DeleteSmsChannelRequest(input *DeleteSmsChannelInput) (req *request.Request, output *DeleteSmsChannelOutput) {
2936	op := &request.Operation{
2937		Name:       opDeleteSmsChannel,
2938		HTTPMethod: "DELETE",
2939		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
2940	}
2941
2942	if input == nil {
2943		input = &DeleteSmsChannelInput{}
2944	}
2945
2946	output = &DeleteSmsChannelOutput{}
2947	req = c.newRequest(op, input, output)
2948	return
2949}
2950
2951// DeleteSmsChannel API operation for Amazon Pinpoint.
2952//
2953// Disables the SMS channel for an application and deletes any existing settings
2954// for the channel.
2955//
2956// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2957// with awserr.Error's Code and Message methods to get detailed information about
2958// the error.
2959//
2960// See the AWS API reference guide for Amazon Pinpoint's
2961// API operation DeleteSmsChannel for usage and error information.
2962//
2963// Returned Error Types:
2964//   * BadRequestException
2965//   Provides information about an API request or response.
2966//
2967//   * InternalServerErrorException
2968//   Provides information about an API request or response.
2969//
2970//   * PayloadTooLargeException
2971//   Provides information about an API request or response.
2972//
2973//   * ForbiddenException
2974//   Provides information about an API request or response.
2975//
2976//   * NotFoundException
2977//   Provides information about an API request or response.
2978//
2979//   * MethodNotAllowedException
2980//   Provides information about an API request or response.
2981//
2982//   * TooManyRequestsException
2983//   Provides information about an API request or response.
2984//
2985// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsChannel
2986func (c *Pinpoint) DeleteSmsChannel(input *DeleteSmsChannelInput) (*DeleteSmsChannelOutput, error) {
2987	req, out := c.DeleteSmsChannelRequest(input)
2988	return out, req.Send()
2989}
2990
2991// DeleteSmsChannelWithContext is the same as DeleteSmsChannel with the addition of
2992// the ability to pass a context and additional request options.
2993//
2994// See DeleteSmsChannel for details on how to use this API operation.
2995//
2996// The context must be non-nil and will be used for request cancellation. If
2997// the context is nil a panic will occur. In the future the SDK may create
2998// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2999// for more information on using Contexts.
3000func (c *Pinpoint) DeleteSmsChannelWithContext(ctx aws.Context, input *DeleteSmsChannelInput, opts ...request.Option) (*DeleteSmsChannelOutput, error) {
3001	req, out := c.DeleteSmsChannelRequest(input)
3002	req.SetContext(ctx)
3003	req.ApplyOptions(opts...)
3004	return out, req.Send()
3005}
3006
3007const opDeleteSmsTemplate = "DeleteSmsTemplate"
3008
3009// DeleteSmsTemplateRequest generates a "aws/request.Request" representing the
3010// client's request for the DeleteSmsTemplate operation. The "output" return
3011// value will be populated with the request's response once the request completes
3012// successfully.
3013//
3014// Use "Send" method on the returned Request to send the API call to the service.
3015// the "output" return value is not valid until after Send returns without error.
3016//
3017// See DeleteSmsTemplate for more information on using the DeleteSmsTemplate
3018// API call, and error handling.
3019//
3020// This method is useful when you want to inject custom logic or configuration
3021// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3022//
3023//
3024//    // Example sending a request using the DeleteSmsTemplateRequest method.
3025//    req, resp := client.DeleteSmsTemplateRequest(params)
3026//
3027//    err := req.Send()
3028//    if err == nil { // resp is now filled
3029//        fmt.Println(resp)
3030//    }
3031//
3032// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsTemplate
3033func (c *Pinpoint) DeleteSmsTemplateRequest(input *DeleteSmsTemplateInput) (req *request.Request, output *DeleteSmsTemplateOutput) {
3034	op := &request.Operation{
3035		Name:       opDeleteSmsTemplate,
3036		HTTPMethod: "DELETE",
3037		HTTPPath:   "/v1/templates/{template-name}/sms",
3038	}
3039
3040	if input == nil {
3041		input = &DeleteSmsTemplateInput{}
3042	}
3043
3044	output = &DeleteSmsTemplateOutput{}
3045	req = c.newRequest(op, input, output)
3046	return
3047}
3048
3049// DeleteSmsTemplate API operation for Amazon Pinpoint.
3050//
3051// Deletes a message template for messages that were sent through the SMS channel.
3052//
3053// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3054// with awserr.Error's Code and Message methods to get detailed information about
3055// the error.
3056//
3057// See the AWS API reference guide for Amazon Pinpoint's
3058// API operation DeleteSmsTemplate for usage and error information.
3059//
3060// Returned Error Types:
3061//   * BadRequestException
3062//   Provides information about an API request or response.
3063//
3064//   * InternalServerErrorException
3065//   Provides information about an API request or response.
3066//
3067//   * PayloadTooLargeException
3068//   Provides information about an API request or response.
3069//
3070//   * ForbiddenException
3071//   Provides information about an API request or response.
3072//
3073//   * NotFoundException
3074//   Provides information about an API request or response.
3075//
3076//   * MethodNotAllowedException
3077//   Provides information about an API request or response.
3078//
3079//   * TooManyRequestsException
3080//   Provides information about an API request or response.
3081//
3082// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsTemplate
3083func (c *Pinpoint) DeleteSmsTemplate(input *DeleteSmsTemplateInput) (*DeleteSmsTemplateOutput, error) {
3084	req, out := c.DeleteSmsTemplateRequest(input)
3085	return out, req.Send()
3086}
3087
3088// DeleteSmsTemplateWithContext is the same as DeleteSmsTemplate with the addition of
3089// the ability to pass a context and additional request options.
3090//
3091// See DeleteSmsTemplate for details on how to use this API operation.
3092//
3093// The context must be non-nil and will be used for request cancellation. If
3094// the context is nil a panic will occur. In the future the SDK may create
3095// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3096// for more information on using Contexts.
3097func (c *Pinpoint) DeleteSmsTemplateWithContext(ctx aws.Context, input *DeleteSmsTemplateInput, opts ...request.Option) (*DeleteSmsTemplateOutput, error) {
3098	req, out := c.DeleteSmsTemplateRequest(input)
3099	req.SetContext(ctx)
3100	req.ApplyOptions(opts...)
3101	return out, req.Send()
3102}
3103
3104const opDeleteUserEndpoints = "DeleteUserEndpoints"
3105
3106// DeleteUserEndpointsRequest generates a "aws/request.Request" representing the
3107// client's request for the DeleteUserEndpoints operation. The "output" return
3108// value will be populated with the request's response once the request completes
3109// successfully.
3110//
3111// Use "Send" method on the returned Request to send the API call to the service.
3112// the "output" return value is not valid until after Send returns without error.
3113//
3114// See DeleteUserEndpoints for more information on using the DeleteUserEndpoints
3115// API call, and error handling.
3116//
3117// This method is useful when you want to inject custom logic or configuration
3118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3119//
3120//
3121//    // Example sending a request using the DeleteUserEndpointsRequest method.
3122//    req, resp := client.DeleteUserEndpointsRequest(params)
3123//
3124//    err := req.Send()
3125//    if err == nil { // resp is now filled
3126//        fmt.Println(resp)
3127//    }
3128//
3129// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteUserEndpoints
3130func (c *Pinpoint) DeleteUserEndpointsRequest(input *DeleteUserEndpointsInput) (req *request.Request, output *DeleteUserEndpointsOutput) {
3131	op := &request.Operation{
3132		Name:       opDeleteUserEndpoints,
3133		HTTPMethod: "DELETE",
3134		HTTPPath:   "/v1/apps/{application-id}/users/{user-id}",
3135	}
3136
3137	if input == nil {
3138		input = &DeleteUserEndpointsInput{}
3139	}
3140
3141	output = &DeleteUserEndpointsOutput{}
3142	req = c.newRequest(op, input, output)
3143	return
3144}
3145
3146// DeleteUserEndpoints API operation for Amazon Pinpoint.
3147//
3148// Deletes all the endpoints that are associated with a specific user ID.
3149//
3150// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3151// with awserr.Error's Code and Message methods to get detailed information about
3152// the error.
3153//
3154// See the AWS API reference guide for Amazon Pinpoint's
3155// API operation DeleteUserEndpoints for usage and error information.
3156//
3157// Returned Error Types:
3158//   * BadRequestException
3159//   Provides information about an API request or response.
3160//
3161//   * InternalServerErrorException
3162//   Provides information about an API request or response.
3163//
3164//   * PayloadTooLargeException
3165//   Provides information about an API request or response.
3166//
3167//   * ForbiddenException
3168//   Provides information about an API request or response.
3169//
3170//   * NotFoundException
3171//   Provides information about an API request or response.
3172//
3173//   * MethodNotAllowedException
3174//   Provides information about an API request or response.
3175//
3176//   * TooManyRequestsException
3177//   Provides information about an API request or response.
3178//
3179// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteUserEndpoints
3180func (c *Pinpoint) DeleteUserEndpoints(input *DeleteUserEndpointsInput) (*DeleteUserEndpointsOutput, error) {
3181	req, out := c.DeleteUserEndpointsRequest(input)
3182	return out, req.Send()
3183}
3184
3185// DeleteUserEndpointsWithContext is the same as DeleteUserEndpoints with the addition of
3186// the ability to pass a context and additional request options.
3187//
3188// See DeleteUserEndpoints for details on how to use this API operation.
3189//
3190// The context must be non-nil and will be used for request cancellation. If
3191// the context is nil a panic will occur. In the future the SDK may create
3192// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3193// for more information on using Contexts.
3194func (c *Pinpoint) DeleteUserEndpointsWithContext(ctx aws.Context, input *DeleteUserEndpointsInput, opts ...request.Option) (*DeleteUserEndpointsOutput, error) {
3195	req, out := c.DeleteUserEndpointsRequest(input)
3196	req.SetContext(ctx)
3197	req.ApplyOptions(opts...)
3198	return out, req.Send()
3199}
3200
3201const opDeleteVoiceChannel = "DeleteVoiceChannel"
3202
3203// DeleteVoiceChannelRequest generates a "aws/request.Request" representing the
3204// client's request for the DeleteVoiceChannel operation. The "output" return
3205// value will be populated with the request's response once the request completes
3206// successfully.
3207//
3208// Use "Send" method on the returned Request to send the API call to the service.
3209// the "output" return value is not valid until after Send returns without error.
3210//
3211// See DeleteVoiceChannel for more information on using the DeleteVoiceChannel
3212// API call, and error handling.
3213//
3214// This method is useful when you want to inject custom logic or configuration
3215// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3216//
3217//
3218//    // Example sending a request using the DeleteVoiceChannelRequest method.
3219//    req, resp := client.DeleteVoiceChannelRequest(params)
3220//
3221//    err := req.Send()
3222//    if err == nil { // resp is now filled
3223//        fmt.Println(resp)
3224//    }
3225//
3226// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceChannel
3227func (c *Pinpoint) DeleteVoiceChannelRequest(input *DeleteVoiceChannelInput) (req *request.Request, output *DeleteVoiceChannelOutput) {
3228	op := &request.Operation{
3229		Name:       opDeleteVoiceChannel,
3230		HTTPMethod: "DELETE",
3231		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
3232	}
3233
3234	if input == nil {
3235		input = &DeleteVoiceChannelInput{}
3236	}
3237
3238	output = &DeleteVoiceChannelOutput{}
3239	req = c.newRequest(op, input, output)
3240	return
3241}
3242
3243// DeleteVoiceChannel API operation for Amazon Pinpoint.
3244//
3245// Disables the voice channel for an application and deletes any existing settings
3246// for the channel.
3247//
3248// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3249// with awserr.Error's Code and Message methods to get detailed information about
3250// the error.
3251//
3252// See the AWS API reference guide for Amazon Pinpoint's
3253// API operation DeleteVoiceChannel for usage and error information.
3254//
3255// Returned Error Types:
3256//   * BadRequestException
3257//   Provides information about an API request or response.
3258//
3259//   * InternalServerErrorException
3260//   Provides information about an API request or response.
3261//
3262//   * PayloadTooLargeException
3263//   Provides information about an API request or response.
3264//
3265//   * ForbiddenException
3266//   Provides information about an API request or response.
3267//
3268//   * NotFoundException
3269//   Provides information about an API request or response.
3270//
3271//   * MethodNotAllowedException
3272//   Provides information about an API request or response.
3273//
3274//   * TooManyRequestsException
3275//   Provides information about an API request or response.
3276//
3277// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceChannel
3278func (c *Pinpoint) DeleteVoiceChannel(input *DeleteVoiceChannelInput) (*DeleteVoiceChannelOutput, error) {
3279	req, out := c.DeleteVoiceChannelRequest(input)
3280	return out, req.Send()
3281}
3282
3283// DeleteVoiceChannelWithContext is the same as DeleteVoiceChannel with the addition of
3284// the ability to pass a context and additional request options.
3285//
3286// See DeleteVoiceChannel for details on how to use this API operation.
3287//
3288// The context must be non-nil and will be used for request cancellation. If
3289// the context is nil a panic will occur. In the future the SDK may create
3290// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3291// for more information on using Contexts.
3292func (c *Pinpoint) DeleteVoiceChannelWithContext(ctx aws.Context, input *DeleteVoiceChannelInput, opts ...request.Option) (*DeleteVoiceChannelOutput, error) {
3293	req, out := c.DeleteVoiceChannelRequest(input)
3294	req.SetContext(ctx)
3295	req.ApplyOptions(opts...)
3296	return out, req.Send()
3297}
3298
3299const opDeleteVoiceTemplate = "DeleteVoiceTemplate"
3300
3301// DeleteVoiceTemplateRequest generates a "aws/request.Request" representing the
3302// client's request for the DeleteVoiceTemplate operation. The "output" return
3303// value will be populated with the request's response once the request completes
3304// successfully.
3305//
3306// Use "Send" method on the returned Request to send the API call to the service.
3307// the "output" return value is not valid until after Send returns without error.
3308//
3309// See DeleteVoiceTemplate for more information on using the DeleteVoiceTemplate
3310// API call, and error handling.
3311//
3312// This method is useful when you want to inject custom logic or configuration
3313// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3314//
3315//
3316//    // Example sending a request using the DeleteVoiceTemplateRequest method.
3317//    req, resp := client.DeleteVoiceTemplateRequest(params)
3318//
3319//    err := req.Send()
3320//    if err == nil { // resp is now filled
3321//        fmt.Println(resp)
3322//    }
3323//
3324// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceTemplate
3325func (c *Pinpoint) DeleteVoiceTemplateRequest(input *DeleteVoiceTemplateInput) (req *request.Request, output *DeleteVoiceTemplateOutput) {
3326	op := &request.Operation{
3327		Name:       opDeleteVoiceTemplate,
3328		HTTPMethod: "DELETE",
3329		HTTPPath:   "/v1/templates/{template-name}/voice",
3330	}
3331
3332	if input == nil {
3333		input = &DeleteVoiceTemplateInput{}
3334	}
3335
3336	output = &DeleteVoiceTemplateOutput{}
3337	req = c.newRequest(op, input, output)
3338	return
3339}
3340
3341// DeleteVoiceTemplate API operation for Amazon Pinpoint.
3342//
3343// Deletes a message template for messages that were sent through the voice
3344// channel.
3345//
3346// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3347// with awserr.Error's Code and Message methods to get detailed information about
3348// the error.
3349//
3350// See the AWS API reference guide for Amazon Pinpoint's
3351// API operation DeleteVoiceTemplate for usage and error information.
3352//
3353// Returned Error Types:
3354//   * BadRequestException
3355//   Provides information about an API request or response.
3356//
3357//   * InternalServerErrorException
3358//   Provides information about an API request or response.
3359//
3360//   * PayloadTooLargeException
3361//   Provides information about an API request or response.
3362//
3363//   * ForbiddenException
3364//   Provides information about an API request or response.
3365//
3366//   * NotFoundException
3367//   Provides information about an API request or response.
3368//
3369//   * MethodNotAllowedException
3370//   Provides information about an API request or response.
3371//
3372//   * TooManyRequestsException
3373//   Provides information about an API request or response.
3374//
3375// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceTemplate
3376func (c *Pinpoint) DeleteVoiceTemplate(input *DeleteVoiceTemplateInput) (*DeleteVoiceTemplateOutput, error) {
3377	req, out := c.DeleteVoiceTemplateRequest(input)
3378	return out, req.Send()
3379}
3380
3381// DeleteVoiceTemplateWithContext is the same as DeleteVoiceTemplate with the addition of
3382// the ability to pass a context and additional request options.
3383//
3384// See DeleteVoiceTemplate for details on how to use this API operation.
3385//
3386// The context must be non-nil and will be used for request cancellation. If
3387// the context is nil a panic will occur. In the future the SDK may create
3388// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3389// for more information on using Contexts.
3390func (c *Pinpoint) DeleteVoiceTemplateWithContext(ctx aws.Context, input *DeleteVoiceTemplateInput, opts ...request.Option) (*DeleteVoiceTemplateOutput, error) {
3391	req, out := c.DeleteVoiceTemplateRequest(input)
3392	req.SetContext(ctx)
3393	req.ApplyOptions(opts...)
3394	return out, req.Send()
3395}
3396
3397const opGetAdmChannel = "GetAdmChannel"
3398
3399// GetAdmChannelRequest generates a "aws/request.Request" representing the
3400// client's request for the GetAdmChannel operation. The "output" return
3401// value will be populated with the request's response once the request completes
3402// successfully.
3403//
3404// Use "Send" method on the returned Request to send the API call to the service.
3405// the "output" return value is not valid until after Send returns without error.
3406//
3407// See GetAdmChannel for more information on using the GetAdmChannel
3408// API call, and error handling.
3409//
3410// This method is useful when you want to inject custom logic or configuration
3411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3412//
3413//
3414//    // Example sending a request using the GetAdmChannelRequest method.
3415//    req, resp := client.GetAdmChannelRequest(params)
3416//
3417//    err := req.Send()
3418//    if err == nil { // resp is now filled
3419//        fmt.Println(resp)
3420//    }
3421//
3422// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAdmChannel
3423func (c *Pinpoint) GetAdmChannelRequest(input *GetAdmChannelInput) (req *request.Request, output *GetAdmChannelOutput) {
3424	op := &request.Operation{
3425		Name:       opGetAdmChannel,
3426		HTTPMethod: "GET",
3427		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
3428	}
3429
3430	if input == nil {
3431		input = &GetAdmChannelInput{}
3432	}
3433
3434	output = &GetAdmChannelOutput{}
3435	req = c.newRequest(op, input, output)
3436	return
3437}
3438
3439// GetAdmChannel API operation for Amazon Pinpoint.
3440//
3441// Retrieves information about the status and settings of the ADM channel for
3442// an application.
3443//
3444// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3445// with awserr.Error's Code and Message methods to get detailed information about
3446// the error.
3447//
3448// See the AWS API reference guide for Amazon Pinpoint's
3449// API operation GetAdmChannel for usage and error information.
3450//
3451// Returned Error Types:
3452//   * BadRequestException
3453//   Provides information about an API request or response.
3454//
3455//   * InternalServerErrorException
3456//   Provides information about an API request or response.
3457//
3458//   * PayloadTooLargeException
3459//   Provides information about an API request or response.
3460//
3461//   * ForbiddenException
3462//   Provides information about an API request or response.
3463//
3464//   * NotFoundException
3465//   Provides information about an API request or response.
3466//
3467//   * MethodNotAllowedException
3468//   Provides information about an API request or response.
3469//
3470//   * TooManyRequestsException
3471//   Provides information about an API request or response.
3472//
3473// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAdmChannel
3474func (c *Pinpoint) GetAdmChannel(input *GetAdmChannelInput) (*GetAdmChannelOutput, error) {
3475	req, out := c.GetAdmChannelRequest(input)
3476	return out, req.Send()
3477}
3478
3479// GetAdmChannelWithContext is the same as GetAdmChannel with the addition of
3480// the ability to pass a context and additional request options.
3481//
3482// See GetAdmChannel for details on how to use this API operation.
3483//
3484// The context must be non-nil and will be used for request cancellation. If
3485// the context is nil a panic will occur. In the future the SDK may create
3486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3487// for more information on using Contexts.
3488func (c *Pinpoint) GetAdmChannelWithContext(ctx aws.Context, input *GetAdmChannelInput, opts ...request.Option) (*GetAdmChannelOutput, error) {
3489	req, out := c.GetAdmChannelRequest(input)
3490	req.SetContext(ctx)
3491	req.ApplyOptions(opts...)
3492	return out, req.Send()
3493}
3494
3495const opGetApnsChannel = "GetApnsChannel"
3496
3497// GetApnsChannelRequest generates a "aws/request.Request" representing the
3498// client's request for the GetApnsChannel operation. The "output" return
3499// value will be populated with the request's response once the request completes
3500// successfully.
3501//
3502// Use "Send" method on the returned Request to send the API call to the service.
3503// the "output" return value is not valid until after Send returns without error.
3504//
3505// See GetApnsChannel for more information on using the GetApnsChannel
3506// API call, and error handling.
3507//
3508// This method is useful when you want to inject custom logic or configuration
3509// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3510//
3511//
3512//    // Example sending a request using the GetApnsChannelRequest method.
3513//    req, resp := client.GetApnsChannelRequest(params)
3514//
3515//    err := req.Send()
3516//    if err == nil { // resp is now filled
3517//        fmt.Println(resp)
3518//    }
3519//
3520// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsChannel
3521func (c *Pinpoint) GetApnsChannelRequest(input *GetApnsChannelInput) (req *request.Request, output *GetApnsChannelOutput) {
3522	op := &request.Operation{
3523		Name:       opGetApnsChannel,
3524		HTTPMethod: "GET",
3525		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
3526	}
3527
3528	if input == nil {
3529		input = &GetApnsChannelInput{}
3530	}
3531
3532	output = &GetApnsChannelOutput{}
3533	req = c.newRequest(op, input, output)
3534	return
3535}
3536
3537// GetApnsChannel API operation for Amazon Pinpoint.
3538//
3539// Retrieves information about the status and settings of the APNs channel for
3540// an application.
3541//
3542// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3543// with awserr.Error's Code and Message methods to get detailed information about
3544// the error.
3545//
3546// See the AWS API reference guide for Amazon Pinpoint's
3547// API operation GetApnsChannel for usage and error information.
3548//
3549// Returned Error Types:
3550//   * BadRequestException
3551//   Provides information about an API request or response.
3552//
3553//   * InternalServerErrorException
3554//   Provides information about an API request or response.
3555//
3556//   * PayloadTooLargeException
3557//   Provides information about an API request or response.
3558//
3559//   * ForbiddenException
3560//   Provides information about an API request or response.
3561//
3562//   * NotFoundException
3563//   Provides information about an API request or response.
3564//
3565//   * MethodNotAllowedException
3566//   Provides information about an API request or response.
3567//
3568//   * TooManyRequestsException
3569//   Provides information about an API request or response.
3570//
3571// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsChannel
3572func (c *Pinpoint) GetApnsChannel(input *GetApnsChannelInput) (*GetApnsChannelOutput, error) {
3573	req, out := c.GetApnsChannelRequest(input)
3574	return out, req.Send()
3575}
3576
3577// GetApnsChannelWithContext is the same as GetApnsChannel with the addition of
3578// the ability to pass a context and additional request options.
3579//
3580// See GetApnsChannel for details on how to use this API operation.
3581//
3582// The context must be non-nil and will be used for request cancellation. If
3583// the context is nil a panic will occur. In the future the SDK may create
3584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3585// for more information on using Contexts.
3586func (c *Pinpoint) GetApnsChannelWithContext(ctx aws.Context, input *GetApnsChannelInput, opts ...request.Option) (*GetApnsChannelOutput, error) {
3587	req, out := c.GetApnsChannelRequest(input)
3588	req.SetContext(ctx)
3589	req.ApplyOptions(opts...)
3590	return out, req.Send()
3591}
3592
3593const opGetApnsSandboxChannel = "GetApnsSandboxChannel"
3594
3595// GetApnsSandboxChannelRequest generates a "aws/request.Request" representing the
3596// client's request for the GetApnsSandboxChannel operation. The "output" return
3597// value will be populated with the request's response once the request completes
3598// successfully.
3599//
3600// Use "Send" method on the returned Request to send the API call to the service.
3601// the "output" return value is not valid until after Send returns without error.
3602//
3603// See GetApnsSandboxChannel for more information on using the GetApnsSandboxChannel
3604// API call, and error handling.
3605//
3606// This method is useful when you want to inject custom logic or configuration
3607// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3608//
3609//
3610//    // Example sending a request using the GetApnsSandboxChannelRequest method.
3611//    req, resp := client.GetApnsSandboxChannelRequest(params)
3612//
3613//    err := req.Send()
3614//    if err == nil { // resp is now filled
3615//        fmt.Println(resp)
3616//    }
3617//
3618// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsSandboxChannel
3619func (c *Pinpoint) GetApnsSandboxChannelRequest(input *GetApnsSandboxChannelInput) (req *request.Request, output *GetApnsSandboxChannelOutput) {
3620	op := &request.Operation{
3621		Name:       opGetApnsSandboxChannel,
3622		HTTPMethod: "GET",
3623		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
3624	}
3625
3626	if input == nil {
3627		input = &GetApnsSandboxChannelInput{}
3628	}
3629
3630	output = &GetApnsSandboxChannelOutput{}
3631	req = c.newRequest(op, input, output)
3632	return
3633}
3634
3635// GetApnsSandboxChannel API operation for Amazon Pinpoint.
3636//
3637// Retrieves information about the status and settings of the APNs sandbox channel
3638// for an application.
3639//
3640// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3641// with awserr.Error's Code and Message methods to get detailed information about
3642// the error.
3643//
3644// See the AWS API reference guide for Amazon Pinpoint's
3645// API operation GetApnsSandboxChannel for usage and error information.
3646//
3647// Returned Error Types:
3648//   * BadRequestException
3649//   Provides information about an API request or response.
3650//
3651//   * InternalServerErrorException
3652//   Provides information about an API request or response.
3653//
3654//   * PayloadTooLargeException
3655//   Provides information about an API request or response.
3656//
3657//   * ForbiddenException
3658//   Provides information about an API request or response.
3659//
3660//   * NotFoundException
3661//   Provides information about an API request or response.
3662//
3663//   * MethodNotAllowedException
3664//   Provides information about an API request or response.
3665//
3666//   * TooManyRequestsException
3667//   Provides information about an API request or response.
3668//
3669// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsSandboxChannel
3670func (c *Pinpoint) GetApnsSandboxChannel(input *GetApnsSandboxChannelInput) (*GetApnsSandboxChannelOutput, error) {
3671	req, out := c.GetApnsSandboxChannelRequest(input)
3672	return out, req.Send()
3673}
3674
3675// GetApnsSandboxChannelWithContext is the same as GetApnsSandboxChannel with the addition of
3676// the ability to pass a context and additional request options.
3677//
3678// See GetApnsSandboxChannel for details on how to use this API operation.
3679//
3680// The context must be non-nil and will be used for request cancellation. If
3681// the context is nil a panic will occur. In the future the SDK may create
3682// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3683// for more information on using Contexts.
3684func (c *Pinpoint) GetApnsSandboxChannelWithContext(ctx aws.Context, input *GetApnsSandboxChannelInput, opts ...request.Option) (*GetApnsSandboxChannelOutput, error) {
3685	req, out := c.GetApnsSandboxChannelRequest(input)
3686	req.SetContext(ctx)
3687	req.ApplyOptions(opts...)
3688	return out, req.Send()
3689}
3690
3691const opGetApnsVoipChannel = "GetApnsVoipChannel"
3692
3693// GetApnsVoipChannelRequest generates a "aws/request.Request" representing the
3694// client's request for the GetApnsVoipChannel operation. The "output" return
3695// value will be populated with the request's response once the request completes
3696// successfully.
3697//
3698// Use "Send" method on the returned Request to send the API call to the service.
3699// the "output" return value is not valid until after Send returns without error.
3700//
3701// See GetApnsVoipChannel for more information on using the GetApnsVoipChannel
3702// API call, and error handling.
3703//
3704// This method is useful when you want to inject custom logic or configuration
3705// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3706//
3707//
3708//    // Example sending a request using the GetApnsVoipChannelRequest method.
3709//    req, resp := client.GetApnsVoipChannelRequest(params)
3710//
3711//    err := req.Send()
3712//    if err == nil { // resp is now filled
3713//        fmt.Println(resp)
3714//    }
3715//
3716// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipChannel
3717func (c *Pinpoint) GetApnsVoipChannelRequest(input *GetApnsVoipChannelInput) (req *request.Request, output *GetApnsVoipChannelOutput) {
3718	op := &request.Operation{
3719		Name:       opGetApnsVoipChannel,
3720		HTTPMethod: "GET",
3721		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
3722	}
3723
3724	if input == nil {
3725		input = &GetApnsVoipChannelInput{}
3726	}
3727
3728	output = &GetApnsVoipChannelOutput{}
3729	req = c.newRequest(op, input, output)
3730	return
3731}
3732
3733// GetApnsVoipChannel API operation for Amazon Pinpoint.
3734//
3735// Retrieves information about the status and settings of the APNs VoIP channel
3736// for an application.
3737//
3738// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3739// with awserr.Error's Code and Message methods to get detailed information about
3740// the error.
3741//
3742// See the AWS API reference guide for Amazon Pinpoint's
3743// API operation GetApnsVoipChannel for usage and error information.
3744//
3745// Returned Error Types:
3746//   * BadRequestException
3747//   Provides information about an API request or response.
3748//
3749//   * InternalServerErrorException
3750//   Provides information about an API request or response.
3751//
3752//   * PayloadTooLargeException
3753//   Provides information about an API request or response.
3754//
3755//   * ForbiddenException
3756//   Provides information about an API request or response.
3757//
3758//   * NotFoundException
3759//   Provides information about an API request or response.
3760//
3761//   * MethodNotAllowedException
3762//   Provides information about an API request or response.
3763//
3764//   * TooManyRequestsException
3765//   Provides information about an API request or response.
3766//
3767// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipChannel
3768func (c *Pinpoint) GetApnsVoipChannel(input *GetApnsVoipChannelInput) (*GetApnsVoipChannelOutput, error) {
3769	req, out := c.GetApnsVoipChannelRequest(input)
3770	return out, req.Send()
3771}
3772
3773// GetApnsVoipChannelWithContext is the same as GetApnsVoipChannel with the addition of
3774// the ability to pass a context and additional request options.
3775//
3776// See GetApnsVoipChannel for details on how to use this API operation.
3777//
3778// The context must be non-nil and will be used for request cancellation. If
3779// the context is nil a panic will occur. In the future the SDK may create
3780// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3781// for more information on using Contexts.
3782func (c *Pinpoint) GetApnsVoipChannelWithContext(ctx aws.Context, input *GetApnsVoipChannelInput, opts ...request.Option) (*GetApnsVoipChannelOutput, error) {
3783	req, out := c.GetApnsVoipChannelRequest(input)
3784	req.SetContext(ctx)
3785	req.ApplyOptions(opts...)
3786	return out, req.Send()
3787}
3788
3789const opGetApnsVoipSandboxChannel = "GetApnsVoipSandboxChannel"
3790
3791// GetApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
3792// client's request for the GetApnsVoipSandboxChannel operation. The "output" return
3793// value will be populated with the request's response once the request completes
3794// successfully.
3795//
3796// Use "Send" method on the returned Request to send the API call to the service.
3797// the "output" return value is not valid until after Send returns without error.
3798//
3799// See GetApnsVoipSandboxChannel for more information on using the GetApnsVoipSandboxChannel
3800// API call, and error handling.
3801//
3802// This method is useful when you want to inject custom logic or configuration
3803// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3804//
3805//
3806//    // Example sending a request using the GetApnsVoipSandboxChannelRequest method.
3807//    req, resp := client.GetApnsVoipSandboxChannelRequest(params)
3808//
3809//    err := req.Send()
3810//    if err == nil { // resp is now filled
3811//        fmt.Println(resp)
3812//    }
3813//
3814// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipSandboxChannel
3815func (c *Pinpoint) GetApnsVoipSandboxChannelRequest(input *GetApnsVoipSandboxChannelInput) (req *request.Request, output *GetApnsVoipSandboxChannelOutput) {
3816	op := &request.Operation{
3817		Name:       opGetApnsVoipSandboxChannel,
3818		HTTPMethod: "GET",
3819		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
3820	}
3821
3822	if input == nil {
3823		input = &GetApnsVoipSandboxChannelInput{}
3824	}
3825
3826	output = &GetApnsVoipSandboxChannelOutput{}
3827	req = c.newRequest(op, input, output)
3828	return
3829}
3830
3831// GetApnsVoipSandboxChannel API operation for Amazon Pinpoint.
3832//
3833// Retrieves information about the status and settings of the APNs VoIP sandbox
3834// channel for an application.
3835//
3836// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3837// with awserr.Error's Code and Message methods to get detailed information about
3838// the error.
3839//
3840// See the AWS API reference guide for Amazon Pinpoint's
3841// API operation GetApnsVoipSandboxChannel for usage and error information.
3842//
3843// Returned Error Types:
3844//   * BadRequestException
3845//   Provides information about an API request or response.
3846//
3847//   * InternalServerErrorException
3848//   Provides information about an API request or response.
3849//
3850//   * PayloadTooLargeException
3851//   Provides information about an API request or response.
3852//
3853//   * ForbiddenException
3854//   Provides information about an API request or response.
3855//
3856//   * NotFoundException
3857//   Provides information about an API request or response.
3858//
3859//   * MethodNotAllowedException
3860//   Provides information about an API request or response.
3861//
3862//   * TooManyRequestsException
3863//   Provides information about an API request or response.
3864//
3865// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipSandboxChannel
3866func (c *Pinpoint) GetApnsVoipSandboxChannel(input *GetApnsVoipSandboxChannelInput) (*GetApnsVoipSandboxChannelOutput, error) {
3867	req, out := c.GetApnsVoipSandboxChannelRequest(input)
3868	return out, req.Send()
3869}
3870
3871// GetApnsVoipSandboxChannelWithContext is the same as GetApnsVoipSandboxChannel with the addition of
3872// the ability to pass a context and additional request options.
3873//
3874// See GetApnsVoipSandboxChannel for details on how to use this API operation.
3875//
3876// The context must be non-nil and will be used for request cancellation. If
3877// the context is nil a panic will occur. In the future the SDK may create
3878// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3879// for more information on using Contexts.
3880func (c *Pinpoint) GetApnsVoipSandboxChannelWithContext(ctx aws.Context, input *GetApnsVoipSandboxChannelInput, opts ...request.Option) (*GetApnsVoipSandboxChannelOutput, error) {
3881	req, out := c.GetApnsVoipSandboxChannelRequest(input)
3882	req.SetContext(ctx)
3883	req.ApplyOptions(opts...)
3884	return out, req.Send()
3885}
3886
3887const opGetApp = "GetApp"
3888
3889// GetAppRequest generates a "aws/request.Request" representing the
3890// client's request for the GetApp operation. The "output" return
3891// value will be populated with the request's response once the request completes
3892// successfully.
3893//
3894// Use "Send" method on the returned Request to send the API call to the service.
3895// the "output" return value is not valid until after Send returns without error.
3896//
3897// See GetApp for more information on using the GetApp
3898// API call, and error handling.
3899//
3900// This method is useful when you want to inject custom logic or configuration
3901// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3902//
3903//
3904//    // Example sending a request using the GetAppRequest method.
3905//    req, resp := client.GetAppRequest(params)
3906//
3907//    err := req.Send()
3908//    if err == nil { // resp is now filled
3909//        fmt.Println(resp)
3910//    }
3911//
3912// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApp
3913func (c *Pinpoint) GetAppRequest(input *GetAppInput) (req *request.Request, output *GetAppOutput) {
3914	op := &request.Operation{
3915		Name:       opGetApp,
3916		HTTPMethod: "GET",
3917		HTTPPath:   "/v1/apps/{application-id}",
3918	}
3919
3920	if input == nil {
3921		input = &GetAppInput{}
3922	}
3923
3924	output = &GetAppOutput{}
3925	req = c.newRequest(op, input, output)
3926	return
3927}
3928
3929// GetApp API operation for Amazon Pinpoint.
3930//
3931// Retrieves information about an application.
3932//
3933// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3934// with awserr.Error's Code and Message methods to get detailed information about
3935// the error.
3936//
3937// See the AWS API reference guide for Amazon Pinpoint's
3938// API operation GetApp for usage and error information.
3939//
3940// Returned Error Types:
3941//   * BadRequestException
3942//   Provides information about an API request or response.
3943//
3944//   * InternalServerErrorException
3945//   Provides information about an API request or response.
3946//
3947//   * PayloadTooLargeException
3948//   Provides information about an API request or response.
3949//
3950//   * ForbiddenException
3951//   Provides information about an API request or response.
3952//
3953//   * NotFoundException
3954//   Provides information about an API request or response.
3955//
3956//   * MethodNotAllowedException
3957//   Provides information about an API request or response.
3958//
3959//   * TooManyRequestsException
3960//   Provides information about an API request or response.
3961//
3962// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApp
3963func (c *Pinpoint) GetApp(input *GetAppInput) (*GetAppOutput, error) {
3964	req, out := c.GetAppRequest(input)
3965	return out, req.Send()
3966}
3967
3968// GetAppWithContext is the same as GetApp with the addition of
3969// the ability to pass a context and additional request options.
3970//
3971// See GetApp for details on how to use this API operation.
3972//
3973// The context must be non-nil and will be used for request cancellation. If
3974// the context is nil a panic will occur. In the future the SDK may create
3975// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3976// for more information on using Contexts.
3977func (c *Pinpoint) GetAppWithContext(ctx aws.Context, input *GetAppInput, opts ...request.Option) (*GetAppOutput, error) {
3978	req, out := c.GetAppRequest(input)
3979	req.SetContext(ctx)
3980	req.ApplyOptions(opts...)
3981	return out, req.Send()
3982}
3983
3984const opGetApplicationDateRangeKpi = "GetApplicationDateRangeKpi"
3985
3986// GetApplicationDateRangeKpiRequest generates a "aws/request.Request" representing the
3987// client's request for the GetApplicationDateRangeKpi operation. The "output" return
3988// value will be populated with the request's response once the request completes
3989// successfully.
3990//
3991// Use "Send" method on the returned Request to send the API call to the service.
3992// the "output" return value is not valid until after Send returns without error.
3993//
3994// See GetApplicationDateRangeKpi for more information on using the GetApplicationDateRangeKpi
3995// API call, and error handling.
3996//
3997// This method is useful when you want to inject custom logic or configuration
3998// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3999//
4000//
4001//    // Example sending a request using the GetApplicationDateRangeKpiRequest method.
4002//    req, resp := client.GetApplicationDateRangeKpiRequest(params)
4003//
4004//    err := req.Send()
4005//    if err == nil { // resp is now filled
4006//        fmt.Println(resp)
4007//    }
4008//
4009// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationDateRangeKpi
4010func (c *Pinpoint) GetApplicationDateRangeKpiRequest(input *GetApplicationDateRangeKpiInput) (req *request.Request, output *GetApplicationDateRangeKpiOutput) {
4011	op := &request.Operation{
4012		Name:       opGetApplicationDateRangeKpi,
4013		HTTPMethod: "GET",
4014		HTTPPath:   "/v1/apps/{application-id}/kpis/daterange/{kpi-name}",
4015	}
4016
4017	if input == nil {
4018		input = &GetApplicationDateRangeKpiInput{}
4019	}
4020
4021	output = &GetApplicationDateRangeKpiOutput{}
4022	req = c.newRequest(op, input, output)
4023	return
4024}
4025
4026// GetApplicationDateRangeKpi API operation for Amazon Pinpoint.
4027//
4028// Retrieves (queries) pre-aggregated data for a standard metric that applies
4029// to an application.
4030//
4031// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4032// with awserr.Error's Code and Message methods to get detailed information about
4033// the error.
4034//
4035// See the AWS API reference guide for Amazon Pinpoint's
4036// API operation GetApplicationDateRangeKpi for usage and error information.
4037//
4038// Returned Error Types:
4039//   * BadRequestException
4040//   Provides information about an API request or response.
4041//
4042//   * InternalServerErrorException
4043//   Provides information about an API request or response.
4044//
4045//   * PayloadTooLargeException
4046//   Provides information about an API request or response.
4047//
4048//   * ForbiddenException
4049//   Provides information about an API request or response.
4050//
4051//   * NotFoundException
4052//   Provides information about an API request or response.
4053//
4054//   * MethodNotAllowedException
4055//   Provides information about an API request or response.
4056//
4057//   * TooManyRequestsException
4058//   Provides information about an API request or response.
4059//
4060// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationDateRangeKpi
4061func (c *Pinpoint) GetApplicationDateRangeKpi(input *GetApplicationDateRangeKpiInput) (*GetApplicationDateRangeKpiOutput, error) {
4062	req, out := c.GetApplicationDateRangeKpiRequest(input)
4063	return out, req.Send()
4064}
4065
4066// GetApplicationDateRangeKpiWithContext is the same as GetApplicationDateRangeKpi with the addition of
4067// the ability to pass a context and additional request options.
4068//
4069// See GetApplicationDateRangeKpi for details on how to use this API operation.
4070//
4071// The context must be non-nil and will be used for request cancellation. If
4072// the context is nil a panic will occur. In the future the SDK may create
4073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4074// for more information on using Contexts.
4075func (c *Pinpoint) GetApplicationDateRangeKpiWithContext(ctx aws.Context, input *GetApplicationDateRangeKpiInput, opts ...request.Option) (*GetApplicationDateRangeKpiOutput, error) {
4076	req, out := c.GetApplicationDateRangeKpiRequest(input)
4077	req.SetContext(ctx)
4078	req.ApplyOptions(opts...)
4079	return out, req.Send()
4080}
4081
4082const opGetApplicationSettings = "GetApplicationSettings"
4083
4084// GetApplicationSettingsRequest generates a "aws/request.Request" representing the
4085// client's request for the GetApplicationSettings operation. The "output" return
4086// value will be populated with the request's response once the request completes
4087// successfully.
4088//
4089// Use "Send" method on the returned Request to send the API call to the service.
4090// the "output" return value is not valid until after Send returns without error.
4091//
4092// See GetApplicationSettings for more information on using the GetApplicationSettings
4093// API call, and error handling.
4094//
4095// This method is useful when you want to inject custom logic or configuration
4096// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4097//
4098//
4099//    // Example sending a request using the GetApplicationSettingsRequest method.
4100//    req, resp := client.GetApplicationSettingsRequest(params)
4101//
4102//    err := req.Send()
4103//    if err == nil { // resp is now filled
4104//        fmt.Println(resp)
4105//    }
4106//
4107// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationSettings
4108func (c *Pinpoint) GetApplicationSettingsRequest(input *GetApplicationSettingsInput) (req *request.Request, output *GetApplicationSettingsOutput) {
4109	op := &request.Operation{
4110		Name:       opGetApplicationSettings,
4111		HTTPMethod: "GET",
4112		HTTPPath:   "/v1/apps/{application-id}/settings",
4113	}
4114
4115	if input == nil {
4116		input = &GetApplicationSettingsInput{}
4117	}
4118
4119	output = &GetApplicationSettingsOutput{}
4120	req = c.newRequest(op, input, output)
4121	return
4122}
4123
4124// GetApplicationSettings API operation for Amazon Pinpoint.
4125//
4126// Retrieves information about the settings for an application.
4127//
4128// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4129// with awserr.Error's Code and Message methods to get detailed information about
4130// the error.
4131//
4132// See the AWS API reference guide for Amazon Pinpoint's
4133// API operation GetApplicationSettings for usage and error information.
4134//
4135// Returned Error Types:
4136//   * BadRequestException
4137//   Provides information about an API request or response.
4138//
4139//   * InternalServerErrorException
4140//   Provides information about an API request or response.
4141//
4142//   * PayloadTooLargeException
4143//   Provides information about an API request or response.
4144//
4145//   * ForbiddenException
4146//   Provides information about an API request or response.
4147//
4148//   * NotFoundException
4149//   Provides information about an API request or response.
4150//
4151//   * MethodNotAllowedException
4152//   Provides information about an API request or response.
4153//
4154//   * TooManyRequestsException
4155//   Provides information about an API request or response.
4156//
4157// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationSettings
4158func (c *Pinpoint) GetApplicationSettings(input *GetApplicationSettingsInput) (*GetApplicationSettingsOutput, error) {
4159	req, out := c.GetApplicationSettingsRequest(input)
4160	return out, req.Send()
4161}
4162
4163// GetApplicationSettingsWithContext is the same as GetApplicationSettings with the addition of
4164// the ability to pass a context and additional request options.
4165//
4166// See GetApplicationSettings for details on how to use this API operation.
4167//
4168// The context must be non-nil and will be used for request cancellation. If
4169// the context is nil a panic will occur. In the future the SDK may create
4170// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4171// for more information on using Contexts.
4172func (c *Pinpoint) GetApplicationSettingsWithContext(ctx aws.Context, input *GetApplicationSettingsInput, opts ...request.Option) (*GetApplicationSettingsOutput, error) {
4173	req, out := c.GetApplicationSettingsRequest(input)
4174	req.SetContext(ctx)
4175	req.ApplyOptions(opts...)
4176	return out, req.Send()
4177}
4178
4179const opGetApps = "GetApps"
4180
4181// GetAppsRequest generates a "aws/request.Request" representing the
4182// client's request for the GetApps operation. The "output" return
4183// value will be populated with the request's response once the request completes
4184// successfully.
4185//
4186// Use "Send" method on the returned Request to send the API call to the service.
4187// the "output" return value is not valid until after Send returns without error.
4188//
4189// See GetApps for more information on using the GetApps
4190// API call, and error handling.
4191//
4192// This method is useful when you want to inject custom logic or configuration
4193// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4194//
4195//
4196//    // Example sending a request using the GetAppsRequest method.
4197//    req, resp := client.GetAppsRequest(params)
4198//
4199//    err := req.Send()
4200//    if err == nil { // resp is now filled
4201//        fmt.Println(resp)
4202//    }
4203//
4204// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApps
4205func (c *Pinpoint) GetAppsRequest(input *GetAppsInput) (req *request.Request, output *GetAppsOutput) {
4206	op := &request.Operation{
4207		Name:       opGetApps,
4208		HTTPMethod: "GET",
4209		HTTPPath:   "/v1/apps",
4210	}
4211
4212	if input == nil {
4213		input = &GetAppsInput{}
4214	}
4215
4216	output = &GetAppsOutput{}
4217	req = c.newRequest(op, input, output)
4218	return
4219}
4220
4221// GetApps API operation for Amazon Pinpoint.
4222//
4223// Retrieves information about all the applications that are associated with
4224// your Amazon Pinpoint account.
4225//
4226// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4227// with awserr.Error's Code and Message methods to get detailed information about
4228// the error.
4229//
4230// See the AWS API reference guide for Amazon Pinpoint's
4231// API operation GetApps for usage and error information.
4232//
4233// Returned Error Types:
4234//   * BadRequestException
4235//   Provides information about an API request or response.
4236//
4237//   * InternalServerErrorException
4238//   Provides information about an API request or response.
4239//
4240//   * PayloadTooLargeException
4241//   Provides information about an API request or response.
4242//
4243//   * ForbiddenException
4244//   Provides information about an API request or response.
4245//
4246//   * NotFoundException
4247//   Provides information about an API request or response.
4248//
4249//   * MethodNotAllowedException
4250//   Provides information about an API request or response.
4251//
4252//   * TooManyRequestsException
4253//   Provides information about an API request or response.
4254//
4255// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApps
4256func (c *Pinpoint) GetApps(input *GetAppsInput) (*GetAppsOutput, error) {
4257	req, out := c.GetAppsRequest(input)
4258	return out, req.Send()
4259}
4260
4261// GetAppsWithContext is the same as GetApps with the addition of
4262// the ability to pass a context and additional request options.
4263//
4264// See GetApps for details on how to use this API operation.
4265//
4266// The context must be non-nil and will be used for request cancellation. If
4267// the context is nil a panic will occur. In the future the SDK may create
4268// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4269// for more information on using Contexts.
4270func (c *Pinpoint) GetAppsWithContext(ctx aws.Context, input *GetAppsInput, opts ...request.Option) (*GetAppsOutput, error) {
4271	req, out := c.GetAppsRequest(input)
4272	req.SetContext(ctx)
4273	req.ApplyOptions(opts...)
4274	return out, req.Send()
4275}
4276
4277const opGetBaiduChannel = "GetBaiduChannel"
4278
4279// GetBaiduChannelRequest generates a "aws/request.Request" representing the
4280// client's request for the GetBaiduChannel operation. The "output" return
4281// value will be populated with the request's response once the request completes
4282// successfully.
4283//
4284// Use "Send" method on the returned Request to send the API call to the service.
4285// the "output" return value is not valid until after Send returns without error.
4286//
4287// See GetBaiduChannel for more information on using the GetBaiduChannel
4288// API call, and error handling.
4289//
4290// This method is useful when you want to inject custom logic or configuration
4291// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4292//
4293//
4294//    // Example sending a request using the GetBaiduChannelRequest method.
4295//    req, resp := client.GetBaiduChannelRequest(params)
4296//
4297//    err := req.Send()
4298//    if err == nil { // resp is now filled
4299//        fmt.Println(resp)
4300//    }
4301//
4302// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetBaiduChannel
4303func (c *Pinpoint) GetBaiduChannelRequest(input *GetBaiduChannelInput) (req *request.Request, output *GetBaiduChannelOutput) {
4304	op := &request.Operation{
4305		Name:       opGetBaiduChannel,
4306		HTTPMethod: "GET",
4307		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
4308	}
4309
4310	if input == nil {
4311		input = &GetBaiduChannelInput{}
4312	}
4313
4314	output = &GetBaiduChannelOutput{}
4315	req = c.newRequest(op, input, output)
4316	return
4317}
4318
4319// GetBaiduChannel API operation for Amazon Pinpoint.
4320//
4321// Retrieves information about the status and settings of the Baidu channel
4322// for an application.
4323//
4324// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4325// with awserr.Error's Code and Message methods to get detailed information about
4326// the error.
4327//
4328// See the AWS API reference guide for Amazon Pinpoint's
4329// API operation GetBaiduChannel for usage and error information.
4330//
4331// Returned Error Types:
4332//   * BadRequestException
4333//   Provides information about an API request or response.
4334//
4335//   * InternalServerErrorException
4336//   Provides information about an API request or response.
4337//
4338//   * PayloadTooLargeException
4339//   Provides information about an API request or response.
4340//
4341//   * ForbiddenException
4342//   Provides information about an API request or response.
4343//
4344//   * NotFoundException
4345//   Provides information about an API request or response.
4346//
4347//   * MethodNotAllowedException
4348//   Provides information about an API request or response.
4349//
4350//   * TooManyRequestsException
4351//   Provides information about an API request or response.
4352//
4353// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetBaiduChannel
4354func (c *Pinpoint) GetBaiduChannel(input *GetBaiduChannelInput) (*GetBaiduChannelOutput, error) {
4355	req, out := c.GetBaiduChannelRequest(input)
4356	return out, req.Send()
4357}
4358
4359// GetBaiduChannelWithContext is the same as GetBaiduChannel with the addition of
4360// the ability to pass a context and additional request options.
4361//
4362// See GetBaiduChannel for details on how to use this API operation.
4363//
4364// The context must be non-nil and will be used for request cancellation. If
4365// the context is nil a panic will occur. In the future the SDK may create
4366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4367// for more information on using Contexts.
4368func (c *Pinpoint) GetBaiduChannelWithContext(ctx aws.Context, input *GetBaiduChannelInput, opts ...request.Option) (*GetBaiduChannelOutput, error) {
4369	req, out := c.GetBaiduChannelRequest(input)
4370	req.SetContext(ctx)
4371	req.ApplyOptions(opts...)
4372	return out, req.Send()
4373}
4374
4375const opGetCampaign = "GetCampaign"
4376
4377// GetCampaignRequest generates a "aws/request.Request" representing the
4378// client's request for the GetCampaign operation. The "output" return
4379// value will be populated with the request's response once the request completes
4380// successfully.
4381//
4382// Use "Send" method on the returned Request to send the API call to the service.
4383// the "output" return value is not valid until after Send returns without error.
4384//
4385// See GetCampaign for more information on using the GetCampaign
4386// API call, and error handling.
4387//
4388// This method is useful when you want to inject custom logic or configuration
4389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4390//
4391//
4392//    // Example sending a request using the GetCampaignRequest method.
4393//    req, resp := client.GetCampaignRequest(params)
4394//
4395//    err := req.Send()
4396//    if err == nil { // resp is now filled
4397//        fmt.Println(resp)
4398//    }
4399//
4400// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaign
4401func (c *Pinpoint) GetCampaignRequest(input *GetCampaignInput) (req *request.Request, output *GetCampaignOutput) {
4402	op := &request.Operation{
4403		Name:       opGetCampaign,
4404		HTTPMethod: "GET",
4405		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
4406	}
4407
4408	if input == nil {
4409		input = &GetCampaignInput{}
4410	}
4411
4412	output = &GetCampaignOutput{}
4413	req = c.newRequest(op, input, output)
4414	return
4415}
4416
4417// GetCampaign API operation for Amazon Pinpoint.
4418//
4419// Retrieves information about the status, configuration, and other settings
4420// for a campaign.
4421//
4422// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4423// with awserr.Error's Code and Message methods to get detailed information about
4424// the error.
4425//
4426// See the AWS API reference guide for Amazon Pinpoint's
4427// API operation GetCampaign for usage and error information.
4428//
4429// Returned Error Types:
4430//   * BadRequestException
4431//   Provides information about an API request or response.
4432//
4433//   * InternalServerErrorException
4434//   Provides information about an API request or response.
4435//
4436//   * PayloadTooLargeException
4437//   Provides information about an API request or response.
4438//
4439//   * ForbiddenException
4440//   Provides information about an API request or response.
4441//
4442//   * NotFoundException
4443//   Provides information about an API request or response.
4444//
4445//   * MethodNotAllowedException
4446//   Provides information about an API request or response.
4447//
4448//   * TooManyRequestsException
4449//   Provides information about an API request or response.
4450//
4451// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaign
4452func (c *Pinpoint) GetCampaign(input *GetCampaignInput) (*GetCampaignOutput, error) {
4453	req, out := c.GetCampaignRequest(input)
4454	return out, req.Send()
4455}
4456
4457// GetCampaignWithContext is the same as GetCampaign with the addition of
4458// the ability to pass a context and additional request options.
4459//
4460// See GetCampaign for details on how to use this API operation.
4461//
4462// The context must be non-nil and will be used for request cancellation. If
4463// the context is nil a panic will occur. In the future the SDK may create
4464// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4465// for more information on using Contexts.
4466func (c *Pinpoint) GetCampaignWithContext(ctx aws.Context, input *GetCampaignInput, opts ...request.Option) (*GetCampaignOutput, error) {
4467	req, out := c.GetCampaignRequest(input)
4468	req.SetContext(ctx)
4469	req.ApplyOptions(opts...)
4470	return out, req.Send()
4471}
4472
4473const opGetCampaignActivities = "GetCampaignActivities"
4474
4475// GetCampaignActivitiesRequest generates a "aws/request.Request" representing the
4476// client's request for the GetCampaignActivities operation. The "output" return
4477// value will be populated with the request's response once the request completes
4478// successfully.
4479//
4480// Use "Send" method on the returned Request to send the API call to the service.
4481// the "output" return value is not valid until after Send returns without error.
4482//
4483// See GetCampaignActivities for more information on using the GetCampaignActivities
4484// API call, and error handling.
4485//
4486// This method is useful when you want to inject custom logic or configuration
4487// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4488//
4489//
4490//    // Example sending a request using the GetCampaignActivitiesRequest method.
4491//    req, resp := client.GetCampaignActivitiesRequest(params)
4492//
4493//    err := req.Send()
4494//    if err == nil { // resp is now filled
4495//        fmt.Println(resp)
4496//    }
4497//
4498// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignActivities
4499func (c *Pinpoint) GetCampaignActivitiesRequest(input *GetCampaignActivitiesInput) (req *request.Request, output *GetCampaignActivitiesOutput) {
4500	op := &request.Operation{
4501		Name:       opGetCampaignActivities,
4502		HTTPMethod: "GET",
4503		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/activities",
4504	}
4505
4506	if input == nil {
4507		input = &GetCampaignActivitiesInput{}
4508	}
4509
4510	output = &GetCampaignActivitiesOutput{}
4511	req = c.newRequest(op, input, output)
4512	return
4513}
4514
4515// GetCampaignActivities API operation for Amazon Pinpoint.
4516//
4517// Retrieves information about all the activities for a campaign.
4518//
4519// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4520// with awserr.Error's Code and Message methods to get detailed information about
4521// the error.
4522//
4523// See the AWS API reference guide for Amazon Pinpoint's
4524// API operation GetCampaignActivities for usage and error information.
4525//
4526// Returned Error Types:
4527//   * BadRequestException
4528//   Provides information about an API request or response.
4529//
4530//   * InternalServerErrorException
4531//   Provides information about an API request or response.
4532//
4533//   * PayloadTooLargeException
4534//   Provides information about an API request or response.
4535//
4536//   * ForbiddenException
4537//   Provides information about an API request or response.
4538//
4539//   * NotFoundException
4540//   Provides information about an API request or response.
4541//
4542//   * MethodNotAllowedException
4543//   Provides information about an API request or response.
4544//
4545//   * TooManyRequestsException
4546//   Provides information about an API request or response.
4547//
4548// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignActivities
4549func (c *Pinpoint) GetCampaignActivities(input *GetCampaignActivitiesInput) (*GetCampaignActivitiesOutput, error) {
4550	req, out := c.GetCampaignActivitiesRequest(input)
4551	return out, req.Send()
4552}
4553
4554// GetCampaignActivitiesWithContext is the same as GetCampaignActivities with the addition of
4555// the ability to pass a context and additional request options.
4556//
4557// See GetCampaignActivities for details on how to use this API operation.
4558//
4559// The context must be non-nil and will be used for request cancellation. If
4560// the context is nil a panic will occur. In the future the SDK may create
4561// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4562// for more information on using Contexts.
4563func (c *Pinpoint) GetCampaignActivitiesWithContext(ctx aws.Context, input *GetCampaignActivitiesInput, opts ...request.Option) (*GetCampaignActivitiesOutput, error) {
4564	req, out := c.GetCampaignActivitiesRequest(input)
4565	req.SetContext(ctx)
4566	req.ApplyOptions(opts...)
4567	return out, req.Send()
4568}
4569
4570const opGetCampaignDateRangeKpi = "GetCampaignDateRangeKpi"
4571
4572// GetCampaignDateRangeKpiRequest generates a "aws/request.Request" representing the
4573// client's request for the GetCampaignDateRangeKpi operation. The "output" return
4574// value will be populated with the request's response once the request completes
4575// successfully.
4576//
4577// Use "Send" method on the returned Request to send the API call to the service.
4578// the "output" return value is not valid until after Send returns without error.
4579//
4580// See GetCampaignDateRangeKpi for more information on using the GetCampaignDateRangeKpi
4581// API call, and error handling.
4582//
4583// This method is useful when you want to inject custom logic or configuration
4584// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4585//
4586//
4587//    // Example sending a request using the GetCampaignDateRangeKpiRequest method.
4588//    req, resp := client.GetCampaignDateRangeKpiRequest(params)
4589//
4590//    err := req.Send()
4591//    if err == nil { // resp is now filled
4592//        fmt.Println(resp)
4593//    }
4594//
4595// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignDateRangeKpi
4596func (c *Pinpoint) GetCampaignDateRangeKpiRequest(input *GetCampaignDateRangeKpiInput) (req *request.Request, output *GetCampaignDateRangeKpiOutput) {
4597	op := &request.Operation{
4598		Name:       opGetCampaignDateRangeKpi,
4599		HTTPMethod: "GET",
4600		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/kpis/daterange/{kpi-name}",
4601	}
4602
4603	if input == nil {
4604		input = &GetCampaignDateRangeKpiInput{}
4605	}
4606
4607	output = &GetCampaignDateRangeKpiOutput{}
4608	req = c.newRequest(op, input, output)
4609	return
4610}
4611
4612// GetCampaignDateRangeKpi API operation for Amazon Pinpoint.
4613//
4614// Retrieves (queries) pre-aggregated data for a standard metric that applies
4615// to a campaign.
4616//
4617// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4618// with awserr.Error's Code and Message methods to get detailed information about
4619// the error.
4620//
4621// See the AWS API reference guide for Amazon Pinpoint's
4622// API operation GetCampaignDateRangeKpi for usage and error information.
4623//
4624// Returned Error Types:
4625//   * BadRequestException
4626//   Provides information about an API request or response.
4627//
4628//   * InternalServerErrorException
4629//   Provides information about an API request or response.
4630//
4631//   * PayloadTooLargeException
4632//   Provides information about an API request or response.
4633//
4634//   * ForbiddenException
4635//   Provides information about an API request or response.
4636//
4637//   * NotFoundException
4638//   Provides information about an API request or response.
4639//
4640//   * MethodNotAllowedException
4641//   Provides information about an API request or response.
4642//
4643//   * TooManyRequestsException
4644//   Provides information about an API request or response.
4645//
4646// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignDateRangeKpi
4647func (c *Pinpoint) GetCampaignDateRangeKpi(input *GetCampaignDateRangeKpiInput) (*GetCampaignDateRangeKpiOutput, error) {
4648	req, out := c.GetCampaignDateRangeKpiRequest(input)
4649	return out, req.Send()
4650}
4651
4652// GetCampaignDateRangeKpiWithContext is the same as GetCampaignDateRangeKpi with the addition of
4653// the ability to pass a context and additional request options.
4654//
4655// See GetCampaignDateRangeKpi for details on how to use this API operation.
4656//
4657// The context must be non-nil and will be used for request cancellation. If
4658// the context is nil a panic will occur. In the future the SDK may create
4659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4660// for more information on using Contexts.
4661func (c *Pinpoint) GetCampaignDateRangeKpiWithContext(ctx aws.Context, input *GetCampaignDateRangeKpiInput, opts ...request.Option) (*GetCampaignDateRangeKpiOutput, error) {
4662	req, out := c.GetCampaignDateRangeKpiRequest(input)
4663	req.SetContext(ctx)
4664	req.ApplyOptions(opts...)
4665	return out, req.Send()
4666}
4667
4668const opGetCampaignVersion = "GetCampaignVersion"
4669
4670// GetCampaignVersionRequest generates a "aws/request.Request" representing the
4671// client's request for the GetCampaignVersion operation. The "output" return
4672// value will be populated with the request's response once the request completes
4673// successfully.
4674//
4675// Use "Send" method on the returned Request to send the API call to the service.
4676// the "output" return value is not valid until after Send returns without error.
4677//
4678// See GetCampaignVersion for more information on using the GetCampaignVersion
4679// API call, and error handling.
4680//
4681// This method is useful when you want to inject custom logic or configuration
4682// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4683//
4684//
4685//    // Example sending a request using the GetCampaignVersionRequest method.
4686//    req, resp := client.GetCampaignVersionRequest(params)
4687//
4688//    err := req.Send()
4689//    if err == nil { // resp is now filled
4690//        fmt.Println(resp)
4691//    }
4692//
4693// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersion
4694func (c *Pinpoint) GetCampaignVersionRequest(input *GetCampaignVersionInput) (req *request.Request, output *GetCampaignVersionOutput) {
4695	op := &request.Operation{
4696		Name:       opGetCampaignVersion,
4697		HTTPMethod: "GET",
4698		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/versions/{version}",
4699	}
4700
4701	if input == nil {
4702		input = &GetCampaignVersionInput{}
4703	}
4704
4705	output = &GetCampaignVersionOutput{}
4706	req = c.newRequest(op, input, output)
4707	return
4708}
4709
4710// GetCampaignVersion API operation for Amazon Pinpoint.
4711//
4712// Retrieves information about the status, configuration, and other settings
4713// for a specific version of a campaign.
4714//
4715// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4716// with awserr.Error's Code and Message methods to get detailed information about
4717// the error.
4718//
4719// See the AWS API reference guide for Amazon Pinpoint's
4720// API operation GetCampaignVersion for usage and error information.
4721//
4722// Returned Error Types:
4723//   * BadRequestException
4724//   Provides information about an API request or response.
4725//
4726//   * InternalServerErrorException
4727//   Provides information about an API request or response.
4728//
4729//   * PayloadTooLargeException
4730//   Provides information about an API request or response.
4731//
4732//   * ForbiddenException
4733//   Provides information about an API request or response.
4734//
4735//   * NotFoundException
4736//   Provides information about an API request or response.
4737//
4738//   * MethodNotAllowedException
4739//   Provides information about an API request or response.
4740//
4741//   * TooManyRequestsException
4742//   Provides information about an API request or response.
4743//
4744// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersion
4745func (c *Pinpoint) GetCampaignVersion(input *GetCampaignVersionInput) (*GetCampaignVersionOutput, error) {
4746	req, out := c.GetCampaignVersionRequest(input)
4747	return out, req.Send()
4748}
4749
4750// GetCampaignVersionWithContext is the same as GetCampaignVersion with the addition of
4751// the ability to pass a context and additional request options.
4752//
4753// See GetCampaignVersion for details on how to use this API operation.
4754//
4755// The context must be non-nil and will be used for request cancellation. If
4756// the context is nil a panic will occur. In the future the SDK may create
4757// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4758// for more information on using Contexts.
4759func (c *Pinpoint) GetCampaignVersionWithContext(ctx aws.Context, input *GetCampaignVersionInput, opts ...request.Option) (*GetCampaignVersionOutput, error) {
4760	req, out := c.GetCampaignVersionRequest(input)
4761	req.SetContext(ctx)
4762	req.ApplyOptions(opts...)
4763	return out, req.Send()
4764}
4765
4766const opGetCampaignVersions = "GetCampaignVersions"
4767
4768// GetCampaignVersionsRequest generates a "aws/request.Request" representing the
4769// client's request for the GetCampaignVersions operation. The "output" return
4770// value will be populated with the request's response once the request completes
4771// successfully.
4772//
4773// Use "Send" method on the returned Request to send the API call to the service.
4774// the "output" return value is not valid until after Send returns without error.
4775//
4776// See GetCampaignVersions for more information on using the GetCampaignVersions
4777// API call, and error handling.
4778//
4779// This method is useful when you want to inject custom logic or configuration
4780// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4781//
4782//
4783//    // Example sending a request using the GetCampaignVersionsRequest method.
4784//    req, resp := client.GetCampaignVersionsRequest(params)
4785//
4786//    err := req.Send()
4787//    if err == nil { // resp is now filled
4788//        fmt.Println(resp)
4789//    }
4790//
4791// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersions
4792func (c *Pinpoint) GetCampaignVersionsRequest(input *GetCampaignVersionsInput) (req *request.Request, output *GetCampaignVersionsOutput) {
4793	op := &request.Operation{
4794		Name:       opGetCampaignVersions,
4795		HTTPMethod: "GET",
4796		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/versions",
4797	}
4798
4799	if input == nil {
4800		input = &GetCampaignVersionsInput{}
4801	}
4802
4803	output = &GetCampaignVersionsOutput{}
4804	req = c.newRequest(op, input, output)
4805	return
4806}
4807
4808// GetCampaignVersions API operation for Amazon Pinpoint.
4809//
4810// Retrieves information about the status, configuration, and other settings
4811// for all versions of a campaign.
4812//
4813// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4814// with awserr.Error's Code and Message methods to get detailed information about
4815// the error.
4816//
4817// See the AWS API reference guide for Amazon Pinpoint's
4818// API operation GetCampaignVersions for usage and error information.
4819//
4820// Returned Error Types:
4821//   * BadRequestException
4822//   Provides information about an API request or response.
4823//
4824//   * InternalServerErrorException
4825//   Provides information about an API request or response.
4826//
4827//   * PayloadTooLargeException
4828//   Provides information about an API request or response.
4829//
4830//   * ForbiddenException
4831//   Provides information about an API request or response.
4832//
4833//   * NotFoundException
4834//   Provides information about an API request or response.
4835//
4836//   * MethodNotAllowedException
4837//   Provides information about an API request or response.
4838//
4839//   * TooManyRequestsException
4840//   Provides information about an API request or response.
4841//
4842// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersions
4843func (c *Pinpoint) GetCampaignVersions(input *GetCampaignVersionsInput) (*GetCampaignVersionsOutput, error) {
4844	req, out := c.GetCampaignVersionsRequest(input)
4845	return out, req.Send()
4846}
4847
4848// GetCampaignVersionsWithContext is the same as GetCampaignVersions with the addition of
4849// the ability to pass a context and additional request options.
4850//
4851// See GetCampaignVersions for details on how to use this API operation.
4852//
4853// The context must be non-nil and will be used for request cancellation. If
4854// the context is nil a panic will occur. In the future the SDK may create
4855// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4856// for more information on using Contexts.
4857func (c *Pinpoint) GetCampaignVersionsWithContext(ctx aws.Context, input *GetCampaignVersionsInput, opts ...request.Option) (*GetCampaignVersionsOutput, error) {
4858	req, out := c.GetCampaignVersionsRequest(input)
4859	req.SetContext(ctx)
4860	req.ApplyOptions(opts...)
4861	return out, req.Send()
4862}
4863
4864const opGetCampaigns = "GetCampaigns"
4865
4866// GetCampaignsRequest generates a "aws/request.Request" representing the
4867// client's request for the GetCampaigns operation. The "output" return
4868// value will be populated with the request's response once the request completes
4869// successfully.
4870//
4871// Use "Send" method on the returned Request to send the API call to the service.
4872// the "output" return value is not valid until after Send returns without error.
4873//
4874// See GetCampaigns for more information on using the GetCampaigns
4875// API call, and error handling.
4876//
4877// This method is useful when you want to inject custom logic or configuration
4878// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4879//
4880//
4881//    // Example sending a request using the GetCampaignsRequest method.
4882//    req, resp := client.GetCampaignsRequest(params)
4883//
4884//    err := req.Send()
4885//    if err == nil { // resp is now filled
4886//        fmt.Println(resp)
4887//    }
4888//
4889// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaigns
4890func (c *Pinpoint) GetCampaignsRequest(input *GetCampaignsInput) (req *request.Request, output *GetCampaignsOutput) {
4891	op := &request.Operation{
4892		Name:       opGetCampaigns,
4893		HTTPMethod: "GET",
4894		HTTPPath:   "/v1/apps/{application-id}/campaigns",
4895	}
4896
4897	if input == nil {
4898		input = &GetCampaignsInput{}
4899	}
4900
4901	output = &GetCampaignsOutput{}
4902	req = c.newRequest(op, input, output)
4903	return
4904}
4905
4906// GetCampaigns API operation for Amazon Pinpoint.
4907//
4908// Retrieves information about the status, configuration, and other settings
4909// for all the campaigns that are associated with an application.
4910//
4911// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4912// with awserr.Error's Code and Message methods to get detailed information about
4913// the error.
4914//
4915// See the AWS API reference guide for Amazon Pinpoint's
4916// API operation GetCampaigns for usage and error information.
4917//
4918// Returned Error Types:
4919//   * BadRequestException
4920//   Provides information about an API request or response.
4921//
4922//   * InternalServerErrorException
4923//   Provides information about an API request or response.
4924//
4925//   * PayloadTooLargeException
4926//   Provides information about an API request or response.
4927//
4928//   * ForbiddenException
4929//   Provides information about an API request or response.
4930//
4931//   * NotFoundException
4932//   Provides information about an API request or response.
4933//
4934//   * MethodNotAllowedException
4935//   Provides information about an API request or response.
4936//
4937//   * TooManyRequestsException
4938//   Provides information about an API request or response.
4939//
4940// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaigns
4941func (c *Pinpoint) GetCampaigns(input *GetCampaignsInput) (*GetCampaignsOutput, error) {
4942	req, out := c.GetCampaignsRequest(input)
4943	return out, req.Send()
4944}
4945
4946// GetCampaignsWithContext is the same as GetCampaigns with the addition of
4947// the ability to pass a context and additional request options.
4948//
4949// See GetCampaigns for details on how to use this API operation.
4950//
4951// The context must be non-nil and will be used for request cancellation. If
4952// the context is nil a panic will occur. In the future the SDK may create
4953// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4954// for more information on using Contexts.
4955func (c *Pinpoint) GetCampaignsWithContext(ctx aws.Context, input *GetCampaignsInput, opts ...request.Option) (*GetCampaignsOutput, error) {
4956	req, out := c.GetCampaignsRequest(input)
4957	req.SetContext(ctx)
4958	req.ApplyOptions(opts...)
4959	return out, req.Send()
4960}
4961
4962const opGetChannels = "GetChannels"
4963
4964// GetChannelsRequest generates a "aws/request.Request" representing the
4965// client's request for the GetChannels operation. The "output" return
4966// value will be populated with the request's response once the request completes
4967// successfully.
4968//
4969// Use "Send" method on the returned Request to send the API call to the service.
4970// the "output" return value is not valid until after Send returns without error.
4971//
4972// See GetChannels for more information on using the GetChannels
4973// API call, and error handling.
4974//
4975// This method is useful when you want to inject custom logic or configuration
4976// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4977//
4978//
4979//    // Example sending a request using the GetChannelsRequest method.
4980//    req, resp := client.GetChannelsRequest(params)
4981//
4982//    err := req.Send()
4983//    if err == nil { // resp is now filled
4984//        fmt.Println(resp)
4985//    }
4986//
4987// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetChannels
4988func (c *Pinpoint) GetChannelsRequest(input *GetChannelsInput) (req *request.Request, output *GetChannelsOutput) {
4989	op := &request.Operation{
4990		Name:       opGetChannels,
4991		HTTPMethod: "GET",
4992		HTTPPath:   "/v1/apps/{application-id}/channels",
4993	}
4994
4995	if input == nil {
4996		input = &GetChannelsInput{}
4997	}
4998
4999	output = &GetChannelsOutput{}
5000	req = c.newRequest(op, input, output)
5001	return
5002}
5003
5004// GetChannels API operation for Amazon Pinpoint.
5005//
5006// Retrieves information about the history and status of each channel for an
5007// application.
5008//
5009// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5010// with awserr.Error's Code and Message methods to get detailed information about
5011// the error.
5012//
5013// See the AWS API reference guide for Amazon Pinpoint's
5014// API operation GetChannels for usage and error information.
5015//
5016// Returned Error Types:
5017//   * BadRequestException
5018//   Provides information about an API request or response.
5019//
5020//   * InternalServerErrorException
5021//   Provides information about an API request or response.
5022//
5023//   * PayloadTooLargeException
5024//   Provides information about an API request or response.
5025//
5026//   * ForbiddenException
5027//   Provides information about an API request or response.
5028//
5029//   * NotFoundException
5030//   Provides information about an API request or response.
5031//
5032//   * MethodNotAllowedException
5033//   Provides information about an API request or response.
5034//
5035//   * TooManyRequestsException
5036//   Provides information about an API request or response.
5037//
5038// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetChannels
5039func (c *Pinpoint) GetChannels(input *GetChannelsInput) (*GetChannelsOutput, error) {
5040	req, out := c.GetChannelsRequest(input)
5041	return out, req.Send()
5042}
5043
5044// GetChannelsWithContext is the same as GetChannels with the addition of
5045// the ability to pass a context and additional request options.
5046//
5047// See GetChannels for details on how to use this API operation.
5048//
5049// The context must be non-nil and will be used for request cancellation. If
5050// the context is nil a panic will occur. In the future the SDK may create
5051// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5052// for more information on using Contexts.
5053func (c *Pinpoint) GetChannelsWithContext(ctx aws.Context, input *GetChannelsInput, opts ...request.Option) (*GetChannelsOutput, error) {
5054	req, out := c.GetChannelsRequest(input)
5055	req.SetContext(ctx)
5056	req.ApplyOptions(opts...)
5057	return out, req.Send()
5058}
5059
5060const opGetEmailChannel = "GetEmailChannel"
5061
5062// GetEmailChannelRequest generates a "aws/request.Request" representing the
5063// client's request for the GetEmailChannel operation. The "output" return
5064// value will be populated with the request's response once the request completes
5065// successfully.
5066//
5067// Use "Send" method on the returned Request to send the API call to the service.
5068// the "output" return value is not valid until after Send returns without error.
5069//
5070// See GetEmailChannel for more information on using the GetEmailChannel
5071// API call, and error handling.
5072//
5073// This method is useful when you want to inject custom logic or configuration
5074// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5075//
5076//
5077//    // Example sending a request using the GetEmailChannelRequest method.
5078//    req, resp := client.GetEmailChannelRequest(params)
5079//
5080//    err := req.Send()
5081//    if err == nil { // resp is now filled
5082//        fmt.Println(resp)
5083//    }
5084//
5085// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailChannel
5086func (c *Pinpoint) GetEmailChannelRequest(input *GetEmailChannelInput) (req *request.Request, output *GetEmailChannelOutput) {
5087	op := &request.Operation{
5088		Name:       opGetEmailChannel,
5089		HTTPMethod: "GET",
5090		HTTPPath:   "/v1/apps/{application-id}/channels/email",
5091	}
5092
5093	if input == nil {
5094		input = &GetEmailChannelInput{}
5095	}
5096
5097	output = &GetEmailChannelOutput{}
5098	req = c.newRequest(op, input, output)
5099	return
5100}
5101
5102// GetEmailChannel API operation for Amazon Pinpoint.
5103//
5104// Retrieves information about the status and settings of the email channel
5105// for an application.
5106//
5107// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5108// with awserr.Error's Code and Message methods to get detailed information about
5109// the error.
5110//
5111// See the AWS API reference guide for Amazon Pinpoint's
5112// API operation GetEmailChannel for usage and error information.
5113//
5114// Returned Error Types:
5115//   * BadRequestException
5116//   Provides information about an API request or response.
5117//
5118//   * InternalServerErrorException
5119//   Provides information about an API request or response.
5120//
5121//   * PayloadTooLargeException
5122//   Provides information about an API request or response.
5123//
5124//   * ForbiddenException
5125//   Provides information about an API request or response.
5126//
5127//   * NotFoundException
5128//   Provides information about an API request or response.
5129//
5130//   * MethodNotAllowedException
5131//   Provides information about an API request or response.
5132//
5133//   * TooManyRequestsException
5134//   Provides information about an API request or response.
5135//
5136// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailChannel
5137func (c *Pinpoint) GetEmailChannel(input *GetEmailChannelInput) (*GetEmailChannelOutput, error) {
5138	req, out := c.GetEmailChannelRequest(input)
5139	return out, req.Send()
5140}
5141
5142// GetEmailChannelWithContext is the same as GetEmailChannel with the addition of
5143// the ability to pass a context and additional request options.
5144//
5145// See GetEmailChannel for details on how to use this API operation.
5146//
5147// The context must be non-nil and will be used for request cancellation. If
5148// the context is nil a panic will occur. In the future the SDK may create
5149// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5150// for more information on using Contexts.
5151func (c *Pinpoint) GetEmailChannelWithContext(ctx aws.Context, input *GetEmailChannelInput, opts ...request.Option) (*GetEmailChannelOutput, error) {
5152	req, out := c.GetEmailChannelRequest(input)
5153	req.SetContext(ctx)
5154	req.ApplyOptions(opts...)
5155	return out, req.Send()
5156}
5157
5158const opGetEmailTemplate = "GetEmailTemplate"
5159
5160// GetEmailTemplateRequest generates a "aws/request.Request" representing the
5161// client's request for the GetEmailTemplate operation. The "output" return
5162// value will be populated with the request's response once the request completes
5163// successfully.
5164//
5165// Use "Send" method on the returned Request to send the API call to the service.
5166// the "output" return value is not valid until after Send returns without error.
5167//
5168// See GetEmailTemplate for more information on using the GetEmailTemplate
5169// API call, and error handling.
5170//
5171// This method is useful when you want to inject custom logic or configuration
5172// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5173//
5174//
5175//    // Example sending a request using the GetEmailTemplateRequest method.
5176//    req, resp := client.GetEmailTemplateRequest(params)
5177//
5178//    err := req.Send()
5179//    if err == nil { // resp is now filled
5180//        fmt.Println(resp)
5181//    }
5182//
5183// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailTemplate
5184func (c *Pinpoint) GetEmailTemplateRequest(input *GetEmailTemplateInput) (req *request.Request, output *GetEmailTemplateOutput) {
5185	op := &request.Operation{
5186		Name:       opGetEmailTemplate,
5187		HTTPMethod: "GET",
5188		HTTPPath:   "/v1/templates/{template-name}/email",
5189	}
5190
5191	if input == nil {
5192		input = &GetEmailTemplateInput{}
5193	}
5194
5195	output = &GetEmailTemplateOutput{}
5196	req = c.newRequest(op, input, output)
5197	return
5198}
5199
5200// GetEmailTemplate API operation for Amazon Pinpoint.
5201//
5202// Retrieves the content and settings of a message template for messages that
5203// are sent through the email channel.
5204//
5205// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5206// with awserr.Error's Code and Message methods to get detailed information about
5207// the error.
5208//
5209// See the AWS API reference guide for Amazon Pinpoint's
5210// API operation GetEmailTemplate for usage and error information.
5211//
5212// Returned Error Types:
5213//   * BadRequestException
5214//   Provides information about an API request or response.
5215//
5216//   * InternalServerErrorException
5217//   Provides information about an API request or response.
5218//
5219//   * PayloadTooLargeException
5220//   Provides information about an API request or response.
5221//
5222//   * ForbiddenException
5223//   Provides information about an API request or response.
5224//
5225//   * NotFoundException
5226//   Provides information about an API request or response.
5227//
5228//   * MethodNotAllowedException
5229//   Provides information about an API request or response.
5230//
5231//   * TooManyRequestsException
5232//   Provides information about an API request or response.
5233//
5234// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailTemplate
5235func (c *Pinpoint) GetEmailTemplate(input *GetEmailTemplateInput) (*GetEmailTemplateOutput, error) {
5236	req, out := c.GetEmailTemplateRequest(input)
5237	return out, req.Send()
5238}
5239
5240// GetEmailTemplateWithContext is the same as GetEmailTemplate with the addition of
5241// the ability to pass a context and additional request options.
5242//
5243// See GetEmailTemplate for details on how to use this API operation.
5244//
5245// The context must be non-nil and will be used for request cancellation. If
5246// the context is nil a panic will occur. In the future the SDK may create
5247// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5248// for more information on using Contexts.
5249func (c *Pinpoint) GetEmailTemplateWithContext(ctx aws.Context, input *GetEmailTemplateInput, opts ...request.Option) (*GetEmailTemplateOutput, error) {
5250	req, out := c.GetEmailTemplateRequest(input)
5251	req.SetContext(ctx)
5252	req.ApplyOptions(opts...)
5253	return out, req.Send()
5254}
5255
5256const opGetEndpoint = "GetEndpoint"
5257
5258// GetEndpointRequest generates a "aws/request.Request" representing the
5259// client's request for the GetEndpoint operation. The "output" return
5260// value will be populated with the request's response once the request completes
5261// successfully.
5262//
5263// Use "Send" method on the returned Request to send the API call to the service.
5264// the "output" return value is not valid until after Send returns without error.
5265//
5266// See GetEndpoint for more information on using the GetEndpoint
5267// API call, and error handling.
5268//
5269// This method is useful when you want to inject custom logic or configuration
5270// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5271//
5272//
5273//    // Example sending a request using the GetEndpointRequest method.
5274//    req, resp := client.GetEndpointRequest(params)
5275//
5276//    err := req.Send()
5277//    if err == nil { // resp is now filled
5278//        fmt.Println(resp)
5279//    }
5280//
5281// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpoint
5282func (c *Pinpoint) GetEndpointRequest(input *GetEndpointInput) (req *request.Request, output *GetEndpointOutput) {
5283	op := &request.Operation{
5284		Name:       opGetEndpoint,
5285		HTTPMethod: "GET",
5286		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
5287	}
5288
5289	if input == nil {
5290		input = &GetEndpointInput{}
5291	}
5292
5293	output = &GetEndpointOutput{}
5294	req = c.newRequest(op, input, output)
5295	return
5296}
5297
5298// GetEndpoint API operation for Amazon Pinpoint.
5299//
5300// Retrieves information about the settings and attributes of a specific endpoint
5301// for an application.
5302//
5303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5304// with awserr.Error's Code and Message methods to get detailed information about
5305// the error.
5306//
5307// See the AWS API reference guide for Amazon Pinpoint's
5308// API operation GetEndpoint for usage and error information.
5309//
5310// Returned Error Types:
5311//   * BadRequestException
5312//   Provides information about an API request or response.
5313//
5314//   * InternalServerErrorException
5315//   Provides information about an API request or response.
5316//
5317//   * PayloadTooLargeException
5318//   Provides information about an API request or response.
5319//
5320//   * ForbiddenException
5321//   Provides information about an API request or response.
5322//
5323//   * NotFoundException
5324//   Provides information about an API request or response.
5325//
5326//   * MethodNotAllowedException
5327//   Provides information about an API request or response.
5328//
5329//   * TooManyRequestsException
5330//   Provides information about an API request or response.
5331//
5332// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpoint
5333func (c *Pinpoint) GetEndpoint(input *GetEndpointInput) (*GetEndpointOutput, error) {
5334	req, out := c.GetEndpointRequest(input)
5335	return out, req.Send()
5336}
5337
5338// GetEndpointWithContext is the same as GetEndpoint with the addition of
5339// the ability to pass a context and additional request options.
5340//
5341// See GetEndpoint for details on how to use this API operation.
5342//
5343// The context must be non-nil and will be used for request cancellation. If
5344// the context is nil a panic will occur. In the future the SDK may create
5345// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5346// for more information on using Contexts.
5347func (c *Pinpoint) GetEndpointWithContext(ctx aws.Context, input *GetEndpointInput, opts ...request.Option) (*GetEndpointOutput, error) {
5348	req, out := c.GetEndpointRequest(input)
5349	req.SetContext(ctx)
5350	req.ApplyOptions(opts...)
5351	return out, req.Send()
5352}
5353
5354const opGetEventStream = "GetEventStream"
5355
5356// GetEventStreamRequest generates a "aws/request.Request" representing the
5357// client's request for the GetEventStream operation. The "output" return
5358// value will be populated with the request's response once the request completes
5359// successfully.
5360//
5361// Use "Send" method on the returned Request to send the API call to the service.
5362// the "output" return value is not valid until after Send returns without error.
5363//
5364// See GetEventStream for more information on using the GetEventStream
5365// API call, and error handling.
5366//
5367// This method is useful when you want to inject custom logic or configuration
5368// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5369//
5370//
5371//    // Example sending a request using the GetEventStreamRequest method.
5372//    req, resp := client.GetEventStreamRequest(params)
5373//
5374//    err := req.Send()
5375//    if err == nil { // resp is now filled
5376//        fmt.Println(resp)
5377//    }
5378//
5379// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEventStream
5380func (c *Pinpoint) GetEventStreamRequest(input *GetEventStreamInput) (req *request.Request, output *GetEventStreamOutput) {
5381	op := &request.Operation{
5382		Name:       opGetEventStream,
5383		HTTPMethod: "GET",
5384		HTTPPath:   "/v1/apps/{application-id}/eventstream",
5385	}
5386
5387	if input == nil {
5388		input = &GetEventStreamInput{}
5389	}
5390
5391	output = &GetEventStreamOutput{}
5392	req = c.newRequest(op, input, output)
5393	return
5394}
5395
5396// GetEventStream API operation for Amazon Pinpoint.
5397//
5398// Retrieves information about the event stream settings for an application.
5399//
5400// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5401// with awserr.Error's Code and Message methods to get detailed information about
5402// the error.
5403//
5404// See the AWS API reference guide for Amazon Pinpoint's
5405// API operation GetEventStream for usage and error information.
5406//
5407// Returned Error Types:
5408//   * BadRequestException
5409//   Provides information about an API request or response.
5410//
5411//   * InternalServerErrorException
5412//   Provides information about an API request or response.
5413//
5414//   * PayloadTooLargeException
5415//   Provides information about an API request or response.
5416//
5417//   * ForbiddenException
5418//   Provides information about an API request or response.
5419//
5420//   * NotFoundException
5421//   Provides information about an API request or response.
5422//
5423//   * MethodNotAllowedException
5424//   Provides information about an API request or response.
5425//
5426//   * TooManyRequestsException
5427//   Provides information about an API request or response.
5428//
5429// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEventStream
5430func (c *Pinpoint) GetEventStream(input *GetEventStreamInput) (*GetEventStreamOutput, error) {
5431	req, out := c.GetEventStreamRequest(input)
5432	return out, req.Send()
5433}
5434
5435// GetEventStreamWithContext is the same as GetEventStream with the addition of
5436// the ability to pass a context and additional request options.
5437//
5438// See GetEventStream for details on how to use this API operation.
5439//
5440// The context must be non-nil and will be used for request cancellation. If
5441// the context is nil a panic will occur. In the future the SDK may create
5442// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5443// for more information on using Contexts.
5444func (c *Pinpoint) GetEventStreamWithContext(ctx aws.Context, input *GetEventStreamInput, opts ...request.Option) (*GetEventStreamOutput, error) {
5445	req, out := c.GetEventStreamRequest(input)
5446	req.SetContext(ctx)
5447	req.ApplyOptions(opts...)
5448	return out, req.Send()
5449}
5450
5451const opGetExportJob = "GetExportJob"
5452
5453// GetExportJobRequest generates a "aws/request.Request" representing the
5454// client's request for the GetExportJob operation. The "output" return
5455// value will be populated with the request's response once the request completes
5456// successfully.
5457//
5458// Use "Send" method on the returned Request to send the API call to the service.
5459// the "output" return value is not valid until after Send returns without error.
5460//
5461// See GetExportJob for more information on using the GetExportJob
5462// API call, and error handling.
5463//
5464// This method is useful when you want to inject custom logic or configuration
5465// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5466//
5467//
5468//    // Example sending a request using the GetExportJobRequest method.
5469//    req, resp := client.GetExportJobRequest(params)
5470//
5471//    err := req.Send()
5472//    if err == nil { // resp is now filled
5473//        fmt.Println(resp)
5474//    }
5475//
5476// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJob
5477func (c *Pinpoint) GetExportJobRequest(input *GetExportJobInput) (req *request.Request, output *GetExportJobOutput) {
5478	op := &request.Operation{
5479		Name:       opGetExportJob,
5480		HTTPMethod: "GET",
5481		HTTPPath:   "/v1/apps/{application-id}/jobs/export/{job-id}",
5482	}
5483
5484	if input == nil {
5485		input = &GetExportJobInput{}
5486	}
5487
5488	output = &GetExportJobOutput{}
5489	req = c.newRequest(op, input, output)
5490	return
5491}
5492
5493// GetExportJob API operation for Amazon Pinpoint.
5494//
5495// Retrieves information about the status and settings of a specific export
5496// job for an application.
5497//
5498// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5499// with awserr.Error's Code and Message methods to get detailed information about
5500// the error.
5501//
5502// See the AWS API reference guide for Amazon Pinpoint's
5503// API operation GetExportJob for usage and error information.
5504//
5505// Returned Error Types:
5506//   * BadRequestException
5507//   Provides information about an API request or response.
5508//
5509//   * InternalServerErrorException
5510//   Provides information about an API request or response.
5511//
5512//   * PayloadTooLargeException
5513//   Provides information about an API request or response.
5514//
5515//   * ForbiddenException
5516//   Provides information about an API request or response.
5517//
5518//   * NotFoundException
5519//   Provides information about an API request or response.
5520//
5521//   * MethodNotAllowedException
5522//   Provides information about an API request or response.
5523//
5524//   * TooManyRequestsException
5525//   Provides information about an API request or response.
5526//
5527// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJob
5528func (c *Pinpoint) GetExportJob(input *GetExportJobInput) (*GetExportJobOutput, error) {
5529	req, out := c.GetExportJobRequest(input)
5530	return out, req.Send()
5531}
5532
5533// GetExportJobWithContext is the same as GetExportJob with the addition of
5534// the ability to pass a context and additional request options.
5535//
5536// See GetExportJob for details on how to use this API operation.
5537//
5538// The context must be non-nil and will be used for request cancellation. If
5539// the context is nil a panic will occur. In the future the SDK may create
5540// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5541// for more information on using Contexts.
5542func (c *Pinpoint) GetExportJobWithContext(ctx aws.Context, input *GetExportJobInput, opts ...request.Option) (*GetExportJobOutput, error) {
5543	req, out := c.GetExportJobRequest(input)
5544	req.SetContext(ctx)
5545	req.ApplyOptions(opts...)
5546	return out, req.Send()
5547}
5548
5549const opGetExportJobs = "GetExportJobs"
5550
5551// GetExportJobsRequest generates a "aws/request.Request" representing the
5552// client's request for the GetExportJobs operation. The "output" return
5553// value will be populated with the request's response once the request completes
5554// successfully.
5555//
5556// Use "Send" method on the returned Request to send the API call to the service.
5557// the "output" return value is not valid until after Send returns without error.
5558//
5559// See GetExportJobs for more information on using the GetExportJobs
5560// API call, and error handling.
5561//
5562// This method is useful when you want to inject custom logic or configuration
5563// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5564//
5565//
5566//    // Example sending a request using the GetExportJobsRequest method.
5567//    req, resp := client.GetExportJobsRequest(params)
5568//
5569//    err := req.Send()
5570//    if err == nil { // resp is now filled
5571//        fmt.Println(resp)
5572//    }
5573//
5574// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJobs
5575func (c *Pinpoint) GetExportJobsRequest(input *GetExportJobsInput) (req *request.Request, output *GetExportJobsOutput) {
5576	op := &request.Operation{
5577		Name:       opGetExportJobs,
5578		HTTPMethod: "GET",
5579		HTTPPath:   "/v1/apps/{application-id}/jobs/export",
5580	}
5581
5582	if input == nil {
5583		input = &GetExportJobsInput{}
5584	}
5585
5586	output = &GetExportJobsOutput{}
5587	req = c.newRequest(op, input, output)
5588	return
5589}
5590
5591// GetExportJobs API operation for Amazon Pinpoint.
5592//
5593// Retrieves information about the status and settings of all the export jobs
5594// for an application.
5595//
5596// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5597// with awserr.Error's Code and Message methods to get detailed information about
5598// the error.
5599//
5600// See the AWS API reference guide for Amazon Pinpoint's
5601// API operation GetExportJobs for usage and error information.
5602//
5603// Returned Error Types:
5604//   * BadRequestException
5605//   Provides information about an API request or response.
5606//
5607//   * InternalServerErrorException
5608//   Provides information about an API request or response.
5609//
5610//   * PayloadTooLargeException
5611//   Provides information about an API request or response.
5612//
5613//   * ForbiddenException
5614//   Provides information about an API request or response.
5615//
5616//   * NotFoundException
5617//   Provides information about an API request or response.
5618//
5619//   * MethodNotAllowedException
5620//   Provides information about an API request or response.
5621//
5622//   * TooManyRequestsException
5623//   Provides information about an API request or response.
5624//
5625// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJobs
5626func (c *Pinpoint) GetExportJobs(input *GetExportJobsInput) (*GetExportJobsOutput, error) {
5627	req, out := c.GetExportJobsRequest(input)
5628	return out, req.Send()
5629}
5630
5631// GetExportJobsWithContext is the same as GetExportJobs with the addition of
5632// the ability to pass a context and additional request options.
5633//
5634// See GetExportJobs for details on how to use this API operation.
5635//
5636// The context must be non-nil and will be used for request cancellation. If
5637// the context is nil a panic will occur. In the future the SDK may create
5638// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5639// for more information on using Contexts.
5640func (c *Pinpoint) GetExportJobsWithContext(ctx aws.Context, input *GetExportJobsInput, opts ...request.Option) (*GetExportJobsOutput, error) {
5641	req, out := c.GetExportJobsRequest(input)
5642	req.SetContext(ctx)
5643	req.ApplyOptions(opts...)
5644	return out, req.Send()
5645}
5646
5647const opGetGcmChannel = "GetGcmChannel"
5648
5649// GetGcmChannelRequest generates a "aws/request.Request" representing the
5650// client's request for the GetGcmChannel operation. The "output" return
5651// value will be populated with the request's response once the request completes
5652// successfully.
5653//
5654// Use "Send" method on the returned Request to send the API call to the service.
5655// the "output" return value is not valid until after Send returns without error.
5656//
5657// See GetGcmChannel for more information on using the GetGcmChannel
5658// API call, and error handling.
5659//
5660// This method is useful when you want to inject custom logic or configuration
5661// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5662//
5663//
5664//    // Example sending a request using the GetGcmChannelRequest method.
5665//    req, resp := client.GetGcmChannelRequest(params)
5666//
5667//    err := req.Send()
5668//    if err == nil { // resp is now filled
5669//        fmt.Println(resp)
5670//    }
5671//
5672// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetGcmChannel
5673func (c *Pinpoint) GetGcmChannelRequest(input *GetGcmChannelInput) (req *request.Request, output *GetGcmChannelOutput) {
5674	op := &request.Operation{
5675		Name:       opGetGcmChannel,
5676		HTTPMethod: "GET",
5677		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
5678	}
5679
5680	if input == nil {
5681		input = &GetGcmChannelInput{}
5682	}
5683
5684	output = &GetGcmChannelOutput{}
5685	req = c.newRequest(op, input, output)
5686	return
5687}
5688
5689// GetGcmChannel API operation for Amazon Pinpoint.
5690//
5691// Retrieves information about the status and settings of the GCM channel for
5692// an application.
5693//
5694// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5695// with awserr.Error's Code and Message methods to get detailed information about
5696// the error.
5697//
5698// See the AWS API reference guide for Amazon Pinpoint's
5699// API operation GetGcmChannel for usage and error information.
5700//
5701// Returned Error Types:
5702//   * BadRequestException
5703//   Provides information about an API request or response.
5704//
5705//   * InternalServerErrorException
5706//   Provides information about an API request or response.
5707//
5708//   * PayloadTooLargeException
5709//   Provides information about an API request or response.
5710//
5711//   * ForbiddenException
5712//   Provides information about an API request or response.
5713//
5714//   * NotFoundException
5715//   Provides information about an API request or response.
5716//
5717//   * MethodNotAllowedException
5718//   Provides information about an API request or response.
5719//
5720//   * TooManyRequestsException
5721//   Provides information about an API request or response.
5722//
5723// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetGcmChannel
5724func (c *Pinpoint) GetGcmChannel(input *GetGcmChannelInput) (*GetGcmChannelOutput, error) {
5725	req, out := c.GetGcmChannelRequest(input)
5726	return out, req.Send()
5727}
5728
5729// GetGcmChannelWithContext is the same as GetGcmChannel with the addition of
5730// the ability to pass a context and additional request options.
5731//
5732// See GetGcmChannel for details on how to use this API operation.
5733//
5734// The context must be non-nil and will be used for request cancellation. If
5735// the context is nil a panic will occur. In the future the SDK may create
5736// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5737// for more information on using Contexts.
5738func (c *Pinpoint) GetGcmChannelWithContext(ctx aws.Context, input *GetGcmChannelInput, opts ...request.Option) (*GetGcmChannelOutput, error) {
5739	req, out := c.GetGcmChannelRequest(input)
5740	req.SetContext(ctx)
5741	req.ApplyOptions(opts...)
5742	return out, req.Send()
5743}
5744
5745const opGetImportJob = "GetImportJob"
5746
5747// GetImportJobRequest generates a "aws/request.Request" representing the
5748// client's request for the GetImportJob operation. The "output" return
5749// value will be populated with the request's response once the request completes
5750// successfully.
5751//
5752// Use "Send" method on the returned Request to send the API call to the service.
5753// the "output" return value is not valid until after Send returns without error.
5754//
5755// See GetImportJob for more information on using the GetImportJob
5756// API call, and error handling.
5757//
5758// This method is useful when you want to inject custom logic or configuration
5759// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5760//
5761//
5762//    // Example sending a request using the GetImportJobRequest method.
5763//    req, resp := client.GetImportJobRequest(params)
5764//
5765//    err := req.Send()
5766//    if err == nil { // resp is now filled
5767//        fmt.Println(resp)
5768//    }
5769//
5770// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJob
5771func (c *Pinpoint) GetImportJobRequest(input *GetImportJobInput) (req *request.Request, output *GetImportJobOutput) {
5772	op := &request.Operation{
5773		Name:       opGetImportJob,
5774		HTTPMethod: "GET",
5775		HTTPPath:   "/v1/apps/{application-id}/jobs/import/{job-id}",
5776	}
5777
5778	if input == nil {
5779		input = &GetImportJobInput{}
5780	}
5781
5782	output = &GetImportJobOutput{}
5783	req = c.newRequest(op, input, output)
5784	return
5785}
5786
5787// GetImportJob API operation for Amazon Pinpoint.
5788//
5789// Retrieves information about the status and settings of a specific import
5790// job for an application.
5791//
5792// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5793// with awserr.Error's Code and Message methods to get detailed information about
5794// the error.
5795//
5796// See the AWS API reference guide for Amazon Pinpoint's
5797// API operation GetImportJob for usage and error information.
5798//
5799// Returned Error Types:
5800//   * BadRequestException
5801//   Provides information about an API request or response.
5802//
5803//   * InternalServerErrorException
5804//   Provides information about an API request or response.
5805//
5806//   * PayloadTooLargeException
5807//   Provides information about an API request or response.
5808//
5809//   * ForbiddenException
5810//   Provides information about an API request or response.
5811//
5812//   * NotFoundException
5813//   Provides information about an API request or response.
5814//
5815//   * MethodNotAllowedException
5816//   Provides information about an API request or response.
5817//
5818//   * TooManyRequestsException
5819//   Provides information about an API request or response.
5820//
5821// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJob
5822func (c *Pinpoint) GetImportJob(input *GetImportJobInput) (*GetImportJobOutput, error) {
5823	req, out := c.GetImportJobRequest(input)
5824	return out, req.Send()
5825}
5826
5827// GetImportJobWithContext is the same as GetImportJob with the addition of
5828// the ability to pass a context and additional request options.
5829//
5830// See GetImportJob for details on how to use this API operation.
5831//
5832// The context must be non-nil and will be used for request cancellation. If
5833// the context is nil a panic will occur. In the future the SDK may create
5834// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5835// for more information on using Contexts.
5836func (c *Pinpoint) GetImportJobWithContext(ctx aws.Context, input *GetImportJobInput, opts ...request.Option) (*GetImportJobOutput, error) {
5837	req, out := c.GetImportJobRequest(input)
5838	req.SetContext(ctx)
5839	req.ApplyOptions(opts...)
5840	return out, req.Send()
5841}
5842
5843const opGetImportJobs = "GetImportJobs"
5844
5845// GetImportJobsRequest generates a "aws/request.Request" representing the
5846// client's request for the GetImportJobs operation. The "output" return
5847// value will be populated with the request's response once the request completes
5848// successfully.
5849//
5850// Use "Send" method on the returned Request to send the API call to the service.
5851// the "output" return value is not valid until after Send returns without error.
5852//
5853// See GetImportJobs for more information on using the GetImportJobs
5854// API call, and error handling.
5855//
5856// This method is useful when you want to inject custom logic or configuration
5857// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5858//
5859//
5860//    // Example sending a request using the GetImportJobsRequest method.
5861//    req, resp := client.GetImportJobsRequest(params)
5862//
5863//    err := req.Send()
5864//    if err == nil { // resp is now filled
5865//        fmt.Println(resp)
5866//    }
5867//
5868// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobs
5869func (c *Pinpoint) GetImportJobsRequest(input *GetImportJobsInput) (req *request.Request, output *GetImportJobsOutput) {
5870	op := &request.Operation{
5871		Name:       opGetImportJobs,
5872		HTTPMethod: "GET",
5873		HTTPPath:   "/v1/apps/{application-id}/jobs/import",
5874	}
5875
5876	if input == nil {
5877		input = &GetImportJobsInput{}
5878	}
5879
5880	output = &GetImportJobsOutput{}
5881	req = c.newRequest(op, input, output)
5882	return
5883}
5884
5885// GetImportJobs API operation for Amazon Pinpoint.
5886//
5887// Retrieves information about the status and settings of all the import jobs
5888// for an application.
5889//
5890// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5891// with awserr.Error's Code and Message methods to get detailed information about
5892// the error.
5893//
5894// See the AWS API reference guide for Amazon Pinpoint's
5895// API operation GetImportJobs for usage and error information.
5896//
5897// Returned Error Types:
5898//   * BadRequestException
5899//   Provides information about an API request or response.
5900//
5901//   * InternalServerErrorException
5902//   Provides information about an API request or response.
5903//
5904//   * PayloadTooLargeException
5905//   Provides information about an API request or response.
5906//
5907//   * ForbiddenException
5908//   Provides information about an API request or response.
5909//
5910//   * NotFoundException
5911//   Provides information about an API request or response.
5912//
5913//   * MethodNotAllowedException
5914//   Provides information about an API request or response.
5915//
5916//   * TooManyRequestsException
5917//   Provides information about an API request or response.
5918//
5919// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobs
5920func (c *Pinpoint) GetImportJobs(input *GetImportJobsInput) (*GetImportJobsOutput, error) {
5921	req, out := c.GetImportJobsRequest(input)
5922	return out, req.Send()
5923}
5924
5925// GetImportJobsWithContext is the same as GetImportJobs with the addition of
5926// the ability to pass a context and additional request options.
5927//
5928// See GetImportJobs for details on how to use this API operation.
5929//
5930// The context must be non-nil and will be used for request cancellation. If
5931// the context is nil a panic will occur. In the future the SDK may create
5932// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5933// for more information on using Contexts.
5934func (c *Pinpoint) GetImportJobsWithContext(ctx aws.Context, input *GetImportJobsInput, opts ...request.Option) (*GetImportJobsOutput, error) {
5935	req, out := c.GetImportJobsRequest(input)
5936	req.SetContext(ctx)
5937	req.ApplyOptions(opts...)
5938	return out, req.Send()
5939}
5940
5941const opGetInAppMessages = "GetInAppMessages"
5942
5943// GetInAppMessagesRequest generates a "aws/request.Request" representing the
5944// client's request for the GetInAppMessages operation. The "output" return
5945// value will be populated with the request's response once the request completes
5946// successfully.
5947//
5948// Use "Send" method on the returned Request to send the API call to the service.
5949// the "output" return value is not valid until after Send returns without error.
5950//
5951// See GetInAppMessages for more information on using the GetInAppMessages
5952// API call, and error handling.
5953//
5954// This method is useful when you want to inject custom logic or configuration
5955// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5956//
5957//
5958//    // Example sending a request using the GetInAppMessagesRequest method.
5959//    req, resp := client.GetInAppMessagesRequest(params)
5960//
5961//    err := req.Send()
5962//    if err == nil { // resp is now filled
5963//        fmt.Println(resp)
5964//    }
5965//
5966// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetInAppMessages
5967func (c *Pinpoint) GetInAppMessagesRequest(input *GetInAppMessagesInput) (req *request.Request, output *GetInAppMessagesOutput) {
5968	op := &request.Operation{
5969		Name:       opGetInAppMessages,
5970		HTTPMethod: "GET",
5971		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}/inappmessages",
5972	}
5973
5974	if input == nil {
5975		input = &GetInAppMessagesInput{}
5976	}
5977
5978	output = &GetInAppMessagesOutput{}
5979	req = c.newRequest(op, input, output)
5980	return
5981}
5982
5983// GetInAppMessages API operation for Amazon Pinpoint.
5984//
5985// Retrieves the in-app messages targeted for the provided endpoint ID.
5986//
5987// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5988// with awserr.Error's Code and Message methods to get detailed information about
5989// the error.
5990//
5991// See the AWS API reference guide for Amazon Pinpoint's
5992// API operation GetInAppMessages for usage and error information.
5993//
5994// Returned Error Types:
5995//   * BadRequestException
5996//   Provides information about an API request or response.
5997//
5998//   * InternalServerErrorException
5999//   Provides information about an API request or response.
6000//
6001//   * PayloadTooLargeException
6002//   Provides information about an API request or response.
6003//
6004//   * ForbiddenException
6005//   Provides information about an API request or response.
6006//
6007//   * NotFoundException
6008//   Provides information about an API request or response.
6009//
6010//   * MethodNotAllowedException
6011//   Provides information about an API request or response.
6012//
6013//   * TooManyRequestsException
6014//   Provides information about an API request or response.
6015//
6016// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetInAppMessages
6017func (c *Pinpoint) GetInAppMessages(input *GetInAppMessagesInput) (*GetInAppMessagesOutput, error) {
6018	req, out := c.GetInAppMessagesRequest(input)
6019	return out, req.Send()
6020}
6021
6022// GetInAppMessagesWithContext is the same as GetInAppMessages with the addition of
6023// the ability to pass a context and additional request options.
6024//
6025// See GetInAppMessages for details on how to use this API operation.
6026//
6027// The context must be non-nil and will be used for request cancellation. If
6028// the context is nil a panic will occur. In the future the SDK may create
6029// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6030// for more information on using Contexts.
6031func (c *Pinpoint) GetInAppMessagesWithContext(ctx aws.Context, input *GetInAppMessagesInput, opts ...request.Option) (*GetInAppMessagesOutput, error) {
6032	req, out := c.GetInAppMessagesRequest(input)
6033	req.SetContext(ctx)
6034	req.ApplyOptions(opts...)
6035	return out, req.Send()
6036}
6037
6038const opGetInAppTemplate = "GetInAppTemplate"
6039
6040// GetInAppTemplateRequest generates a "aws/request.Request" representing the
6041// client's request for the GetInAppTemplate operation. The "output" return
6042// value will be populated with the request's response once the request completes
6043// successfully.
6044//
6045// Use "Send" method on the returned Request to send the API call to the service.
6046// the "output" return value is not valid until after Send returns without error.
6047//
6048// See GetInAppTemplate for more information on using the GetInAppTemplate
6049// API call, and error handling.
6050//
6051// This method is useful when you want to inject custom logic or configuration
6052// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6053//
6054//
6055//    // Example sending a request using the GetInAppTemplateRequest method.
6056//    req, resp := client.GetInAppTemplateRequest(params)
6057//
6058//    err := req.Send()
6059//    if err == nil { // resp is now filled
6060//        fmt.Println(resp)
6061//    }
6062//
6063// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetInAppTemplate
6064func (c *Pinpoint) GetInAppTemplateRequest(input *GetInAppTemplateInput) (req *request.Request, output *GetInAppTemplateOutput) {
6065	op := &request.Operation{
6066		Name:       opGetInAppTemplate,
6067		HTTPMethod: "GET",
6068		HTTPPath:   "/v1/templates/{template-name}/inapp",
6069	}
6070
6071	if input == nil {
6072		input = &GetInAppTemplateInput{}
6073	}
6074
6075	output = &GetInAppTemplateOutput{}
6076	req = c.newRequest(op, input, output)
6077	return
6078}
6079
6080// GetInAppTemplate API operation for Amazon Pinpoint.
6081//
6082// Retrieves the content and settings of a message template for messages sent
6083// through the in-app channel.
6084//
6085// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6086// with awserr.Error's Code and Message methods to get detailed information about
6087// the error.
6088//
6089// See the AWS API reference guide for Amazon Pinpoint's
6090// API operation GetInAppTemplate for usage and error information.
6091//
6092// Returned Error Types:
6093//   * BadRequestException
6094//   Provides information about an API request or response.
6095//
6096//   * InternalServerErrorException
6097//   Provides information about an API request or response.
6098//
6099//   * PayloadTooLargeException
6100//   Provides information about an API request or response.
6101//
6102//   * ForbiddenException
6103//   Provides information about an API request or response.
6104//
6105//   * NotFoundException
6106//   Provides information about an API request or response.
6107//
6108//   * MethodNotAllowedException
6109//   Provides information about an API request or response.
6110//
6111//   * TooManyRequestsException
6112//   Provides information about an API request or response.
6113//
6114// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetInAppTemplate
6115func (c *Pinpoint) GetInAppTemplate(input *GetInAppTemplateInput) (*GetInAppTemplateOutput, error) {
6116	req, out := c.GetInAppTemplateRequest(input)
6117	return out, req.Send()
6118}
6119
6120// GetInAppTemplateWithContext is the same as GetInAppTemplate with the addition of
6121// the ability to pass a context and additional request options.
6122//
6123// See GetInAppTemplate for details on how to use this API operation.
6124//
6125// The context must be non-nil and will be used for request cancellation. If
6126// the context is nil a panic will occur. In the future the SDK may create
6127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6128// for more information on using Contexts.
6129func (c *Pinpoint) GetInAppTemplateWithContext(ctx aws.Context, input *GetInAppTemplateInput, opts ...request.Option) (*GetInAppTemplateOutput, error) {
6130	req, out := c.GetInAppTemplateRequest(input)
6131	req.SetContext(ctx)
6132	req.ApplyOptions(opts...)
6133	return out, req.Send()
6134}
6135
6136const opGetJourney = "GetJourney"
6137
6138// GetJourneyRequest generates a "aws/request.Request" representing the
6139// client's request for the GetJourney operation. The "output" return
6140// value will be populated with the request's response once the request completes
6141// successfully.
6142//
6143// Use "Send" method on the returned Request to send the API call to the service.
6144// the "output" return value is not valid until after Send returns without error.
6145//
6146// See GetJourney for more information on using the GetJourney
6147// API call, and error handling.
6148//
6149// This method is useful when you want to inject custom logic or configuration
6150// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6151//
6152//
6153//    // Example sending a request using the GetJourneyRequest method.
6154//    req, resp := client.GetJourneyRequest(params)
6155//
6156//    err := req.Send()
6157//    if err == nil { // resp is now filled
6158//        fmt.Println(resp)
6159//    }
6160//
6161// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourney
6162func (c *Pinpoint) GetJourneyRequest(input *GetJourneyInput) (req *request.Request, output *GetJourneyOutput) {
6163	op := &request.Operation{
6164		Name:       opGetJourney,
6165		HTTPMethod: "GET",
6166		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}",
6167	}
6168
6169	if input == nil {
6170		input = &GetJourneyInput{}
6171	}
6172
6173	output = &GetJourneyOutput{}
6174	req = c.newRequest(op, input, output)
6175	return
6176}
6177
6178// GetJourney API operation for Amazon Pinpoint.
6179//
6180// Retrieves information about the status, configuration, and other settings
6181// for a journey.
6182//
6183// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6184// with awserr.Error's Code and Message methods to get detailed information about
6185// the error.
6186//
6187// See the AWS API reference guide for Amazon Pinpoint's
6188// API operation GetJourney for usage and error information.
6189//
6190// Returned Error Types:
6191//   * BadRequestException
6192//   Provides information about an API request or response.
6193//
6194//   * InternalServerErrorException
6195//   Provides information about an API request or response.
6196//
6197//   * PayloadTooLargeException
6198//   Provides information about an API request or response.
6199//
6200//   * ForbiddenException
6201//   Provides information about an API request or response.
6202//
6203//   * NotFoundException
6204//   Provides information about an API request or response.
6205//
6206//   * MethodNotAllowedException
6207//   Provides information about an API request or response.
6208//
6209//   * TooManyRequestsException
6210//   Provides information about an API request or response.
6211//
6212// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourney
6213func (c *Pinpoint) GetJourney(input *GetJourneyInput) (*GetJourneyOutput, error) {
6214	req, out := c.GetJourneyRequest(input)
6215	return out, req.Send()
6216}
6217
6218// GetJourneyWithContext is the same as GetJourney with the addition of
6219// the ability to pass a context and additional request options.
6220//
6221// See GetJourney for details on how to use this API operation.
6222//
6223// The context must be non-nil and will be used for request cancellation. If
6224// the context is nil a panic will occur. In the future the SDK may create
6225// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6226// for more information on using Contexts.
6227func (c *Pinpoint) GetJourneyWithContext(ctx aws.Context, input *GetJourneyInput, opts ...request.Option) (*GetJourneyOutput, error) {
6228	req, out := c.GetJourneyRequest(input)
6229	req.SetContext(ctx)
6230	req.ApplyOptions(opts...)
6231	return out, req.Send()
6232}
6233
6234const opGetJourneyDateRangeKpi = "GetJourneyDateRangeKpi"
6235
6236// GetJourneyDateRangeKpiRequest generates a "aws/request.Request" representing the
6237// client's request for the GetJourneyDateRangeKpi operation. The "output" return
6238// value will be populated with the request's response once the request completes
6239// successfully.
6240//
6241// Use "Send" method on the returned Request to send the API call to the service.
6242// the "output" return value is not valid until after Send returns without error.
6243//
6244// See GetJourneyDateRangeKpi for more information on using the GetJourneyDateRangeKpi
6245// API call, and error handling.
6246//
6247// This method is useful when you want to inject custom logic or configuration
6248// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6249//
6250//
6251//    // Example sending a request using the GetJourneyDateRangeKpiRequest method.
6252//    req, resp := client.GetJourneyDateRangeKpiRequest(params)
6253//
6254//    err := req.Send()
6255//    if err == nil { // resp is now filled
6256//        fmt.Println(resp)
6257//    }
6258//
6259// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyDateRangeKpi
6260func (c *Pinpoint) GetJourneyDateRangeKpiRequest(input *GetJourneyDateRangeKpiInput) (req *request.Request, output *GetJourneyDateRangeKpiOutput) {
6261	op := &request.Operation{
6262		Name:       opGetJourneyDateRangeKpi,
6263		HTTPMethod: "GET",
6264		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}/kpis/daterange/{kpi-name}",
6265	}
6266
6267	if input == nil {
6268		input = &GetJourneyDateRangeKpiInput{}
6269	}
6270
6271	output = &GetJourneyDateRangeKpiOutput{}
6272	req = c.newRequest(op, input, output)
6273	return
6274}
6275
6276// GetJourneyDateRangeKpi API operation for Amazon Pinpoint.
6277//
6278// Retrieves (queries) pre-aggregated data for a standard engagement metric
6279// that applies to a journey.
6280//
6281// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6282// with awserr.Error's Code and Message methods to get detailed information about
6283// the error.
6284//
6285// See the AWS API reference guide for Amazon Pinpoint's
6286// API operation GetJourneyDateRangeKpi for usage and error information.
6287//
6288// Returned Error Types:
6289//   * BadRequestException
6290//   Provides information about an API request or response.
6291//
6292//   * InternalServerErrorException
6293//   Provides information about an API request or response.
6294//
6295//   * PayloadTooLargeException
6296//   Provides information about an API request or response.
6297//
6298//   * ForbiddenException
6299//   Provides information about an API request or response.
6300//
6301//   * NotFoundException
6302//   Provides information about an API request or response.
6303//
6304//   * MethodNotAllowedException
6305//   Provides information about an API request or response.
6306//
6307//   * TooManyRequestsException
6308//   Provides information about an API request or response.
6309//
6310// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyDateRangeKpi
6311func (c *Pinpoint) GetJourneyDateRangeKpi(input *GetJourneyDateRangeKpiInput) (*GetJourneyDateRangeKpiOutput, error) {
6312	req, out := c.GetJourneyDateRangeKpiRequest(input)
6313	return out, req.Send()
6314}
6315
6316// GetJourneyDateRangeKpiWithContext is the same as GetJourneyDateRangeKpi with the addition of
6317// the ability to pass a context and additional request options.
6318//
6319// See GetJourneyDateRangeKpi for details on how to use this API operation.
6320//
6321// The context must be non-nil and will be used for request cancellation. If
6322// the context is nil a panic will occur. In the future the SDK may create
6323// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6324// for more information on using Contexts.
6325func (c *Pinpoint) GetJourneyDateRangeKpiWithContext(ctx aws.Context, input *GetJourneyDateRangeKpiInput, opts ...request.Option) (*GetJourneyDateRangeKpiOutput, error) {
6326	req, out := c.GetJourneyDateRangeKpiRequest(input)
6327	req.SetContext(ctx)
6328	req.ApplyOptions(opts...)
6329	return out, req.Send()
6330}
6331
6332const opGetJourneyExecutionActivityMetrics = "GetJourneyExecutionActivityMetrics"
6333
6334// GetJourneyExecutionActivityMetricsRequest generates a "aws/request.Request" representing the
6335// client's request for the GetJourneyExecutionActivityMetrics operation. The "output" return
6336// value will be populated with the request's response once the request completes
6337// successfully.
6338//
6339// Use "Send" method on the returned Request to send the API call to the service.
6340// the "output" return value is not valid until after Send returns without error.
6341//
6342// See GetJourneyExecutionActivityMetrics for more information on using the GetJourneyExecutionActivityMetrics
6343// API call, and error handling.
6344//
6345// This method is useful when you want to inject custom logic or configuration
6346// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6347//
6348//
6349//    // Example sending a request using the GetJourneyExecutionActivityMetricsRequest method.
6350//    req, resp := client.GetJourneyExecutionActivityMetricsRequest(params)
6351//
6352//    err := req.Send()
6353//    if err == nil { // resp is now filled
6354//        fmt.Println(resp)
6355//    }
6356//
6357// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionActivityMetrics
6358func (c *Pinpoint) GetJourneyExecutionActivityMetricsRequest(input *GetJourneyExecutionActivityMetricsInput) (req *request.Request, output *GetJourneyExecutionActivityMetricsOutput) {
6359	op := &request.Operation{
6360		Name:       opGetJourneyExecutionActivityMetrics,
6361		HTTPMethod: "GET",
6362		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}/activities/{journey-activity-id}/execution-metrics",
6363	}
6364
6365	if input == nil {
6366		input = &GetJourneyExecutionActivityMetricsInput{}
6367	}
6368
6369	output = &GetJourneyExecutionActivityMetricsOutput{}
6370	req = c.newRequest(op, input, output)
6371	return
6372}
6373
6374// GetJourneyExecutionActivityMetrics API operation for Amazon Pinpoint.
6375//
6376// Retrieves (queries) pre-aggregated data for a standard execution metric that
6377// applies to a journey activity.
6378//
6379// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6380// with awserr.Error's Code and Message methods to get detailed information about
6381// the error.
6382//
6383// See the AWS API reference guide for Amazon Pinpoint's
6384// API operation GetJourneyExecutionActivityMetrics for usage and error information.
6385//
6386// Returned Error Types:
6387//   * BadRequestException
6388//   Provides information about an API request or response.
6389//
6390//   * InternalServerErrorException
6391//   Provides information about an API request or response.
6392//
6393//   * PayloadTooLargeException
6394//   Provides information about an API request or response.
6395//
6396//   * ForbiddenException
6397//   Provides information about an API request or response.
6398//
6399//   * NotFoundException
6400//   Provides information about an API request or response.
6401//
6402//   * MethodNotAllowedException
6403//   Provides information about an API request or response.
6404//
6405//   * TooManyRequestsException
6406//   Provides information about an API request or response.
6407//
6408// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionActivityMetrics
6409func (c *Pinpoint) GetJourneyExecutionActivityMetrics(input *GetJourneyExecutionActivityMetricsInput) (*GetJourneyExecutionActivityMetricsOutput, error) {
6410	req, out := c.GetJourneyExecutionActivityMetricsRequest(input)
6411	return out, req.Send()
6412}
6413
6414// GetJourneyExecutionActivityMetricsWithContext is the same as GetJourneyExecutionActivityMetrics with the addition of
6415// the ability to pass a context and additional request options.
6416//
6417// See GetJourneyExecutionActivityMetrics for details on how to use this API operation.
6418//
6419// The context must be non-nil and will be used for request cancellation. If
6420// the context is nil a panic will occur. In the future the SDK may create
6421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6422// for more information on using Contexts.
6423func (c *Pinpoint) GetJourneyExecutionActivityMetricsWithContext(ctx aws.Context, input *GetJourneyExecutionActivityMetricsInput, opts ...request.Option) (*GetJourneyExecutionActivityMetricsOutput, error) {
6424	req, out := c.GetJourneyExecutionActivityMetricsRequest(input)
6425	req.SetContext(ctx)
6426	req.ApplyOptions(opts...)
6427	return out, req.Send()
6428}
6429
6430const opGetJourneyExecutionMetrics = "GetJourneyExecutionMetrics"
6431
6432// GetJourneyExecutionMetricsRequest generates a "aws/request.Request" representing the
6433// client's request for the GetJourneyExecutionMetrics operation. The "output" return
6434// value will be populated with the request's response once the request completes
6435// successfully.
6436//
6437// Use "Send" method on the returned Request to send the API call to the service.
6438// the "output" return value is not valid until after Send returns without error.
6439//
6440// See GetJourneyExecutionMetrics for more information on using the GetJourneyExecutionMetrics
6441// API call, and error handling.
6442//
6443// This method is useful when you want to inject custom logic or configuration
6444// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6445//
6446//
6447//    // Example sending a request using the GetJourneyExecutionMetricsRequest method.
6448//    req, resp := client.GetJourneyExecutionMetricsRequest(params)
6449//
6450//    err := req.Send()
6451//    if err == nil { // resp is now filled
6452//        fmt.Println(resp)
6453//    }
6454//
6455// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionMetrics
6456func (c *Pinpoint) GetJourneyExecutionMetricsRequest(input *GetJourneyExecutionMetricsInput) (req *request.Request, output *GetJourneyExecutionMetricsOutput) {
6457	op := &request.Operation{
6458		Name:       opGetJourneyExecutionMetrics,
6459		HTTPMethod: "GET",
6460		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}/execution-metrics",
6461	}
6462
6463	if input == nil {
6464		input = &GetJourneyExecutionMetricsInput{}
6465	}
6466
6467	output = &GetJourneyExecutionMetricsOutput{}
6468	req = c.newRequest(op, input, output)
6469	return
6470}
6471
6472// GetJourneyExecutionMetrics API operation for Amazon Pinpoint.
6473//
6474// Retrieves (queries) pre-aggregated data for a standard execution metric that
6475// applies to a journey.
6476//
6477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6478// with awserr.Error's Code and Message methods to get detailed information about
6479// the error.
6480//
6481// See the AWS API reference guide for Amazon Pinpoint's
6482// API operation GetJourneyExecutionMetrics for usage and error information.
6483//
6484// Returned Error Types:
6485//   * BadRequestException
6486//   Provides information about an API request or response.
6487//
6488//   * InternalServerErrorException
6489//   Provides information about an API request or response.
6490//
6491//   * PayloadTooLargeException
6492//   Provides information about an API request or response.
6493//
6494//   * ForbiddenException
6495//   Provides information about an API request or response.
6496//
6497//   * NotFoundException
6498//   Provides information about an API request or response.
6499//
6500//   * MethodNotAllowedException
6501//   Provides information about an API request or response.
6502//
6503//   * TooManyRequestsException
6504//   Provides information about an API request or response.
6505//
6506// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionMetrics
6507func (c *Pinpoint) GetJourneyExecutionMetrics(input *GetJourneyExecutionMetricsInput) (*GetJourneyExecutionMetricsOutput, error) {
6508	req, out := c.GetJourneyExecutionMetricsRequest(input)
6509	return out, req.Send()
6510}
6511
6512// GetJourneyExecutionMetricsWithContext is the same as GetJourneyExecutionMetrics with the addition of
6513// the ability to pass a context and additional request options.
6514//
6515// See GetJourneyExecutionMetrics for details on how to use this API operation.
6516//
6517// The context must be non-nil and will be used for request cancellation. If
6518// the context is nil a panic will occur. In the future the SDK may create
6519// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6520// for more information on using Contexts.
6521func (c *Pinpoint) GetJourneyExecutionMetricsWithContext(ctx aws.Context, input *GetJourneyExecutionMetricsInput, opts ...request.Option) (*GetJourneyExecutionMetricsOutput, error) {
6522	req, out := c.GetJourneyExecutionMetricsRequest(input)
6523	req.SetContext(ctx)
6524	req.ApplyOptions(opts...)
6525	return out, req.Send()
6526}
6527
6528const opGetPushTemplate = "GetPushTemplate"
6529
6530// GetPushTemplateRequest generates a "aws/request.Request" representing the
6531// client's request for the GetPushTemplate operation. The "output" return
6532// value will be populated with the request's response once the request completes
6533// successfully.
6534//
6535// Use "Send" method on the returned Request to send the API call to the service.
6536// the "output" return value is not valid until after Send returns without error.
6537//
6538// See GetPushTemplate for more information on using the GetPushTemplate
6539// API call, and error handling.
6540//
6541// This method is useful when you want to inject custom logic or configuration
6542// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6543//
6544//
6545//    // Example sending a request using the GetPushTemplateRequest method.
6546//    req, resp := client.GetPushTemplateRequest(params)
6547//
6548//    err := req.Send()
6549//    if err == nil { // resp is now filled
6550//        fmt.Println(resp)
6551//    }
6552//
6553// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetPushTemplate
6554func (c *Pinpoint) GetPushTemplateRequest(input *GetPushTemplateInput) (req *request.Request, output *GetPushTemplateOutput) {
6555	op := &request.Operation{
6556		Name:       opGetPushTemplate,
6557		HTTPMethod: "GET",
6558		HTTPPath:   "/v1/templates/{template-name}/push",
6559	}
6560
6561	if input == nil {
6562		input = &GetPushTemplateInput{}
6563	}
6564
6565	output = &GetPushTemplateOutput{}
6566	req = c.newRequest(op, input, output)
6567	return
6568}
6569
6570// GetPushTemplate API operation for Amazon Pinpoint.
6571//
6572// Retrieves the content and settings of a message template for messages that
6573// are sent through a push notification channel.
6574//
6575// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6576// with awserr.Error's Code and Message methods to get detailed information about
6577// the error.
6578//
6579// See the AWS API reference guide for Amazon Pinpoint's
6580// API operation GetPushTemplate for usage and error information.
6581//
6582// Returned Error Types:
6583//   * BadRequestException
6584//   Provides information about an API request or response.
6585//
6586//   * InternalServerErrorException
6587//   Provides information about an API request or response.
6588//
6589//   * PayloadTooLargeException
6590//   Provides information about an API request or response.
6591//
6592//   * ForbiddenException
6593//   Provides information about an API request or response.
6594//
6595//   * NotFoundException
6596//   Provides information about an API request or response.
6597//
6598//   * MethodNotAllowedException
6599//   Provides information about an API request or response.
6600//
6601//   * TooManyRequestsException
6602//   Provides information about an API request or response.
6603//
6604// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetPushTemplate
6605func (c *Pinpoint) GetPushTemplate(input *GetPushTemplateInput) (*GetPushTemplateOutput, error) {
6606	req, out := c.GetPushTemplateRequest(input)
6607	return out, req.Send()
6608}
6609
6610// GetPushTemplateWithContext is the same as GetPushTemplate with the addition of
6611// the ability to pass a context and additional request options.
6612//
6613// See GetPushTemplate for details on how to use this API operation.
6614//
6615// The context must be non-nil and will be used for request cancellation. If
6616// the context is nil a panic will occur. In the future the SDK may create
6617// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6618// for more information on using Contexts.
6619func (c *Pinpoint) GetPushTemplateWithContext(ctx aws.Context, input *GetPushTemplateInput, opts ...request.Option) (*GetPushTemplateOutput, error) {
6620	req, out := c.GetPushTemplateRequest(input)
6621	req.SetContext(ctx)
6622	req.ApplyOptions(opts...)
6623	return out, req.Send()
6624}
6625
6626const opGetRecommenderConfiguration = "GetRecommenderConfiguration"
6627
6628// GetRecommenderConfigurationRequest generates a "aws/request.Request" representing the
6629// client's request for the GetRecommenderConfiguration operation. The "output" return
6630// value will be populated with the request's response once the request completes
6631// successfully.
6632//
6633// Use "Send" method on the returned Request to send the API call to the service.
6634// the "output" return value is not valid until after Send returns without error.
6635//
6636// See GetRecommenderConfiguration for more information on using the GetRecommenderConfiguration
6637// API call, and error handling.
6638//
6639// This method is useful when you want to inject custom logic or configuration
6640// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6641//
6642//
6643//    // Example sending a request using the GetRecommenderConfigurationRequest method.
6644//    req, resp := client.GetRecommenderConfigurationRequest(params)
6645//
6646//    err := req.Send()
6647//    if err == nil { // resp is now filled
6648//        fmt.Println(resp)
6649//    }
6650//
6651// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfiguration
6652func (c *Pinpoint) GetRecommenderConfigurationRequest(input *GetRecommenderConfigurationInput) (req *request.Request, output *GetRecommenderConfigurationOutput) {
6653	op := &request.Operation{
6654		Name:       opGetRecommenderConfiguration,
6655		HTTPMethod: "GET",
6656		HTTPPath:   "/v1/recommenders/{recommender-id}",
6657	}
6658
6659	if input == nil {
6660		input = &GetRecommenderConfigurationInput{}
6661	}
6662
6663	output = &GetRecommenderConfigurationOutput{}
6664	req = c.newRequest(op, input, output)
6665	return
6666}
6667
6668// GetRecommenderConfiguration API operation for Amazon Pinpoint.
6669//
6670// Retrieves information about an Amazon Pinpoint configuration for a recommender
6671// model.
6672//
6673// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6674// with awserr.Error's Code and Message methods to get detailed information about
6675// the error.
6676//
6677// See the AWS API reference guide for Amazon Pinpoint's
6678// API operation GetRecommenderConfiguration for usage and error information.
6679//
6680// Returned Error Types:
6681//   * BadRequestException
6682//   Provides information about an API request or response.
6683//
6684//   * InternalServerErrorException
6685//   Provides information about an API request or response.
6686//
6687//   * PayloadTooLargeException
6688//   Provides information about an API request or response.
6689//
6690//   * ForbiddenException
6691//   Provides information about an API request or response.
6692//
6693//   * NotFoundException
6694//   Provides information about an API request or response.
6695//
6696//   * MethodNotAllowedException
6697//   Provides information about an API request or response.
6698//
6699//   * TooManyRequestsException
6700//   Provides information about an API request or response.
6701//
6702// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfiguration
6703func (c *Pinpoint) GetRecommenderConfiguration(input *GetRecommenderConfigurationInput) (*GetRecommenderConfigurationOutput, error) {
6704	req, out := c.GetRecommenderConfigurationRequest(input)
6705	return out, req.Send()
6706}
6707
6708// GetRecommenderConfigurationWithContext is the same as GetRecommenderConfiguration with the addition of
6709// the ability to pass a context and additional request options.
6710//
6711// See GetRecommenderConfiguration for details on how to use this API operation.
6712//
6713// The context must be non-nil and will be used for request cancellation. If
6714// the context is nil a panic will occur. In the future the SDK may create
6715// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6716// for more information on using Contexts.
6717func (c *Pinpoint) GetRecommenderConfigurationWithContext(ctx aws.Context, input *GetRecommenderConfigurationInput, opts ...request.Option) (*GetRecommenderConfigurationOutput, error) {
6718	req, out := c.GetRecommenderConfigurationRequest(input)
6719	req.SetContext(ctx)
6720	req.ApplyOptions(opts...)
6721	return out, req.Send()
6722}
6723
6724const opGetRecommenderConfigurations = "GetRecommenderConfigurations"
6725
6726// GetRecommenderConfigurationsRequest generates a "aws/request.Request" representing the
6727// client's request for the GetRecommenderConfigurations operation. The "output" return
6728// value will be populated with the request's response once the request completes
6729// successfully.
6730//
6731// Use "Send" method on the returned Request to send the API call to the service.
6732// the "output" return value is not valid until after Send returns without error.
6733//
6734// See GetRecommenderConfigurations for more information on using the GetRecommenderConfigurations
6735// API call, and error handling.
6736//
6737// This method is useful when you want to inject custom logic or configuration
6738// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6739//
6740//
6741//    // Example sending a request using the GetRecommenderConfigurationsRequest method.
6742//    req, resp := client.GetRecommenderConfigurationsRequest(params)
6743//
6744//    err := req.Send()
6745//    if err == nil { // resp is now filled
6746//        fmt.Println(resp)
6747//    }
6748//
6749// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfigurations
6750func (c *Pinpoint) GetRecommenderConfigurationsRequest(input *GetRecommenderConfigurationsInput) (req *request.Request, output *GetRecommenderConfigurationsOutput) {
6751	op := &request.Operation{
6752		Name:       opGetRecommenderConfigurations,
6753		HTTPMethod: "GET",
6754		HTTPPath:   "/v1/recommenders",
6755	}
6756
6757	if input == nil {
6758		input = &GetRecommenderConfigurationsInput{}
6759	}
6760
6761	output = &GetRecommenderConfigurationsOutput{}
6762	req = c.newRequest(op, input, output)
6763	return
6764}
6765
6766// GetRecommenderConfigurations API operation for Amazon Pinpoint.
6767//
6768// Retrieves information about all the recommender model configurations that
6769// are associated with your Amazon Pinpoint account.
6770//
6771// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6772// with awserr.Error's Code and Message methods to get detailed information about
6773// the error.
6774//
6775// See the AWS API reference guide for Amazon Pinpoint's
6776// API operation GetRecommenderConfigurations for usage and error information.
6777//
6778// Returned Error Types:
6779//   * BadRequestException
6780//   Provides information about an API request or response.
6781//
6782//   * InternalServerErrorException
6783//   Provides information about an API request or response.
6784//
6785//   * PayloadTooLargeException
6786//   Provides information about an API request or response.
6787//
6788//   * ForbiddenException
6789//   Provides information about an API request or response.
6790//
6791//   * NotFoundException
6792//   Provides information about an API request or response.
6793//
6794//   * MethodNotAllowedException
6795//   Provides information about an API request or response.
6796//
6797//   * TooManyRequestsException
6798//   Provides information about an API request or response.
6799//
6800// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfigurations
6801func (c *Pinpoint) GetRecommenderConfigurations(input *GetRecommenderConfigurationsInput) (*GetRecommenderConfigurationsOutput, error) {
6802	req, out := c.GetRecommenderConfigurationsRequest(input)
6803	return out, req.Send()
6804}
6805
6806// GetRecommenderConfigurationsWithContext is the same as GetRecommenderConfigurations with the addition of
6807// the ability to pass a context and additional request options.
6808//
6809// See GetRecommenderConfigurations for details on how to use this API operation.
6810//
6811// The context must be non-nil and will be used for request cancellation. If
6812// the context is nil a panic will occur. In the future the SDK may create
6813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6814// for more information on using Contexts.
6815func (c *Pinpoint) GetRecommenderConfigurationsWithContext(ctx aws.Context, input *GetRecommenderConfigurationsInput, opts ...request.Option) (*GetRecommenderConfigurationsOutput, error) {
6816	req, out := c.GetRecommenderConfigurationsRequest(input)
6817	req.SetContext(ctx)
6818	req.ApplyOptions(opts...)
6819	return out, req.Send()
6820}
6821
6822const opGetSegment = "GetSegment"
6823
6824// GetSegmentRequest generates a "aws/request.Request" representing the
6825// client's request for the GetSegment operation. The "output" return
6826// value will be populated with the request's response once the request completes
6827// successfully.
6828//
6829// Use "Send" method on the returned Request to send the API call to the service.
6830// the "output" return value is not valid until after Send returns without error.
6831//
6832// See GetSegment for more information on using the GetSegment
6833// API call, and error handling.
6834//
6835// This method is useful when you want to inject custom logic or configuration
6836// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6837//
6838//
6839//    // Example sending a request using the GetSegmentRequest method.
6840//    req, resp := client.GetSegmentRequest(params)
6841//
6842//    err := req.Send()
6843//    if err == nil { // resp is now filled
6844//        fmt.Println(resp)
6845//    }
6846//
6847// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment
6848func (c *Pinpoint) GetSegmentRequest(input *GetSegmentInput) (req *request.Request, output *GetSegmentOutput) {
6849	op := &request.Operation{
6850		Name:       opGetSegment,
6851		HTTPMethod: "GET",
6852		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
6853	}
6854
6855	if input == nil {
6856		input = &GetSegmentInput{}
6857	}
6858
6859	output = &GetSegmentOutput{}
6860	req = c.newRequest(op, input, output)
6861	return
6862}
6863
6864// GetSegment API operation for Amazon Pinpoint.
6865//
6866// Retrieves information about the configuration, dimension, and other settings
6867// for a specific segment that's associated with an application.
6868//
6869// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6870// with awserr.Error's Code and Message methods to get detailed information about
6871// the error.
6872//
6873// See the AWS API reference guide for Amazon Pinpoint's
6874// API operation GetSegment for usage and error information.
6875//
6876// Returned Error Types:
6877//   * BadRequestException
6878//   Provides information about an API request or response.
6879//
6880//   * InternalServerErrorException
6881//   Provides information about an API request or response.
6882//
6883//   * PayloadTooLargeException
6884//   Provides information about an API request or response.
6885//
6886//   * ForbiddenException
6887//   Provides information about an API request or response.
6888//
6889//   * NotFoundException
6890//   Provides information about an API request or response.
6891//
6892//   * MethodNotAllowedException
6893//   Provides information about an API request or response.
6894//
6895//   * TooManyRequestsException
6896//   Provides information about an API request or response.
6897//
6898// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment
6899func (c *Pinpoint) GetSegment(input *GetSegmentInput) (*GetSegmentOutput, error) {
6900	req, out := c.GetSegmentRequest(input)
6901	return out, req.Send()
6902}
6903
6904// GetSegmentWithContext is the same as GetSegment with the addition of
6905// the ability to pass a context and additional request options.
6906//
6907// See GetSegment for details on how to use this API operation.
6908//
6909// The context must be non-nil and will be used for request cancellation. If
6910// the context is nil a panic will occur. In the future the SDK may create
6911// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6912// for more information on using Contexts.
6913func (c *Pinpoint) GetSegmentWithContext(ctx aws.Context, input *GetSegmentInput, opts ...request.Option) (*GetSegmentOutput, error) {
6914	req, out := c.GetSegmentRequest(input)
6915	req.SetContext(ctx)
6916	req.ApplyOptions(opts...)
6917	return out, req.Send()
6918}
6919
6920const opGetSegmentExportJobs = "GetSegmentExportJobs"
6921
6922// GetSegmentExportJobsRequest generates a "aws/request.Request" representing the
6923// client's request for the GetSegmentExportJobs operation. The "output" return
6924// value will be populated with the request's response once the request completes
6925// successfully.
6926//
6927// Use "Send" method on the returned Request to send the API call to the service.
6928// the "output" return value is not valid until after Send returns without error.
6929//
6930// See GetSegmentExportJobs for more information on using the GetSegmentExportJobs
6931// API call, and error handling.
6932//
6933// This method is useful when you want to inject custom logic or configuration
6934// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6935//
6936//
6937//    // Example sending a request using the GetSegmentExportJobsRequest method.
6938//    req, resp := client.GetSegmentExportJobsRequest(params)
6939//
6940//    err := req.Send()
6941//    if err == nil { // resp is now filled
6942//        fmt.Println(resp)
6943//    }
6944//
6945// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs
6946func (c *Pinpoint) GetSegmentExportJobsRequest(input *GetSegmentExportJobsInput) (req *request.Request, output *GetSegmentExportJobsOutput) {
6947	op := &request.Operation{
6948		Name:       opGetSegmentExportJobs,
6949		HTTPMethod: "GET",
6950		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/jobs/export",
6951	}
6952
6953	if input == nil {
6954		input = &GetSegmentExportJobsInput{}
6955	}
6956
6957	output = &GetSegmentExportJobsOutput{}
6958	req = c.newRequest(op, input, output)
6959	return
6960}
6961
6962// GetSegmentExportJobs API operation for Amazon Pinpoint.
6963//
6964// Retrieves information about the status and settings of the export jobs for
6965// a segment.
6966//
6967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6968// with awserr.Error's Code and Message methods to get detailed information about
6969// the error.
6970//
6971// See the AWS API reference guide for Amazon Pinpoint's
6972// API operation GetSegmentExportJobs for usage and error information.
6973//
6974// Returned Error Types:
6975//   * BadRequestException
6976//   Provides information about an API request or response.
6977//
6978//   * InternalServerErrorException
6979//   Provides information about an API request or response.
6980//
6981//   * PayloadTooLargeException
6982//   Provides information about an API request or response.
6983//
6984//   * ForbiddenException
6985//   Provides information about an API request or response.
6986//
6987//   * NotFoundException
6988//   Provides information about an API request or response.
6989//
6990//   * MethodNotAllowedException
6991//   Provides information about an API request or response.
6992//
6993//   * TooManyRequestsException
6994//   Provides information about an API request or response.
6995//
6996// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs
6997func (c *Pinpoint) GetSegmentExportJobs(input *GetSegmentExportJobsInput) (*GetSegmentExportJobsOutput, error) {
6998	req, out := c.GetSegmentExportJobsRequest(input)
6999	return out, req.Send()
7000}
7001
7002// GetSegmentExportJobsWithContext is the same as GetSegmentExportJobs with the addition of
7003// the ability to pass a context and additional request options.
7004//
7005// See GetSegmentExportJobs for details on how to use this API operation.
7006//
7007// The context must be non-nil and will be used for request cancellation. If
7008// the context is nil a panic will occur. In the future the SDK may create
7009// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7010// for more information on using Contexts.
7011func (c *Pinpoint) GetSegmentExportJobsWithContext(ctx aws.Context, input *GetSegmentExportJobsInput, opts ...request.Option) (*GetSegmentExportJobsOutput, error) {
7012	req, out := c.GetSegmentExportJobsRequest(input)
7013	req.SetContext(ctx)
7014	req.ApplyOptions(opts...)
7015	return out, req.Send()
7016}
7017
7018const opGetSegmentImportJobs = "GetSegmentImportJobs"
7019
7020// GetSegmentImportJobsRequest generates a "aws/request.Request" representing the
7021// client's request for the GetSegmentImportJobs operation. The "output" return
7022// value will be populated with the request's response once the request completes
7023// successfully.
7024//
7025// Use "Send" method on the returned Request to send the API call to the service.
7026// the "output" return value is not valid until after Send returns without error.
7027//
7028// See GetSegmentImportJobs for more information on using the GetSegmentImportJobs
7029// API call, and error handling.
7030//
7031// This method is useful when you want to inject custom logic or configuration
7032// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7033//
7034//
7035//    // Example sending a request using the GetSegmentImportJobsRequest method.
7036//    req, resp := client.GetSegmentImportJobsRequest(params)
7037//
7038//    err := req.Send()
7039//    if err == nil { // resp is now filled
7040//        fmt.Println(resp)
7041//    }
7042//
7043// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs
7044func (c *Pinpoint) GetSegmentImportJobsRequest(input *GetSegmentImportJobsInput) (req *request.Request, output *GetSegmentImportJobsOutput) {
7045	op := &request.Operation{
7046		Name:       opGetSegmentImportJobs,
7047		HTTPMethod: "GET",
7048		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/jobs/import",
7049	}
7050
7051	if input == nil {
7052		input = &GetSegmentImportJobsInput{}
7053	}
7054
7055	output = &GetSegmentImportJobsOutput{}
7056	req = c.newRequest(op, input, output)
7057	return
7058}
7059
7060// GetSegmentImportJobs API operation for Amazon Pinpoint.
7061//
7062// Retrieves information about the status and settings of the import jobs for
7063// a segment.
7064//
7065// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7066// with awserr.Error's Code and Message methods to get detailed information about
7067// the error.
7068//
7069// See the AWS API reference guide for Amazon Pinpoint's
7070// API operation GetSegmentImportJobs for usage and error information.
7071//
7072// Returned Error Types:
7073//   * BadRequestException
7074//   Provides information about an API request or response.
7075//
7076//   * InternalServerErrorException
7077//   Provides information about an API request or response.
7078//
7079//   * PayloadTooLargeException
7080//   Provides information about an API request or response.
7081//
7082//   * ForbiddenException
7083//   Provides information about an API request or response.
7084//
7085//   * NotFoundException
7086//   Provides information about an API request or response.
7087//
7088//   * MethodNotAllowedException
7089//   Provides information about an API request or response.
7090//
7091//   * TooManyRequestsException
7092//   Provides information about an API request or response.
7093//
7094// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs
7095func (c *Pinpoint) GetSegmentImportJobs(input *GetSegmentImportJobsInput) (*GetSegmentImportJobsOutput, error) {
7096	req, out := c.GetSegmentImportJobsRequest(input)
7097	return out, req.Send()
7098}
7099
7100// GetSegmentImportJobsWithContext is the same as GetSegmentImportJobs with the addition of
7101// the ability to pass a context and additional request options.
7102//
7103// See GetSegmentImportJobs for details on how to use this API operation.
7104//
7105// The context must be non-nil and will be used for request cancellation. If
7106// the context is nil a panic will occur. In the future the SDK may create
7107// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7108// for more information on using Contexts.
7109func (c *Pinpoint) GetSegmentImportJobsWithContext(ctx aws.Context, input *GetSegmentImportJobsInput, opts ...request.Option) (*GetSegmentImportJobsOutput, error) {
7110	req, out := c.GetSegmentImportJobsRequest(input)
7111	req.SetContext(ctx)
7112	req.ApplyOptions(opts...)
7113	return out, req.Send()
7114}
7115
7116const opGetSegmentVersion = "GetSegmentVersion"
7117
7118// GetSegmentVersionRequest generates a "aws/request.Request" representing the
7119// client's request for the GetSegmentVersion operation. The "output" return
7120// value will be populated with the request's response once the request completes
7121// successfully.
7122//
7123// Use "Send" method on the returned Request to send the API call to the service.
7124// the "output" return value is not valid until after Send returns without error.
7125//
7126// See GetSegmentVersion for more information on using the GetSegmentVersion
7127// API call, and error handling.
7128//
7129// This method is useful when you want to inject custom logic or configuration
7130// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7131//
7132//
7133//    // Example sending a request using the GetSegmentVersionRequest method.
7134//    req, resp := client.GetSegmentVersionRequest(params)
7135//
7136//    err := req.Send()
7137//    if err == nil { // resp is now filled
7138//        fmt.Println(resp)
7139//    }
7140//
7141// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion
7142func (c *Pinpoint) GetSegmentVersionRequest(input *GetSegmentVersionInput) (req *request.Request, output *GetSegmentVersionOutput) {
7143	op := &request.Operation{
7144		Name:       opGetSegmentVersion,
7145		HTTPMethod: "GET",
7146		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/versions/{version}",
7147	}
7148
7149	if input == nil {
7150		input = &GetSegmentVersionInput{}
7151	}
7152
7153	output = &GetSegmentVersionOutput{}
7154	req = c.newRequest(op, input, output)
7155	return
7156}
7157
7158// GetSegmentVersion API operation for Amazon Pinpoint.
7159//
7160// Retrieves information about the configuration, dimension, and other settings
7161// for a specific version of a segment that's associated with an application.
7162//
7163// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7164// with awserr.Error's Code and Message methods to get detailed information about
7165// the error.
7166//
7167// See the AWS API reference guide for Amazon Pinpoint's
7168// API operation GetSegmentVersion for usage and error information.
7169//
7170// Returned Error Types:
7171//   * BadRequestException
7172//   Provides information about an API request or response.
7173//
7174//   * InternalServerErrorException
7175//   Provides information about an API request or response.
7176//
7177//   * PayloadTooLargeException
7178//   Provides information about an API request or response.
7179//
7180//   * ForbiddenException
7181//   Provides information about an API request or response.
7182//
7183//   * NotFoundException
7184//   Provides information about an API request or response.
7185//
7186//   * MethodNotAllowedException
7187//   Provides information about an API request or response.
7188//
7189//   * TooManyRequestsException
7190//   Provides information about an API request or response.
7191//
7192// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion
7193func (c *Pinpoint) GetSegmentVersion(input *GetSegmentVersionInput) (*GetSegmentVersionOutput, error) {
7194	req, out := c.GetSegmentVersionRequest(input)
7195	return out, req.Send()
7196}
7197
7198// GetSegmentVersionWithContext is the same as GetSegmentVersion with the addition of
7199// the ability to pass a context and additional request options.
7200//
7201// See GetSegmentVersion for details on how to use this API operation.
7202//
7203// The context must be non-nil and will be used for request cancellation. If
7204// the context is nil a panic will occur. In the future the SDK may create
7205// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7206// for more information on using Contexts.
7207func (c *Pinpoint) GetSegmentVersionWithContext(ctx aws.Context, input *GetSegmentVersionInput, opts ...request.Option) (*GetSegmentVersionOutput, error) {
7208	req, out := c.GetSegmentVersionRequest(input)
7209	req.SetContext(ctx)
7210	req.ApplyOptions(opts...)
7211	return out, req.Send()
7212}
7213
7214const opGetSegmentVersions = "GetSegmentVersions"
7215
7216// GetSegmentVersionsRequest generates a "aws/request.Request" representing the
7217// client's request for the GetSegmentVersions operation. The "output" return
7218// value will be populated with the request's response once the request completes
7219// successfully.
7220//
7221// Use "Send" method on the returned Request to send the API call to the service.
7222// the "output" return value is not valid until after Send returns without error.
7223//
7224// See GetSegmentVersions for more information on using the GetSegmentVersions
7225// API call, and error handling.
7226//
7227// This method is useful when you want to inject custom logic or configuration
7228// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7229//
7230//
7231//    // Example sending a request using the GetSegmentVersionsRequest method.
7232//    req, resp := client.GetSegmentVersionsRequest(params)
7233//
7234//    err := req.Send()
7235//    if err == nil { // resp is now filled
7236//        fmt.Println(resp)
7237//    }
7238//
7239// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions
7240func (c *Pinpoint) GetSegmentVersionsRequest(input *GetSegmentVersionsInput) (req *request.Request, output *GetSegmentVersionsOutput) {
7241	op := &request.Operation{
7242		Name:       opGetSegmentVersions,
7243		HTTPMethod: "GET",
7244		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/versions",
7245	}
7246
7247	if input == nil {
7248		input = &GetSegmentVersionsInput{}
7249	}
7250
7251	output = &GetSegmentVersionsOutput{}
7252	req = c.newRequest(op, input, output)
7253	return
7254}
7255
7256// GetSegmentVersions API operation for Amazon Pinpoint.
7257//
7258// Retrieves information about the configuration, dimension, and other settings
7259// for all the versions of a specific segment that's associated with an application.
7260//
7261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7262// with awserr.Error's Code and Message methods to get detailed information about
7263// the error.
7264//
7265// See the AWS API reference guide for Amazon Pinpoint's
7266// API operation GetSegmentVersions for usage and error information.
7267//
7268// Returned Error Types:
7269//   * BadRequestException
7270//   Provides information about an API request or response.
7271//
7272//   * InternalServerErrorException
7273//   Provides information about an API request or response.
7274//
7275//   * PayloadTooLargeException
7276//   Provides information about an API request or response.
7277//
7278//   * ForbiddenException
7279//   Provides information about an API request or response.
7280//
7281//   * NotFoundException
7282//   Provides information about an API request or response.
7283//
7284//   * MethodNotAllowedException
7285//   Provides information about an API request or response.
7286//
7287//   * TooManyRequestsException
7288//   Provides information about an API request or response.
7289//
7290// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions
7291func (c *Pinpoint) GetSegmentVersions(input *GetSegmentVersionsInput) (*GetSegmentVersionsOutput, error) {
7292	req, out := c.GetSegmentVersionsRequest(input)
7293	return out, req.Send()
7294}
7295
7296// GetSegmentVersionsWithContext is the same as GetSegmentVersions with the addition of
7297// the ability to pass a context and additional request options.
7298//
7299// See GetSegmentVersions for details on how to use this API operation.
7300//
7301// The context must be non-nil and will be used for request cancellation. If
7302// the context is nil a panic will occur. In the future the SDK may create
7303// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7304// for more information on using Contexts.
7305func (c *Pinpoint) GetSegmentVersionsWithContext(ctx aws.Context, input *GetSegmentVersionsInput, opts ...request.Option) (*GetSegmentVersionsOutput, error) {
7306	req, out := c.GetSegmentVersionsRequest(input)
7307	req.SetContext(ctx)
7308	req.ApplyOptions(opts...)
7309	return out, req.Send()
7310}
7311
7312const opGetSegments = "GetSegments"
7313
7314// GetSegmentsRequest generates a "aws/request.Request" representing the
7315// client's request for the GetSegments operation. The "output" return
7316// value will be populated with the request's response once the request completes
7317// successfully.
7318//
7319// Use "Send" method on the returned Request to send the API call to the service.
7320// the "output" return value is not valid until after Send returns without error.
7321//
7322// See GetSegments for more information on using the GetSegments
7323// API call, and error handling.
7324//
7325// This method is useful when you want to inject custom logic or configuration
7326// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7327//
7328//
7329//    // Example sending a request using the GetSegmentsRequest method.
7330//    req, resp := client.GetSegmentsRequest(params)
7331//
7332//    err := req.Send()
7333//    if err == nil { // resp is now filled
7334//        fmt.Println(resp)
7335//    }
7336//
7337// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments
7338func (c *Pinpoint) GetSegmentsRequest(input *GetSegmentsInput) (req *request.Request, output *GetSegmentsOutput) {
7339	op := &request.Operation{
7340		Name:       opGetSegments,
7341		HTTPMethod: "GET",
7342		HTTPPath:   "/v1/apps/{application-id}/segments",
7343	}
7344
7345	if input == nil {
7346		input = &GetSegmentsInput{}
7347	}
7348
7349	output = &GetSegmentsOutput{}
7350	req = c.newRequest(op, input, output)
7351	return
7352}
7353
7354// GetSegments API operation for Amazon Pinpoint.
7355//
7356// Retrieves information about the configuration, dimension, and other settings
7357// for all the segments that are associated with an application.
7358//
7359// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7360// with awserr.Error's Code and Message methods to get detailed information about
7361// the error.
7362//
7363// See the AWS API reference guide for Amazon Pinpoint's
7364// API operation GetSegments for usage and error information.
7365//
7366// Returned Error Types:
7367//   * BadRequestException
7368//   Provides information about an API request or response.
7369//
7370//   * InternalServerErrorException
7371//   Provides information about an API request or response.
7372//
7373//   * PayloadTooLargeException
7374//   Provides information about an API request or response.
7375//
7376//   * ForbiddenException
7377//   Provides information about an API request or response.
7378//
7379//   * NotFoundException
7380//   Provides information about an API request or response.
7381//
7382//   * MethodNotAllowedException
7383//   Provides information about an API request or response.
7384//
7385//   * TooManyRequestsException
7386//   Provides information about an API request or response.
7387//
7388// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments
7389func (c *Pinpoint) GetSegments(input *GetSegmentsInput) (*GetSegmentsOutput, error) {
7390	req, out := c.GetSegmentsRequest(input)
7391	return out, req.Send()
7392}
7393
7394// GetSegmentsWithContext is the same as GetSegments with the addition of
7395// the ability to pass a context and additional request options.
7396//
7397// See GetSegments for details on how to use this API operation.
7398//
7399// The context must be non-nil and will be used for request cancellation. If
7400// the context is nil a panic will occur. In the future the SDK may create
7401// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7402// for more information on using Contexts.
7403func (c *Pinpoint) GetSegmentsWithContext(ctx aws.Context, input *GetSegmentsInput, opts ...request.Option) (*GetSegmentsOutput, error) {
7404	req, out := c.GetSegmentsRequest(input)
7405	req.SetContext(ctx)
7406	req.ApplyOptions(opts...)
7407	return out, req.Send()
7408}
7409
7410const opGetSmsChannel = "GetSmsChannel"
7411
7412// GetSmsChannelRequest generates a "aws/request.Request" representing the
7413// client's request for the GetSmsChannel operation. The "output" return
7414// value will be populated with the request's response once the request completes
7415// successfully.
7416//
7417// Use "Send" method on the returned Request to send the API call to the service.
7418// the "output" return value is not valid until after Send returns without error.
7419//
7420// See GetSmsChannel for more information on using the GetSmsChannel
7421// API call, and error handling.
7422//
7423// This method is useful when you want to inject custom logic or configuration
7424// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7425//
7426//
7427//    // Example sending a request using the GetSmsChannelRequest method.
7428//    req, resp := client.GetSmsChannelRequest(params)
7429//
7430//    err := req.Send()
7431//    if err == nil { // resp is now filled
7432//        fmt.Println(resp)
7433//    }
7434//
7435// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel
7436func (c *Pinpoint) GetSmsChannelRequest(input *GetSmsChannelInput) (req *request.Request, output *GetSmsChannelOutput) {
7437	op := &request.Operation{
7438		Name:       opGetSmsChannel,
7439		HTTPMethod: "GET",
7440		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
7441	}
7442
7443	if input == nil {
7444		input = &GetSmsChannelInput{}
7445	}
7446
7447	output = &GetSmsChannelOutput{}
7448	req = c.newRequest(op, input, output)
7449	return
7450}
7451
7452// GetSmsChannel API operation for Amazon Pinpoint.
7453//
7454// Retrieves information about the status and settings of the SMS channel for
7455// an application.
7456//
7457// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7458// with awserr.Error's Code and Message methods to get detailed information about
7459// the error.
7460//
7461// See the AWS API reference guide for Amazon Pinpoint's
7462// API operation GetSmsChannel for usage and error information.
7463//
7464// Returned Error Types:
7465//   * BadRequestException
7466//   Provides information about an API request or response.
7467//
7468//   * InternalServerErrorException
7469//   Provides information about an API request or response.
7470//
7471//   * PayloadTooLargeException
7472//   Provides information about an API request or response.
7473//
7474//   * ForbiddenException
7475//   Provides information about an API request or response.
7476//
7477//   * NotFoundException
7478//   Provides information about an API request or response.
7479//
7480//   * MethodNotAllowedException
7481//   Provides information about an API request or response.
7482//
7483//   * TooManyRequestsException
7484//   Provides information about an API request or response.
7485//
7486// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel
7487func (c *Pinpoint) GetSmsChannel(input *GetSmsChannelInput) (*GetSmsChannelOutput, error) {
7488	req, out := c.GetSmsChannelRequest(input)
7489	return out, req.Send()
7490}
7491
7492// GetSmsChannelWithContext is the same as GetSmsChannel with the addition of
7493// the ability to pass a context and additional request options.
7494//
7495// See GetSmsChannel for details on how to use this API operation.
7496//
7497// The context must be non-nil and will be used for request cancellation. If
7498// the context is nil a panic will occur. In the future the SDK may create
7499// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7500// for more information on using Contexts.
7501func (c *Pinpoint) GetSmsChannelWithContext(ctx aws.Context, input *GetSmsChannelInput, opts ...request.Option) (*GetSmsChannelOutput, error) {
7502	req, out := c.GetSmsChannelRequest(input)
7503	req.SetContext(ctx)
7504	req.ApplyOptions(opts...)
7505	return out, req.Send()
7506}
7507
7508const opGetSmsTemplate = "GetSmsTemplate"
7509
7510// GetSmsTemplateRequest generates a "aws/request.Request" representing the
7511// client's request for the GetSmsTemplate operation. The "output" return
7512// value will be populated with the request's response once the request completes
7513// successfully.
7514//
7515// Use "Send" method on the returned Request to send the API call to the service.
7516// the "output" return value is not valid until after Send returns without error.
7517//
7518// See GetSmsTemplate for more information on using the GetSmsTemplate
7519// API call, and error handling.
7520//
7521// This method is useful when you want to inject custom logic or configuration
7522// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7523//
7524//
7525//    // Example sending a request using the GetSmsTemplateRequest method.
7526//    req, resp := client.GetSmsTemplateRequest(params)
7527//
7528//    err := req.Send()
7529//    if err == nil { // resp is now filled
7530//        fmt.Println(resp)
7531//    }
7532//
7533// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsTemplate
7534func (c *Pinpoint) GetSmsTemplateRequest(input *GetSmsTemplateInput) (req *request.Request, output *GetSmsTemplateOutput) {
7535	op := &request.Operation{
7536		Name:       opGetSmsTemplate,
7537		HTTPMethod: "GET",
7538		HTTPPath:   "/v1/templates/{template-name}/sms",
7539	}
7540
7541	if input == nil {
7542		input = &GetSmsTemplateInput{}
7543	}
7544
7545	output = &GetSmsTemplateOutput{}
7546	req = c.newRequest(op, input, output)
7547	return
7548}
7549
7550// GetSmsTemplate API operation for Amazon Pinpoint.
7551//
7552// Retrieves the content and settings of a message template for messages that
7553// are sent through the SMS channel.
7554//
7555// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7556// with awserr.Error's Code and Message methods to get detailed information about
7557// the error.
7558//
7559// See the AWS API reference guide for Amazon Pinpoint's
7560// API operation GetSmsTemplate for usage and error information.
7561//
7562// Returned Error Types:
7563//   * BadRequestException
7564//   Provides information about an API request or response.
7565//
7566//   * InternalServerErrorException
7567//   Provides information about an API request or response.
7568//
7569//   * PayloadTooLargeException
7570//   Provides information about an API request or response.
7571//
7572//   * ForbiddenException
7573//   Provides information about an API request or response.
7574//
7575//   * NotFoundException
7576//   Provides information about an API request or response.
7577//
7578//   * MethodNotAllowedException
7579//   Provides information about an API request or response.
7580//
7581//   * TooManyRequestsException
7582//   Provides information about an API request or response.
7583//
7584// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsTemplate
7585func (c *Pinpoint) GetSmsTemplate(input *GetSmsTemplateInput) (*GetSmsTemplateOutput, error) {
7586	req, out := c.GetSmsTemplateRequest(input)
7587	return out, req.Send()
7588}
7589
7590// GetSmsTemplateWithContext is the same as GetSmsTemplate with the addition of
7591// the ability to pass a context and additional request options.
7592//
7593// See GetSmsTemplate for details on how to use this API operation.
7594//
7595// The context must be non-nil and will be used for request cancellation. If
7596// the context is nil a panic will occur. In the future the SDK may create
7597// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7598// for more information on using Contexts.
7599func (c *Pinpoint) GetSmsTemplateWithContext(ctx aws.Context, input *GetSmsTemplateInput, opts ...request.Option) (*GetSmsTemplateOutput, error) {
7600	req, out := c.GetSmsTemplateRequest(input)
7601	req.SetContext(ctx)
7602	req.ApplyOptions(opts...)
7603	return out, req.Send()
7604}
7605
7606const opGetUserEndpoints = "GetUserEndpoints"
7607
7608// GetUserEndpointsRequest generates a "aws/request.Request" representing the
7609// client's request for the GetUserEndpoints operation. The "output" return
7610// value will be populated with the request's response once the request completes
7611// successfully.
7612//
7613// Use "Send" method on the returned Request to send the API call to the service.
7614// the "output" return value is not valid until after Send returns without error.
7615//
7616// See GetUserEndpoints for more information on using the GetUserEndpoints
7617// API call, and error handling.
7618//
7619// This method is useful when you want to inject custom logic or configuration
7620// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7621//
7622//
7623//    // Example sending a request using the GetUserEndpointsRequest method.
7624//    req, resp := client.GetUserEndpointsRequest(params)
7625//
7626//    err := req.Send()
7627//    if err == nil { // resp is now filled
7628//        fmt.Println(resp)
7629//    }
7630//
7631// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints
7632func (c *Pinpoint) GetUserEndpointsRequest(input *GetUserEndpointsInput) (req *request.Request, output *GetUserEndpointsOutput) {
7633	op := &request.Operation{
7634		Name:       opGetUserEndpoints,
7635		HTTPMethod: "GET",
7636		HTTPPath:   "/v1/apps/{application-id}/users/{user-id}",
7637	}
7638
7639	if input == nil {
7640		input = &GetUserEndpointsInput{}
7641	}
7642
7643	output = &GetUserEndpointsOutput{}
7644	req = c.newRequest(op, input, output)
7645	return
7646}
7647
7648// GetUserEndpoints API operation for Amazon Pinpoint.
7649//
7650// Retrieves information about all the endpoints that are associated with a
7651// specific user ID.
7652//
7653// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7654// with awserr.Error's Code and Message methods to get detailed information about
7655// the error.
7656//
7657// See the AWS API reference guide for Amazon Pinpoint's
7658// API operation GetUserEndpoints for usage and error information.
7659//
7660// Returned Error Types:
7661//   * BadRequestException
7662//   Provides information about an API request or response.
7663//
7664//   * InternalServerErrorException
7665//   Provides information about an API request or response.
7666//
7667//   * PayloadTooLargeException
7668//   Provides information about an API request or response.
7669//
7670//   * ForbiddenException
7671//   Provides information about an API request or response.
7672//
7673//   * NotFoundException
7674//   Provides information about an API request or response.
7675//
7676//   * MethodNotAllowedException
7677//   Provides information about an API request or response.
7678//
7679//   * TooManyRequestsException
7680//   Provides information about an API request or response.
7681//
7682// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints
7683func (c *Pinpoint) GetUserEndpoints(input *GetUserEndpointsInput) (*GetUserEndpointsOutput, error) {
7684	req, out := c.GetUserEndpointsRequest(input)
7685	return out, req.Send()
7686}
7687
7688// GetUserEndpointsWithContext is the same as GetUserEndpoints with the addition of
7689// the ability to pass a context and additional request options.
7690//
7691// See GetUserEndpoints for details on how to use this API operation.
7692//
7693// The context must be non-nil and will be used for request cancellation. If
7694// the context is nil a panic will occur. In the future the SDK may create
7695// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7696// for more information on using Contexts.
7697func (c *Pinpoint) GetUserEndpointsWithContext(ctx aws.Context, input *GetUserEndpointsInput, opts ...request.Option) (*GetUserEndpointsOutput, error) {
7698	req, out := c.GetUserEndpointsRequest(input)
7699	req.SetContext(ctx)
7700	req.ApplyOptions(opts...)
7701	return out, req.Send()
7702}
7703
7704const opGetVoiceChannel = "GetVoiceChannel"
7705
7706// GetVoiceChannelRequest generates a "aws/request.Request" representing the
7707// client's request for the GetVoiceChannel operation. The "output" return
7708// value will be populated with the request's response once the request completes
7709// successfully.
7710//
7711// Use "Send" method on the returned Request to send the API call to the service.
7712// the "output" return value is not valid until after Send returns without error.
7713//
7714// See GetVoiceChannel for more information on using the GetVoiceChannel
7715// API call, and error handling.
7716//
7717// This method is useful when you want to inject custom logic or configuration
7718// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7719//
7720//
7721//    // Example sending a request using the GetVoiceChannelRequest method.
7722//    req, resp := client.GetVoiceChannelRequest(params)
7723//
7724//    err := req.Send()
7725//    if err == nil { // resp is now filled
7726//        fmt.Println(resp)
7727//    }
7728//
7729// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel
7730func (c *Pinpoint) GetVoiceChannelRequest(input *GetVoiceChannelInput) (req *request.Request, output *GetVoiceChannelOutput) {
7731	op := &request.Operation{
7732		Name:       opGetVoiceChannel,
7733		HTTPMethod: "GET",
7734		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
7735	}
7736
7737	if input == nil {
7738		input = &GetVoiceChannelInput{}
7739	}
7740
7741	output = &GetVoiceChannelOutput{}
7742	req = c.newRequest(op, input, output)
7743	return
7744}
7745
7746// GetVoiceChannel API operation for Amazon Pinpoint.
7747//
7748// Retrieves information about the status and settings of the voice channel
7749// for an application.
7750//
7751// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7752// with awserr.Error's Code and Message methods to get detailed information about
7753// the error.
7754//
7755// See the AWS API reference guide for Amazon Pinpoint's
7756// API operation GetVoiceChannel for usage and error information.
7757//
7758// Returned Error Types:
7759//   * BadRequestException
7760//   Provides information about an API request or response.
7761//
7762//   * InternalServerErrorException
7763//   Provides information about an API request or response.
7764//
7765//   * PayloadTooLargeException
7766//   Provides information about an API request or response.
7767//
7768//   * ForbiddenException
7769//   Provides information about an API request or response.
7770//
7771//   * NotFoundException
7772//   Provides information about an API request or response.
7773//
7774//   * MethodNotAllowedException
7775//   Provides information about an API request or response.
7776//
7777//   * TooManyRequestsException
7778//   Provides information about an API request or response.
7779//
7780// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel
7781func (c *Pinpoint) GetVoiceChannel(input *GetVoiceChannelInput) (*GetVoiceChannelOutput, error) {
7782	req, out := c.GetVoiceChannelRequest(input)
7783	return out, req.Send()
7784}
7785
7786// GetVoiceChannelWithContext is the same as GetVoiceChannel with the addition of
7787// the ability to pass a context and additional request options.
7788//
7789// See GetVoiceChannel for details on how to use this API operation.
7790//
7791// The context must be non-nil and will be used for request cancellation. If
7792// the context is nil a panic will occur. In the future the SDK may create
7793// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7794// for more information on using Contexts.
7795func (c *Pinpoint) GetVoiceChannelWithContext(ctx aws.Context, input *GetVoiceChannelInput, opts ...request.Option) (*GetVoiceChannelOutput, error) {
7796	req, out := c.GetVoiceChannelRequest(input)
7797	req.SetContext(ctx)
7798	req.ApplyOptions(opts...)
7799	return out, req.Send()
7800}
7801
7802const opGetVoiceTemplate = "GetVoiceTemplate"
7803
7804// GetVoiceTemplateRequest generates a "aws/request.Request" representing the
7805// client's request for the GetVoiceTemplate operation. The "output" return
7806// value will be populated with the request's response once the request completes
7807// successfully.
7808//
7809// Use "Send" method on the returned Request to send the API call to the service.
7810// the "output" return value is not valid until after Send returns without error.
7811//
7812// See GetVoiceTemplate for more information on using the GetVoiceTemplate
7813// API call, and error handling.
7814//
7815// This method is useful when you want to inject custom logic or configuration
7816// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7817//
7818//
7819//    // Example sending a request using the GetVoiceTemplateRequest method.
7820//    req, resp := client.GetVoiceTemplateRequest(params)
7821//
7822//    err := req.Send()
7823//    if err == nil { // resp is now filled
7824//        fmt.Println(resp)
7825//    }
7826//
7827// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceTemplate
7828func (c *Pinpoint) GetVoiceTemplateRequest(input *GetVoiceTemplateInput) (req *request.Request, output *GetVoiceTemplateOutput) {
7829	op := &request.Operation{
7830		Name:       opGetVoiceTemplate,
7831		HTTPMethod: "GET",
7832		HTTPPath:   "/v1/templates/{template-name}/voice",
7833	}
7834
7835	if input == nil {
7836		input = &GetVoiceTemplateInput{}
7837	}
7838
7839	output = &GetVoiceTemplateOutput{}
7840	req = c.newRequest(op, input, output)
7841	return
7842}
7843
7844// GetVoiceTemplate API operation for Amazon Pinpoint.
7845//
7846// Retrieves the content and settings of a message template for messages that
7847// are sent through the voice channel.
7848//
7849// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7850// with awserr.Error's Code and Message methods to get detailed information about
7851// the error.
7852//
7853// See the AWS API reference guide for Amazon Pinpoint's
7854// API operation GetVoiceTemplate for usage and error information.
7855//
7856// Returned Error Types:
7857//   * BadRequestException
7858//   Provides information about an API request or response.
7859//
7860//   * InternalServerErrorException
7861//   Provides information about an API request or response.
7862//
7863//   * PayloadTooLargeException
7864//   Provides information about an API request or response.
7865//
7866//   * ForbiddenException
7867//   Provides information about an API request or response.
7868//
7869//   * NotFoundException
7870//   Provides information about an API request or response.
7871//
7872//   * MethodNotAllowedException
7873//   Provides information about an API request or response.
7874//
7875//   * TooManyRequestsException
7876//   Provides information about an API request or response.
7877//
7878// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceTemplate
7879func (c *Pinpoint) GetVoiceTemplate(input *GetVoiceTemplateInput) (*GetVoiceTemplateOutput, error) {
7880	req, out := c.GetVoiceTemplateRequest(input)
7881	return out, req.Send()
7882}
7883
7884// GetVoiceTemplateWithContext is the same as GetVoiceTemplate with the addition of
7885// the ability to pass a context and additional request options.
7886//
7887// See GetVoiceTemplate for details on how to use this API operation.
7888//
7889// The context must be non-nil and will be used for request cancellation. If
7890// the context is nil a panic will occur. In the future the SDK may create
7891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7892// for more information on using Contexts.
7893func (c *Pinpoint) GetVoiceTemplateWithContext(ctx aws.Context, input *GetVoiceTemplateInput, opts ...request.Option) (*GetVoiceTemplateOutput, error) {
7894	req, out := c.GetVoiceTemplateRequest(input)
7895	req.SetContext(ctx)
7896	req.ApplyOptions(opts...)
7897	return out, req.Send()
7898}
7899
7900const opListJourneys = "ListJourneys"
7901
7902// ListJourneysRequest generates a "aws/request.Request" representing the
7903// client's request for the ListJourneys operation. The "output" return
7904// value will be populated with the request's response once the request completes
7905// successfully.
7906//
7907// Use "Send" method on the returned Request to send the API call to the service.
7908// the "output" return value is not valid until after Send returns without error.
7909//
7910// See ListJourneys for more information on using the ListJourneys
7911// API call, and error handling.
7912//
7913// This method is useful when you want to inject custom logic or configuration
7914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7915//
7916//
7917//    // Example sending a request using the ListJourneysRequest method.
7918//    req, resp := client.ListJourneysRequest(params)
7919//
7920//    err := req.Send()
7921//    if err == nil { // resp is now filled
7922//        fmt.Println(resp)
7923//    }
7924//
7925// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListJourneys
7926func (c *Pinpoint) ListJourneysRequest(input *ListJourneysInput) (req *request.Request, output *ListJourneysOutput) {
7927	op := &request.Operation{
7928		Name:       opListJourneys,
7929		HTTPMethod: "GET",
7930		HTTPPath:   "/v1/apps/{application-id}/journeys",
7931	}
7932
7933	if input == nil {
7934		input = &ListJourneysInput{}
7935	}
7936
7937	output = &ListJourneysOutput{}
7938	req = c.newRequest(op, input, output)
7939	return
7940}
7941
7942// ListJourneys API operation for Amazon Pinpoint.
7943//
7944// Retrieves information about the status, configuration, and other settings
7945// for all the journeys that are associated with an application.
7946//
7947// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7948// with awserr.Error's Code and Message methods to get detailed information about
7949// the error.
7950//
7951// See the AWS API reference guide for Amazon Pinpoint's
7952// API operation ListJourneys for usage and error information.
7953//
7954// Returned Error Types:
7955//   * BadRequestException
7956//   Provides information about an API request or response.
7957//
7958//   * InternalServerErrorException
7959//   Provides information about an API request or response.
7960//
7961//   * PayloadTooLargeException
7962//   Provides information about an API request or response.
7963//
7964//   * ForbiddenException
7965//   Provides information about an API request or response.
7966//
7967//   * NotFoundException
7968//   Provides information about an API request or response.
7969//
7970//   * MethodNotAllowedException
7971//   Provides information about an API request or response.
7972//
7973//   * TooManyRequestsException
7974//   Provides information about an API request or response.
7975//
7976// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListJourneys
7977func (c *Pinpoint) ListJourneys(input *ListJourneysInput) (*ListJourneysOutput, error) {
7978	req, out := c.ListJourneysRequest(input)
7979	return out, req.Send()
7980}
7981
7982// ListJourneysWithContext is the same as ListJourneys with the addition of
7983// the ability to pass a context and additional request options.
7984//
7985// See ListJourneys for details on how to use this API operation.
7986//
7987// The context must be non-nil and will be used for request cancellation. If
7988// the context is nil a panic will occur. In the future the SDK may create
7989// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7990// for more information on using Contexts.
7991func (c *Pinpoint) ListJourneysWithContext(ctx aws.Context, input *ListJourneysInput, opts ...request.Option) (*ListJourneysOutput, error) {
7992	req, out := c.ListJourneysRequest(input)
7993	req.SetContext(ctx)
7994	req.ApplyOptions(opts...)
7995	return out, req.Send()
7996}
7997
7998const opListTagsForResource = "ListTagsForResource"
7999
8000// ListTagsForResourceRequest generates a "aws/request.Request" representing the
8001// client's request for the ListTagsForResource operation. The "output" return
8002// value will be populated with the request's response once the request completes
8003// successfully.
8004//
8005// Use "Send" method on the returned Request to send the API call to the service.
8006// the "output" return value is not valid until after Send returns without error.
8007//
8008// See ListTagsForResource for more information on using the ListTagsForResource
8009// API call, and error handling.
8010//
8011// This method is useful when you want to inject custom logic or configuration
8012// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8013//
8014//
8015//    // Example sending a request using the ListTagsForResourceRequest method.
8016//    req, resp := client.ListTagsForResourceRequest(params)
8017//
8018//    err := req.Send()
8019//    if err == nil { // resp is now filled
8020//        fmt.Println(resp)
8021//    }
8022//
8023// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTagsForResource
8024func (c *Pinpoint) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
8025	op := &request.Operation{
8026		Name:       opListTagsForResource,
8027		HTTPMethod: "GET",
8028		HTTPPath:   "/v1/tags/{resource-arn}",
8029	}
8030
8031	if input == nil {
8032		input = &ListTagsForResourceInput{}
8033	}
8034
8035	output = &ListTagsForResourceOutput{}
8036	req = c.newRequest(op, input, output)
8037	return
8038}
8039
8040// ListTagsForResource API operation for Amazon Pinpoint.
8041//
8042// Retrieves all the tags (keys and values) that are associated with an application,
8043// campaign, message template, or segment.
8044//
8045// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8046// with awserr.Error's Code and Message methods to get detailed information about
8047// the error.
8048//
8049// See the AWS API reference guide for Amazon Pinpoint's
8050// API operation ListTagsForResource for usage and error information.
8051// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTagsForResource
8052func (c *Pinpoint) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
8053	req, out := c.ListTagsForResourceRequest(input)
8054	return out, req.Send()
8055}
8056
8057// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
8058// the ability to pass a context and additional request options.
8059//
8060// See ListTagsForResource for details on how to use this API operation.
8061//
8062// The context must be non-nil and will be used for request cancellation. If
8063// the context is nil a panic will occur. In the future the SDK may create
8064// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8065// for more information on using Contexts.
8066func (c *Pinpoint) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
8067	req, out := c.ListTagsForResourceRequest(input)
8068	req.SetContext(ctx)
8069	req.ApplyOptions(opts...)
8070	return out, req.Send()
8071}
8072
8073const opListTemplateVersions = "ListTemplateVersions"
8074
8075// ListTemplateVersionsRequest generates a "aws/request.Request" representing the
8076// client's request for the ListTemplateVersions operation. The "output" return
8077// value will be populated with the request's response once the request completes
8078// successfully.
8079//
8080// Use "Send" method on the returned Request to send the API call to the service.
8081// the "output" return value is not valid until after Send returns without error.
8082//
8083// See ListTemplateVersions for more information on using the ListTemplateVersions
8084// API call, and error handling.
8085//
8086// This method is useful when you want to inject custom logic or configuration
8087// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8088//
8089//
8090//    // Example sending a request using the ListTemplateVersionsRequest method.
8091//    req, resp := client.ListTemplateVersionsRequest(params)
8092//
8093//    err := req.Send()
8094//    if err == nil { // resp is now filled
8095//        fmt.Println(resp)
8096//    }
8097//
8098// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplateVersions
8099func (c *Pinpoint) ListTemplateVersionsRequest(input *ListTemplateVersionsInput) (req *request.Request, output *ListTemplateVersionsOutput) {
8100	op := &request.Operation{
8101		Name:       opListTemplateVersions,
8102		HTTPMethod: "GET",
8103		HTTPPath:   "/v1/templates/{template-name}/{template-type}/versions",
8104	}
8105
8106	if input == nil {
8107		input = &ListTemplateVersionsInput{}
8108	}
8109
8110	output = &ListTemplateVersionsOutput{}
8111	req = c.newRequest(op, input, output)
8112	return
8113}
8114
8115// ListTemplateVersions API operation for Amazon Pinpoint.
8116//
8117// Retrieves information about all the versions of a specific message template.
8118//
8119// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8120// with awserr.Error's Code and Message methods to get detailed information about
8121// the error.
8122//
8123// See the AWS API reference guide for Amazon Pinpoint's
8124// API operation ListTemplateVersions for usage and error information.
8125//
8126// Returned Error Types:
8127//   * BadRequestException
8128//   Provides information about an API request or response.
8129//
8130//   * InternalServerErrorException
8131//   Provides information about an API request or response.
8132//
8133//   * PayloadTooLargeException
8134//   Provides information about an API request or response.
8135//
8136//   * ForbiddenException
8137//   Provides information about an API request or response.
8138//
8139//   * NotFoundException
8140//   Provides information about an API request or response.
8141//
8142//   * MethodNotAllowedException
8143//   Provides information about an API request or response.
8144//
8145//   * TooManyRequestsException
8146//   Provides information about an API request or response.
8147//
8148// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplateVersions
8149func (c *Pinpoint) ListTemplateVersions(input *ListTemplateVersionsInput) (*ListTemplateVersionsOutput, error) {
8150	req, out := c.ListTemplateVersionsRequest(input)
8151	return out, req.Send()
8152}
8153
8154// ListTemplateVersionsWithContext is the same as ListTemplateVersions with the addition of
8155// the ability to pass a context and additional request options.
8156//
8157// See ListTemplateVersions for details on how to use this API operation.
8158//
8159// The context must be non-nil and will be used for request cancellation. If
8160// the context is nil a panic will occur. In the future the SDK may create
8161// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8162// for more information on using Contexts.
8163func (c *Pinpoint) ListTemplateVersionsWithContext(ctx aws.Context, input *ListTemplateVersionsInput, opts ...request.Option) (*ListTemplateVersionsOutput, error) {
8164	req, out := c.ListTemplateVersionsRequest(input)
8165	req.SetContext(ctx)
8166	req.ApplyOptions(opts...)
8167	return out, req.Send()
8168}
8169
8170const opListTemplates = "ListTemplates"
8171
8172// ListTemplatesRequest generates a "aws/request.Request" representing the
8173// client's request for the ListTemplates operation. The "output" return
8174// value will be populated with the request's response once the request completes
8175// successfully.
8176//
8177// Use "Send" method on the returned Request to send the API call to the service.
8178// the "output" return value is not valid until after Send returns without error.
8179//
8180// See ListTemplates for more information on using the ListTemplates
8181// API call, and error handling.
8182//
8183// This method is useful when you want to inject custom logic or configuration
8184// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8185//
8186//
8187//    // Example sending a request using the ListTemplatesRequest method.
8188//    req, resp := client.ListTemplatesRequest(params)
8189//
8190//    err := req.Send()
8191//    if err == nil { // resp is now filled
8192//        fmt.Println(resp)
8193//    }
8194//
8195// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplates
8196func (c *Pinpoint) ListTemplatesRequest(input *ListTemplatesInput) (req *request.Request, output *ListTemplatesOutput) {
8197	op := &request.Operation{
8198		Name:       opListTemplates,
8199		HTTPMethod: "GET",
8200		HTTPPath:   "/v1/templates",
8201	}
8202
8203	if input == nil {
8204		input = &ListTemplatesInput{}
8205	}
8206
8207	output = &ListTemplatesOutput{}
8208	req = c.newRequest(op, input, output)
8209	return
8210}
8211
8212// ListTemplates API operation for Amazon Pinpoint.
8213//
8214// Retrieves information about all the message templates that are associated
8215// with your Amazon Pinpoint account.
8216//
8217// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8218// with awserr.Error's Code and Message methods to get detailed information about
8219// the error.
8220//
8221// See the AWS API reference guide for Amazon Pinpoint's
8222// API operation ListTemplates for usage and error information.
8223//
8224// Returned Error Types:
8225//   * MethodNotAllowedException
8226//   Provides information about an API request or response.
8227//
8228//   * TooManyRequestsException
8229//   Provides information about an API request or response.
8230//
8231//   * BadRequestException
8232//   Provides information about an API request or response.
8233//
8234//   * InternalServerErrorException
8235//   Provides information about an API request or response.
8236//
8237//   * ForbiddenException
8238//   Provides information about an API request or response.
8239//
8240// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplates
8241func (c *Pinpoint) ListTemplates(input *ListTemplatesInput) (*ListTemplatesOutput, error) {
8242	req, out := c.ListTemplatesRequest(input)
8243	return out, req.Send()
8244}
8245
8246// ListTemplatesWithContext is the same as ListTemplates with the addition of
8247// the ability to pass a context and additional request options.
8248//
8249// See ListTemplates for details on how to use this API operation.
8250//
8251// The context must be non-nil and will be used for request cancellation. If
8252// the context is nil a panic will occur. In the future the SDK may create
8253// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8254// for more information on using Contexts.
8255func (c *Pinpoint) ListTemplatesWithContext(ctx aws.Context, input *ListTemplatesInput, opts ...request.Option) (*ListTemplatesOutput, error) {
8256	req, out := c.ListTemplatesRequest(input)
8257	req.SetContext(ctx)
8258	req.ApplyOptions(opts...)
8259	return out, req.Send()
8260}
8261
8262const opPhoneNumberValidate = "PhoneNumberValidate"
8263
8264// PhoneNumberValidateRequest generates a "aws/request.Request" representing the
8265// client's request for the PhoneNumberValidate operation. The "output" return
8266// value will be populated with the request's response once the request completes
8267// successfully.
8268//
8269// Use "Send" method on the returned Request to send the API call to the service.
8270// the "output" return value is not valid until after Send returns without error.
8271//
8272// See PhoneNumberValidate for more information on using the PhoneNumberValidate
8273// API call, and error handling.
8274//
8275// This method is useful when you want to inject custom logic or configuration
8276// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8277//
8278//
8279//    // Example sending a request using the PhoneNumberValidateRequest method.
8280//    req, resp := client.PhoneNumberValidateRequest(params)
8281//
8282//    err := req.Send()
8283//    if err == nil { // resp is now filled
8284//        fmt.Println(resp)
8285//    }
8286//
8287// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PhoneNumberValidate
8288func (c *Pinpoint) PhoneNumberValidateRequest(input *PhoneNumberValidateInput) (req *request.Request, output *PhoneNumberValidateOutput) {
8289	op := &request.Operation{
8290		Name:       opPhoneNumberValidate,
8291		HTTPMethod: "POST",
8292		HTTPPath:   "/v1/phone/number/validate",
8293	}
8294
8295	if input == nil {
8296		input = &PhoneNumberValidateInput{}
8297	}
8298
8299	output = &PhoneNumberValidateOutput{}
8300	req = c.newRequest(op, input, output)
8301	return
8302}
8303
8304// PhoneNumberValidate API operation for Amazon Pinpoint.
8305//
8306// Retrieves information about a phone number.
8307//
8308// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8309// with awserr.Error's Code and Message methods to get detailed information about
8310// the error.
8311//
8312// See the AWS API reference guide for Amazon Pinpoint's
8313// API operation PhoneNumberValidate for usage and error information.
8314//
8315// Returned Error Types:
8316//   * BadRequestException
8317//   Provides information about an API request or response.
8318//
8319//   * InternalServerErrorException
8320//   Provides information about an API request or response.
8321//
8322//   * PayloadTooLargeException
8323//   Provides information about an API request or response.
8324//
8325//   * ForbiddenException
8326//   Provides information about an API request or response.
8327//
8328//   * NotFoundException
8329//   Provides information about an API request or response.
8330//
8331//   * MethodNotAllowedException
8332//   Provides information about an API request or response.
8333//
8334//   * TooManyRequestsException
8335//   Provides information about an API request or response.
8336//
8337// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PhoneNumberValidate
8338func (c *Pinpoint) PhoneNumberValidate(input *PhoneNumberValidateInput) (*PhoneNumberValidateOutput, error) {
8339	req, out := c.PhoneNumberValidateRequest(input)
8340	return out, req.Send()
8341}
8342
8343// PhoneNumberValidateWithContext is the same as PhoneNumberValidate with the addition of
8344// the ability to pass a context and additional request options.
8345//
8346// See PhoneNumberValidate for details on how to use this API operation.
8347//
8348// The context must be non-nil and will be used for request cancellation. If
8349// the context is nil a panic will occur. In the future the SDK may create
8350// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8351// for more information on using Contexts.
8352func (c *Pinpoint) PhoneNumberValidateWithContext(ctx aws.Context, input *PhoneNumberValidateInput, opts ...request.Option) (*PhoneNumberValidateOutput, error) {
8353	req, out := c.PhoneNumberValidateRequest(input)
8354	req.SetContext(ctx)
8355	req.ApplyOptions(opts...)
8356	return out, req.Send()
8357}
8358
8359const opPutEventStream = "PutEventStream"
8360
8361// PutEventStreamRequest generates a "aws/request.Request" representing the
8362// client's request for the PutEventStream operation. The "output" return
8363// value will be populated with the request's response once the request completes
8364// successfully.
8365//
8366// Use "Send" method on the returned Request to send the API call to the service.
8367// the "output" return value is not valid until after Send returns without error.
8368//
8369// See PutEventStream for more information on using the PutEventStream
8370// API call, and error handling.
8371//
8372// This method is useful when you want to inject custom logic or configuration
8373// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8374//
8375//
8376//    // Example sending a request using the PutEventStreamRequest method.
8377//    req, resp := client.PutEventStreamRequest(params)
8378//
8379//    err := req.Send()
8380//    if err == nil { // resp is now filled
8381//        fmt.Println(resp)
8382//    }
8383//
8384// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStream
8385func (c *Pinpoint) PutEventStreamRequest(input *PutEventStreamInput) (req *request.Request, output *PutEventStreamOutput) {
8386	op := &request.Operation{
8387		Name:       opPutEventStream,
8388		HTTPMethod: "POST",
8389		HTTPPath:   "/v1/apps/{application-id}/eventstream",
8390	}
8391
8392	if input == nil {
8393		input = &PutEventStreamInput{}
8394	}
8395
8396	output = &PutEventStreamOutput{}
8397	req = c.newRequest(op, input, output)
8398	return
8399}
8400
8401// PutEventStream API operation for Amazon Pinpoint.
8402//
8403// Creates a new event stream for an application or updates the settings of
8404// an existing event stream for an application.
8405//
8406// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8407// with awserr.Error's Code and Message methods to get detailed information about
8408// the error.
8409//
8410// See the AWS API reference guide for Amazon Pinpoint's
8411// API operation PutEventStream for usage and error information.
8412//
8413// Returned Error Types:
8414//   * BadRequestException
8415//   Provides information about an API request or response.
8416//
8417//   * InternalServerErrorException
8418//   Provides information about an API request or response.
8419//
8420//   * PayloadTooLargeException
8421//   Provides information about an API request or response.
8422//
8423//   * ForbiddenException
8424//   Provides information about an API request or response.
8425//
8426//   * NotFoundException
8427//   Provides information about an API request or response.
8428//
8429//   * MethodNotAllowedException
8430//   Provides information about an API request or response.
8431//
8432//   * TooManyRequestsException
8433//   Provides information about an API request or response.
8434//
8435// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStream
8436func (c *Pinpoint) PutEventStream(input *PutEventStreamInput) (*PutEventStreamOutput, error) {
8437	req, out := c.PutEventStreamRequest(input)
8438	return out, req.Send()
8439}
8440
8441// PutEventStreamWithContext is the same as PutEventStream with the addition of
8442// the ability to pass a context and additional request options.
8443//
8444// See PutEventStream for details on how to use this API operation.
8445//
8446// The context must be non-nil and will be used for request cancellation. If
8447// the context is nil a panic will occur. In the future the SDK may create
8448// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8449// for more information on using Contexts.
8450func (c *Pinpoint) PutEventStreamWithContext(ctx aws.Context, input *PutEventStreamInput, opts ...request.Option) (*PutEventStreamOutput, error) {
8451	req, out := c.PutEventStreamRequest(input)
8452	req.SetContext(ctx)
8453	req.ApplyOptions(opts...)
8454	return out, req.Send()
8455}
8456
8457const opPutEvents = "PutEvents"
8458
8459// PutEventsRequest generates a "aws/request.Request" representing the
8460// client's request for the PutEvents operation. The "output" return
8461// value will be populated with the request's response once the request completes
8462// successfully.
8463//
8464// Use "Send" method on the returned Request to send the API call to the service.
8465// the "output" return value is not valid until after Send returns without error.
8466//
8467// See PutEvents for more information on using the PutEvents
8468// API call, and error handling.
8469//
8470// This method is useful when you want to inject custom logic or configuration
8471// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8472//
8473//
8474//    // Example sending a request using the PutEventsRequest method.
8475//    req, resp := client.PutEventsRequest(params)
8476//
8477//    err := req.Send()
8478//    if err == nil { // resp is now filled
8479//        fmt.Println(resp)
8480//    }
8481//
8482// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEvents
8483func (c *Pinpoint) PutEventsRequest(input *PutEventsInput) (req *request.Request, output *PutEventsOutput) {
8484	op := &request.Operation{
8485		Name:       opPutEvents,
8486		HTTPMethod: "POST",
8487		HTTPPath:   "/v1/apps/{application-id}/events",
8488	}
8489
8490	if input == nil {
8491		input = &PutEventsInput{}
8492	}
8493
8494	output = &PutEventsOutput{}
8495	req = c.newRequest(op, input, output)
8496	return
8497}
8498
8499// PutEvents API operation for Amazon Pinpoint.
8500//
8501// Creates a new event to record for endpoints, or creates or updates endpoint
8502// data that existing events are associated with.
8503//
8504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8505// with awserr.Error's Code and Message methods to get detailed information about
8506// the error.
8507//
8508// See the AWS API reference guide for Amazon Pinpoint's
8509// API operation PutEvents for usage and error information.
8510//
8511// Returned Error Types:
8512//   * BadRequestException
8513//   Provides information about an API request or response.
8514//
8515//   * InternalServerErrorException
8516//   Provides information about an API request or response.
8517//
8518//   * PayloadTooLargeException
8519//   Provides information about an API request or response.
8520//
8521//   * ForbiddenException
8522//   Provides information about an API request or response.
8523//
8524//   * NotFoundException
8525//   Provides information about an API request or response.
8526//
8527//   * MethodNotAllowedException
8528//   Provides information about an API request or response.
8529//
8530//   * TooManyRequestsException
8531//   Provides information about an API request or response.
8532//
8533// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEvents
8534func (c *Pinpoint) PutEvents(input *PutEventsInput) (*PutEventsOutput, error) {
8535	req, out := c.PutEventsRequest(input)
8536	return out, req.Send()
8537}
8538
8539// PutEventsWithContext is the same as PutEvents with the addition of
8540// the ability to pass a context and additional request options.
8541//
8542// See PutEvents for details on how to use this API operation.
8543//
8544// The context must be non-nil and will be used for request cancellation. If
8545// the context is nil a panic will occur. In the future the SDK may create
8546// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8547// for more information on using Contexts.
8548func (c *Pinpoint) PutEventsWithContext(ctx aws.Context, input *PutEventsInput, opts ...request.Option) (*PutEventsOutput, error) {
8549	req, out := c.PutEventsRequest(input)
8550	req.SetContext(ctx)
8551	req.ApplyOptions(opts...)
8552	return out, req.Send()
8553}
8554
8555const opRemoveAttributes = "RemoveAttributes"
8556
8557// RemoveAttributesRequest generates a "aws/request.Request" representing the
8558// client's request for the RemoveAttributes operation. The "output" return
8559// value will be populated with the request's response once the request completes
8560// successfully.
8561//
8562// Use "Send" method on the returned Request to send the API call to the service.
8563// the "output" return value is not valid until after Send returns without error.
8564//
8565// See RemoveAttributes for more information on using the RemoveAttributes
8566// API call, and error handling.
8567//
8568// This method is useful when you want to inject custom logic or configuration
8569// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8570//
8571//
8572//    // Example sending a request using the RemoveAttributesRequest method.
8573//    req, resp := client.RemoveAttributesRequest(params)
8574//
8575//    err := req.Send()
8576//    if err == nil { // resp is now filled
8577//        fmt.Println(resp)
8578//    }
8579//
8580// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/RemoveAttributes
8581func (c *Pinpoint) RemoveAttributesRequest(input *RemoveAttributesInput) (req *request.Request, output *RemoveAttributesOutput) {
8582	op := &request.Operation{
8583		Name:       opRemoveAttributes,
8584		HTTPMethod: "PUT",
8585		HTTPPath:   "/v1/apps/{application-id}/attributes/{attribute-type}",
8586	}
8587
8588	if input == nil {
8589		input = &RemoveAttributesInput{}
8590	}
8591
8592	output = &RemoveAttributesOutput{}
8593	req = c.newRequest(op, input, output)
8594	return
8595}
8596
8597// RemoveAttributes API operation for Amazon Pinpoint.
8598//
8599// Removes one or more attributes, of the same attribute type, from all the
8600// endpoints that are associated with an application.
8601//
8602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8603// with awserr.Error's Code and Message methods to get detailed information about
8604// the error.
8605//
8606// See the AWS API reference guide for Amazon Pinpoint's
8607// API operation RemoveAttributes for usage and error information.
8608//
8609// Returned Error Types:
8610//   * BadRequestException
8611//   Provides information about an API request or response.
8612//
8613//   * InternalServerErrorException
8614//   Provides information about an API request or response.
8615//
8616//   * PayloadTooLargeException
8617//   Provides information about an API request or response.
8618//
8619//   * ForbiddenException
8620//   Provides information about an API request or response.
8621//
8622//   * NotFoundException
8623//   Provides information about an API request or response.
8624//
8625//   * MethodNotAllowedException
8626//   Provides information about an API request or response.
8627//
8628//   * TooManyRequestsException
8629//   Provides information about an API request or response.
8630//
8631// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/RemoveAttributes
8632func (c *Pinpoint) RemoveAttributes(input *RemoveAttributesInput) (*RemoveAttributesOutput, error) {
8633	req, out := c.RemoveAttributesRequest(input)
8634	return out, req.Send()
8635}
8636
8637// RemoveAttributesWithContext is the same as RemoveAttributes with the addition of
8638// the ability to pass a context and additional request options.
8639//
8640// See RemoveAttributes for details on how to use this API operation.
8641//
8642// The context must be non-nil and will be used for request cancellation. If
8643// the context is nil a panic will occur. In the future the SDK may create
8644// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8645// for more information on using Contexts.
8646func (c *Pinpoint) RemoveAttributesWithContext(ctx aws.Context, input *RemoveAttributesInput, opts ...request.Option) (*RemoveAttributesOutput, error) {
8647	req, out := c.RemoveAttributesRequest(input)
8648	req.SetContext(ctx)
8649	req.ApplyOptions(opts...)
8650	return out, req.Send()
8651}
8652
8653const opSendMessages = "SendMessages"
8654
8655// SendMessagesRequest generates a "aws/request.Request" representing the
8656// client's request for the SendMessages operation. The "output" return
8657// value will be populated with the request's response once the request completes
8658// successfully.
8659//
8660// Use "Send" method on the returned Request to send the API call to the service.
8661// the "output" return value is not valid until after Send returns without error.
8662//
8663// See SendMessages for more information on using the SendMessages
8664// API call, and error handling.
8665//
8666// This method is useful when you want to inject custom logic or configuration
8667// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8668//
8669//
8670//    // Example sending a request using the SendMessagesRequest method.
8671//    req, resp := client.SendMessagesRequest(params)
8672//
8673//    err := req.Send()
8674//    if err == nil { // resp is now filled
8675//        fmt.Println(resp)
8676//    }
8677//
8678// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages
8679func (c *Pinpoint) SendMessagesRequest(input *SendMessagesInput) (req *request.Request, output *SendMessagesOutput) {
8680	op := &request.Operation{
8681		Name:       opSendMessages,
8682		HTTPMethod: "POST",
8683		HTTPPath:   "/v1/apps/{application-id}/messages",
8684	}
8685
8686	if input == nil {
8687		input = &SendMessagesInput{}
8688	}
8689
8690	output = &SendMessagesOutput{}
8691	req = c.newRequest(op, input, output)
8692	return
8693}
8694
8695// SendMessages API operation for Amazon Pinpoint.
8696//
8697// Creates and sends a direct message.
8698//
8699// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8700// with awserr.Error's Code and Message methods to get detailed information about
8701// the error.
8702//
8703// See the AWS API reference guide for Amazon Pinpoint's
8704// API operation SendMessages for usage and error information.
8705//
8706// Returned Error Types:
8707//   * BadRequestException
8708//   Provides information about an API request or response.
8709//
8710//   * InternalServerErrorException
8711//   Provides information about an API request or response.
8712//
8713//   * PayloadTooLargeException
8714//   Provides information about an API request or response.
8715//
8716//   * ForbiddenException
8717//   Provides information about an API request or response.
8718//
8719//   * NotFoundException
8720//   Provides information about an API request or response.
8721//
8722//   * MethodNotAllowedException
8723//   Provides information about an API request or response.
8724//
8725//   * TooManyRequestsException
8726//   Provides information about an API request or response.
8727//
8728// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages
8729func (c *Pinpoint) SendMessages(input *SendMessagesInput) (*SendMessagesOutput, error) {
8730	req, out := c.SendMessagesRequest(input)
8731	return out, req.Send()
8732}
8733
8734// SendMessagesWithContext is the same as SendMessages with the addition of
8735// the ability to pass a context and additional request options.
8736//
8737// See SendMessages for details on how to use this API operation.
8738//
8739// The context must be non-nil and will be used for request cancellation. If
8740// the context is nil a panic will occur. In the future the SDK may create
8741// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8742// for more information on using Contexts.
8743func (c *Pinpoint) SendMessagesWithContext(ctx aws.Context, input *SendMessagesInput, opts ...request.Option) (*SendMessagesOutput, error) {
8744	req, out := c.SendMessagesRequest(input)
8745	req.SetContext(ctx)
8746	req.ApplyOptions(opts...)
8747	return out, req.Send()
8748}
8749
8750const opSendUsersMessages = "SendUsersMessages"
8751
8752// SendUsersMessagesRequest generates a "aws/request.Request" representing the
8753// client's request for the SendUsersMessages operation. The "output" return
8754// value will be populated with the request's response once the request completes
8755// successfully.
8756//
8757// Use "Send" method on the returned Request to send the API call to the service.
8758// the "output" return value is not valid until after Send returns without error.
8759//
8760// See SendUsersMessages for more information on using the SendUsersMessages
8761// API call, and error handling.
8762//
8763// This method is useful when you want to inject custom logic or configuration
8764// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8765//
8766//
8767//    // Example sending a request using the SendUsersMessagesRequest method.
8768//    req, resp := client.SendUsersMessagesRequest(params)
8769//
8770//    err := req.Send()
8771//    if err == nil { // resp is now filled
8772//        fmt.Println(resp)
8773//    }
8774//
8775// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages
8776func (c *Pinpoint) SendUsersMessagesRequest(input *SendUsersMessagesInput) (req *request.Request, output *SendUsersMessagesOutput) {
8777	op := &request.Operation{
8778		Name:       opSendUsersMessages,
8779		HTTPMethod: "POST",
8780		HTTPPath:   "/v1/apps/{application-id}/users-messages",
8781	}
8782
8783	if input == nil {
8784		input = &SendUsersMessagesInput{}
8785	}
8786
8787	output = &SendUsersMessagesOutput{}
8788	req = c.newRequest(op, input, output)
8789	return
8790}
8791
8792// SendUsersMessages API operation for Amazon Pinpoint.
8793//
8794// Creates and sends a message to a list of users.
8795//
8796// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8797// with awserr.Error's Code and Message methods to get detailed information about
8798// the error.
8799//
8800// See the AWS API reference guide for Amazon Pinpoint's
8801// API operation SendUsersMessages for usage and error information.
8802//
8803// Returned Error Types:
8804//   * BadRequestException
8805//   Provides information about an API request or response.
8806//
8807//   * InternalServerErrorException
8808//   Provides information about an API request or response.
8809//
8810//   * PayloadTooLargeException
8811//   Provides information about an API request or response.
8812//
8813//   * ForbiddenException
8814//   Provides information about an API request or response.
8815//
8816//   * NotFoundException
8817//   Provides information about an API request or response.
8818//
8819//   * MethodNotAllowedException
8820//   Provides information about an API request or response.
8821//
8822//   * TooManyRequestsException
8823//   Provides information about an API request or response.
8824//
8825// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages
8826func (c *Pinpoint) SendUsersMessages(input *SendUsersMessagesInput) (*SendUsersMessagesOutput, error) {
8827	req, out := c.SendUsersMessagesRequest(input)
8828	return out, req.Send()
8829}
8830
8831// SendUsersMessagesWithContext is the same as SendUsersMessages with the addition of
8832// the ability to pass a context and additional request options.
8833//
8834// See SendUsersMessages for details on how to use this API operation.
8835//
8836// The context must be non-nil and will be used for request cancellation. If
8837// the context is nil a panic will occur. In the future the SDK may create
8838// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8839// for more information on using Contexts.
8840func (c *Pinpoint) SendUsersMessagesWithContext(ctx aws.Context, input *SendUsersMessagesInput, opts ...request.Option) (*SendUsersMessagesOutput, error) {
8841	req, out := c.SendUsersMessagesRequest(input)
8842	req.SetContext(ctx)
8843	req.ApplyOptions(opts...)
8844	return out, req.Send()
8845}
8846
8847const opTagResource = "TagResource"
8848
8849// TagResourceRequest generates a "aws/request.Request" representing the
8850// client's request for the TagResource operation. The "output" return
8851// value will be populated with the request's response once the request completes
8852// successfully.
8853//
8854// Use "Send" method on the returned Request to send the API call to the service.
8855// the "output" return value is not valid until after Send returns without error.
8856//
8857// See TagResource for more information on using the TagResource
8858// API call, and error handling.
8859//
8860// This method is useful when you want to inject custom logic or configuration
8861// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8862//
8863//
8864//    // Example sending a request using the TagResourceRequest method.
8865//    req, resp := client.TagResourceRequest(params)
8866//
8867//    err := req.Send()
8868//    if err == nil { // resp is now filled
8869//        fmt.Println(resp)
8870//    }
8871//
8872// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource
8873func (c *Pinpoint) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
8874	op := &request.Operation{
8875		Name:       opTagResource,
8876		HTTPMethod: "POST",
8877		HTTPPath:   "/v1/tags/{resource-arn}",
8878	}
8879
8880	if input == nil {
8881		input = &TagResourceInput{}
8882	}
8883
8884	output = &TagResourceOutput{}
8885	req = c.newRequest(op, input, output)
8886	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8887	return
8888}
8889
8890// TagResource API operation for Amazon Pinpoint.
8891//
8892// Adds one or more tags (keys and values) to an application, campaign, message
8893// template, or segment.
8894//
8895// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8896// with awserr.Error's Code and Message methods to get detailed information about
8897// the error.
8898//
8899// See the AWS API reference guide for Amazon Pinpoint's
8900// API operation TagResource for usage and error information.
8901// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource
8902func (c *Pinpoint) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
8903	req, out := c.TagResourceRequest(input)
8904	return out, req.Send()
8905}
8906
8907// TagResourceWithContext is the same as TagResource with the addition of
8908// the ability to pass a context and additional request options.
8909//
8910// See TagResource for details on how to use this API operation.
8911//
8912// The context must be non-nil and will be used for request cancellation. If
8913// the context is nil a panic will occur. In the future the SDK may create
8914// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8915// for more information on using Contexts.
8916func (c *Pinpoint) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
8917	req, out := c.TagResourceRequest(input)
8918	req.SetContext(ctx)
8919	req.ApplyOptions(opts...)
8920	return out, req.Send()
8921}
8922
8923const opUntagResource = "UntagResource"
8924
8925// UntagResourceRequest generates a "aws/request.Request" representing the
8926// client's request for the UntagResource operation. The "output" return
8927// value will be populated with the request's response once the request completes
8928// successfully.
8929//
8930// Use "Send" method on the returned Request to send the API call to the service.
8931// the "output" return value is not valid until after Send returns without error.
8932//
8933// See UntagResource for more information on using the UntagResource
8934// API call, and error handling.
8935//
8936// This method is useful when you want to inject custom logic or configuration
8937// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8938//
8939//
8940//    // Example sending a request using the UntagResourceRequest method.
8941//    req, resp := client.UntagResourceRequest(params)
8942//
8943//    err := req.Send()
8944//    if err == nil { // resp is now filled
8945//        fmt.Println(resp)
8946//    }
8947//
8948// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource
8949func (c *Pinpoint) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
8950	op := &request.Operation{
8951		Name:       opUntagResource,
8952		HTTPMethod: "DELETE",
8953		HTTPPath:   "/v1/tags/{resource-arn}",
8954	}
8955
8956	if input == nil {
8957		input = &UntagResourceInput{}
8958	}
8959
8960	output = &UntagResourceOutput{}
8961	req = c.newRequest(op, input, output)
8962	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8963	return
8964}
8965
8966// UntagResource API operation for Amazon Pinpoint.
8967//
8968// Removes one or more tags (keys and values) from an application, campaign,
8969// message template, or segment.
8970//
8971// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8972// with awserr.Error's Code and Message methods to get detailed information about
8973// the error.
8974//
8975// See the AWS API reference guide for Amazon Pinpoint's
8976// API operation UntagResource for usage and error information.
8977// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource
8978func (c *Pinpoint) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
8979	req, out := c.UntagResourceRequest(input)
8980	return out, req.Send()
8981}
8982
8983// UntagResourceWithContext is the same as UntagResource with the addition of
8984// the ability to pass a context and additional request options.
8985//
8986// See UntagResource for details on how to use this API operation.
8987//
8988// The context must be non-nil and will be used for request cancellation. If
8989// the context is nil a panic will occur. In the future the SDK may create
8990// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8991// for more information on using Contexts.
8992func (c *Pinpoint) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
8993	req, out := c.UntagResourceRequest(input)
8994	req.SetContext(ctx)
8995	req.ApplyOptions(opts...)
8996	return out, req.Send()
8997}
8998
8999const opUpdateAdmChannel = "UpdateAdmChannel"
9000
9001// UpdateAdmChannelRequest generates a "aws/request.Request" representing the
9002// client's request for the UpdateAdmChannel operation. The "output" return
9003// value will be populated with the request's response once the request completes
9004// successfully.
9005//
9006// Use "Send" method on the returned Request to send the API call to the service.
9007// the "output" return value is not valid until after Send returns without error.
9008//
9009// See UpdateAdmChannel for more information on using the UpdateAdmChannel
9010// API call, and error handling.
9011//
9012// This method is useful when you want to inject custom logic or configuration
9013// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9014//
9015//
9016//    // Example sending a request using the UpdateAdmChannelRequest method.
9017//    req, resp := client.UpdateAdmChannelRequest(params)
9018//
9019//    err := req.Send()
9020//    if err == nil { // resp is now filled
9021//        fmt.Println(resp)
9022//    }
9023//
9024// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel
9025func (c *Pinpoint) UpdateAdmChannelRequest(input *UpdateAdmChannelInput) (req *request.Request, output *UpdateAdmChannelOutput) {
9026	op := &request.Operation{
9027		Name:       opUpdateAdmChannel,
9028		HTTPMethod: "PUT",
9029		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
9030	}
9031
9032	if input == nil {
9033		input = &UpdateAdmChannelInput{}
9034	}
9035
9036	output = &UpdateAdmChannelOutput{}
9037	req = c.newRequest(op, input, output)
9038	return
9039}
9040
9041// UpdateAdmChannel API operation for Amazon Pinpoint.
9042//
9043// Enables the ADM channel for an application or updates the status and settings
9044// of the ADM channel for an application.
9045//
9046// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9047// with awserr.Error's Code and Message methods to get detailed information about
9048// the error.
9049//
9050// See the AWS API reference guide for Amazon Pinpoint's
9051// API operation UpdateAdmChannel for usage and error information.
9052//
9053// Returned Error Types:
9054//   * BadRequestException
9055//   Provides information about an API request or response.
9056//
9057//   * InternalServerErrorException
9058//   Provides information about an API request or response.
9059//
9060//   * PayloadTooLargeException
9061//   Provides information about an API request or response.
9062//
9063//   * ForbiddenException
9064//   Provides information about an API request or response.
9065//
9066//   * NotFoundException
9067//   Provides information about an API request or response.
9068//
9069//   * MethodNotAllowedException
9070//   Provides information about an API request or response.
9071//
9072//   * TooManyRequestsException
9073//   Provides information about an API request or response.
9074//
9075// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel
9076func (c *Pinpoint) UpdateAdmChannel(input *UpdateAdmChannelInput) (*UpdateAdmChannelOutput, error) {
9077	req, out := c.UpdateAdmChannelRequest(input)
9078	return out, req.Send()
9079}
9080
9081// UpdateAdmChannelWithContext is the same as UpdateAdmChannel with the addition of
9082// the ability to pass a context and additional request options.
9083//
9084// See UpdateAdmChannel for details on how to use this API operation.
9085//
9086// The context must be non-nil and will be used for request cancellation. If
9087// the context is nil a panic will occur. In the future the SDK may create
9088// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9089// for more information on using Contexts.
9090func (c *Pinpoint) UpdateAdmChannelWithContext(ctx aws.Context, input *UpdateAdmChannelInput, opts ...request.Option) (*UpdateAdmChannelOutput, error) {
9091	req, out := c.UpdateAdmChannelRequest(input)
9092	req.SetContext(ctx)
9093	req.ApplyOptions(opts...)
9094	return out, req.Send()
9095}
9096
9097const opUpdateApnsChannel = "UpdateApnsChannel"
9098
9099// UpdateApnsChannelRequest generates a "aws/request.Request" representing the
9100// client's request for the UpdateApnsChannel operation. The "output" return
9101// value will be populated with the request's response once the request completes
9102// successfully.
9103//
9104// Use "Send" method on the returned Request to send the API call to the service.
9105// the "output" return value is not valid until after Send returns without error.
9106//
9107// See UpdateApnsChannel for more information on using the UpdateApnsChannel
9108// API call, and error handling.
9109//
9110// This method is useful when you want to inject custom logic or configuration
9111// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9112//
9113//
9114//    // Example sending a request using the UpdateApnsChannelRequest method.
9115//    req, resp := client.UpdateApnsChannelRequest(params)
9116//
9117//    err := req.Send()
9118//    if err == nil { // resp is now filled
9119//        fmt.Println(resp)
9120//    }
9121//
9122// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel
9123func (c *Pinpoint) UpdateApnsChannelRequest(input *UpdateApnsChannelInput) (req *request.Request, output *UpdateApnsChannelOutput) {
9124	op := &request.Operation{
9125		Name:       opUpdateApnsChannel,
9126		HTTPMethod: "PUT",
9127		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
9128	}
9129
9130	if input == nil {
9131		input = &UpdateApnsChannelInput{}
9132	}
9133
9134	output = &UpdateApnsChannelOutput{}
9135	req = c.newRequest(op, input, output)
9136	return
9137}
9138
9139// UpdateApnsChannel API operation for Amazon Pinpoint.
9140//
9141// Enables the APNs channel for an application or updates the status and settings
9142// of the APNs channel for an application.
9143//
9144// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9145// with awserr.Error's Code and Message methods to get detailed information about
9146// the error.
9147//
9148// See the AWS API reference guide for Amazon Pinpoint's
9149// API operation UpdateApnsChannel for usage and error information.
9150//
9151// Returned Error Types:
9152//   * BadRequestException
9153//   Provides information about an API request or response.
9154//
9155//   * InternalServerErrorException
9156//   Provides information about an API request or response.
9157//
9158//   * PayloadTooLargeException
9159//   Provides information about an API request or response.
9160//
9161//   * ForbiddenException
9162//   Provides information about an API request or response.
9163//
9164//   * NotFoundException
9165//   Provides information about an API request or response.
9166//
9167//   * MethodNotAllowedException
9168//   Provides information about an API request or response.
9169//
9170//   * TooManyRequestsException
9171//   Provides information about an API request or response.
9172//
9173// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel
9174func (c *Pinpoint) UpdateApnsChannel(input *UpdateApnsChannelInput) (*UpdateApnsChannelOutput, error) {
9175	req, out := c.UpdateApnsChannelRequest(input)
9176	return out, req.Send()
9177}
9178
9179// UpdateApnsChannelWithContext is the same as UpdateApnsChannel with the addition of
9180// the ability to pass a context and additional request options.
9181//
9182// See UpdateApnsChannel for details on how to use this API operation.
9183//
9184// The context must be non-nil and will be used for request cancellation. If
9185// the context is nil a panic will occur. In the future the SDK may create
9186// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9187// for more information on using Contexts.
9188func (c *Pinpoint) UpdateApnsChannelWithContext(ctx aws.Context, input *UpdateApnsChannelInput, opts ...request.Option) (*UpdateApnsChannelOutput, error) {
9189	req, out := c.UpdateApnsChannelRequest(input)
9190	req.SetContext(ctx)
9191	req.ApplyOptions(opts...)
9192	return out, req.Send()
9193}
9194
9195const opUpdateApnsSandboxChannel = "UpdateApnsSandboxChannel"
9196
9197// UpdateApnsSandboxChannelRequest generates a "aws/request.Request" representing the
9198// client's request for the UpdateApnsSandboxChannel operation. The "output" return
9199// value will be populated with the request's response once the request completes
9200// successfully.
9201//
9202// Use "Send" method on the returned Request to send the API call to the service.
9203// the "output" return value is not valid until after Send returns without error.
9204//
9205// See UpdateApnsSandboxChannel for more information on using the UpdateApnsSandboxChannel
9206// API call, and error handling.
9207//
9208// This method is useful when you want to inject custom logic or configuration
9209// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9210//
9211//
9212//    // Example sending a request using the UpdateApnsSandboxChannelRequest method.
9213//    req, resp := client.UpdateApnsSandboxChannelRequest(params)
9214//
9215//    err := req.Send()
9216//    if err == nil { // resp is now filled
9217//        fmt.Println(resp)
9218//    }
9219//
9220// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel
9221func (c *Pinpoint) UpdateApnsSandboxChannelRequest(input *UpdateApnsSandboxChannelInput) (req *request.Request, output *UpdateApnsSandboxChannelOutput) {
9222	op := &request.Operation{
9223		Name:       opUpdateApnsSandboxChannel,
9224		HTTPMethod: "PUT",
9225		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
9226	}
9227
9228	if input == nil {
9229		input = &UpdateApnsSandboxChannelInput{}
9230	}
9231
9232	output = &UpdateApnsSandboxChannelOutput{}
9233	req = c.newRequest(op, input, output)
9234	return
9235}
9236
9237// UpdateApnsSandboxChannel API operation for Amazon Pinpoint.
9238//
9239// Enables the APNs sandbox channel for an application or updates the status
9240// and settings of the APNs sandbox channel for an application.
9241//
9242// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9243// with awserr.Error's Code and Message methods to get detailed information about
9244// the error.
9245//
9246// See the AWS API reference guide for Amazon Pinpoint's
9247// API operation UpdateApnsSandboxChannel for usage and error information.
9248//
9249// Returned Error Types:
9250//   * BadRequestException
9251//   Provides information about an API request or response.
9252//
9253//   * InternalServerErrorException
9254//   Provides information about an API request or response.
9255//
9256//   * PayloadTooLargeException
9257//   Provides information about an API request or response.
9258//
9259//   * ForbiddenException
9260//   Provides information about an API request or response.
9261//
9262//   * NotFoundException
9263//   Provides information about an API request or response.
9264//
9265//   * MethodNotAllowedException
9266//   Provides information about an API request or response.
9267//
9268//   * TooManyRequestsException
9269//   Provides information about an API request or response.
9270//
9271// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel
9272func (c *Pinpoint) UpdateApnsSandboxChannel(input *UpdateApnsSandboxChannelInput) (*UpdateApnsSandboxChannelOutput, error) {
9273	req, out := c.UpdateApnsSandboxChannelRequest(input)
9274	return out, req.Send()
9275}
9276
9277// UpdateApnsSandboxChannelWithContext is the same as UpdateApnsSandboxChannel with the addition of
9278// the ability to pass a context and additional request options.
9279//
9280// See UpdateApnsSandboxChannel for details on how to use this API operation.
9281//
9282// The context must be non-nil and will be used for request cancellation. If
9283// the context is nil a panic will occur. In the future the SDK may create
9284// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9285// for more information on using Contexts.
9286func (c *Pinpoint) UpdateApnsSandboxChannelWithContext(ctx aws.Context, input *UpdateApnsSandboxChannelInput, opts ...request.Option) (*UpdateApnsSandboxChannelOutput, error) {
9287	req, out := c.UpdateApnsSandboxChannelRequest(input)
9288	req.SetContext(ctx)
9289	req.ApplyOptions(opts...)
9290	return out, req.Send()
9291}
9292
9293const opUpdateApnsVoipChannel = "UpdateApnsVoipChannel"
9294
9295// UpdateApnsVoipChannelRequest generates a "aws/request.Request" representing the
9296// client's request for the UpdateApnsVoipChannel operation. The "output" return
9297// value will be populated with the request's response once the request completes
9298// successfully.
9299//
9300// Use "Send" method on the returned Request to send the API call to the service.
9301// the "output" return value is not valid until after Send returns without error.
9302//
9303// See UpdateApnsVoipChannel for more information on using the UpdateApnsVoipChannel
9304// API call, and error handling.
9305//
9306// This method is useful when you want to inject custom logic or configuration
9307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9308//
9309//
9310//    // Example sending a request using the UpdateApnsVoipChannelRequest method.
9311//    req, resp := client.UpdateApnsVoipChannelRequest(params)
9312//
9313//    err := req.Send()
9314//    if err == nil { // resp is now filled
9315//        fmt.Println(resp)
9316//    }
9317//
9318// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipChannel
9319func (c *Pinpoint) UpdateApnsVoipChannelRequest(input *UpdateApnsVoipChannelInput) (req *request.Request, output *UpdateApnsVoipChannelOutput) {
9320	op := &request.Operation{
9321		Name:       opUpdateApnsVoipChannel,
9322		HTTPMethod: "PUT",
9323		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
9324	}
9325
9326	if input == nil {
9327		input = &UpdateApnsVoipChannelInput{}
9328	}
9329
9330	output = &UpdateApnsVoipChannelOutput{}
9331	req = c.newRequest(op, input, output)
9332	return
9333}
9334
9335// UpdateApnsVoipChannel API operation for Amazon Pinpoint.
9336//
9337// Enables the APNs VoIP channel for an application or updates the status and
9338// settings of the APNs VoIP channel for an application.
9339//
9340// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9341// with awserr.Error's Code and Message methods to get detailed information about
9342// the error.
9343//
9344// See the AWS API reference guide for Amazon Pinpoint's
9345// API operation UpdateApnsVoipChannel for usage and error information.
9346//
9347// Returned Error Types:
9348//   * BadRequestException
9349//   Provides information about an API request or response.
9350//
9351//   * InternalServerErrorException
9352//   Provides information about an API request or response.
9353//
9354//   * PayloadTooLargeException
9355//   Provides information about an API request or response.
9356//
9357//   * ForbiddenException
9358//   Provides information about an API request or response.
9359//
9360//   * NotFoundException
9361//   Provides information about an API request or response.
9362//
9363//   * MethodNotAllowedException
9364//   Provides information about an API request or response.
9365//
9366//   * TooManyRequestsException
9367//   Provides information about an API request or response.
9368//
9369// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipChannel
9370func (c *Pinpoint) UpdateApnsVoipChannel(input *UpdateApnsVoipChannelInput) (*UpdateApnsVoipChannelOutput, error) {
9371	req, out := c.UpdateApnsVoipChannelRequest(input)
9372	return out, req.Send()
9373}
9374
9375// UpdateApnsVoipChannelWithContext is the same as UpdateApnsVoipChannel with the addition of
9376// the ability to pass a context and additional request options.
9377//
9378// See UpdateApnsVoipChannel for details on how to use this API operation.
9379//
9380// The context must be non-nil and will be used for request cancellation. If
9381// the context is nil a panic will occur. In the future the SDK may create
9382// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9383// for more information on using Contexts.
9384func (c *Pinpoint) UpdateApnsVoipChannelWithContext(ctx aws.Context, input *UpdateApnsVoipChannelInput, opts ...request.Option) (*UpdateApnsVoipChannelOutput, error) {
9385	req, out := c.UpdateApnsVoipChannelRequest(input)
9386	req.SetContext(ctx)
9387	req.ApplyOptions(opts...)
9388	return out, req.Send()
9389}
9390
9391const opUpdateApnsVoipSandboxChannel = "UpdateApnsVoipSandboxChannel"
9392
9393// UpdateApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
9394// client's request for the UpdateApnsVoipSandboxChannel operation. The "output" return
9395// value will be populated with the request's response once the request completes
9396// successfully.
9397//
9398// Use "Send" method on the returned Request to send the API call to the service.
9399// the "output" return value is not valid until after Send returns without error.
9400//
9401// See UpdateApnsVoipSandboxChannel for more information on using the UpdateApnsVoipSandboxChannel
9402// API call, and error handling.
9403//
9404// This method is useful when you want to inject custom logic or configuration
9405// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9406//
9407//
9408//    // Example sending a request using the UpdateApnsVoipSandboxChannelRequest method.
9409//    req, resp := client.UpdateApnsVoipSandboxChannelRequest(params)
9410//
9411//    err := req.Send()
9412//    if err == nil { // resp is now filled
9413//        fmt.Println(resp)
9414//    }
9415//
9416// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipSandboxChannel
9417func (c *Pinpoint) UpdateApnsVoipSandboxChannelRequest(input *UpdateApnsVoipSandboxChannelInput) (req *request.Request, output *UpdateApnsVoipSandboxChannelOutput) {
9418	op := &request.Operation{
9419		Name:       opUpdateApnsVoipSandboxChannel,
9420		HTTPMethod: "PUT",
9421		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
9422	}
9423
9424	if input == nil {
9425		input = &UpdateApnsVoipSandboxChannelInput{}
9426	}
9427
9428	output = &UpdateApnsVoipSandboxChannelOutput{}
9429	req = c.newRequest(op, input, output)
9430	return
9431}
9432
9433// UpdateApnsVoipSandboxChannel API operation for Amazon Pinpoint.
9434//
9435// Enables the APNs VoIP sandbox channel for an application or updates the status
9436// and settings of the APNs VoIP sandbox channel for an application.
9437//
9438// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9439// with awserr.Error's Code and Message methods to get detailed information about
9440// the error.
9441//
9442// See the AWS API reference guide for Amazon Pinpoint's
9443// API operation UpdateApnsVoipSandboxChannel for usage and error information.
9444//
9445// Returned Error Types:
9446//   * BadRequestException
9447//   Provides information about an API request or response.
9448//
9449//   * InternalServerErrorException
9450//   Provides information about an API request or response.
9451//
9452//   * PayloadTooLargeException
9453//   Provides information about an API request or response.
9454//
9455//   * ForbiddenException
9456//   Provides information about an API request or response.
9457//
9458//   * NotFoundException
9459//   Provides information about an API request or response.
9460//
9461//   * MethodNotAllowedException
9462//   Provides information about an API request or response.
9463//
9464//   * TooManyRequestsException
9465//   Provides information about an API request or response.
9466//
9467// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipSandboxChannel
9468func (c *Pinpoint) UpdateApnsVoipSandboxChannel(input *UpdateApnsVoipSandboxChannelInput) (*UpdateApnsVoipSandboxChannelOutput, error) {
9469	req, out := c.UpdateApnsVoipSandboxChannelRequest(input)
9470	return out, req.Send()
9471}
9472
9473// UpdateApnsVoipSandboxChannelWithContext is the same as UpdateApnsVoipSandboxChannel with the addition of
9474// the ability to pass a context and additional request options.
9475//
9476// See UpdateApnsVoipSandboxChannel for details on how to use this API operation.
9477//
9478// The context must be non-nil and will be used for request cancellation. If
9479// the context is nil a panic will occur. In the future the SDK may create
9480// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9481// for more information on using Contexts.
9482func (c *Pinpoint) UpdateApnsVoipSandboxChannelWithContext(ctx aws.Context, input *UpdateApnsVoipSandboxChannelInput, opts ...request.Option) (*UpdateApnsVoipSandboxChannelOutput, error) {
9483	req, out := c.UpdateApnsVoipSandboxChannelRequest(input)
9484	req.SetContext(ctx)
9485	req.ApplyOptions(opts...)
9486	return out, req.Send()
9487}
9488
9489const opUpdateApplicationSettings = "UpdateApplicationSettings"
9490
9491// UpdateApplicationSettingsRequest generates a "aws/request.Request" representing the
9492// client's request for the UpdateApplicationSettings operation. The "output" return
9493// value will be populated with the request's response once the request completes
9494// successfully.
9495//
9496// Use "Send" method on the returned Request to send the API call to the service.
9497// the "output" return value is not valid until after Send returns without error.
9498//
9499// See UpdateApplicationSettings for more information on using the UpdateApplicationSettings
9500// API call, and error handling.
9501//
9502// This method is useful when you want to inject custom logic or configuration
9503// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9504//
9505//
9506//    // Example sending a request using the UpdateApplicationSettingsRequest method.
9507//    req, resp := client.UpdateApplicationSettingsRequest(params)
9508//
9509//    err := req.Send()
9510//    if err == nil { // resp is now filled
9511//        fmt.Println(resp)
9512//    }
9513//
9514// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettings
9515func (c *Pinpoint) UpdateApplicationSettingsRequest(input *UpdateApplicationSettingsInput) (req *request.Request, output *UpdateApplicationSettingsOutput) {
9516	op := &request.Operation{
9517		Name:       opUpdateApplicationSettings,
9518		HTTPMethod: "PUT",
9519		HTTPPath:   "/v1/apps/{application-id}/settings",
9520	}
9521
9522	if input == nil {
9523		input = &UpdateApplicationSettingsInput{}
9524	}
9525
9526	output = &UpdateApplicationSettingsOutput{}
9527	req = c.newRequest(op, input, output)
9528	return
9529}
9530
9531// UpdateApplicationSettings API operation for Amazon Pinpoint.
9532//
9533// Updates the settings for an application.
9534//
9535// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9536// with awserr.Error's Code and Message methods to get detailed information about
9537// the error.
9538//
9539// See the AWS API reference guide for Amazon Pinpoint's
9540// API operation UpdateApplicationSettings for usage and error information.
9541//
9542// Returned Error Types:
9543//   * BadRequestException
9544//   Provides information about an API request or response.
9545//
9546//   * InternalServerErrorException
9547//   Provides information about an API request or response.
9548//
9549//   * PayloadTooLargeException
9550//   Provides information about an API request or response.
9551//
9552//   * ForbiddenException
9553//   Provides information about an API request or response.
9554//
9555//   * NotFoundException
9556//   Provides information about an API request or response.
9557//
9558//   * MethodNotAllowedException
9559//   Provides information about an API request or response.
9560//
9561//   * TooManyRequestsException
9562//   Provides information about an API request or response.
9563//
9564// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettings
9565func (c *Pinpoint) UpdateApplicationSettings(input *UpdateApplicationSettingsInput) (*UpdateApplicationSettingsOutput, error) {
9566	req, out := c.UpdateApplicationSettingsRequest(input)
9567	return out, req.Send()
9568}
9569
9570// UpdateApplicationSettingsWithContext is the same as UpdateApplicationSettings with the addition of
9571// the ability to pass a context and additional request options.
9572//
9573// See UpdateApplicationSettings for details on how to use this API operation.
9574//
9575// The context must be non-nil and will be used for request cancellation. If
9576// the context is nil a panic will occur. In the future the SDK may create
9577// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9578// for more information on using Contexts.
9579func (c *Pinpoint) UpdateApplicationSettingsWithContext(ctx aws.Context, input *UpdateApplicationSettingsInput, opts ...request.Option) (*UpdateApplicationSettingsOutput, error) {
9580	req, out := c.UpdateApplicationSettingsRequest(input)
9581	req.SetContext(ctx)
9582	req.ApplyOptions(opts...)
9583	return out, req.Send()
9584}
9585
9586const opUpdateBaiduChannel = "UpdateBaiduChannel"
9587
9588// UpdateBaiduChannelRequest generates a "aws/request.Request" representing the
9589// client's request for the UpdateBaiduChannel operation. The "output" return
9590// value will be populated with the request's response once the request completes
9591// successfully.
9592//
9593// Use "Send" method on the returned Request to send the API call to the service.
9594// the "output" return value is not valid until after Send returns without error.
9595//
9596// See UpdateBaiduChannel for more information on using the UpdateBaiduChannel
9597// API call, and error handling.
9598//
9599// This method is useful when you want to inject custom logic or configuration
9600// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9601//
9602//
9603//    // Example sending a request using the UpdateBaiduChannelRequest method.
9604//    req, resp := client.UpdateBaiduChannelRequest(params)
9605//
9606//    err := req.Send()
9607//    if err == nil { // resp is now filled
9608//        fmt.Println(resp)
9609//    }
9610//
9611// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel
9612func (c *Pinpoint) UpdateBaiduChannelRequest(input *UpdateBaiduChannelInput) (req *request.Request, output *UpdateBaiduChannelOutput) {
9613	op := &request.Operation{
9614		Name:       opUpdateBaiduChannel,
9615		HTTPMethod: "PUT",
9616		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
9617	}
9618
9619	if input == nil {
9620		input = &UpdateBaiduChannelInput{}
9621	}
9622
9623	output = &UpdateBaiduChannelOutput{}
9624	req = c.newRequest(op, input, output)
9625	return
9626}
9627
9628// UpdateBaiduChannel API operation for Amazon Pinpoint.
9629//
9630// Enables the Baidu channel for an application or updates the status and settings
9631// of the Baidu channel for an application.
9632//
9633// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9634// with awserr.Error's Code and Message methods to get detailed information about
9635// the error.
9636//
9637// See the AWS API reference guide for Amazon Pinpoint's
9638// API operation UpdateBaiduChannel for usage and error information.
9639//
9640// Returned Error Types:
9641//   * BadRequestException
9642//   Provides information about an API request or response.
9643//
9644//   * InternalServerErrorException
9645//   Provides information about an API request or response.
9646//
9647//   * PayloadTooLargeException
9648//   Provides information about an API request or response.
9649//
9650//   * ForbiddenException
9651//   Provides information about an API request or response.
9652//
9653//   * NotFoundException
9654//   Provides information about an API request or response.
9655//
9656//   * MethodNotAllowedException
9657//   Provides information about an API request or response.
9658//
9659//   * TooManyRequestsException
9660//   Provides information about an API request or response.
9661//
9662// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel
9663func (c *Pinpoint) UpdateBaiduChannel(input *UpdateBaiduChannelInput) (*UpdateBaiduChannelOutput, error) {
9664	req, out := c.UpdateBaiduChannelRequest(input)
9665	return out, req.Send()
9666}
9667
9668// UpdateBaiduChannelWithContext is the same as UpdateBaiduChannel with the addition of
9669// the ability to pass a context and additional request options.
9670//
9671// See UpdateBaiduChannel for details on how to use this API operation.
9672//
9673// The context must be non-nil and will be used for request cancellation. If
9674// the context is nil a panic will occur. In the future the SDK may create
9675// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9676// for more information on using Contexts.
9677func (c *Pinpoint) UpdateBaiduChannelWithContext(ctx aws.Context, input *UpdateBaiduChannelInput, opts ...request.Option) (*UpdateBaiduChannelOutput, error) {
9678	req, out := c.UpdateBaiduChannelRequest(input)
9679	req.SetContext(ctx)
9680	req.ApplyOptions(opts...)
9681	return out, req.Send()
9682}
9683
9684const opUpdateCampaign = "UpdateCampaign"
9685
9686// UpdateCampaignRequest generates a "aws/request.Request" representing the
9687// client's request for the UpdateCampaign operation. The "output" return
9688// value will be populated with the request's response once the request completes
9689// successfully.
9690//
9691// Use "Send" method on the returned Request to send the API call to the service.
9692// the "output" return value is not valid until after Send returns without error.
9693//
9694// See UpdateCampaign for more information on using the UpdateCampaign
9695// API call, and error handling.
9696//
9697// This method is useful when you want to inject custom logic or configuration
9698// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9699//
9700//
9701//    // Example sending a request using the UpdateCampaignRequest method.
9702//    req, resp := client.UpdateCampaignRequest(params)
9703//
9704//    err := req.Send()
9705//    if err == nil { // resp is now filled
9706//        fmt.Println(resp)
9707//    }
9708//
9709// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaign
9710func (c *Pinpoint) UpdateCampaignRequest(input *UpdateCampaignInput) (req *request.Request, output *UpdateCampaignOutput) {
9711	op := &request.Operation{
9712		Name:       opUpdateCampaign,
9713		HTTPMethod: "PUT",
9714		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
9715	}
9716
9717	if input == nil {
9718		input = &UpdateCampaignInput{}
9719	}
9720
9721	output = &UpdateCampaignOutput{}
9722	req = c.newRequest(op, input, output)
9723	return
9724}
9725
9726// UpdateCampaign API operation for Amazon Pinpoint.
9727//
9728// Updates the configuration and other settings for a campaign.
9729//
9730// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9731// with awserr.Error's Code and Message methods to get detailed information about
9732// the error.
9733//
9734// See the AWS API reference guide for Amazon Pinpoint's
9735// API operation UpdateCampaign for usage and error information.
9736//
9737// Returned Error Types:
9738//   * BadRequestException
9739//   Provides information about an API request or response.
9740//
9741//   * InternalServerErrorException
9742//   Provides information about an API request or response.
9743//
9744//   * PayloadTooLargeException
9745//   Provides information about an API request or response.
9746//
9747//   * ForbiddenException
9748//   Provides information about an API request or response.
9749//
9750//   * NotFoundException
9751//   Provides information about an API request or response.
9752//
9753//   * MethodNotAllowedException
9754//   Provides information about an API request or response.
9755//
9756//   * TooManyRequestsException
9757//   Provides information about an API request or response.
9758//
9759// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaign
9760func (c *Pinpoint) UpdateCampaign(input *UpdateCampaignInput) (*UpdateCampaignOutput, error) {
9761	req, out := c.UpdateCampaignRequest(input)
9762	return out, req.Send()
9763}
9764
9765// UpdateCampaignWithContext is the same as UpdateCampaign with the addition of
9766// the ability to pass a context and additional request options.
9767//
9768// See UpdateCampaign for details on how to use this API operation.
9769//
9770// The context must be non-nil and will be used for request cancellation. If
9771// the context is nil a panic will occur. In the future the SDK may create
9772// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9773// for more information on using Contexts.
9774func (c *Pinpoint) UpdateCampaignWithContext(ctx aws.Context, input *UpdateCampaignInput, opts ...request.Option) (*UpdateCampaignOutput, error) {
9775	req, out := c.UpdateCampaignRequest(input)
9776	req.SetContext(ctx)
9777	req.ApplyOptions(opts...)
9778	return out, req.Send()
9779}
9780
9781const opUpdateEmailChannel = "UpdateEmailChannel"
9782
9783// UpdateEmailChannelRequest generates a "aws/request.Request" representing the
9784// client's request for the UpdateEmailChannel operation. The "output" return
9785// value will be populated with the request's response once the request completes
9786// successfully.
9787//
9788// Use "Send" method on the returned Request to send the API call to the service.
9789// the "output" return value is not valid until after Send returns without error.
9790//
9791// See UpdateEmailChannel for more information on using the UpdateEmailChannel
9792// API call, and error handling.
9793//
9794// This method is useful when you want to inject custom logic or configuration
9795// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9796//
9797//
9798//    // Example sending a request using the UpdateEmailChannelRequest method.
9799//    req, resp := client.UpdateEmailChannelRequest(params)
9800//
9801//    err := req.Send()
9802//    if err == nil { // resp is now filled
9803//        fmt.Println(resp)
9804//    }
9805//
9806// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel
9807func (c *Pinpoint) UpdateEmailChannelRequest(input *UpdateEmailChannelInput) (req *request.Request, output *UpdateEmailChannelOutput) {
9808	op := &request.Operation{
9809		Name:       opUpdateEmailChannel,
9810		HTTPMethod: "PUT",
9811		HTTPPath:   "/v1/apps/{application-id}/channels/email",
9812	}
9813
9814	if input == nil {
9815		input = &UpdateEmailChannelInput{}
9816	}
9817
9818	output = &UpdateEmailChannelOutput{}
9819	req = c.newRequest(op, input, output)
9820	return
9821}
9822
9823// UpdateEmailChannel API operation for Amazon Pinpoint.
9824//
9825// Enables the email channel for an application or updates the status and settings
9826// of the email channel for an application.
9827//
9828// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9829// with awserr.Error's Code and Message methods to get detailed information about
9830// the error.
9831//
9832// See the AWS API reference guide for Amazon Pinpoint's
9833// API operation UpdateEmailChannel for usage and error information.
9834//
9835// Returned Error Types:
9836//   * BadRequestException
9837//   Provides information about an API request or response.
9838//
9839//   * InternalServerErrorException
9840//   Provides information about an API request or response.
9841//
9842//   * PayloadTooLargeException
9843//   Provides information about an API request or response.
9844//
9845//   * ForbiddenException
9846//   Provides information about an API request or response.
9847//
9848//   * NotFoundException
9849//   Provides information about an API request or response.
9850//
9851//   * MethodNotAllowedException
9852//   Provides information about an API request or response.
9853//
9854//   * TooManyRequestsException
9855//   Provides information about an API request or response.
9856//
9857// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel
9858func (c *Pinpoint) UpdateEmailChannel(input *UpdateEmailChannelInput) (*UpdateEmailChannelOutput, error) {
9859	req, out := c.UpdateEmailChannelRequest(input)
9860	return out, req.Send()
9861}
9862
9863// UpdateEmailChannelWithContext is the same as UpdateEmailChannel with the addition of
9864// the ability to pass a context and additional request options.
9865//
9866// See UpdateEmailChannel for details on how to use this API operation.
9867//
9868// The context must be non-nil and will be used for request cancellation. If
9869// the context is nil a panic will occur. In the future the SDK may create
9870// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9871// for more information on using Contexts.
9872func (c *Pinpoint) UpdateEmailChannelWithContext(ctx aws.Context, input *UpdateEmailChannelInput, opts ...request.Option) (*UpdateEmailChannelOutput, error) {
9873	req, out := c.UpdateEmailChannelRequest(input)
9874	req.SetContext(ctx)
9875	req.ApplyOptions(opts...)
9876	return out, req.Send()
9877}
9878
9879const opUpdateEmailTemplate = "UpdateEmailTemplate"
9880
9881// UpdateEmailTemplateRequest generates a "aws/request.Request" representing the
9882// client's request for the UpdateEmailTemplate operation. The "output" return
9883// value will be populated with the request's response once the request completes
9884// successfully.
9885//
9886// Use "Send" method on the returned Request to send the API call to the service.
9887// the "output" return value is not valid until after Send returns without error.
9888//
9889// See UpdateEmailTemplate for more information on using the UpdateEmailTemplate
9890// API call, and error handling.
9891//
9892// This method is useful when you want to inject custom logic or configuration
9893// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9894//
9895//
9896//    // Example sending a request using the UpdateEmailTemplateRequest method.
9897//    req, resp := client.UpdateEmailTemplateRequest(params)
9898//
9899//    err := req.Send()
9900//    if err == nil { // resp is now filled
9901//        fmt.Println(resp)
9902//    }
9903//
9904// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailTemplate
9905func (c *Pinpoint) UpdateEmailTemplateRequest(input *UpdateEmailTemplateInput) (req *request.Request, output *UpdateEmailTemplateOutput) {
9906	op := &request.Operation{
9907		Name:       opUpdateEmailTemplate,
9908		HTTPMethod: "PUT",
9909		HTTPPath:   "/v1/templates/{template-name}/email",
9910	}
9911
9912	if input == nil {
9913		input = &UpdateEmailTemplateInput{}
9914	}
9915
9916	output = &UpdateEmailTemplateOutput{}
9917	req = c.newRequest(op, input, output)
9918	return
9919}
9920
9921// UpdateEmailTemplate API operation for Amazon Pinpoint.
9922//
9923// Updates an existing message template for messages that are sent through the
9924// email channel.
9925//
9926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9927// with awserr.Error's Code and Message methods to get detailed information about
9928// the error.
9929//
9930// See the AWS API reference guide for Amazon Pinpoint's
9931// API operation UpdateEmailTemplate for usage and error information.
9932//
9933// Returned Error Types:
9934//   * BadRequestException
9935//   Provides information about an API request or response.
9936//
9937//   * InternalServerErrorException
9938//   Provides information about an API request or response.
9939//
9940//   * PayloadTooLargeException
9941//   Provides information about an API request or response.
9942//
9943//   * ForbiddenException
9944//   Provides information about an API request or response.
9945//
9946//   * NotFoundException
9947//   Provides information about an API request or response.
9948//
9949//   * MethodNotAllowedException
9950//   Provides information about an API request or response.
9951//
9952//   * TooManyRequestsException
9953//   Provides information about an API request or response.
9954//
9955// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailTemplate
9956func (c *Pinpoint) UpdateEmailTemplate(input *UpdateEmailTemplateInput) (*UpdateEmailTemplateOutput, error) {
9957	req, out := c.UpdateEmailTemplateRequest(input)
9958	return out, req.Send()
9959}
9960
9961// UpdateEmailTemplateWithContext is the same as UpdateEmailTemplate with the addition of
9962// the ability to pass a context and additional request options.
9963//
9964// See UpdateEmailTemplate for details on how to use this API operation.
9965//
9966// The context must be non-nil and will be used for request cancellation. If
9967// the context is nil a panic will occur. In the future the SDK may create
9968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9969// for more information on using Contexts.
9970func (c *Pinpoint) UpdateEmailTemplateWithContext(ctx aws.Context, input *UpdateEmailTemplateInput, opts ...request.Option) (*UpdateEmailTemplateOutput, error) {
9971	req, out := c.UpdateEmailTemplateRequest(input)
9972	req.SetContext(ctx)
9973	req.ApplyOptions(opts...)
9974	return out, req.Send()
9975}
9976
9977const opUpdateEndpoint = "UpdateEndpoint"
9978
9979// UpdateEndpointRequest generates a "aws/request.Request" representing the
9980// client's request for the UpdateEndpoint operation. The "output" return
9981// value will be populated with the request's response once the request completes
9982// successfully.
9983//
9984// Use "Send" method on the returned Request to send the API call to the service.
9985// the "output" return value is not valid until after Send returns without error.
9986//
9987// See UpdateEndpoint for more information on using the UpdateEndpoint
9988// API call, and error handling.
9989//
9990// This method is useful when you want to inject custom logic or configuration
9991// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9992//
9993//
9994//    // Example sending a request using the UpdateEndpointRequest method.
9995//    req, resp := client.UpdateEndpointRequest(params)
9996//
9997//    err := req.Send()
9998//    if err == nil { // resp is now filled
9999//        fmt.Println(resp)
10000//    }
10001//
10002// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpoint
10003func (c *Pinpoint) UpdateEndpointRequest(input *UpdateEndpointInput) (req *request.Request, output *UpdateEndpointOutput) {
10004	op := &request.Operation{
10005		Name:       opUpdateEndpoint,
10006		HTTPMethod: "PUT",
10007		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
10008	}
10009
10010	if input == nil {
10011		input = &UpdateEndpointInput{}
10012	}
10013
10014	output = &UpdateEndpointOutput{}
10015	req = c.newRequest(op, input, output)
10016	return
10017}
10018
10019// UpdateEndpoint API operation for Amazon Pinpoint.
10020//
10021// Creates a new endpoint for an application or updates the settings and attributes
10022// of an existing endpoint for an application. You can also use this operation
10023// to define custom attributes for an endpoint. If an update includes one or
10024// more values for a custom attribute, Amazon Pinpoint replaces (overwrites)
10025// any existing values with the new values.
10026//
10027// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10028// with awserr.Error's Code and Message methods to get detailed information about
10029// the error.
10030//
10031// See the AWS API reference guide for Amazon Pinpoint's
10032// API operation UpdateEndpoint for usage and error information.
10033//
10034// Returned Error Types:
10035//   * BadRequestException
10036//   Provides information about an API request or response.
10037//
10038//   * InternalServerErrorException
10039//   Provides information about an API request or response.
10040//
10041//   * PayloadTooLargeException
10042//   Provides information about an API request or response.
10043//
10044//   * ForbiddenException
10045//   Provides information about an API request or response.
10046//
10047//   * NotFoundException
10048//   Provides information about an API request or response.
10049//
10050//   * MethodNotAllowedException
10051//   Provides information about an API request or response.
10052//
10053//   * TooManyRequestsException
10054//   Provides information about an API request or response.
10055//
10056// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpoint
10057func (c *Pinpoint) UpdateEndpoint(input *UpdateEndpointInput) (*UpdateEndpointOutput, error) {
10058	req, out := c.UpdateEndpointRequest(input)
10059	return out, req.Send()
10060}
10061
10062// UpdateEndpointWithContext is the same as UpdateEndpoint with the addition of
10063// the ability to pass a context and additional request options.
10064//
10065// See UpdateEndpoint for details on how to use this API operation.
10066//
10067// The context must be non-nil and will be used for request cancellation. If
10068// the context is nil a panic will occur. In the future the SDK may create
10069// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10070// for more information on using Contexts.
10071func (c *Pinpoint) UpdateEndpointWithContext(ctx aws.Context, input *UpdateEndpointInput, opts ...request.Option) (*UpdateEndpointOutput, error) {
10072	req, out := c.UpdateEndpointRequest(input)
10073	req.SetContext(ctx)
10074	req.ApplyOptions(opts...)
10075	return out, req.Send()
10076}
10077
10078const opUpdateEndpointsBatch = "UpdateEndpointsBatch"
10079
10080// UpdateEndpointsBatchRequest generates a "aws/request.Request" representing the
10081// client's request for the UpdateEndpointsBatch operation. The "output" return
10082// value will be populated with the request's response once the request completes
10083// successfully.
10084//
10085// Use "Send" method on the returned Request to send the API call to the service.
10086// the "output" return value is not valid until after Send returns without error.
10087//
10088// See UpdateEndpointsBatch for more information on using the UpdateEndpointsBatch
10089// API call, and error handling.
10090//
10091// This method is useful when you want to inject custom logic or configuration
10092// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10093//
10094//
10095//    // Example sending a request using the UpdateEndpointsBatchRequest method.
10096//    req, resp := client.UpdateEndpointsBatchRequest(params)
10097//
10098//    err := req.Send()
10099//    if err == nil { // resp is now filled
10100//        fmt.Println(resp)
10101//    }
10102//
10103// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatch
10104func (c *Pinpoint) UpdateEndpointsBatchRequest(input *UpdateEndpointsBatchInput) (req *request.Request, output *UpdateEndpointsBatchOutput) {
10105	op := &request.Operation{
10106		Name:       opUpdateEndpointsBatch,
10107		HTTPMethod: "PUT",
10108		HTTPPath:   "/v1/apps/{application-id}/endpoints",
10109	}
10110
10111	if input == nil {
10112		input = &UpdateEndpointsBatchInput{}
10113	}
10114
10115	output = &UpdateEndpointsBatchOutput{}
10116	req = c.newRequest(op, input, output)
10117	return
10118}
10119
10120// UpdateEndpointsBatch API operation for Amazon Pinpoint.
10121//
10122// Creates a new batch of endpoints for an application or updates the settings
10123// and attributes of a batch of existing endpoints for an application. You can
10124// also use this operation to define custom attributes for a batch of endpoints.
10125// If an update includes one or more values for a custom attribute, Amazon Pinpoint
10126// replaces (overwrites) any existing values with the new values.
10127//
10128// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10129// with awserr.Error's Code and Message methods to get detailed information about
10130// the error.
10131//
10132// See the AWS API reference guide for Amazon Pinpoint's
10133// API operation UpdateEndpointsBatch for usage and error information.
10134//
10135// Returned Error Types:
10136//   * BadRequestException
10137//   Provides information about an API request or response.
10138//
10139//   * InternalServerErrorException
10140//   Provides information about an API request or response.
10141//
10142//   * PayloadTooLargeException
10143//   Provides information about an API request or response.
10144//
10145//   * ForbiddenException
10146//   Provides information about an API request or response.
10147//
10148//   * NotFoundException
10149//   Provides information about an API request or response.
10150//
10151//   * MethodNotAllowedException
10152//   Provides information about an API request or response.
10153//
10154//   * TooManyRequestsException
10155//   Provides information about an API request or response.
10156//
10157// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatch
10158func (c *Pinpoint) UpdateEndpointsBatch(input *UpdateEndpointsBatchInput) (*UpdateEndpointsBatchOutput, error) {
10159	req, out := c.UpdateEndpointsBatchRequest(input)
10160	return out, req.Send()
10161}
10162
10163// UpdateEndpointsBatchWithContext is the same as UpdateEndpointsBatch with the addition of
10164// the ability to pass a context and additional request options.
10165//
10166// See UpdateEndpointsBatch for details on how to use this API operation.
10167//
10168// The context must be non-nil and will be used for request cancellation. If
10169// the context is nil a panic will occur. In the future the SDK may create
10170// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10171// for more information on using Contexts.
10172func (c *Pinpoint) UpdateEndpointsBatchWithContext(ctx aws.Context, input *UpdateEndpointsBatchInput, opts ...request.Option) (*UpdateEndpointsBatchOutput, error) {
10173	req, out := c.UpdateEndpointsBatchRequest(input)
10174	req.SetContext(ctx)
10175	req.ApplyOptions(opts...)
10176	return out, req.Send()
10177}
10178
10179const opUpdateGcmChannel = "UpdateGcmChannel"
10180
10181// UpdateGcmChannelRequest generates a "aws/request.Request" representing the
10182// client's request for the UpdateGcmChannel operation. The "output" return
10183// value will be populated with the request's response once the request completes
10184// successfully.
10185//
10186// Use "Send" method on the returned Request to send the API call to the service.
10187// the "output" return value is not valid until after Send returns without error.
10188//
10189// See UpdateGcmChannel for more information on using the UpdateGcmChannel
10190// API call, and error handling.
10191//
10192// This method is useful when you want to inject custom logic or configuration
10193// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10194//
10195//
10196//    // Example sending a request using the UpdateGcmChannelRequest method.
10197//    req, resp := client.UpdateGcmChannelRequest(params)
10198//
10199//    err := req.Send()
10200//    if err == nil { // resp is now filled
10201//        fmt.Println(resp)
10202//    }
10203//
10204// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannel
10205func (c *Pinpoint) UpdateGcmChannelRequest(input *UpdateGcmChannelInput) (req *request.Request, output *UpdateGcmChannelOutput) {
10206	op := &request.Operation{
10207		Name:       opUpdateGcmChannel,
10208		HTTPMethod: "PUT",
10209		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
10210	}
10211
10212	if input == nil {
10213		input = &UpdateGcmChannelInput{}
10214	}
10215
10216	output = &UpdateGcmChannelOutput{}
10217	req = c.newRequest(op, input, output)
10218	return
10219}
10220
10221// UpdateGcmChannel API operation for Amazon Pinpoint.
10222//
10223// Enables the GCM channel for an application or updates the status and settings
10224// of the GCM channel for an application.
10225//
10226// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10227// with awserr.Error's Code and Message methods to get detailed information about
10228// the error.
10229//
10230// See the AWS API reference guide for Amazon Pinpoint's
10231// API operation UpdateGcmChannel for usage and error information.
10232//
10233// Returned Error Types:
10234//   * BadRequestException
10235//   Provides information about an API request or response.
10236//
10237//   * InternalServerErrorException
10238//   Provides information about an API request or response.
10239//
10240//   * PayloadTooLargeException
10241//   Provides information about an API request or response.
10242//
10243//   * ForbiddenException
10244//   Provides information about an API request or response.
10245//
10246//   * NotFoundException
10247//   Provides information about an API request or response.
10248//
10249//   * MethodNotAllowedException
10250//   Provides information about an API request or response.
10251//
10252//   * TooManyRequestsException
10253//   Provides information about an API request or response.
10254//
10255// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannel
10256func (c *Pinpoint) UpdateGcmChannel(input *UpdateGcmChannelInput) (*UpdateGcmChannelOutput, error) {
10257	req, out := c.UpdateGcmChannelRequest(input)
10258	return out, req.Send()
10259}
10260
10261// UpdateGcmChannelWithContext is the same as UpdateGcmChannel with the addition of
10262// the ability to pass a context and additional request options.
10263//
10264// See UpdateGcmChannel for details on how to use this API operation.
10265//
10266// The context must be non-nil and will be used for request cancellation. If
10267// the context is nil a panic will occur. In the future the SDK may create
10268// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10269// for more information on using Contexts.
10270func (c *Pinpoint) UpdateGcmChannelWithContext(ctx aws.Context, input *UpdateGcmChannelInput, opts ...request.Option) (*UpdateGcmChannelOutput, error) {
10271	req, out := c.UpdateGcmChannelRequest(input)
10272	req.SetContext(ctx)
10273	req.ApplyOptions(opts...)
10274	return out, req.Send()
10275}
10276
10277const opUpdateInAppTemplate = "UpdateInAppTemplate"
10278
10279// UpdateInAppTemplateRequest generates a "aws/request.Request" representing the
10280// client's request for the UpdateInAppTemplate operation. The "output" return
10281// value will be populated with the request's response once the request completes
10282// successfully.
10283//
10284// Use "Send" method on the returned Request to send the API call to the service.
10285// the "output" return value is not valid until after Send returns without error.
10286//
10287// See UpdateInAppTemplate for more information on using the UpdateInAppTemplate
10288// API call, and error handling.
10289//
10290// This method is useful when you want to inject custom logic or configuration
10291// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10292//
10293//
10294//    // Example sending a request using the UpdateInAppTemplateRequest method.
10295//    req, resp := client.UpdateInAppTemplateRequest(params)
10296//
10297//    err := req.Send()
10298//    if err == nil { // resp is now filled
10299//        fmt.Println(resp)
10300//    }
10301//
10302// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateInAppTemplate
10303func (c *Pinpoint) UpdateInAppTemplateRequest(input *UpdateInAppTemplateInput) (req *request.Request, output *UpdateInAppTemplateOutput) {
10304	op := &request.Operation{
10305		Name:       opUpdateInAppTemplate,
10306		HTTPMethod: "PUT",
10307		HTTPPath:   "/v1/templates/{template-name}/inapp",
10308	}
10309
10310	if input == nil {
10311		input = &UpdateInAppTemplateInput{}
10312	}
10313
10314	output = &UpdateInAppTemplateOutput{}
10315	req = c.newRequest(op, input, output)
10316	return
10317}
10318
10319// UpdateInAppTemplate API operation for Amazon Pinpoint.
10320//
10321// Updates an existing message template for messages sent through the in-app
10322// message channel.
10323//
10324// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10325// with awserr.Error's Code and Message methods to get detailed information about
10326// the error.
10327//
10328// See the AWS API reference guide for Amazon Pinpoint's
10329// API operation UpdateInAppTemplate for usage and error information.
10330//
10331// Returned Error Types:
10332//   * BadRequestException
10333//   Provides information about an API request or response.
10334//
10335//   * InternalServerErrorException
10336//   Provides information about an API request or response.
10337//
10338//   * PayloadTooLargeException
10339//   Provides information about an API request or response.
10340//
10341//   * ForbiddenException
10342//   Provides information about an API request or response.
10343//
10344//   * NotFoundException
10345//   Provides information about an API request or response.
10346//
10347//   * MethodNotAllowedException
10348//   Provides information about an API request or response.
10349//
10350//   * TooManyRequestsException
10351//   Provides information about an API request or response.
10352//
10353// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateInAppTemplate
10354func (c *Pinpoint) UpdateInAppTemplate(input *UpdateInAppTemplateInput) (*UpdateInAppTemplateOutput, error) {
10355	req, out := c.UpdateInAppTemplateRequest(input)
10356	return out, req.Send()
10357}
10358
10359// UpdateInAppTemplateWithContext is the same as UpdateInAppTemplate with the addition of
10360// the ability to pass a context and additional request options.
10361//
10362// See UpdateInAppTemplate for details on how to use this API operation.
10363//
10364// The context must be non-nil and will be used for request cancellation. If
10365// the context is nil a panic will occur. In the future the SDK may create
10366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10367// for more information on using Contexts.
10368func (c *Pinpoint) UpdateInAppTemplateWithContext(ctx aws.Context, input *UpdateInAppTemplateInput, opts ...request.Option) (*UpdateInAppTemplateOutput, error) {
10369	req, out := c.UpdateInAppTemplateRequest(input)
10370	req.SetContext(ctx)
10371	req.ApplyOptions(opts...)
10372	return out, req.Send()
10373}
10374
10375const opUpdateJourney = "UpdateJourney"
10376
10377// UpdateJourneyRequest generates a "aws/request.Request" representing the
10378// client's request for the UpdateJourney operation. The "output" return
10379// value will be populated with the request's response once the request completes
10380// successfully.
10381//
10382// Use "Send" method on the returned Request to send the API call to the service.
10383// the "output" return value is not valid until after Send returns without error.
10384//
10385// See UpdateJourney for more information on using the UpdateJourney
10386// API call, and error handling.
10387//
10388// This method is useful when you want to inject custom logic or configuration
10389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10390//
10391//
10392//    // Example sending a request using the UpdateJourneyRequest method.
10393//    req, resp := client.UpdateJourneyRequest(params)
10394//
10395//    err := req.Send()
10396//    if err == nil { // resp is now filled
10397//        fmt.Println(resp)
10398//    }
10399//
10400// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateJourney
10401func (c *Pinpoint) UpdateJourneyRequest(input *UpdateJourneyInput) (req *request.Request, output *UpdateJourneyOutput) {
10402	op := &request.Operation{
10403		Name:       opUpdateJourney,
10404		HTTPMethod: "PUT",
10405		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}",
10406	}
10407
10408	if input == nil {
10409		input = &UpdateJourneyInput{}
10410	}
10411
10412	output = &UpdateJourneyOutput{}
10413	req = c.newRequest(op, input, output)
10414	return
10415}
10416
10417// UpdateJourney API operation for Amazon Pinpoint.
10418//
10419// Updates the configuration and other settings for a journey.
10420//
10421// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10422// with awserr.Error's Code and Message methods to get detailed information about
10423// the error.
10424//
10425// See the AWS API reference guide for Amazon Pinpoint's
10426// API operation UpdateJourney for usage and error information.
10427//
10428// Returned Error Types:
10429//   * BadRequestException
10430//   Provides information about an API request or response.
10431//
10432//   * InternalServerErrorException
10433//   Provides information about an API request or response.
10434//
10435//   * PayloadTooLargeException
10436//   Provides information about an API request or response.
10437//
10438//   * ForbiddenException
10439//   Provides information about an API request or response.
10440//
10441//   * NotFoundException
10442//   Provides information about an API request or response.
10443//
10444//   * MethodNotAllowedException
10445//   Provides information about an API request or response.
10446//
10447//   * TooManyRequestsException
10448//   Provides information about an API request or response.
10449//
10450//   * ConflictException
10451//   Provides information about an API request or response.
10452//
10453// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateJourney
10454func (c *Pinpoint) UpdateJourney(input *UpdateJourneyInput) (*UpdateJourneyOutput, error) {
10455	req, out := c.UpdateJourneyRequest(input)
10456	return out, req.Send()
10457}
10458
10459// UpdateJourneyWithContext is the same as UpdateJourney with the addition of
10460// the ability to pass a context and additional request options.
10461//
10462// See UpdateJourney for details on how to use this API operation.
10463//
10464// The context must be non-nil and will be used for request cancellation. If
10465// the context is nil a panic will occur. In the future the SDK may create
10466// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10467// for more information on using Contexts.
10468func (c *Pinpoint) UpdateJourneyWithContext(ctx aws.Context, input *UpdateJourneyInput, opts ...request.Option) (*UpdateJourneyOutput, error) {
10469	req, out := c.UpdateJourneyRequest(input)
10470	req.SetContext(ctx)
10471	req.ApplyOptions(opts...)
10472	return out, req.Send()
10473}
10474
10475const opUpdateJourneyState = "UpdateJourneyState"
10476
10477// UpdateJourneyStateRequest generates a "aws/request.Request" representing the
10478// client's request for the UpdateJourneyState operation. The "output" return
10479// value will be populated with the request's response once the request completes
10480// successfully.
10481//
10482// Use "Send" method on the returned Request to send the API call to the service.
10483// the "output" return value is not valid until after Send returns without error.
10484//
10485// See UpdateJourneyState for more information on using the UpdateJourneyState
10486// API call, and error handling.
10487//
10488// This method is useful when you want to inject custom logic or configuration
10489// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10490//
10491//
10492//    // Example sending a request using the UpdateJourneyStateRequest method.
10493//    req, resp := client.UpdateJourneyStateRequest(params)
10494//
10495//    err := req.Send()
10496//    if err == nil { // resp is now filled
10497//        fmt.Println(resp)
10498//    }
10499//
10500// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateJourneyState
10501func (c *Pinpoint) UpdateJourneyStateRequest(input *UpdateJourneyStateInput) (req *request.Request, output *UpdateJourneyStateOutput) {
10502	op := &request.Operation{
10503		Name:       opUpdateJourneyState,
10504		HTTPMethod: "PUT",
10505		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}/state",
10506	}
10507
10508	if input == nil {
10509		input = &UpdateJourneyStateInput{}
10510	}
10511
10512	output = &UpdateJourneyStateOutput{}
10513	req = c.newRequest(op, input, output)
10514	return
10515}
10516
10517// UpdateJourneyState API operation for Amazon Pinpoint.
10518//
10519// Pause, resume or cancels (stops) a journey.
10520//
10521// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10522// with awserr.Error's Code and Message methods to get detailed information about
10523// the error.
10524//
10525// See the AWS API reference guide for Amazon Pinpoint's
10526// API operation UpdateJourneyState for usage and error information.
10527//
10528// Returned Error Types:
10529//   * BadRequestException
10530//   Provides information about an API request or response.
10531//
10532//   * InternalServerErrorException
10533//   Provides information about an API request or response.
10534//
10535//   * PayloadTooLargeException
10536//   Provides information about an API request or response.
10537//
10538//   * ForbiddenException
10539//   Provides information about an API request or response.
10540//
10541//   * NotFoundException
10542//   Provides information about an API request or response.
10543//
10544//   * MethodNotAllowedException
10545//   Provides information about an API request or response.
10546//
10547//   * TooManyRequestsException
10548//   Provides information about an API request or response.
10549//
10550// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateJourneyState
10551func (c *Pinpoint) UpdateJourneyState(input *UpdateJourneyStateInput) (*UpdateJourneyStateOutput, error) {
10552	req, out := c.UpdateJourneyStateRequest(input)
10553	return out, req.Send()
10554}
10555
10556// UpdateJourneyStateWithContext is the same as UpdateJourneyState with the addition of
10557// the ability to pass a context and additional request options.
10558//
10559// See UpdateJourneyState for details on how to use this API operation.
10560//
10561// The context must be non-nil and will be used for request cancellation. If
10562// the context is nil a panic will occur. In the future the SDK may create
10563// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10564// for more information on using Contexts.
10565func (c *Pinpoint) UpdateJourneyStateWithContext(ctx aws.Context, input *UpdateJourneyStateInput, opts ...request.Option) (*UpdateJourneyStateOutput, error) {
10566	req, out := c.UpdateJourneyStateRequest(input)
10567	req.SetContext(ctx)
10568	req.ApplyOptions(opts...)
10569	return out, req.Send()
10570}
10571
10572const opUpdatePushTemplate = "UpdatePushTemplate"
10573
10574// UpdatePushTemplateRequest generates a "aws/request.Request" representing the
10575// client's request for the UpdatePushTemplate operation. The "output" return
10576// value will be populated with the request's response once the request completes
10577// successfully.
10578//
10579// Use "Send" method on the returned Request to send the API call to the service.
10580// the "output" return value is not valid until after Send returns without error.
10581//
10582// See UpdatePushTemplate for more information on using the UpdatePushTemplate
10583// API call, and error handling.
10584//
10585// This method is useful when you want to inject custom logic or configuration
10586// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10587//
10588//
10589//    // Example sending a request using the UpdatePushTemplateRequest method.
10590//    req, resp := client.UpdatePushTemplateRequest(params)
10591//
10592//    err := req.Send()
10593//    if err == nil { // resp is now filled
10594//        fmt.Println(resp)
10595//    }
10596//
10597// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdatePushTemplate
10598func (c *Pinpoint) UpdatePushTemplateRequest(input *UpdatePushTemplateInput) (req *request.Request, output *UpdatePushTemplateOutput) {
10599	op := &request.Operation{
10600		Name:       opUpdatePushTemplate,
10601		HTTPMethod: "PUT",
10602		HTTPPath:   "/v1/templates/{template-name}/push",
10603	}
10604
10605	if input == nil {
10606		input = &UpdatePushTemplateInput{}
10607	}
10608
10609	output = &UpdatePushTemplateOutput{}
10610	req = c.newRequest(op, input, output)
10611	return
10612}
10613
10614// UpdatePushTemplate API operation for Amazon Pinpoint.
10615//
10616// Updates an existing message template for messages that are sent through a
10617// push notification channel.
10618//
10619// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10620// with awserr.Error's Code and Message methods to get detailed information about
10621// the error.
10622//
10623// See the AWS API reference guide for Amazon Pinpoint's
10624// API operation UpdatePushTemplate for usage and error information.
10625//
10626// Returned Error Types:
10627//   * BadRequestException
10628//   Provides information about an API request or response.
10629//
10630//   * InternalServerErrorException
10631//   Provides information about an API request or response.
10632//
10633//   * PayloadTooLargeException
10634//   Provides information about an API request or response.
10635//
10636//   * ForbiddenException
10637//   Provides information about an API request or response.
10638//
10639//   * NotFoundException
10640//   Provides information about an API request or response.
10641//
10642//   * MethodNotAllowedException
10643//   Provides information about an API request or response.
10644//
10645//   * TooManyRequestsException
10646//   Provides information about an API request or response.
10647//
10648// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdatePushTemplate
10649func (c *Pinpoint) UpdatePushTemplate(input *UpdatePushTemplateInput) (*UpdatePushTemplateOutput, error) {
10650	req, out := c.UpdatePushTemplateRequest(input)
10651	return out, req.Send()
10652}
10653
10654// UpdatePushTemplateWithContext is the same as UpdatePushTemplate with the addition of
10655// the ability to pass a context and additional request options.
10656//
10657// See UpdatePushTemplate for details on how to use this API operation.
10658//
10659// The context must be non-nil and will be used for request cancellation. If
10660// the context is nil a panic will occur. In the future the SDK may create
10661// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10662// for more information on using Contexts.
10663func (c *Pinpoint) UpdatePushTemplateWithContext(ctx aws.Context, input *UpdatePushTemplateInput, opts ...request.Option) (*UpdatePushTemplateOutput, error) {
10664	req, out := c.UpdatePushTemplateRequest(input)
10665	req.SetContext(ctx)
10666	req.ApplyOptions(opts...)
10667	return out, req.Send()
10668}
10669
10670const opUpdateRecommenderConfiguration = "UpdateRecommenderConfiguration"
10671
10672// UpdateRecommenderConfigurationRequest generates a "aws/request.Request" representing the
10673// client's request for the UpdateRecommenderConfiguration operation. The "output" return
10674// value will be populated with the request's response once the request completes
10675// successfully.
10676//
10677// Use "Send" method on the returned Request to send the API call to the service.
10678// the "output" return value is not valid until after Send returns without error.
10679//
10680// See UpdateRecommenderConfiguration for more information on using the UpdateRecommenderConfiguration
10681// API call, and error handling.
10682//
10683// This method is useful when you want to inject custom logic or configuration
10684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10685//
10686//
10687//    // Example sending a request using the UpdateRecommenderConfigurationRequest method.
10688//    req, resp := client.UpdateRecommenderConfigurationRequest(params)
10689//
10690//    err := req.Send()
10691//    if err == nil { // resp is now filled
10692//        fmt.Println(resp)
10693//    }
10694//
10695// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateRecommenderConfiguration
10696func (c *Pinpoint) UpdateRecommenderConfigurationRequest(input *UpdateRecommenderConfigurationInput) (req *request.Request, output *UpdateRecommenderConfigurationOutput) {
10697	op := &request.Operation{
10698		Name:       opUpdateRecommenderConfiguration,
10699		HTTPMethod: "PUT",
10700		HTTPPath:   "/v1/recommenders/{recommender-id}",
10701	}
10702
10703	if input == nil {
10704		input = &UpdateRecommenderConfigurationInput{}
10705	}
10706
10707	output = &UpdateRecommenderConfigurationOutput{}
10708	req = c.newRequest(op, input, output)
10709	return
10710}
10711
10712// UpdateRecommenderConfiguration API operation for Amazon Pinpoint.
10713//
10714// Updates an Amazon Pinpoint configuration for a recommender model.
10715//
10716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10717// with awserr.Error's Code and Message methods to get detailed information about
10718// the error.
10719//
10720// See the AWS API reference guide for Amazon Pinpoint's
10721// API operation UpdateRecommenderConfiguration for usage and error information.
10722//
10723// Returned Error Types:
10724//   * BadRequestException
10725//   Provides information about an API request or response.
10726//
10727//   * InternalServerErrorException
10728//   Provides information about an API request or response.
10729//
10730//   * PayloadTooLargeException
10731//   Provides information about an API request or response.
10732//
10733//   * ForbiddenException
10734//   Provides information about an API request or response.
10735//
10736//   * NotFoundException
10737//   Provides information about an API request or response.
10738//
10739//   * MethodNotAllowedException
10740//   Provides information about an API request or response.
10741//
10742//   * TooManyRequestsException
10743//   Provides information about an API request or response.
10744//
10745// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateRecommenderConfiguration
10746func (c *Pinpoint) UpdateRecommenderConfiguration(input *UpdateRecommenderConfigurationInput) (*UpdateRecommenderConfigurationOutput, error) {
10747	req, out := c.UpdateRecommenderConfigurationRequest(input)
10748	return out, req.Send()
10749}
10750
10751// UpdateRecommenderConfigurationWithContext is the same as UpdateRecommenderConfiguration with the addition of
10752// the ability to pass a context and additional request options.
10753//
10754// See UpdateRecommenderConfiguration for details on how to use this API operation.
10755//
10756// The context must be non-nil and will be used for request cancellation. If
10757// the context is nil a panic will occur. In the future the SDK may create
10758// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10759// for more information on using Contexts.
10760func (c *Pinpoint) UpdateRecommenderConfigurationWithContext(ctx aws.Context, input *UpdateRecommenderConfigurationInput, opts ...request.Option) (*UpdateRecommenderConfigurationOutput, error) {
10761	req, out := c.UpdateRecommenderConfigurationRequest(input)
10762	req.SetContext(ctx)
10763	req.ApplyOptions(opts...)
10764	return out, req.Send()
10765}
10766
10767const opUpdateSegment = "UpdateSegment"
10768
10769// UpdateSegmentRequest generates a "aws/request.Request" representing the
10770// client's request for the UpdateSegment operation. The "output" return
10771// value will be populated with the request's response once the request completes
10772// successfully.
10773//
10774// Use "Send" method on the returned Request to send the API call to the service.
10775// the "output" return value is not valid until after Send returns without error.
10776//
10777// See UpdateSegment for more information on using the UpdateSegment
10778// API call, and error handling.
10779//
10780// This method is useful when you want to inject custom logic or configuration
10781// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10782//
10783//
10784//    // Example sending a request using the UpdateSegmentRequest method.
10785//    req, resp := client.UpdateSegmentRequest(params)
10786//
10787//    err := req.Send()
10788//    if err == nil { // resp is now filled
10789//        fmt.Println(resp)
10790//    }
10791//
10792// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegment
10793func (c *Pinpoint) UpdateSegmentRequest(input *UpdateSegmentInput) (req *request.Request, output *UpdateSegmentOutput) {
10794	op := &request.Operation{
10795		Name:       opUpdateSegment,
10796		HTTPMethod: "PUT",
10797		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
10798	}
10799
10800	if input == nil {
10801		input = &UpdateSegmentInput{}
10802	}
10803
10804	output = &UpdateSegmentOutput{}
10805	req = c.newRequest(op, input, output)
10806	return
10807}
10808
10809// UpdateSegment API operation for Amazon Pinpoint.
10810//
10811// Creates a new segment for an application or updates the configuration, dimension,
10812// and other settings for an existing segment that's associated with an application.
10813//
10814// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10815// with awserr.Error's Code and Message methods to get detailed information about
10816// the error.
10817//
10818// See the AWS API reference guide for Amazon Pinpoint's
10819// API operation UpdateSegment for usage and error information.
10820//
10821// Returned Error Types:
10822//   * BadRequestException
10823//   Provides information about an API request or response.
10824//
10825//   * InternalServerErrorException
10826//   Provides information about an API request or response.
10827//
10828//   * PayloadTooLargeException
10829//   Provides information about an API request or response.
10830//
10831//   * ForbiddenException
10832//   Provides information about an API request or response.
10833//
10834//   * NotFoundException
10835//   Provides information about an API request or response.
10836//
10837//   * MethodNotAllowedException
10838//   Provides information about an API request or response.
10839//
10840//   * TooManyRequestsException
10841//   Provides information about an API request or response.
10842//
10843// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegment
10844func (c *Pinpoint) UpdateSegment(input *UpdateSegmentInput) (*UpdateSegmentOutput, error) {
10845	req, out := c.UpdateSegmentRequest(input)
10846	return out, req.Send()
10847}
10848
10849// UpdateSegmentWithContext is the same as UpdateSegment with the addition of
10850// the ability to pass a context and additional request options.
10851//
10852// See UpdateSegment for details on how to use this API operation.
10853//
10854// The context must be non-nil and will be used for request cancellation. If
10855// the context is nil a panic will occur. In the future the SDK may create
10856// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10857// for more information on using Contexts.
10858func (c *Pinpoint) UpdateSegmentWithContext(ctx aws.Context, input *UpdateSegmentInput, opts ...request.Option) (*UpdateSegmentOutput, error) {
10859	req, out := c.UpdateSegmentRequest(input)
10860	req.SetContext(ctx)
10861	req.ApplyOptions(opts...)
10862	return out, req.Send()
10863}
10864
10865const opUpdateSmsChannel = "UpdateSmsChannel"
10866
10867// UpdateSmsChannelRequest generates a "aws/request.Request" representing the
10868// client's request for the UpdateSmsChannel operation. The "output" return
10869// value will be populated with the request's response once the request completes
10870// successfully.
10871//
10872// Use "Send" method on the returned Request to send the API call to the service.
10873// the "output" return value is not valid until after Send returns without error.
10874//
10875// See UpdateSmsChannel for more information on using the UpdateSmsChannel
10876// API call, and error handling.
10877//
10878// This method is useful when you want to inject custom logic or configuration
10879// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10880//
10881//
10882//    // Example sending a request using the UpdateSmsChannelRequest method.
10883//    req, resp := client.UpdateSmsChannelRequest(params)
10884//
10885//    err := req.Send()
10886//    if err == nil { // resp is now filled
10887//        fmt.Println(resp)
10888//    }
10889//
10890// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannel
10891func (c *Pinpoint) UpdateSmsChannelRequest(input *UpdateSmsChannelInput) (req *request.Request, output *UpdateSmsChannelOutput) {
10892	op := &request.Operation{
10893		Name:       opUpdateSmsChannel,
10894		HTTPMethod: "PUT",
10895		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
10896	}
10897
10898	if input == nil {
10899		input = &UpdateSmsChannelInput{}
10900	}
10901
10902	output = &UpdateSmsChannelOutput{}
10903	req = c.newRequest(op, input, output)
10904	return
10905}
10906
10907// UpdateSmsChannel API operation for Amazon Pinpoint.
10908//
10909// Enables the SMS channel for an application or updates the status and settings
10910// of the SMS channel for an application.
10911//
10912// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10913// with awserr.Error's Code and Message methods to get detailed information about
10914// the error.
10915//
10916// See the AWS API reference guide for Amazon Pinpoint's
10917// API operation UpdateSmsChannel for usage and error information.
10918//
10919// Returned Error Types:
10920//   * BadRequestException
10921//   Provides information about an API request or response.
10922//
10923//   * InternalServerErrorException
10924//   Provides information about an API request or response.
10925//
10926//   * PayloadTooLargeException
10927//   Provides information about an API request or response.
10928//
10929//   * ForbiddenException
10930//   Provides information about an API request or response.
10931//
10932//   * NotFoundException
10933//   Provides information about an API request or response.
10934//
10935//   * MethodNotAllowedException
10936//   Provides information about an API request or response.
10937//
10938//   * TooManyRequestsException
10939//   Provides information about an API request or response.
10940//
10941// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannel
10942func (c *Pinpoint) UpdateSmsChannel(input *UpdateSmsChannelInput) (*UpdateSmsChannelOutput, error) {
10943	req, out := c.UpdateSmsChannelRequest(input)
10944	return out, req.Send()
10945}
10946
10947// UpdateSmsChannelWithContext is the same as UpdateSmsChannel with the addition of
10948// the ability to pass a context and additional request options.
10949//
10950// See UpdateSmsChannel for details on how to use this API operation.
10951//
10952// The context must be non-nil and will be used for request cancellation. If
10953// the context is nil a panic will occur. In the future the SDK may create
10954// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10955// for more information on using Contexts.
10956func (c *Pinpoint) UpdateSmsChannelWithContext(ctx aws.Context, input *UpdateSmsChannelInput, opts ...request.Option) (*UpdateSmsChannelOutput, error) {
10957	req, out := c.UpdateSmsChannelRequest(input)
10958	req.SetContext(ctx)
10959	req.ApplyOptions(opts...)
10960	return out, req.Send()
10961}
10962
10963const opUpdateSmsTemplate = "UpdateSmsTemplate"
10964
10965// UpdateSmsTemplateRequest generates a "aws/request.Request" representing the
10966// client's request for the UpdateSmsTemplate operation. The "output" return
10967// value will be populated with the request's response once the request completes
10968// successfully.
10969//
10970// Use "Send" method on the returned Request to send the API call to the service.
10971// the "output" return value is not valid until after Send returns without error.
10972//
10973// See UpdateSmsTemplate for more information on using the UpdateSmsTemplate
10974// API call, and error handling.
10975//
10976// This method is useful when you want to inject custom logic or configuration
10977// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10978//
10979//
10980//    // Example sending a request using the UpdateSmsTemplateRequest method.
10981//    req, resp := client.UpdateSmsTemplateRequest(params)
10982//
10983//    err := req.Send()
10984//    if err == nil { // resp is now filled
10985//        fmt.Println(resp)
10986//    }
10987//
10988// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsTemplate
10989func (c *Pinpoint) UpdateSmsTemplateRequest(input *UpdateSmsTemplateInput) (req *request.Request, output *UpdateSmsTemplateOutput) {
10990	op := &request.Operation{
10991		Name:       opUpdateSmsTemplate,
10992		HTTPMethod: "PUT",
10993		HTTPPath:   "/v1/templates/{template-name}/sms",
10994	}
10995
10996	if input == nil {
10997		input = &UpdateSmsTemplateInput{}
10998	}
10999
11000	output = &UpdateSmsTemplateOutput{}
11001	req = c.newRequest(op, input, output)
11002	return
11003}
11004
11005// UpdateSmsTemplate API operation for Amazon Pinpoint.
11006//
11007// Updates an existing message template for messages that are sent through the
11008// SMS channel.
11009//
11010// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11011// with awserr.Error's Code and Message methods to get detailed information about
11012// the error.
11013//
11014// See the AWS API reference guide for Amazon Pinpoint's
11015// API operation UpdateSmsTemplate for usage and error information.
11016//
11017// Returned Error Types:
11018//   * BadRequestException
11019//   Provides information about an API request or response.
11020//
11021//   * InternalServerErrorException
11022//   Provides information about an API request or response.
11023//
11024//   * PayloadTooLargeException
11025//   Provides information about an API request or response.
11026//
11027//   * ForbiddenException
11028//   Provides information about an API request or response.
11029//
11030//   * NotFoundException
11031//   Provides information about an API request or response.
11032//
11033//   * MethodNotAllowedException
11034//   Provides information about an API request or response.
11035//
11036//   * TooManyRequestsException
11037//   Provides information about an API request or response.
11038//
11039// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsTemplate
11040func (c *Pinpoint) UpdateSmsTemplate(input *UpdateSmsTemplateInput) (*UpdateSmsTemplateOutput, error) {
11041	req, out := c.UpdateSmsTemplateRequest(input)
11042	return out, req.Send()
11043}
11044
11045// UpdateSmsTemplateWithContext is the same as UpdateSmsTemplate with the addition of
11046// the ability to pass a context and additional request options.
11047//
11048// See UpdateSmsTemplate for details on how to use this API operation.
11049//
11050// The context must be non-nil and will be used for request cancellation. If
11051// the context is nil a panic will occur. In the future the SDK may create
11052// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11053// for more information on using Contexts.
11054func (c *Pinpoint) UpdateSmsTemplateWithContext(ctx aws.Context, input *UpdateSmsTemplateInput, opts ...request.Option) (*UpdateSmsTemplateOutput, error) {
11055	req, out := c.UpdateSmsTemplateRequest(input)
11056	req.SetContext(ctx)
11057	req.ApplyOptions(opts...)
11058	return out, req.Send()
11059}
11060
11061const opUpdateTemplateActiveVersion = "UpdateTemplateActiveVersion"
11062
11063// UpdateTemplateActiveVersionRequest generates a "aws/request.Request" representing the
11064// client's request for the UpdateTemplateActiveVersion operation. The "output" return
11065// value will be populated with the request's response once the request completes
11066// successfully.
11067//
11068// Use "Send" method on the returned Request to send the API call to the service.
11069// the "output" return value is not valid until after Send returns without error.
11070//
11071// See UpdateTemplateActiveVersion for more information on using the UpdateTemplateActiveVersion
11072// API call, and error handling.
11073//
11074// This method is useful when you want to inject custom logic or configuration
11075// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11076//
11077//
11078//    // Example sending a request using the UpdateTemplateActiveVersionRequest method.
11079//    req, resp := client.UpdateTemplateActiveVersionRequest(params)
11080//
11081//    err := req.Send()
11082//    if err == nil { // resp is now filled
11083//        fmt.Println(resp)
11084//    }
11085//
11086// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateTemplateActiveVersion
11087func (c *Pinpoint) UpdateTemplateActiveVersionRequest(input *UpdateTemplateActiveVersionInput) (req *request.Request, output *UpdateTemplateActiveVersionOutput) {
11088	op := &request.Operation{
11089		Name:       opUpdateTemplateActiveVersion,
11090		HTTPMethod: "PUT",
11091		HTTPPath:   "/v1/templates/{template-name}/{template-type}/active-version",
11092	}
11093
11094	if input == nil {
11095		input = &UpdateTemplateActiveVersionInput{}
11096	}
11097
11098	output = &UpdateTemplateActiveVersionOutput{}
11099	req = c.newRequest(op, input, output)
11100	return
11101}
11102
11103// UpdateTemplateActiveVersion API operation for Amazon Pinpoint.
11104//
11105// Changes the status of a specific version of a message template to active.
11106//
11107// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11108// with awserr.Error's Code and Message methods to get detailed information about
11109// the error.
11110//
11111// See the AWS API reference guide for Amazon Pinpoint's
11112// API operation UpdateTemplateActiveVersion for usage and error information.
11113//
11114// Returned Error Types:
11115//   * BadRequestException
11116//   Provides information about an API request or response.
11117//
11118//   * InternalServerErrorException
11119//   Provides information about an API request or response.
11120//
11121//   * PayloadTooLargeException
11122//   Provides information about an API request or response.
11123//
11124//   * ForbiddenException
11125//   Provides information about an API request or response.
11126//
11127//   * NotFoundException
11128//   Provides information about an API request or response.
11129//
11130//   * MethodNotAllowedException
11131//   Provides information about an API request or response.
11132//
11133//   * TooManyRequestsException
11134//   Provides information about an API request or response.
11135//
11136// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateTemplateActiveVersion
11137func (c *Pinpoint) UpdateTemplateActiveVersion(input *UpdateTemplateActiveVersionInput) (*UpdateTemplateActiveVersionOutput, error) {
11138	req, out := c.UpdateTemplateActiveVersionRequest(input)
11139	return out, req.Send()
11140}
11141
11142// UpdateTemplateActiveVersionWithContext is the same as UpdateTemplateActiveVersion with the addition of
11143// the ability to pass a context and additional request options.
11144//
11145// See UpdateTemplateActiveVersion for details on how to use this API operation.
11146//
11147// The context must be non-nil and will be used for request cancellation. If
11148// the context is nil a panic will occur. In the future the SDK may create
11149// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11150// for more information on using Contexts.
11151func (c *Pinpoint) UpdateTemplateActiveVersionWithContext(ctx aws.Context, input *UpdateTemplateActiveVersionInput, opts ...request.Option) (*UpdateTemplateActiveVersionOutput, error) {
11152	req, out := c.UpdateTemplateActiveVersionRequest(input)
11153	req.SetContext(ctx)
11154	req.ApplyOptions(opts...)
11155	return out, req.Send()
11156}
11157
11158const opUpdateVoiceChannel = "UpdateVoiceChannel"
11159
11160// UpdateVoiceChannelRequest generates a "aws/request.Request" representing the
11161// client's request for the UpdateVoiceChannel operation. The "output" return
11162// value will be populated with the request's response once the request completes
11163// successfully.
11164//
11165// Use "Send" method on the returned Request to send the API call to the service.
11166// the "output" return value is not valid until after Send returns without error.
11167//
11168// See UpdateVoiceChannel for more information on using the UpdateVoiceChannel
11169// API call, and error handling.
11170//
11171// This method is useful when you want to inject custom logic or configuration
11172// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11173//
11174//
11175//    // Example sending a request using the UpdateVoiceChannelRequest method.
11176//    req, resp := client.UpdateVoiceChannelRequest(params)
11177//
11178//    err := req.Send()
11179//    if err == nil { // resp is now filled
11180//        fmt.Println(resp)
11181//    }
11182//
11183// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceChannel
11184func (c *Pinpoint) UpdateVoiceChannelRequest(input *UpdateVoiceChannelInput) (req *request.Request, output *UpdateVoiceChannelOutput) {
11185	op := &request.Operation{
11186		Name:       opUpdateVoiceChannel,
11187		HTTPMethod: "PUT",
11188		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
11189	}
11190
11191	if input == nil {
11192		input = &UpdateVoiceChannelInput{}
11193	}
11194
11195	output = &UpdateVoiceChannelOutput{}
11196	req = c.newRequest(op, input, output)
11197	return
11198}
11199
11200// UpdateVoiceChannel API operation for Amazon Pinpoint.
11201//
11202// Enables the voice channel for an application or updates the status and settings
11203// of the voice channel for an application.
11204//
11205// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11206// with awserr.Error's Code and Message methods to get detailed information about
11207// the error.
11208//
11209// See the AWS API reference guide for Amazon Pinpoint's
11210// API operation UpdateVoiceChannel for usage and error information.
11211//
11212// Returned Error Types:
11213//   * BadRequestException
11214//   Provides information about an API request or response.
11215//
11216//   * InternalServerErrorException
11217//   Provides information about an API request or response.
11218//
11219//   * PayloadTooLargeException
11220//   Provides information about an API request or response.
11221//
11222//   * ForbiddenException
11223//   Provides information about an API request or response.
11224//
11225//   * NotFoundException
11226//   Provides information about an API request or response.
11227//
11228//   * MethodNotAllowedException
11229//   Provides information about an API request or response.
11230//
11231//   * TooManyRequestsException
11232//   Provides information about an API request or response.
11233//
11234// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceChannel
11235func (c *Pinpoint) UpdateVoiceChannel(input *UpdateVoiceChannelInput) (*UpdateVoiceChannelOutput, error) {
11236	req, out := c.UpdateVoiceChannelRequest(input)
11237	return out, req.Send()
11238}
11239
11240// UpdateVoiceChannelWithContext is the same as UpdateVoiceChannel with the addition of
11241// the ability to pass a context and additional request options.
11242//
11243// See UpdateVoiceChannel for details on how to use this API operation.
11244//
11245// The context must be non-nil and will be used for request cancellation. If
11246// the context is nil a panic will occur. In the future the SDK may create
11247// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11248// for more information on using Contexts.
11249func (c *Pinpoint) UpdateVoiceChannelWithContext(ctx aws.Context, input *UpdateVoiceChannelInput, opts ...request.Option) (*UpdateVoiceChannelOutput, error) {
11250	req, out := c.UpdateVoiceChannelRequest(input)
11251	req.SetContext(ctx)
11252	req.ApplyOptions(opts...)
11253	return out, req.Send()
11254}
11255
11256const opUpdateVoiceTemplate = "UpdateVoiceTemplate"
11257
11258// UpdateVoiceTemplateRequest generates a "aws/request.Request" representing the
11259// client's request for the UpdateVoiceTemplate operation. The "output" return
11260// value will be populated with the request's response once the request completes
11261// successfully.
11262//
11263// Use "Send" method on the returned Request to send the API call to the service.
11264// the "output" return value is not valid until after Send returns without error.
11265//
11266// See UpdateVoiceTemplate for more information on using the UpdateVoiceTemplate
11267// API call, and error handling.
11268//
11269// This method is useful when you want to inject custom logic or configuration
11270// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11271//
11272//
11273//    // Example sending a request using the UpdateVoiceTemplateRequest method.
11274//    req, resp := client.UpdateVoiceTemplateRequest(params)
11275//
11276//    err := req.Send()
11277//    if err == nil { // resp is now filled
11278//        fmt.Println(resp)
11279//    }
11280//
11281// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceTemplate
11282func (c *Pinpoint) UpdateVoiceTemplateRequest(input *UpdateVoiceTemplateInput) (req *request.Request, output *UpdateVoiceTemplateOutput) {
11283	op := &request.Operation{
11284		Name:       opUpdateVoiceTemplate,
11285		HTTPMethod: "PUT",
11286		HTTPPath:   "/v1/templates/{template-name}/voice",
11287	}
11288
11289	if input == nil {
11290		input = &UpdateVoiceTemplateInput{}
11291	}
11292
11293	output = &UpdateVoiceTemplateOutput{}
11294	req = c.newRequest(op, input, output)
11295	return
11296}
11297
11298// UpdateVoiceTemplate API operation for Amazon Pinpoint.
11299//
11300// Updates an existing message template for messages that are sent through the
11301// voice channel.
11302//
11303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11304// with awserr.Error's Code and Message methods to get detailed information about
11305// the error.
11306//
11307// See the AWS API reference guide for Amazon Pinpoint's
11308// API operation UpdateVoiceTemplate for usage and error information.
11309//
11310// Returned Error Types:
11311//   * BadRequestException
11312//   Provides information about an API request or response.
11313//
11314//   * InternalServerErrorException
11315//   Provides information about an API request or response.
11316//
11317//   * PayloadTooLargeException
11318//   Provides information about an API request or response.
11319//
11320//   * ForbiddenException
11321//   Provides information about an API request or response.
11322//
11323//   * NotFoundException
11324//   Provides information about an API request or response.
11325//
11326//   * MethodNotAllowedException
11327//   Provides information about an API request or response.
11328//
11329//   * TooManyRequestsException
11330//   Provides information about an API request or response.
11331//
11332// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceTemplate
11333func (c *Pinpoint) UpdateVoiceTemplate(input *UpdateVoiceTemplateInput) (*UpdateVoiceTemplateOutput, error) {
11334	req, out := c.UpdateVoiceTemplateRequest(input)
11335	return out, req.Send()
11336}
11337
11338// UpdateVoiceTemplateWithContext is the same as UpdateVoiceTemplate with the addition of
11339// the ability to pass a context and additional request options.
11340//
11341// See UpdateVoiceTemplate for details on how to use this API operation.
11342//
11343// The context must be non-nil and will be used for request cancellation. If
11344// the context is nil a panic will occur. In the future the SDK may create
11345// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11346// for more information on using Contexts.
11347func (c *Pinpoint) UpdateVoiceTemplateWithContext(ctx aws.Context, input *UpdateVoiceTemplateInput, opts ...request.Option) (*UpdateVoiceTemplateOutput, error) {
11348	req, out := c.UpdateVoiceTemplateRequest(input)
11349	req.SetContext(ctx)
11350	req.ApplyOptions(opts...)
11351	return out, req.Send()
11352}
11353
11354// Specifies the status and settings of the ADM (Amazon Device Messaging) channel
11355// for an application.
11356type ADMChannelRequest struct {
11357	_ struct{} `type:"structure"`
11358
11359	// The Client ID that you received from Amazon to send messages by using ADM.
11360	//
11361	// ClientId is a required field
11362	ClientId *string `type:"string" required:"true"`
11363
11364	// The Client Secret that you received from Amazon to send messages by using
11365	// ADM.
11366	//
11367	// ClientSecret is a required field
11368	ClientSecret *string `type:"string" required:"true"`
11369
11370	// Specifies whether to enable the ADM channel for the application.
11371	Enabled *bool `type:"boolean"`
11372}
11373
11374// String returns the string representation.
11375//
11376// API parameter values that are decorated as "sensitive" in the API will not
11377// be included in the string output. The member name will be present, but the
11378// value will be replaced with "sensitive".
11379func (s ADMChannelRequest) String() string {
11380	return awsutil.Prettify(s)
11381}
11382
11383// GoString returns the string representation.
11384//
11385// API parameter values that are decorated as "sensitive" in the API will not
11386// be included in the string output. The member name will be present, but the
11387// value will be replaced with "sensitive".
11388func (s ADMChannelRequest) GoString() string {
11389	return s.String()
11390}
11391
11392// Validate inspects the fields of the type to determine if they are valid.
11393func (s *ADMChannelRequest) Validate() error {
11394	invalidParams := request.ErrInvalidParams{Context: "ADMChannelRequest"}
11395	if s.ClientId == nil {
11396		invalidParams.Add(request.NewErrParamRequired("ClientId"))
11397	}
11398	if s.ClientSecret == nil {
11399		invalidParams.Add(request.NewErrParamRequired("ClientSecret"))
11400	}
11401
11402	if invalidParams.Len() > 0 {
11403		return invalidParams
11404	}
11405	return nil
11406}
11407
11408// SetClientId sets the ClientId field's value.
11409func (s *ADMChannelRequest) SetClientId(v string) *ADMChannelRequest {
11410	s.ClientId = &v
11411	return s
11412}
11413
11414// SetClientSecret sets the ClientSecret field's value.
11415func (s *ADMChannelRequest) SetClientSecret(v string) *ADMChannelRequest {
11416	s.ClientSecret = &v
11417	return s
11418}
11419
11420// SetEnabled sets the Enabled field's value.
11421func (s *ADMChannelRequest) SetEnabled(v bool) *ADMChannelRequest {
11422	s.Enabled = &v
11423	return s
11424}
11425
11426// Provides information about the status and settings of the ADM (Amazon Device
11427// Messaging) channel for an application.
11428type ADMChannelResponse struct {
11429	_ struct{} `type:"structure"`
11430
11431	// The unique identifier for the application that the ADM channel applies to.
11432	ApplicationId *string `type:"string"`
11433
11434	// The date and time when the ADM channel was enabled.
11435	CreationDate *string `type:"string"`
11436
11437	// Specifies whether the ADM channel is enabled for the application.
11438	Enabled *bool `type:"boolean"`
11439
11440	// (Not used) This property is retained only for backward compatibility.
11441	HasCredential *bool `type:"boolean"`
11442
11443	// (Deprecated) An identifier for the ADM channel. This property is retained
11444	// only for backward compatibility.
11445	Id *string `type:"string"`
11446
11447	// Specifies whether the ADM channel is archived.
11448	IsArchived *bool `type:"boolean"`
11449
11450	// The user who last modified the ADM channel.
11451	LastModifiedBy *string `type:"string"`
11452
11453	// The date and time when the ADM channel was last modified.
11454	LastModifiedDate *string `type:"string"`
11455
11456	// The type of messaging or notification platform for the channel. For the ADM
11457	// channel, this value is ADM.
11458	//
11459	// Platform is a required field
11460	Platform *string `type:"string" required:"true"`
11461
11462	// The current version of the ADM channel.
11463	Version *int64 `type:"integer"`
11464}
11465
11466// String returns the string representation.
11467//
11468// API parameter values that are decorated as "sensitive" in the API will not
11469// be included in the string output. The member name will be present, but the
11470// value will be replaced with "sensitive".
11471func (s ADMChannelResponse) String() string {
11472	return awsutil.Prettify(s)
11473}
11474
11475// GoString returns the string representation.
11476//
11477// API parameter values that are decorated as "sensitive" in the API will not
11478// be included in the string output. The member name will be present, but the
11479// value will be replaced with "sensitive".
11480func (s ADMChannelResponse) GoString() string {
11481	return s.String()
11482}
11483
11484// SetApplicationId sets the ApplicationId field's value.
11485func (s *ADMChannelResponse) SetApplicationId(v string) *ADMChannelResponse {
11486	s.ApplicationId = &v
11487	return s
11488}
11489
11490// SetCreationDate sets the CreationDate field's value.
11491func (s *ADMChannelResponse) SetCreationDate(v string) *ADMChannelResponse {
11492	s.CreationDate = &v
11493	return s
11494}
11495
11496// SetEnabled sets the Enabled field's value.
11497func (s *ADMChannelResponse) SetEnabled(v bool) *ADMChannelResponse {
11498	s.Enabled = &v
11499	return s
11500}
11501
11502// SetHasCredential sets the HasCredential field's value.
11503func (s *ADMChannelResponse) SetHasCredential(v bool) *ADMChannelResponse {
11504	s.HasCredential = &v
11505	return s
11506}
11507
11508// SetId sets the Id field's value.
11509func (s *ADMChannelResponse) SetId(v string) *ADMChannelResponse {
11510	s.Id = &v
11511	return s
11512}
11513
11514// SetIsArchived sets the IsArchived field's value.
11515func (s *ADMChannelResponse) SetIsArchived(v bool) *ADMChannelResponse {
11516	s.IsArchived = &v
11517	return s
11518}
11519
11520// SetLastModifiedBy sets the LastModifiedBy field's value.
11521func (s *ADMChannelResponse) SetLastModifiedBy(v string) *ADMChannelResponse {
11522	s.LastModifiedBy = &v
11523	return s
11524}
11525
11526// SetLastModifiedDate sets the LastModifiedDate field's value.
11527func (s *ADMChannelResponse) SetLastModifiedDate(v string) *ADMChannelResponse {
11528	s.LastModifiedDate = &v
11529	return s
11530}
11531
11532// SetPlatform sets the Platform field's value.
11533func (s *ADMChannelResponse) SetPlatform(v string) *ADMChannelResponse {
11534	s.Platform = &v
11535	return s
11536}
11537
11538// SetVersion sets the Version field's value.
11539func (s *ADMChannelResponse) SetVersion(v int64) *ADMChannelResponse {
11540	s.Version = &v
11541	return s
11542}
11543
11544// Specifies the settings for a one-time message that's sent directly to an
11545// endpoint through the ADM (Amazon Device Messaging) channel.
11546type ADMMessage struct {
11547	_ struct{} `type:"structure"`
11548
11549	// The action to occur if the recipient taps the push notification. Valid values
11550	// are:
11551	//
11552	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
11553	//    sent to the background. This is the default action.
11554	//
11555	//    * DEEP_LINK - Your app opens and displays a designated user interface
11556	//    in the app. This action uses the deep-linking features of the Android
11557	//    platform.
11558	//
11559	//    * URL - The default mobile browser on the recipient's device opens and
11560	//    loads the web page at a URL that you specify.
11561	Action *string `type:"string" enum:"Action"`
11562
11563	// The body of the notification message.
11564	Body *string `type:"string"`
11565
11566	// An arbitrary string that indicates that multiple messages are logically the
11567	// same and that Amazon Device Messaging (ADM) can drop previously enqueued
11568	// messages in favor of this message.
11569	ConsolidationKey *string `type:"string"`
11570
11571	// The JSON data payload to use for the push notification, if the notification
11572	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
11573	// object of the notification.
11574	Data map[string]*string `type:"map"`
11575
11576	// The amount of time, in seconds, that ADM should store the message if the
11577	// recipient's device is offline. Amazon Pinpoint specifies this value in the
11578	// expiresAfter parameter when it sends the notification message to ADM.
11579	ExpiresAfter *string `type:"string"`
11580
11581	// The icon image name of the asset saved in your app.
11582	IconReference *string `type:"string"`
11583
11584	// The URL of the large icon image to display in the content view of the push
11585	// notification.
11586	ImageIconUrl *string `type:"string"`
11587
11588	// The URL of an image to display in the push notification.
11589	ImageUrl *string `type:"string"`
11590
11591	// The base64-encoded, MD5 checksum of the value specified by the Data property.
11592	// ADM uses the MD5 value to verify the integrity of the data.
11593	MD5 *string `type:"string"`
11594
11595	// The raw, JSON-formatted string to use as the payload for the notification
11596	// message. If specified, this value overrides all other content for the message.
11597	RawContent *string `type:"string"`
11598
11599	// Specifies whether the notification is a silent push notification, which is
11600	// a push notification that doesn't display on a recipient's device. Silent
11601	// push notifications can be used for cases such as updating an app's configuration
11602	// or supporting phone home functionality.
11603	SilentPush *bool `type:"boolean"`
11604
11605	// The URL of the small icon image to display in the status bar and the content
11606	// view of the push notification.
11607	SmallImageIconUrl *string `type:"string"`
11608
11609	// The sound to play when the recipient receives the push notification. You
11610	// can use the default stream or specify the file name of a sound resource that's
11611	// bundled in your app. On an Android platform, the sound file must reside in
11612	// /res/raw/.
11613	Sound *string `type:"string"`
11614
11615	// The default message variables to use in the notification message. You can
11616	// override the default variables with individual address variables.
11617	Substitutions map[string][]*string `type:"map"`
11618
11619	// The title to display above the notification message on the recipient's device.
11620	Title *string `type:"string"`
11621
11622	// The URL to open in the recipient's default mobile browser, if a recipient
11623	// taps the push notification and the value of the Action property is URL.
11624	Url *string `type:"string"`
11625}
11626
11627// String returns the string representation.
11628//
11629// API parameter values that are decorated as "sensitive" in the API will not
11630// be included in the string output. The member name will be present, but the
11631// value will be replaced with "sensitive".
11632func (s ADMMessage) String() string {
11633	return awsutil.Prettify(s)
11634}
11635
11636// GoString returns the string representation.
11637//
11638// API parameter values that are decorated as "sensitive" in the API will not
11639// be included in the string output. The member name will be present, but the
11640// value will be replaced with "sensitive".
11641func (s ADMMessage) GoString() string {
11642	return s.String()
11643}
11644
11645// SetAction sets the Action field's value.
11646func (s *ADMMessage) SetAction(v string) *ADMMessage {
11647	s.Action = &v
11648	return s
11649}
11650
11651// SetBody sets the Body field's value.
11652func (s *ADMMessage) SetBody(v string) *ADMMessage {
11653	s.Body = &v
11654	return s
11655}
11656
11657// SetConsolidationKey sets the ConsolidationKey field's value.
11658func (s *ADMMessage) SetConsolidationKey(v string) *ADMMessage {
11659	s.ConsolidationKey = &v
11660	return s
11661}
11662
11663// SetData sets the Data field's value.
11664func (s *ADMMessage) SetData(v map[string]*string) *ADMMessage {
11665	s.Data = v
11666	return s
11667}
11668
11669// SetExpiresAfter sets the ExpiresAfter field's value.
11670func (s *ADMMessage) SetExpiresAfter(v string) *ADMMessage {
11671	s.ExpiresAfter = &v
11672	return s
11673}
11674
11675// SetIconReference sets the IconReference field's value.
11676func (s *ADMMessage) SetIconReference(v string) *ADMMessage {
11677	s.IconReference = &v
11678	return s
11679}
11680
11681// SetImageIconUrl sets the ImageIconUrl field's value.
11682func (s *ADMMessage) SetImageIconUrl(v string) *ADMMessage {
11683	s.ImageIconUrl = &v
11684	return s
11685}
11686
11687// SetImageUrl sets the ImageUrl field's value.
11688func (s *ADMMessage) SetImageUrl(v string) *ADMMessage {
11689	s.ImageUrl = &v
11690	return s
11691}
11692
11693// SetMD5 sets the MD5 field's value.
11694func (s *ADMMessage) SetMD5(v string) *ADMMessage {
11695	s.MD5 = &v
11696	return s
11697}
11698
11699// SetRawContent sets the RawContent field's value.
11700func (s *ADMMessage) SetRawContent(v string) *ADMMessage {
11701	s.RawContent = &v
11702	return s
11703}
11704
11705// SetSilentPush sets the SilentPush field's value.
11706func (s *ADMMessage) SetSilentPush(v bool) *ADMMessage {
11707	s.SilentPush = &v
11708	return s
11709}
11710
11711// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
11712func (s *ADMMessage) SetSmallImageIconUrl(v string) *ADMMessage {
11713	s.SmallImageIconUrl = &v
11714	return s
11715}
11716
11717// SetSound sets the Sound field's value.
11718func (s *ADMMessage) SetSound(v string) *ADMMessage {
11719	s.Sound = &v
11720	return s
11721}
11722
11723// SetSubstitutions sets the Substitutions field's value.
11724func (s *ADMMessage) SetSubstitutions(v map[string][]*string) *ADMMessage {
11725	s.Substitutions = v
11726	return s
11727}
11728
11729// SetTitle sets the Title field's value.
11730func (s *ADMMessage) SetTitle(v string) *ADMMessage {
11731	s.Title = &v
11732	return s
11733}
11734
11735// SetUrl sets the Url field's value.
11736func (s *ADMMessage) SetUrl(v string) *ADMMessage {
11737	s.Url = &v
11738	return s
11739}
11740
11741// Specifies the status and settings of the APNs (Apple Push Notification service)
11742// channel for an application.
11743type APNSChannelRequest struct {
11744	_ struct{} `type:"structure"`
11745
11746	// The bundle identifier that's assigned to your iOS app. This identifier is
11747	// used for APNs tokens.
11748	BundleId *string `type:"string"`
11749
11750	// The APNs client certificate that you received from Apple, if you want Amazon
11751	// Pinpoint to communicate with APNs by using an APNs certificate.
11752	Certificate *string `type:"string"`
11753
11754	// The default authentication method that you want Amazon Pinpoint to use when
11755	// authenticating with APNs, key or certificate.
11756	DefaultAuthenticationMethod *string `type:"string"`
11757
11758	// Specifies whether to enable the APNs channel for the application.
11759	Enabled *bool `type:"boolean"`
11760
11761	// The private key for the APNs client certificate that you want Amazon Pinpoint
11762	// to use to communicate with APNs.
11763	PrivateKey *string `type:"string"`
11764
11765	// The identifier that's assigned to your Apple developer account team. This
11766	// identifier is used for APNs tokens.
11767	TeamId *string `type:"string"`
11768
11769	// The authentication key to use for APNs tokens.
11770	TokenKey *string `type:"string"`
11771
11772	// The key identifier that's assigned to your APNs signing key, if you want
11773	// Amazon Pinpoint to communicate with APNs by using APNs tokens.
11774	TokenKeyId *string `type:"string"`
11775}
11776
11777// String returns the string representation.
11778//
11779// API parameter values that are decorated as "sensitive" in the API will not
11780// be included in the string output. The member name will be present, but the
11781// value will be replaced with "sensitive".
11782func (s APNSChannelRequest) String() string {
11783	return awsutil.Prettify(s)
11784}
11785
11786// GoString returns the string representation.
11787//
11788// API parameter values that are decorated as "sensitive" in the API will not
11789// be included in the string output. The member name will be present, but the
11790// value will be replaced with "sensitive".
11791func (s APNSChannelRequest) GoString() string {
11792	return s.String()
11793}
11794
11795// SetBundleId sets the BundleId field's value.
11796func (s *APNSChannelRequest) SetBundleId(v string) *APNSChannelRequest {
11797	s.BundleId = &v
11798	return s
11799}
11800
11801// SetCertificate sets the Certificate field's value.
11802func (s *APNSChannelRequest) SetCertificate(v string) *APNSChannelRequest {
11803	s.Certificate = &v
11804	return s
11805}
11806
11807// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
11808func (s *APNSChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSChannelRequest {
11809	s.DefaultAuthenticationMethod = &v
11810	return s
11811}
11812
11813// SetEnabled sets the Enabled field's value.
11814func (s *APNSChannelRequest) SetEnabled(v bool) *APNSChannelRequest {
11815	s.Enabled = &v
11816	return s
11817}
11818
11819// SetPrivateKey sets the PrivateKey field's value.
11820func (s *APNSChannelRequest) SetPrivateKey(v string) *APNSChannelRequest {
11821	s.PrivateKey = &v
11822	return s
11823}
11824
11825// SetTeamId sets the TeamId field's value.
11826func (s *APNSChannelRequest) SetTeamId(v string) *APNSChannelRequest {
11827	s.TeamId = &v
11828	return s
11829}
11830
11831// SetTokenKey sets the TokenKey field's value.
11832func (s *APNSChannelRequest) SetTokenKey(v string) *APNSChannelRequest {
11833	s.TokenKey = &v
11834	return s
11835}
11836
11837// SetTokenKeyId sets the TokenKeyId field's value.
11838func (s *APNSChannelRequest) SetTokenKeyId(v string) *APNSChannelRequest {
11839	s.TokenKeyId = &v
11840	return s
11841}
11842
11843// Provides information about the status and settings of the APNs (Apple Push
11844// Notification service) channel for an application.
11845type APNSChannelResponse struct {
11846	_ struct{} `type:"structure"`
11847
11848	// The unique identifier for the application that the APNs channel applies to.
11849	ApplicationId *string `type:"string"`
11850
11851	// The date and time when the APNs channel was enabled.
11852	CreationDate *string `type:"string"`
11853
11854	// The default authentication method that Amazon Pinpoint uses to authenticate
11855	// with APNs for this channel, key or certificate.
11856	DefaultAuthenticationMethod *string `type:"string"`
11857
11858	// Specifies whether the APNs channel is enabled for the application.
11859	Enabled *bool `type:"boolean"`
11860
11861	// (Not used) This property is retained only for backward compatibility.
11862	HasCredential *bool `type:"boolean"`
11863
11864	// Specifies whether the APNs channel is configured to communicate with APNs
11865	// by using APNs tokens. To provide an authentication key for APNs tokens, set
11866	// the TokenKey property of the channel.
11867	HasTokenKey *bool `type:"boolean"`
11868
11869	// (Deprecated) An identifier for the APNs channel. This property is retained
11870	// only for backward compatibility.
11871	Id *string `type:"string"`
11872
11873	// Specifies whether the APNs channel is archived.
11874	IsArchived *bool `type:"boolean"`
11875
11876	// The user who last modified the APNs channel.
11877	LastModifiedBy *string `type:"string"`
11878
11879	// The date and time when the APNs channel was last modified.
11880	LastModifiedDate *string `type:"string"`
11881
11882	// The type of messaging or notification platform for the channel. For the APNs
11883	// channel, this value is APNS.
11884	//
11885	// Platform is a required field
11886	Platform *string `type:"string" required:"true"`
11887
11888	// The current version of the APNs channel.
11889	Version *int64 `type:"integer"`
11890}
11891
11892// String returns the string representation.
11893//
11894// API parameter values that are decorated as "sensitive" in the API will not
11895// be included in the string output. The member name will be present, but the
11896// value will be replaced with "sensitive".
11897func (s APNSChannelResponse) String() string {
11898	return awsutil.Prettify(s)
11899}
11900
11901// GoString returns the string representation.
11902//
11903// API parameter values that are decorated as "sensitive" in the API will not
11904// be included in the string output. The member name will be present, but the
11905// value will be replaced with "sensitive".
11906func (s APNSChannelResponse) GoString() string {
11907	return s.String()
11908}
11909
11910// SetApplicationId sets the ApplicationId field's value.
11911func (s *APNSChannelResponse) SetApplicationId(v string) *APNSChannelResponse {
11912	s.ApplicationId = &v
11913	return s
11914}
11915
11916// SetCreationDate sets the CreationDate field's value.
11917func (s *APNSChannelResponse) SetCreationDate(v string) *APNSChannelResponse {
11918	s.CreationDate = &v
11919	return s
11920}
11921
11922// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
11923func (s *APNSChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSChannelResponse {
11924	s.DefaultAuthenticationMethod = &v
11925	return s
11926}
11927
11928// SetEnabled sets the Enabled field's value.
11929func (s *APNSChannelResponse) SetEnabled(v bool) *APNSChannelResponse {
11930	s.Enabled = &v
11931	return s
11932}
11933
11934// SetHasCredential sets the HasCredential field's value.
11935func (s *APNSChannelResponse) SetHasCredential(v bool) *APNSChannelResponse {
11936	s.HasCredential = &v
11937	return s
11938}
11939
11940// SetHasTokenKey sets the HasTokenKey field's value.
11941func (s *APNSChannelResponse) SetHasTokenKey(v bool) *APNSChannelResponse {
11942	s.HasTokenKey = &v
11943	return s
11944}
11945
11946// SetId sets the Id field's value.
11947func (s *APNSChannelResponse) SetId(v string) *APNSChannelResponse {
11948	s.Id = &v
11949	return s
11950}
11951
11952// SetIsArchived sets the IsArchived field's value.
11953func (s *APNSChannelResponse) SetIsArchived(v bool) *APNSChannelResponse {
11954	s.IsArchived = &v
11955	return s
11956}
11957
11958// SetLastModifiedBy sets the LastModifiedBy field's value.
11959func (s *APNSChannelResponse) SetLastModifiedBy(v string) *APNSChannelResponse {
11960	s.LastModifiedBy = &v
11961	return s
11962}
11963
11964// SetLastModifiedDate sets the LastModifiedDate field's value.
11965func (s *APNSChannelResponse) SetLastModifiedDate(v string) *APNSChannelResponse {
11966	s.LastModifiedDate = &v
11967	return s
11968}
11969
11970// SetPlatform sets the Platform field's value.
11971func (s *APNSChannelResponse) SetPlatform(v string) *APNSChannelResponse {
11972	s.Platform = &v
11973	return s
11974}
11975
11976// SetVersion sets the Version field's value.
11977func (s *APNSChannelResponse) SetVersion(v int64) *APNSChannelResponse {
11978	s.Version = &v
11979	return s
11980}
11981
11982// Specifies the settings for a one-time message that's sent directly to an
11983// endpoint through the APNs (Apple Push Notification service) channel.
11984type APNSMessage struct {
11985	_ struct{} `type:"structure"`
11986
11987	// The type of push notification to send. Valid values are:
11988	//
11989	//    * alert - For a standard notification that's displayed on recipients'
11990	//    devices and prompts a recipient to interact with the notification.
11991	//
11992	//    * background - For a silent notification that delivers content in the
11993	//    background and isn't displayed on recipients' devices.
11994	//
11995	//    * complication - For a notification that contains update information for
11996	//    an app’s complication timeline.
11997	//
11998	//    * fileprovider - For a notification that signals changes to a File Provider
11999	//    extension.
12000	//
12001	//    * mdm - For a notification that tells managed devices to contact the MDM
12002	//    server.
12003	//
12004	//    * voip - For a notification that provides information about an incoming
12005	//    VoIP call.
12006	//
12007	// Amazon Pinpoint specifies this value in the apns-push-type request header
12008	// when it sends the notification message to APNs. If you don't specify a value
12009	// for this property, Amazon Pinpoint sets the value to alert or background
12010	// automatically, based on the value that you specify for the SilentPush or
12011	// RawContent property of the message.
12012	//
12013	// For more information about the apns-push-type request header, see Sending
12014	// Notification Requests to APNs (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns)
12015	// on the Apple Developer website.
12016	APNSPushType *string `type:"string"`
12017
12018	// The action to occur if the recipient taps the push notification. Valid values
12019	// are:
12020	//
12021	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
12022	//    sent to the background. This is the default action.
12023	//
12024	//    * DEEP_LINK - Your app opens and displays a designated user interface
12025	//    in the app. This setting uses the deep-linking features of the iOS platform.
12026	//
12027	//    * URL - The default mobile browser on the recipient's device opens and
12028	//    loads the web page at a URL that you specify.
12029	Action *string `type:"string" enum:"Action"`
12030
12031	// The key that indicates whether and how to modify the badge of your app's
12032	// icon when the recipient receives the push notification. If this key isn't
12033	// included in the dictionary, the badge doesn't change. To remove the badge,
12034	// set this value to 0.
12035	Badge *int64 `type:"integer"`
12036
12037	// The body of the notification message.
12038	Body *string `type:"string"`
12039
12040	// The key that indicates the notification type for the push notification. This
12041	// key is a value that's defined by the identifier property of one of your app's
12042	// registered categories.
12043	Category *string `type:"string"`
12044
12045	// An arbitrary identifier that, if assigned to multiple messages, APNs uses
12046	// to coalesce the messages into a single push notification instead of delivering
12047	// each message individually. This value can't exceed 64 bytes.
12048	//
12049	// Amazon Pinpoint specifies this value in the apns-collapse-id request header
12050	// when it sends the notification message to APNs.
12051	CollapseId *string `type:"string"`
12052
12053	// The JSON payload to use for a silent push notification. This payload is added
12054	// to the data.pinpoint.jsonBody object of the notification.
12055	Data map[string]*string `type:"map"`
12056
12057	// The URL of an image or video to display in the push notification.
12058	MediaUrl *string `type:"string"`
12059
12060	// The authentication method that you want Amazon Pinpoint to use when authenticating
12061	// with APNs, CERTIFICATE or TOKEN.
12062	PreferredAuthenticationMethod *string `type:"string"`
12063
12064	// para>5 - Low priority, the notification might be delayed, delivered as part
12065	// of a group, or throttled.
12066	// /listitem>
12067	// 10 - High priority, the notification is sent immediately. This is the default
12068	// value. A high priority notification should trigger an alert, play a sound,
12069	// or badge your app's icon on the recipient's device.
12070	// /para>
12071	// Amazon Pinpoint specifies this value in the apns-priority request header
12072	// when it sends the notification message to APNs.
12073	//
12074	// The equivalent values for Firebase Cloud Messaging (FCM), formerly Google
12075	// Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you specify
12076	// an FCM value for this property, Amazon Pinpoint accepts and converts the
12077	// value to the corresponding APNs value.
12078	Priority *string `type:"string"`
12079
12080	// The raw, JSON-formatted string to use as the payload for the notification
12081	// message. If specified, this value overrides all other content for the message.
12082	//
12083	// If you specify the raw content of an APNs push notification, the message
12084	// payload has to include the content-available key. The value of the content-available
12085	// key has to be an integer, and can only be 0 or 1. If you're sending a standard
12086	// notification, set the value of content-available to 0. If you're sending
12087	// a silent (background) notification, set the value of content-available to
12088	// 1. Additionally, silent notification payloads can't include the alert, badge,
12089	// or sound keys. For more information, see Generating a Remote Notification
12090	// (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification)
12091	// and Pushing Background Updates to Your App (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app)
12092	// on the Apple Developer website.
12093	RawContent *string `type:"string"`
12094
12095	// Specifies whether the notification is a silent push notification. A silent
12096	// (or background) push notification isn't displayed on recipients' devices.
12097	// You can use silent push notifications to make small updates to your app,
12098	// or to display messages in an in-app message center.
12099	//
12100	// Amazon Pinpoint uses this property to determine the correct value for the
12101	// apns-push-type request header when it sends the notification message to APNs.
12102	// If you specify a value of true for this property, Amazon Pinpoint sets the
12103	// value for the apns-push-type header field to background.
12104	//
12105	// If you specify the raw content of an APNs push notification, the message
12106	// payload has to include the content-available key. For silent (background)
12107	// notifications, set the value of content-available to 1. Additionally, the
12108	// message payload for a silent notification can't include the alert, badge,
12109	// or sound keys. For more information, see Generating a Remote Notification
12110	// (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification)
12111	// and Pushing Background Updates to Your App (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app)
12112	// on the Apple Developer website.
12113	//
12114	// Apple has indicated that they will throttle "excessive" background notifications
12115	// based on current traffic volumes. To prevent your notifications being throttled,
12116	// Apple recommends that you send no more than 3 silent push notifications to
12117	// each recipient per hour.
12118	SilentPush *bool `type:"boolean"`
12119
12120	// The key for the sound to play when the recipient receives the push notification.
12121	// The value for this key is the name of a sound file in your app's main bundle
12122	// or the Library/Sounds folder in your app's data container. If the sound file
12123	// can't be found or you specify default for the value, the system plays the
12124	// default alert sound.
12125	Sound *string `type:"string"`
12126
12127	// The default message variables to use in the notification message. You can
12128	// override these default variables with individual address variables.
12129	Substitutions map[string][]*string `type:"map"`
12130
12131	// The key that represents your app-specific identifier for grouping notifications.
12132	// If you provide a Notification Content app extension, you can use this value
12133	// to group your notifications together.
12134	ThreadId *string `type:"string"`
12135
12136	// The amount of time, in seconds, that APNs should store and attempt to deliver
12137	// the push notification, if the service is unable to deliver the notification
12138	// the first time. If this value is 0, APNs treats the notification as if it
12139	// expires immediately and the service doesn't store or try to deliver the notification
12140	// again.
12141	//
12142	// Amazon Pinpoint specifies this value in the apns-expiration request header
12143	// when it sends the notification message to APNs.
12144	TimeToLive *int64 `type:"integer"`
12145
12146	// The title to display above the notification message on the recipient's device.
12147	Title *string `type:"string"`
12148
12149	// The URL to open in the recipient's default mobile browser, if a recipient
12150	// taps the push notification and the value of the Action property is URL.
12151	Url *string `type:"string"`
12152}
12153
12154// String returns the string representation.
12155//
12156// API parameter values that are decorated as "sensitive" in the API will not
12157// be included in the string output. The member name will be present, but the
12158// value will be replaced with "sensitive".
12159func (s APNSMessage) String() string {
12160	return awsutil.Prettify(s)
12161}
12162
12163// GoString returns the string representation.
12164//
12165// API parameter values that are decorated as "sensitive" in the API will not
12166// be included in the string output. The member name will be present, but the
12167// value will be replaced with "sensitive".
12168func (s APNSMessage) GoString() string {
12169	return s.String()
12170}
12171
12172// SetAPNSPushType sets the APNSPushType field's value.
12173func (s *APNSMessage) SetAPNSPushType(v string) *APNSMessage {
12174	s.APNSPushType = &v
12175	return s
12176}
12177
12178// SetAction sets the Action field's value.
12179func (s *APNSMessage) SetAction(v string) *APNSMessage {
12180	s.Action = &v
12181	return s
12182}
12183
12184// SetBadge sets the Badge field's value.
12185func (s *APNSMessage) SetBadge(v int64) *APNSMessage {
12186	s.Badge = &v
12187	return s
12188}
12189
12190// SetBody sets the Body field's value.
12191func (s *APNSMessage) SetBody(v string) *APNSMessage {
12192	s.Body = &v
12193	return s
12194}
12195
12196// SetCategory sets the Category field's value.
12197func (s *APNSMessage) SetCategory(v string) *APNSMessage {
12198	s.Category = &v
12199	return s
12200}
12201
12202// SetCollapseId sets the CollapseId field's value.
12203func (s *APNSMessage) SetCollapseId(v string) *APNSMessage {
12204	s.CollapseId = &v
12205	return s
12206}
12207
12208// SetData sets the Data field's value.
12209func (s *APNSMessage) SetData(v map[string]*string) *APNSMessage {
12210	s.Data = v
12211	return s
12212}
12213
12214// SetMediaUrl sets the MediaUrl field's value.
12215func (s *APNSMessage) SetMediaUrl(v string) *APNSMessage {
12216	s.MediaUrl = &v
12217	return s
12218}
12219
12220// SetPreferredAuthenticationMethod sets the PreferredAuthenticationMethod field's value.
12221func (s *APNSMessage) SetPreferredAuthenticationMethod(v string) *APNSMessage {
12222	s.PreferredAuthenticationMethod = &v
12223	return s
12224}
12225
12226// SetPriority sets the Priority field's value.
12227func (s *APNSMessage) SetPriority(v string) *APNSMessage {
12228	s.Priority = &v
12229	return s
12230}
12231
12232// SetRawContent sets the RawContent field's value.
12233func (s *APNSMessage) SetRawContent(v string) *APNSMessage {
12234	s.RawContent = &v
12235	return s
12236}
12237
12238// SetSilentPush sets the SilentPush field's value.
12239func (s *APNSMessage) SetSilentPush(v bool) *APNSMessage {
12240	s.SilentPush = &v
12241	return s
12242}
12243
12244// SetSound sets the Sound field's value.
12245func (s *APNSMessage) SetSound(v string) *APNSMessage {
12246	s.Sound = &v
12247	return s
12248}
12249
12250// SetSubstitutions sets the Substitutions field's value.
12251func (s *APNSMessage) SetSubstitutions(v map[string][]*string) *APNSMessage {
12252	s.Substitutions = v
12253	return s
12254}
12255
12256// SetThreadId sets the ThreadId field's value.
12257func (s *APNSMessage) SetThreadId(v string) *APNSMessage {
12258	s.ThreadId = &v
12259	return s
12260}
12261
12262// SetTimeToLive sets the TimeToLive field's value.
12263func (s *APNSMessage) SetTimeToLive(v int64) *APNSMessage {
12264	s.TimeToLive = &v
12265	return s
12266}
12267
12268// SetTitle sets the Title field's value.
12269func (s *APNSMessage) SetTitle(v string) *APNSMessage {
12270	s.Title = &v
12271	return s
12272}
12273
12274// SetUrl sets the Url field's value.
12275func (s *APNSMessage) SetUrl(v string) *APNSMessage {
12276	s.Url = &v
12277	return s
12278}
12279
12280// Specifies channel-specific content and settings for a message template that
12281// can be used in push notifications that are sent through the APNs (Apple Push
12282// Notification service) channel.
12283type APNSPushNotificationTemplate struct {
12284	_ struct{} `type:"structure"`
12285
12286	// The action to occur if a recipient taps a push notification that's based
12287	// on the message template. Valid values are:
12288	//
12289	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
12290	//    sent to the background. This is the default action.
12291	//
12292	//    * DEEP_LINK - Your app opens and displays a designated user interface
12293	//    in the app. This setting uses the deep-linking features of the iOS platform.
12294	//
12295	//    * URL - The default mobile browser on the recipient's device opens and
12296	//    loads the web page at a URL that you specify.
12297	Action *string `type:"string" enum:"Action"`
12298
12299	// The message body to use in push notifications that are based on the message
12300	// template.
12301	Body *string `type:"string"`
12302
12303	// The URL of an image or video to display in push notifications that are based
12304	// on the message template.
12305	MediaUrl *string `type:"string"`
12306
12307	// The raw, JSON-formatted string to use as the payload for push notifications
12308	// that are based on the message template. If specified, this value overrides
12309	// all other content for the message template.
12310	RawContent *string `type:"string"`
12311
12312	// The key for the sound to play when the recipient receives a push notification
12313	// that's based on the message template. The value for this key is the name
12314	// of a sound file in your app's main bundle or the Library/Sounds folder in
12315	// your app's data container. If the sound file can't be found or you specify
12316	// default for the value, the system plays the default alert sound.
12317	Sound *string `type:"string"`
12318
12319	// The title to use in push notifications that are based on the message template.
12320	// This title appears above the notification message on a recipient's device.
12321	Title *string `type:"string"`
12322
12323	// The URL to open in the recipient's default mobile browser, if a recipient
12324	// taps a push notification that's based on the message template and the value
12325	// of the Action property is URL.
12326	Url *string `type:"string"`
12327}
12328
12329// String returns the string representation.
12330//
12331// API parameter values that are decorated as "sensitive" in the API will not
12332// be included in the string output. The member name will be present, but the
12333// value will be replaced with "sensitive".
12334func (s APNSPushNotificationTemplate) String() string {
12335	return awsutil.Prettify(s)
12336}
12337
12338// GoString returns the string representation.
12339//
12340// API parameter values that are decorated as "sensitive" in the API will not
12341// be included in the string output. The member name will be present, but the
12342// value will be replaced with "sensitive".
12343func (s APNSPushNotificationTemplate) GoString() string {
12344	return s.String()
12345}
12346
12347// SetAction sets the Action field's value.
12348func (s *APNSPushNotificationTemplate) SetAction(v string) *APNSPushNotificationTemplate {
12349	s.Action = &v
12350	return s
12351}
12352
12353// SetBody sets the Body field's value.
12354func (s *APNSPushNotificationTemplate) SetBody(v string) *APNSPushNotificationTemplate {
12355	s.Body = &v
12356	return s
12357}
12358
12359// SetMediaUrl sets the MediaUrl field's value.
12360func (s *APNSPushNotificationTemplate) SetMediaUrl(v string) *APNSPushNotificationTemplate {
12361	s.MediaUrl = &v
12362	return s
12363}
12364
12365// SetRawContent sets the RawContent field's value.
12366func (s *APNSPushNotificationTemplate) SetRawContent(v string) *APNSPushNotificationTemplate {
12367	s.RawContent = &v
12368	return s
12369}
12370
12371// SetSound sets the Sound field's value.
12372func (s *APNSPushNotificationTemplate) SetSound(v string) *APNSPushNotificationTemplate {
12373	s.Sound = &v
12374	return s
12375}
12376
12377// SetTitle sets the Title field's value.
12378func (s *APNSPushNotificationTemplate) SetTitle(v string) *APNSPushNotificationTemplate {
12379	s.Title = &v
12380	return s
12381}
12382
12383// SetUrl sets the Url field's value.
12384func (s *APNSPushNotificationTemplate) SetUrl(v string) *APNSPushNotificationTemplate {
12385	s.Url = &v
12386	return s
12387}
12388
12389// Specifies the status and settings of the APNs (Apple Push Notification service)
12390// sandbox channel for an application.
12391type APNSSandboxChannelRequest struct {
12392	_ struct{} `type:"structure"`
12393
12394	// The bundle identifier that's assigned to your iOS app. This identifier is
12395	// used for APNs tokens.
12396	BundleId *string `type:"string"`
12397
12398	// The APNs client certificate that you received from Apple, if you want Amazon
12399	// Pinpoint to communicate with the APNs sandbox environment by using an APNs
12400	// certificate.
12401	Certificate *string `type:"string"`
12402
12403	// The default authentication method that you want Amazon Pinpoint to use when
12404	// authenticating with the APNs sandbox environment, key or certificate.
12405	DefaultAuthenticationMethod *string `type:"string"`
12406
12407	// Specifies whether to enable the APNs sandbox channel for the application.
12408	Enabled *bool `type:"boolean"`
12409
12410	// The private key for the APNs client certificate that you want Amazon Pinpoint
12411	// to use to communicate with the APNs sandbox environment.
12412	PrivateKey *string `type:"string"`
12413
12414	// The identifier that's assigned to your Apple developer account team. This
12415	// identifier is used for APNs tokens.
12416	TeamId *string `type:"string"`
12417
12418	// The authentication key to use for APNs tokens.
12419	TokenKey *string `type:"string"`
12420
12421	// The key identifier that's assigned to your APNs signing key, if you want
12422	// Amazon Pinpoint to communicate with the APNs sandbox environment by using
12423	// APNs tokens.
12424	TokenKeyId *string `type:"string"`
12425}
12426
12427// String returns the string representation.
12428//
12429// API parameter values that are decorated as "sensitive" in the API will not
12430// be included in the string output. The member name will be present, but the
12431// value will be replaced with "sensitive".
12432func (s APNSSandboxChannelRequest) String() string {
12433	return awsutil.Prettify(s)
12434}
12435
12436// GoString returns the string representation.
12437//
12438// API parameter values that are decorated as "sensitive" in the API will not
12439// be included in the string output. The member name will be present, but the
12440// value will be replaced with "sensitive".
12441func (s APNSSandboxChannelRequest) GoString() string {
12442	return s.String()
12443}
12444
12445// SetBundleId sets the BundleId field's value.
12446func (s *APNSSandboxChannelRequest) SetBundleId(v string) *APNSSandboxChannelRequest {
12447	s.BundleId = &v
12448	return s
12449}
12450
12451// SetCertificate sets the Certificate field's value.
12452func (s *APNSSandboxChannelRequest) SetCertificate(v string) *APNSSandboxChannelRequest {
12453	s.Certificate = &v
12454	return s
12455}
12456
12457// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
12458func (s *APNSSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelRequest {
12459	s.DefaultAuthenticationMethod = &v
12460	return s
12461}
12462
12463// SetEnabled sets the Enabled field's value.
12464func (s *APNSSandboxChannelRequest) SetEnabled(v bool) *APNSSandboxChannelRequest {
12465	s.Enabled = &v
12466	return s
12467}
12468
12469// SetPrivateKey sets the PrivateKey field's value.
12470func (s *APNSSandboxChannelRequest) SetPrivateKey(v string) *APNSSandboxChannelRequest {
12471	s.PrivateKey = &v
12472	return s
12473}
12474
12475// SetTeamId sets the TeamId field's value.
12476func (s *APNSSandboxChannelRequest) SetTeamId(v string) *APNSSandboxChannelRequest {
12477	s.TeamId = &v
12478	return s
12479}
12480
12481// SetTokenKey sets the TokenKey field's value.
12482func (s *APNSSandboxChannelRequest) SetTokenKey(v string) *APNSSandboxChannelRequest {
12483	s.TokenKey = &v
12484	return s
12485}
12486
12487// SetTokenKeyId sets the TokenKeyId field's value.
12488func (s *APNSSandboxChannelRequest) SetTokenKeyId(v string) *APNSSandboxChannelRequest {
12489	s.TokenKeyId = &v
12490	return s
12491}
12492
12493// Provides information about the status and settings of the APNs (Apple Push
12494// Notification service) sandbox channel for an application.
12495type APNSSandboxChannelResponse struct {
12496	_ struct{} `type:"structure"`
12497
12498	// The unique identifier for the application that the APNs sandbox channel applies
12499	// to.
12500	ApplicationId *string `type:"string"`
12501
12502	// The date and time when the APNs sandbox channel was enabled.
12503	CreationDate *string `type:"string"`
12504
12505	// The default authentication method that Amazon Pinpoint uses to authenticate
12506	// with the APNs sandbox environment for this channel, key or certificate.
12507	DefaultAuthenticationMethod *string `type:"string"`
12508
12509	// Specifies whether the APNs sandbox channel is enabled for the application.
12510	Enabled *bool `type:"boolean"`
12511
12512	// (Not used) This property is retained only for backward compatibility.
12513	HasCredential *bool `type:"boolean"`
12514
12515	// Specifies whether the APNs sandbox channel is configured to communicate with
12516	// APNs by using APNs tokens. To provide an authentication key for APNs tokens,
12517	// set the TokenKey property of the channel.
12518	HasTokenKey *bool `type:"boolean"`
12519
12520	// (Deprecated) An identifier for the APNs sandbox channel. This property is
12521	// retained only for backward compatibility.
12522	Id *string `type:"string"`
12523
12524	// Specifies whether the APNs sandbox channel is archived.
12525	IsArchived *bool `type:"boolean"`
12526
12527	// The user who last modified the APNs sandbox channel.
12528	LastModifiedBy *string `type:"string"`
12529
12530	// The date and time when the APNs sandbox channel was last modified.
12531	LastModifiedDate *string `type:"string"`
12532
12533	// The type of messaging or notification platform for the channel. For the APNs
12534	// sandbox channel, this value is APNS_SANDBOX.
12535	//
12536	// Platform is a required field
12537	Platform *string `type:"string" required:"true"`
12538
12539	// The current version of the APNs sandbox channel.
12540	Version *int64 `type:"integer"`
12541}
12542
12543// String returns the string representation.
12544//
12545// API parameter values that are decorated as "sensitive" in the API will not
12546// be included in the string output. The member name will be present, but the
12547// value will be replaced with "sensitive".
12548func (s APNSSandboxChannelResponse) String() string {
12549	return awsutil.Prettify(s)
12550}
12551
12552// GoString returns the string representation.
12553//
12554// API parameter values that are decorated as "sensitive" in the API will not
12555// be included in the string output. The member name will be present, but the
12556// value will be replaced with "sensitive".
12557func (s APNSSandboxChannelResponse) GoString() string {
12558	return s.String()
12559}
12560
12561// SetApplicationId sets the ApplicationId field's value.
12562func (s *APNSSandboxChannelResponse) SetApplicationId(v string) *APNSSandboxChannelResponse {
12563	s.ApplicationId = &v
12564	return s
12565}
12566
12567// SetCreationDate sets the CreationDate field's value.
12568func (s *APNSSandboxChannelResponse) SetCreationDate(v string) *APNSSandboxChannelResponse {
12569	s.CreationDate = &v
12570	return s
12571}
12572
12573// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
12574func (s *APNSSandboxChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelResponse {
12575	s.DefaultAuthenticationMethod = &v
12576	return s
12577}
12578
12579// SetEnabled sets the Enabled field's value.
12580func (s *APNSSandboxChannelResponse) SetEnabled(v bool) *APNSSandboxChannelResponse {
12581	s.Enabled = &v
12582	return s
12583}
12584
12585// SetHasCredential sets the HasCredential field's value.
12586func (s *APNSSandboxChannelResponse) SetHasCredential(v bool) *APNSSandboxChannelResponse {
12587	s.HasCredential = &v
12588	return s
12589}
12590
12591// SetHasTokenKey sets the HasTokenKey field's value.
12592func (s *APNSSandboxChannelResponse) SetHasTokenKey(v bool) *APNSSandboxChannelResponse {
12593	s.HasTokenKey = &v
12594	return s
12595}
12596
12597// SetId sets the Id field's value.
12598func (s *APNSSandboxChannelResponse) SetId(v string) *APNSSandboxChannelResponse {
12599	s.Id = &v
12600	return s
12601}
12602
12603// SetIsArchived sets the IsArchived field's value.
12604func (s *APNSSandboxChannelResponse) SetIsArchived(v bool) *APNSSandboxChannelResponse {
12605	s.IsArchived = &v
12606	return s
12607}
12608
12609// SetLastModifiedBy sets the LastModifiedBy field's value.
12610func (s *APNSSandboxChannelResponse) SetLastModifiedBy(v string) *APNSSandboxChannelResponse {
12611	s.LastModifiedBy = &v
12612	return s
12613}
12614
12615// SetLastModifiedDate sets the LastModifiedDate field's value.
12616func (s *APNSSandboxChannelResponse) SetLastModifiedDate(v string) *APNSSandboxChannelResponse {
12617	s.LastModifiedDate = &v
12618	return s
12619}
12620
12621// SetPlatform sets the Platform field's value.
12622func (s *APNSSandboxChannelResponse) SetPlatform(v string) *APNSSandboxChannelResponse {
12623	s.Platform = &v
12624	return s
12625}
12626
12627// SetVersion sets the Version field's value.
12628func (s *APNSSandboxChannelResponse) SetVersion(v int64) *APNSSandboxChannelResponse {
12629	s.Version = &v
12630	return s
12631}
12632
12633// Specifies the status and settings of the APNs (Apple Push Notification service)
12634// VoIP channel for an application.
12635type APNSVoipChannelRequest struct {
12636	_ struct{} `type:"structure"`
12637
12638	// The bundle identifier that's assigned to your iOS app. This identifier is
12639	// used for APNs tokens.
12640	BundleId *string `type:"string"`
12641
12642	// The APNs client certificate that you received from Apple, if you want Amazon
12643	// Pinpoint to communicate with APNs by using an APNs certificate.
12644	Certificate *string `type:"string"`
12645
12646	// The default authentication method that you want Amazon Pinpoint to use when
12647	// authenticating with APNs, key or certificate.
12648	DefaultAuthenticationMethod *string `type:"string"`
12649
12650	// Specifies whether to enable the APNs VoIP channel for the application.
12651	Enabled *bool `type:"boolean"`
12652
12653	// The private key for the APNs client certificate that you want Amazon Pinpoint
12654	// to use to communicate with APNs.
12655	PrivateKey *string `type:"string"`
12656
12657	// The identifier that's assigned to your Apple developer account team. This
12658	// identifier is used for APNs tokens.
12659	TeamId *string `type:"string"`
12660
12661	// The authentication key to use for APNs tokens.
12662	TokenKey *string `type:"string"`
12663
12664	// The key identifier that's assigned to your APNs signing key, if you want
12665	// Amazon Pinpoint to communicate with APNs by using APNs tokens.
12666	TokenKeyId *string `type:"string"`
12667}
12668
12669// String returns the string representation.
12670//
12671// API parameter values that are decorated as "sensitive" in the API will not
12672// be included in the string output. The member name will be present, but the
12673// value will be replaced with "sensitive".
12674func (s APNSVoipChannelRequest) String() string {
12675	return awsutil.Prettify(s)
12676}
12677
12678// GoString returns the string representation.
12679//
12680// API parameter values that are decorated as "sensitive" in the API will not
12681// be included in the string output. The member name will be present, but the
12682// value will be replaced with "sensitive".
12683func (s APNSVoipChannelRequest) GoString() string {
12684	return s.String()
12685}
12686
12687// SetBundleId sets the BundleId field's value.
12688func (s *APNSVoipChannelRequest) SetBundleId(v string) *APNSVoipChannelRequest {
12689	s.BundleId = &v
12690	return s
12691}
12692
12693// SetCertificate sets the Certificate field's value.
12694func (s *APNSVoipChannelRequest) SetCertificate(v string) *APNSVoipChannelRequest {
12695	s.Certificate = &v
12696	return s
12697}
12698
12699// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
12700func (s *APNSVoipChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSVoipChannelRequest {
12701	s.DefaultAuthenticationMethod = &v
12702	return s
12703}
12704
12705// SetEnabled sets the Enabled field's value.
12706func (s *APNSVoipChannelRequest) SetEnabled(v bool) *APNSVoipChannelRequest {
12707	s.Enabled = &v
12708	return s
12709}
12710
12711// SetPrivateKey sets the PrivateKey field's value.
12712func (s *APNSVoipChannelRequest) SetPrivateKey(v string) *APNSVoipChannelRequest {
12713	s.PrivateKey = &v
12714	return s
12715}
12716
12717// SetTeamId sets the TeamId field's value.
12718func (s *APNSVoipChannelRequest) SetTeamId(v string) *APNSVoipChannelRequest {
12719	s.TeamId = &v
12720	return s
12721}
12722
12723// SetTokenKey sets the TokenKey field's value.
12724func (s *APNSVoipChannelRequest) SetTokenKey(v string) *APNSVoipChannelRequest {
12725	s.TokenKey = &v
12726	return s
12727}
12728
12729// SetTokenKeyId sets the TokenKeyId field's value.
12730func (s *APNSVoipChannelRequest) SetTokenKeyId(v string) *APNSVoipChannelRequest {
12731	s.TokenKeyId = &v
12732	return s
12733}
12734
12735// Provides information about the status and settings of the APNs (Apple Push
12736// Notification service) VoIP channel for an application.
12737type APNSVoipChannelResponse struct {
12738	_ struct{} `type:"structure"`
12739
12740	// The unique identifier for the application that the APNs VoIP channel applies
12741	// to.
12742	ApplicationId *string `type:"string"`
12743
12744	// The date and time when the APNs VoIP channel was enabled.
12745	CreationDate *string `type:"string"`
12746
12747	// The default authentication method that Amazon Pinpoint uses to authenticate
12748	// with APNs for this channel, key or certificate.
12749	DefaultAuthenticationMethod *string `type:"string"`
12750
12751	// Specifies whether the APNs VoIP channel is enabled for the application.
12752	Enabled *bool `type:"boolean"`
12753
12754	// (Not used) This property is retained only for backward compatibility.
12755	HasCredential *bool `type:"boolean"`
12756
12757	// Specifies whether the APNs VoIP channel is configured to communicate with
12758	// APNs by using APNs tokens. To provide an authentication key for APNs tokens,
12759	// set the TokenKey property of the channel.
12760	HasTokenKey *bool `type:"boolean"`
12761
12762	// (Deprecated) An identifier for the APNs VoIP channel. This property is retained
12763	// only for backward compatibility.
12764	Id *string `type:"string"`
12765
12766	// Specifies whether the APNs VoIP channel is archived.
12767	IsArchived *bool `type:"boolean"`
12768
12769	// The user who last modified the APNs VoIP channel.
12770	LastModifiedBy *string `type:"string"`
12771
12772	// The date and time when the APNs VoIP channel was last modified.
12773	LastModifiedDate *string `type:"string"`
12774
12775	// The type of messaging or notification platform for the channel. For the APNs
12776	// VoIP channel, this value is APNS_VOIP.
12777	//
12778	// Platform is a required field
12779	Platform *string `type:"string" required:"true"`
12780
12781	// The current version of the APNs VoIP channel.
12782	Version *int64 `type:"integer"`
12783}
12784
12785// String returns the string representation.
12786//
12787// API parameter values that are decorated as "sensitive" in the API will not
12788// be included in the string output. The member name will be present, but the
12789// value will be replaced with "sensitive".
12790func (s APNSVoipChannelResponse) String() string {
12791	return awsutil.Prettify(s)
12792}
12793
12794// GoString returns the string representation.
12795//
12796// API parameter values that are decorated as "sensitive" in the API will not
12797// be included in the string output. The member name will be present, but the
12798// value will be replaced with "sensitive".
12799func (s APNSVoipChannelResponse) GoString() string {
12800	return s.String()
12801}
12802
12803// SetApplicationId sets the ApplicationId field's value.
12804func (s *APNSVoipChannelResponse) SetApplicationId(v string) *APNSVoipChannelResponse {
12805	s.ApplicationId = &v
12806	return s
12807}
12808
12809// SetCreationDate sets the CreationDate field's value.
12810func (s *APNSVoipChannelResponse) SetCreationDate(v string) *APNSVoipChannelResponse {
12811	s.CreationDate = &v
12812	return s
12813}
12814
12815// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
12816func (s *APNSVoipChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSVoipChannelResponse {
12817	s.DefaultAuthenticationMethod = &v
12818	return s
12819}
12820
12821// SetEnabled sets the Enabled field's value.
12822func (s *APNSVoipChannelResponse) SetEnabled(v bool) *APNSVoipChannelResponse {
12823	s.Enabled = &v
12824	return s
12825}
12826
12827// SetHasCredential sets the HasCredential field's value.
12828func (s *APNSVoipChannelResponse) SetHasCredential(v bool) *APNSVoipChannelResponse {
12829	s.HasCredential = &v
12830	return s
12831}
12832
12833// SetHasTokenKey sets the HasTokenKey field's value.
12834func (s *APNSVoipChannelResponse) SetHasTokenKey(v bool) *APNSVoipChannelResponse {
12835	s.HasTokenKey = &v
12836	return s
12837}
12838
12839// SetId sets the Id field's value.
12840func (s *APNSVoipChannelResponse) SetId(v string) *APNSVoipChannelResponse {
12841	s.Id = &v
12842	return s
12843}
12844
12845// SetIsArchived sets the IsArchived field's value.
12846func (s *APNSVoipChannelResponse) SetIsArchived(v bool) *APNSVoipChannelResponse {
12847	s.IsArchived = &v
12848	return s
12849}
12850
12851// SetLastModifiedBy sets the LastModifiedBy field's value.
12852func (s *APNSVoipChannelResponse) SetLastModifiedBy(v string) *APNSVoipChannelResponse {
12853	s.LastModifiedBy = &v
12854	return s
12855}
12856
12857// SetLastModifiedDate sets the LastModifiedDate field's value.
12858func (s *APNSVoipChannelResponse) SetLastModifiedDate(v string) *APNSVoipChannelResponse {
12859	s.LastModifiedDate = &v
12860	return s
12861}
12862
12863// SetPlatform sets the Platform field's value.
12864func (s *APNSVoipChannelResponse) SetPlatform(v string) *APNSVoipChannelResponse {
12865	s.Platform = &v
12866	return s
12867}
12868
12869// SetVersion sets the Version field's value.
12870func (s *APNSVoipChannelResponse) SetVersion(v int64) *APNSVoipChannelResponse {
12871	s.Version = &v
12872	return s
12873}
12874
12875// Specifies the status and settings of the APNs (Apple Push Notification service)
12876// VoIP sandbox channel for an application.
12877type APNSVoipSandboxChannelRequest struct {
12878	_ struct{} `type:"structure"`
12879
12880	// The bundle identifier that's assigned to your iOS app. This identifier is
12881	// used for APNs tokens.
12882	BundleId *string `type:"string"`
12883
12884	// The APNs client certificate that you received from Apple, if you want Amazon
12885	// Pinpoint to communicate with the APNs sandbox environment by using an APNs
12886	// certificate.
12887	Certificate *string `type:"string"`
12888
12889	// The default authentication method that you want Amazon Pinpoint to use when
12890	// authenticating with the APNs sandbox environment for this channel, key or
12891	// certificate.
12892	DefaultAuthenticationMethod *string `type:"string"`
12893
12894	// Specifies whether the APNs VoIP sandbox channel is enabled for the application.
12895	Enabled *bool `type:"boolean"`
12896
12897	// The private key for the APNs client certificate that you want Amazon Pinpoint
12898	// to use to communicate with the APNs sandbox environment.
12899	PrivateKey *string `type:"string"`
12900
12901	// The identifier that's assigned to your Apple developer account team. This
12902	// identifier is used for APNs tokens.
12903	TeamId *string `type:"string"`
12904
12905	// The authentication key to use for APNs tokens.
12906	TokenKey *string `type:"string"`
12907
12908	// The key identifier that's assigned to your APNs signing key, if you want
12909	// Amazon Pinpoint to communicate with the APNs sandbox environment by using
12910	// APNs tokens.
12911	TokenKeyId *string `type:"string"`
12912}
12913
12914// String returns the string representation.
12915//
12916// API parameter values that are decorated as "sensitive" in the API will not
12917// be included in the string output. The member name will be present, but the
12918// value will be replaced with "sensitive".
12919func (s APNSVoipSandboxChannelRequest) String() string {
12920	return awsutil.Prettify(s)
12921}
12922
12923// GoString returns the string representation.
12924//
12925// API parameter values that are decorated as "sensitive" in the API will not
12926// be included in the string output. The member name will be present, but the
12927// value will be replaced with "sensitive".
12928func (s APNSVoipSandboxChannelRequest) GoString() string {
12929	return s.String()
12930}
12931
12932// SetBundleId sets the BundleId field's value.
12933func (s *APNSVoipSandboxChannelRequest) SetBundleId(v string) *APNSVoipSandboxChannelRequest {
12934	s.BundleId = &v
12935	return s
12936}
12937
12938// SetCertificate sets the Certificate field's value.
12939func (s *APNSVoipSandboxChannelRequest) SetCertificate(v string) *APNSVoipSandboxChannelRequest {
12940	s.Certificate = &v
12941	return s
12942}
12943
12944// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
12945func (s *APNSVoipSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSVoipSandboxChannelRequest {
12946	s.DefaultAuthenticationMethod = &v
12947	return s
12948}
12949
12950// SetEnabled sets the Enabled field's value.
12951func (s *APNSVoipSandboxChannelRequest) SetEnabled(v bool) *APNSVoipSandboxChannelRequest {
12952	s.Enabled = &v
12953	return s
12954}
12955
12956// SetPrivateKey sets the PrivateKey field's value.
12957func (s *APNSVoipSandboxChannelRequest) SetPrivateKey(v string) *APNSVoipSandboxChannelRequest {
12958	s.PrivateKey = &v
12959	return s
12960}
12961
12962// SetTeamId sets the TeamId field's value.
12963func (s *APNSVoipSandboxChannelRequest) SetTeamId(v string) *APNSVoipSandboxChannelRequest {
12964	s.TeamId = &v
12965	return s
12966}
12967
12968// SetTokenKey sets the TokenKey field's value.
12969func (s *APNSVoipSandboxChannelRequest) SetTokenKey(v string) *APNSVoipSandboxChannelRequest {
12970	s.TokenKey = &v
12971	return s
12972}
12973
12974// SetTokenKeyId sets the TokenKeyId field's value.
12975func (s *APNSVoipSandboxChannelRequest) SetTokenKeyId(v string) *APNSVoipSandboxChannelRequest {
12976	s.TokenKeyId = &v
12977	return s
12978}
12979
12980// Provides information about the status and settings of the APNs (Apple Push
12981// Notification service) VoIP sandbox channel for an application.
12982type APNSVoipSandboxChannelResponse struct {
12983	_ struct{} `type:"structure"`
12984
12985	// The unique identifier for the application that the APNs VoIP sandbox channel
12986	// applies to.
12987	ApplicationId *string `type:"string"`
12988
12989	// The date and time when the APNs VoIP sandbox channel was enabled.
12990	CreationDate *string `type:"string"`
12991
12992	// The default authentication method that Amazon Pinpoint uses to authenticate
12993	// with the APNs sandbox environment for this channel, key or certificate.
12994	DefaultAuthenticationMethod *string `type:"string"`
12995
12996	// Specifies whether the APNs VoIP sandbox channel is enabled for the application.
12997	Enabled *bool `type:"boolean"`
12998
12999	// (Not used) This property is retained only for backward compatibility.
13000	HasCredential *bool `type:"boolean"`
13001
13002	// Specifies whether the APNs VoIP sandbox channel is configured to communicate
13003	// with APNs by using APNs tokens. To provide an authentication key for APNs
13004	// tokens, set the TokenKey property of the channel.
13005	HasTokenKey *bool `type:"boolean"`
13006
13007	// (Deprecated) An identifier for the APNs VoIP sandbox channel. This property
13008	// is retained only for backward compatibility.
13009	Id *string `type:"string"`
13010
13011	// Specifies whether the APNs VoIP sandbox channel is archived.
13012	IsArchived *bool `type:"boolean"`
13013
13014	// The user who last modified the APNs VoIP sandbox channel.
13015	LastModifiedBy *string `type:"string"`
13016
13017	// The date and time when the APNs VoIP sandbox channel was last modified.
13018	LastModifiedDate *string `type:"string"`
13019
13020	// The type of messaging or notification platform for the channel. For the APNs
13021	// VoIP sandbox channel, this value is APNS_VOIP_SANDBOX.
13022	//
13023	// Platform is a required field
13024	Platform *string `type:"string" required:"true"`
13025
13026	// The current version of the APNs VoIP sandbox channel.
13027	Version *int64 `type:"integer"`
13028}
13029
13030// String returns the string representation.
13031//
13032// API parameter values that are decorated as "sensitive" in the API will not
13033// be included in the string output. The member name will be present, but the
13034// value will be replaced with "sensitive".
13035func (s APNSVoipSandboxChannelResponse) String() string {
13036	return awsutil.Prettify(s)
13037}
13038
13039// GoString returns the string representation.
13040//
13041// API parameter values that are decorated as "sensitive" in the API will not
13042// be included in the string output. The member name will be present, but the
13043// value will be replaced with "sensitive".
13044func (s APNSVoipSandboxChannelResponse) GoString() string {
13045	return s.String()
13046}
13047
13048// SetApplicationId sets the ApplicationId field's value.
13049func (s *APNSVoipSandboxChannelResponse) SetApplicationId(v string) *APNSVoipSandboxChannelResponse {
13050	s.ApplicationId = &v
13051	return s
13052}
13053
13054// SetCreationDate sets the CreationDate field's value.
13055func (s *APNSVoipSandboxChannelResponse) SetCreationDate(v string) *APNSVoipSandboxChannelResponse {
13056	s.CreationDate = &v
13057	return s
13058}
13059
13060// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
13061func (s *APNSVoipSandboxChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSVoipSandboxChannelResponse {
13062	s.DefaultAuthenticationMethod = &v
13063	return s
13064}
13065
13066// SetEnabled sets the Enabled field's value.
13067func (s *APNSVoipSandboxChannelResponse) SetEnabled(v bool) *APNSVoipSandboxChannelResponse {
13068	s.Enabled = &v
13069	return s
13070}
13071
13072// SetHasCredential sets the HasCredential field's value.
13073func (s *APNSVoipSandboxChannelResponse) SetHasCredential(v bool) *APNSVoipSandboxChannelResponse {
13074	s.HasCredential = &v
13075	return s
13076}
13077
13078// SetHasTokenKey sets the HasTokenKey field's value.
13079func (s *APNSVoipSandboxChannelResponse) SetHasTokenKey(v bool) *APNSVoipSandboxChannelResponse {
13080	s.HasTokenKey = &v
13081	return s
13082}
13083
13084// SetId sets the Id field's value.
13085func (s *APNSVoipSandboxChannelResponse) SetId(v string) *APNSVoipSandboxChannelResponse {
13086	s.Id = &v
13087	return s
13088}
13089
13090// SetIsArchived sets the IsArchived field's value.
13091func (s *APNSVoipSandboxChannelResponse) SetIsArchived(v bool) *APNSVoipSandboxChannelResponse {
13092	s.IsArchived = &v
13093	return s
13094}
13095
13096// SetLastModifiedBy sets the LastModifiedBy field's value.
13097func (s *APNSVoipSandboxChannelResponse) SetLastModifiedBy(v string) *APNSVoipSandboxChannelResponse {
13098	s.LastModifiedBy = &v
13099	return s
13100}
13101
13102// SetLastModifiedDate sets the LastModifiedDate field's value.
13103func (s *APNSVoipSandboxChannelResponse) SetLastModifiedDate(v string) *APNSVoipSandboxChannelResponse {
13104	s.LastModifiedDate = &v
13105	return s
13106}
13107
13108// SetPlatform sets the Platform field's value.
13109func (s *APNSVoipSandboxChannelResponse) SetPlatform(v string) *APNSVoipSandboxChannelResponse {
13110	s.Platform = &v
13111	return s
13112}
13113
13114// SetVersion sets the Version field's value.
13115func (s *APNSVoipSandboxChannelResponse) SetVersion(v int64) *APNSVoipSandboxChannelResponse {
13116	s.Version = &v
13117	return s
13118}
13119
13120// Provides information about the activities that were performed by a campaign.
13121type ActivitiesResponse struct {
13122	_ struct{} `type:"structure"`
13123
13124	// An array of responses, one for each activity that was performed by the campaign.
13125	//
13126	// Item is a required field
13127	Item []*ActivityResponse `type:"list" required:"true"`
13128
13129	// The string to use in a subsequent request to get the next page of results
13130	// in a paginated response. This value is null if there are no additional pages.
13131	NextToken *string `type:"string"`
13132}
13133
13134// String returns the string representation.
13135//
13136// API parameter values that are decorated as "sensitive" in the API will not
13137// be included in the string output. The member name will be present, but the
13138// value will be replaced with "sensitive".
13139func (s ActivitiesResponse) String() string {
13140	return awsutil.Prettify(s)
13141}
13142
13143// GoString returns the string representation.
13144//
13145// API parameter values that are decorated as "sensitive" in the API will not
13146// be included in the string output. The member name will be present, but the
13147// value will be replaced with "sensitive".
13148func (s ActivitiesResponse) GoString() string {
13149	return s.String()
13150}
13151
13152// SetItem sets the Item field's value.
13153func (s *ActivitiesResponse) SetItem(v []*ActivityResponse) *ActivitiesResponse {
13154	s.Item = v
13155	return s
13156}
13157
13158// SetNextToken sets the NextToken field's value.
13159func (s *ActivitiesResponse) SetNextToken(v string) *ActivitiesResponse {
13160	s.NextToken = &v
13161	return s
13162}
13163
13164// Specifies the configuration and other settings for an activity in a journey.
13165type Activity struct {
13166	_ struct{} `type:"structure"`
13167
13168	// The settings for a custom message activity. This type of activity calls an
13169	// AWS Lambda function or web hook that sends messages to participants.
13170	CUSTOM *CustomMessageActivity `type:"structure"`
13171
13172	// The settings for a yes/no split activity. This type of activity sends participants
13173	// down one of two paths in a journey, based on conditions that you specify.
13174	ConditionalSplit *ConditionalSplitActivity `type:"structure"`
13175
13176	// The settings for a connect activity. This type of activity initiates a contact
13177	// center call to participants.
13178	ContactCenter *ContactCenterActivity `type:"structure"`
13179
13180	// The custom description of the activity.
13181	Description *string `type:"string"`
13182
13183	// The settings for an email activity. This type of activity sends an email
13184	// message to participants.
13185	EMAIL *EmailMessageActivity `type:"structure"`
13186
13187	// The settings for a holdout activity. This type of activity stops a journey
13188	// for a specified percentage of participants.
13189	Holdout *HoldoutActivity `type:"structure"`
13190
13191	// The settings for a multivariate split activity. This type of activity sends
13192	// participants down one of as many as five paths (including a default Else
13193	// path) in a journey, based on conditions that you specify.
13194	MultiCondition *MultiConditionalSplitActivity `type:"structure"`
13195
13196	// The settings for a push notification activity. This type of activity sends
13197	// a push notification to participants.
13198	PUSH *PushMessageActivity `type:"structure"`
13199
13200	// The settings for a random split activity. This type of activity randomly
13201	// sends specified percentages of participants down one of as many as five paths
13202	// in a journey, based on conditions that you specify.
13203	RandomSplit *RandomSplitActivity `type:"structure"`
13204
13205	// The settings for an SMS activity. This type of activity sends a text message
13206	// to participants.
13207	SMS *SMSMessageActivity `type:"structure"`
13208
13209	// The settings for a wait activity. This type of activity waits for a certain
13210	// amount of time or until a specific date and time before moving participants
13211	// to the next activity in a journey.
13212	Wait *WaitActivity `type:"structure"`
13213}
13214
13215// String returns the string representation.
13216//
13217// API parameter values that are decorated as "sensitive" in the API will not
13218// be included in the string output. The member name will be present, but the
13219// value will be replaced with "sensitive".
13220func (s Activity) String() string {
13221	return awsutil.Prettify(s)
13222}
13223
13224// GoString returns the string representation.
13225//
13226// API parameter values that are decorated as "sensitive" in the API will not
13227// be included in the string output. The member name will be present, but the
13228// value will be replaced with "sensitive".
13229func (s Activity) GoString() string {
13230	return s.String()
13231}
13232
13233// Validate inspects the fields of the type to determine if they are valid.
13234func (s *Activity) Validate() error {
13235	invalidParams := request.ErrInvalidParams{Context: "Activity"}
13236	if s.ConditionalSplit != nil {
13237		if err := s.ConditionalSplit.Validate(); err != nil {
13238			invalidParams.AddNested("ConditionalSplit", err.(request.ErrInvalidParams))
13239		}
13240	}
13241	if s.Holdout != nil {
13242		if err := s.Holdout.Validate(); err != nil {
13243			invalidParams.AddNested("Holdout", err.(request.ErrInvalidParams))
13244		}
13245	}
13246	if s.MultiCondition != nil {
13247		if err := s.MultiCondition.Validate(); err != nil {
13248			invalidParams.AddNested("MultiCondition", err.(request.ErrInvalidParams))
13249		}
13250	}
13251
13252	if invalidParams.Len() > 0 {
13253		return invalidParams
13254	}
13255	return nil
13256}
13257
13258// SetCUSTOM sets the CUSTOM field's value.
13259func (s *Activity) SetCUSTOM(v *CustomMessageActivity) *Activity {
13260	s.CUSTOM = v
13261	return s
13262}
13263
13264// SetConditionalSplit sets the ConditionalSplit field's value.
13265func (s *Activity) SetConditionalSplit(v *ConditionalSplitActivity) *Activity {
13266	s.ConditionalSplit = v
13267	return s
13268}
13269
13270// SetContactCenter sets the ContactCenter field's value.
13271func (s *Activity) SetContactCenter(v *ContactCenterActivity) *Activity {
13272	s.ContactCenter = v
13273	return s
13274}
13275
13276// SetDescription sets the Description field's value.
13277func (s *Activity) SetDescription(v string) *Activity {
13278	s.Description = &v
13279	return s
13280}
13281
13282// SetEMAIL sets the EMAIL field's value.
13283func (s *Activity) SetEMAIL(v *EmailMessageActivity) *Activity {
13284	s.EMAIL = v
13285	return s
13286}
13287
13288// SetHoldout sets the Holdout field's value.
13289func (s *Activity) SetHoldout(v *HoldoutActivity) *Activity {
13290	s.Holdout = v
13291	return s
13292}
13293
13294// SetMultiCondition sets the MultiCondition field's value.
13295func (s *Activity) SetMultiCondition(v *MultiConditionalSplitActivity) *Activity {
13296	s.MultiCondition = v
13297	return s
13298}
13299
13300// SetPUSH sets the PUSH field's value.
13301func (s *Activity) SetPUSH(v *PushMessageActivity) *Activity {
13302	s.PUSH = v
13303	return s
13304}
13305
13306// SetRandomSplit sets the RandomSplit field's value.
13307func (s *Activity) SetRandomSplit(v *RandomSplitActivity) *Activity {
13308	s.RandomSplit = v
13309	return s
13310}
13311
13312// SetSMS sets the SMS field's value.
13313func (s *Activity) SetSMS(v *SMSMessageActivity) *Activity {
13314	s.SMS = v
13315	return s
13316}
13317
13318// SetWait sets the Wait field's value.
13319func (s *Activity) SetWait(v *WaitActivity) *Activity {
13320	s.Wait = v
13321	return s
13322}
13323
13324// Provides information about an activity that was performed by a campaign.
13325type ActivityResponse struct {
13326	_ struct{} `type:"structure"`
13327
13328	// The unique identifier for the application that the campaign applies to.
13329	//
13330	// ApplicationId is a required field
13331	ApplicationId *string `type:"string" required:"true"`
13332
13333	// The unique identifier for the campaign that the activity applies to.
13334	//
13335	// CampaignId is a required field
13336	CampaignId *string `type:"string" required:"true"`
13337
13338	// The actual time, in ISO 8601 format, when the activity was marked CANCELLED
13339	// or COMPLETED.
13340	End *string `type:"string"`
13341
13342	// The unique identifier for the activity.
13343	//
13344	// Id is a required field
13345	Id *string `type:"string" required:"true"`
13346
13347	// Specifies whether the activity succeeded. Possible values are SUCCESS and
13348	// FAIL.
13349	Result *string `type:"string"`
13350
13351	// The scheduled start time, in ISO 8601 format, for the activity.
13352	ScheduledStart *string `type:"string"`
13353
13354	// The actual start time, in ISO 8601 format, of the activity.
13355	Start *string `type:"string"`
13356
13357	// The current status of the activity. Possible values are: PENDING, INITIALIZING,
13358	// RUNNING, PAUSED, CANCELLED, and COMPLETED.
13359	State *string `type:"string"`
13360
13361	// The total number of endpoints that the campaign successfully delivered messages
13362	// to.
13363	SuccessfulEndpointCount *int64 `type:"integer"`
13364
13365	// The total number of time zones that were completed.
13366	TimezonesCompletedCount *int64 `type:"integer"`
13367
13368	// The total number of unique time zones that are in the segment for the campaign.
13369	TimezonesTotalCount *int64 `type:"integer"`
13370
13371	// The total number of endpoints that the campaign attempted to deliver messages
13372	// to.
13373	TotalEndpointCount *int64 `type:"integer"`
13374
13375	// The unique identifier for the campaign treatment that the activity applies
13376	// to. A treatment is a variation of a campaign that's used for A/B testing
13377	// of a campaign.
13378	TreatmentId *string `type:"string"`
13379}
13380
13381// String returns the string representation.
13382//
13383// API parameter values that are decorated as "sensitive" in the API will not
13384// be included in the string output. The member name will be present, but the
13385// value will be replaced with "sensitive".
13386func (s ActivityResponse) String() string {
13387	return awsutil.Prettify(s)
13388}
13389
13390// GoString returns the string representation.
13391//
13392// API parameter values that are decorated as "sensitive" in the API will not
13393// be included in the string output. The member name will be present, but the
13394// value will be replaced with "sensitive".
13395func (s ActivityResponse) GoString() string {
13396	return s.String()
13397}
13398
13399// SetApplicationId sets the ApplicationId field's value.
13400func (s *ActivityResponse) SetApplicationId(v string) *ActivityResponse {
13401	s.ApplicationId = &v
13402	return s
13403}
13404
13405// SetCampaignId sets the CampaignId field's value.
13406func (s *ActivityResponse) SetCampaignId(v string) *ActivityResponse {
13407	s.CampaignId = &v
13408	return s
13409}
13410
13411// SetEnd sets the End field's value.
13412func (s *ActivityResponse) SetEnd(v string) *ActivityResponse {
13413	s.End = &v
13414	return s
13415}
13416
13417// SetId sets the Id field's value.
13418func (s *ActivityResponse) SetId(v string) *ActivityResponse {
13419	s.Id = &v
13420	return s
13421}
13422
13423// SetResult sets the Result field's value.
13424func (s *ActivityResponse) SetResult(v string) *ActivityResponse {
13425	s.Result = &v
13426	return s
13427}
13428
13429// SetScheduledStart sets the ScheduledStart field's value.
13430func (s *ActivityResponse) SetScheduledStart(v string) *ActivityResponse {
13431	s.ScheduledStart = &v
13432	return s
13433}
13434
13435// SetStart sets the Start field's value.
13436func (s *ActivityResponse) SetStart(v string) *ActivityResponse {
13437	s.Start = &v
13438	return s
13439}
13440
13441// SetState sets the State field's value.
13442func (s *ActivityResponse) SetState(v string) *ActivityResponse {
13443	s.State = &v
13444	return s
13445}
13446
13447// SetSuccessfulEndpointCount sets the SuccessfulEndpointCount field's value.
13448func (s *ActivityResponse) SetSuccessfulEndpointCount(v int64) *ActivityResponse {
13449	s.SuccessfulEndpointCount = &v
13450	return s
13451}
13452
13453// SetTimezonesCompletedCount sets the TimezonesCompletedCount field's value.
13454func (s *ActivityResponse) SetTimezonesCompletedCount(v int64) *ActivityResponse {
13455	s.TimezonesCompletedCount = &v
13456	return s
13457}
13458
13459// SetTimezonesTotalCount sets the TimezonesTotalCount field's value.
13460func (s *ActivityResponse) SetTimezonesTotalCount(v int64) *ActivityResponse {
13461	s.TimezonesTotalCount = &v
13462	return s
13463}
13464
13465// SetTotalEndpointCount sets the TotalEndpointCount field's value.
13466func (s *ActivityResponse) SetTotalEndpointCount(v int64) *ActivityResponse {
13467	s.TotalEndpointCount = &v
13468	return s
13469}
13470
13471// SetTreatmentId sets the TreatmentId field's value.
13472func (s *ActivityResponse) SetTreatmentId(v string) *ActivityResponse {
13473	s.TreatmentId = &v
13474	return s
13475}
13476
13477// Specifies address-based configuration settings for a message that's sent
13478// directly to an endpoint.
13479type AddressConfiguration struct {
13480	_ struct{} `type:"structure"`
13481
13482	// The message body to use instead of the default message body. This value overrides
13483	// the default message body.
13484	BodyOverride *string `type:"string"`
13485
13486	// The channel to use when sending the message.
13487	ChannelType *string `type:"string" enum:"ChannelType"`
13488
13489	// An object that maps custom attributes to attributes for the address and is
13490	// attached to the message. Attribute names are case sensitive.
13491	//
13492	// For a push notification, this payload is added to the data.pinpoint object.
13493	// For an email or text message, this payload is added to email/SMS delivery
13494	// receipt event attributes.
13495	Context map[string]*string `type:"map"`
13496
13497	// The raw, JSON-formatted string to use as the payload for the message. If
13498	// specified, this value overrides all other values for the message.
13499	RawContent *string `type:"string"`
13500
13501	// A map of the message variables to merge with the variables specified by properties
13502	// of the DefaultMessage object. The variables specified in this map take precedence
13503	// over all other variables.
13504	Substitutions map[string][]*string `type:"map"`
13505
13506	// The message title to use instead of the default message title. This value
13507	// overrides the default message title.
13508	TitleOverride *string `type:"string"`
13509}
13510
13511// String returns the string representation.
13512//
13513// API parameter values that are decorated as "sensitive" in the API will not
13514// be included in the string output. The member name will be present, but the
13515// value will be replaced with "sensitive".
13516func (s AddressConfiguration) String() string {
13517	return awsutil.Prettify(s)
13518}
13519
13520// GoString returns the string representation.
13521//
13522// API parameter values that are decorated as "sensitive" in the API will not
13523// be included in the string output. The member name will be present, but the
13524// value will be replaced with "sensitive".
13525func (s AddressConfiguration) GoString() string {
13526	return s.String()
13527}
13528
13529// SetBodyOverride sets the BodyOverride field's value.
13530func (s *AddressConfiguration) SetBodyOverride(v string) *AddressConfiguration {
13531	s.BodyOverride = &v
13532	return s
13533}
13534
13535// SetChannelType sets the ChannelType field's value.
13536func (s *AddressConfiguration) SetChannelType(v string) *AddressConfiguration {
13537	s.ChannelType = &v
13538	return s
13539}
13540
13541// SetContext sets the Context field's value.
13542func (s *AddressConfiguration) SetContext(v map[string]*string) *AddressConfiguration {
13543	s.Context = v
13544	return s
13545}
13546
13547// SetRawContent sets the RawContent field's value.
13548func (s *AddressConfiguration) SetRawContent(v string) *AddressConfiguration {
13549	s.RawContent = &v
13550	return s
13551}
13552
13553// SetSubstitutions sets the Substitutions field's value.
13554func (s *AddressConfiguration) SetSubstitutions(v map[string][]*string) *AddressConfiguration {
13555	s.Substitutions = v
13556	return s
13557}
13558
13559// SetTitleOverride sets the TitleOverride field's value.
13560func (s *AddressConfiguration) SetTitleOverride(v string) *AddressConfiguration {
13561	s.TitleOverride = &v
13562	return s
13563}
13564
13565// Specifies channel-specific content and settings for a message template that
13566// can be used in push notifications that are sent through the ADM (Amazon Device
13567// Messaging), Baidu (Baidu Cloud Push), or GCM (Firebase Cloud Messaging, formerly
13568// Google Cloud Messaging) channel.
13569type AndroidPushNotificationTemplate struct {
13570	_ struct{} `type:"structure"`
13571
13572	// The action to occur if a recipient taps a push notification that's based
13573	// on the message template. Valid values are:
13574	//
13575	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
13576	//    sent to the background. This is the default action.
13577	//
13578	//    * DEEP_LINK - Your app opens and displays a designated user interface
13579	//    in the app. This action uses the deep-linking features of the Android
13580	//    platform.
13581	//
13582	//    * URL - The default mobile browser on the recipient's device opens and
13583	//    loads the web page at a URL that you specify.
13584	Action *string `type:"string" enum:"Action"`
13585
13586	// The message body to use in a push notification that's based on the message
13587	// template.
13588	Body *string `type:"string"`
13589
13590	// The URL of the large icon image to display in the content view of a push
13591	// notification that's based on the message template.
13592	ImageIconUrl *string `type:"string"`
13593
13594	// The URL of an image to display in a push notification that's based on the
13595	// message template.
13596	ImageUrl *string `type:"string"`
13597
13598	// The raw, JSON-formatted string to use as the payload for a push notification
13599	// that's based on the message template. If specified, this value overrides
13600	// all other content for the message template.
13601	RawContent *string `type:"string"`
13602
13603	// The URL of the small icon image to display in the status bar and the content
13604	// view of a push notification that's based on the message template.
13605	SmallImageIconUrl *string `type:"string"`
13606
13607	// The sound to play when a recipient receives a push notification that's based
13608	// on the message template. You can use the default stream or specify the file
13609	// name of a sound resource that's bundled in your app. On an Android platform,
13610	// the sound file must reside in /res/raw/.
13611	Sound *string `type:"string"`
13612
13613	// The title to use in a push notification that's based on the message template.
13614	// This title appears above the notification message on a recipient's device.
13615	Title *string `type:"string"`
13616
13617	// The URL to open in a recipient's default mobile browser, if a recipient taps
13618	// a push notification that's based on the message template and the value of
13619	// the Action property is URL.
13620	Url *string `type:"string"`
13621}
13622
13623// String returns the string representation.
13624//
13625// API parameter values that are decorated as "sensitive" in the API will not
13626// be included in the string output. The member name will be present, but the
13627// value will be replaced with "sensitive".
13628func (s AndroidPushNotificationTemplate) String() string {
13629	return awsutil.Prettify(s)
13630}
13631
13632// GoString returns the string representation.
13633//
13634// API parameter values that are decorated as "sensitive" in the API will not
13635// be included in the string output. The member name will be present, but the
13636// value will be replaced with "sensitive".
13637func (s AndroidPushNotificationTemplate) GoString() string {
13638	return s.String()
13639}
13640
13641// SetAction sets the Action field's value.
13642func (s *AndroidPushNotificationTemplate) SetAction(v string) *AndroidPushNotificationTemplate {
13643	s.Action = &v
13644	return s
13645}
13646
13647// SetBody sets the Body field's value.
13648func (s *AndroidPushNotificationTemplate) SetBody(v string) *AndroidPushNotificationTemplate {
13649	s.Body = &v
13650	return s
13651}
13652
13653// SetImageIconUrl sets the ImageIconUrl field's value.
13654func (s *AndroidPushNotificationTemplate) SetImageIconUrl(v string) *AndroidPushNotificationTemplate {
13655	s.ImageIconUrl = &v
13656	return s
13657}
13658
13659// SetImageUrl sets the ImageUrl field's value.
13660func (s *AndroidPushNotificationTemplate) SetImageUrl(v string) *AndroidPushNotificationTemplate {
13661	s.ImageUrl = &v
13662	return s
13663}
13664
13665// SetRawContent sets the RawContent field's value.
13666func (s *AndroidPushNotificationTemplate) SetRawContent(v string) *AndroidPushNotificationTemplate {
13667	s.RawContent = &v
13668	return s
13669}
13670
13671// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
13672func (s *AndroidPushNotificationTemplate) SetSmallImageIconUrl(v string) *AndroidPushNotificationTemplate {
13673	s.SmallImageIconUrl = &v
13674	return s
13675}
13676
13677// SetSound sets the Sound field's value.
13678func (s *AndroidPushNotificationTemplate) SetSound(v string) *AndroidPushNotificationTemplate {
13679	s.Sound = &v
13680	return s
13681}
13682
13683// SetTitle sets the Title field's value.
13684func (s *AndroidPushNotificationTemplate) SetTitle(v string) *AndroidPushNotificationTemplate {
13685	s.Title = &v
13686	return s
13687}
13688
13689// SetUrl sets the Url field's value.
13690func (s *AndroidPushNotificationTemplate) SetUrl(v string) *AndroidPushNotificationTemplate {
13691	s.Url = &v
13692	return s
13693}
13694
13695// Provides the results of a query that retrieved the data for a standard metric
13696// that applies to an application, and provides information about that query.
13697type ApplicationDateRangeKpiResponse struct {
13698	_ struct{} `type:"structure"`
13699
13700	// The unique identifier for the application that the metric applies to.
13701	//
13702	// ApplicationId is a required field
13703	ApplicationId *string `type:"string" required:"true"`
13704
13705	// EndTime is a required field
13706	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
13707
13708	// The name of the metric, also referred to as a key performance indicator (KPI),
13709	// that the data was retrieved for. This value describes the associated metric
13710	// and consists of two or more terms, which are comprised of lowercase alphanumeric
13711	// characters, separated by a hyphen. For a list of possible values, see the
13712	// Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html).
13713	//
13714	// KpiName is a required field
13715	KpiName *string `type:"string" required:"true"`
13716
13717	// An array of objects that contains the results of the query. Each object contains
13718	// the value for the metric and metadata about that value.
13719	//
13720	// KpiResult is a required field
13721	KpiResult *BaseKpiResult `type:"structure" required:"true"`
13722
13723	// The string to use in a subsequent request to get the next page of results
13724	// in a paginated response. This value is null for the Application Metrics resource
13725	// because the resource returns all results in a single page.
13726	NextToken *string `type:"string"`
13727
13728	// StartTime is a required field
13729	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
13730}
13731
13732// String returns the string representation.
13733//
13734// API parameter values that are decorated as "sensitive" in the API will not
13735// be included in the string output. The member name will be present, but the
13736// value will be replaced with "sensitive".
13737func (s ApplicationDateRangeKpiResponse) String() string {
13738	return awsutil.Prettify(s)
13739}
13740
13741// GoString returns the string representation.
13742//
13743// API parameter values that are decorated as "sensitive" in the API will not
13744// be included in the string output. The member name will be present, but the
13745// value will be replaced with "sensitive".
13746func (s ApplicationDateRangeKpiResponse) GoString() string {
13747	return s.String()
13748}
13749
13750// SetApplicationId sets the ApplicationId field's value.
13751func (s *ApplicationDateRangeKpiResponse) SetApplicationId(v string) *ApplicationDateRangeKpiResponse {
13752	s.ApplicationId = &v
13753	return s
13754}
13755
13756// SetEndTime sets the EndTime field's value.
13757func (s *ApplicationDateRangeKpiResponse) SetEndTime(v time.Time) *ApplicationDateRangeKpiResponse {
13758	s.EndTime = &v
13759	return s
13760}
13761
13762// SetKpiName sets the KpiName field's value.
13763func (s *ApplicationDateRangeKpiResponse) SetKpiName(v string) *ApplicationDateRangeKpiResponse {
13764	s.KpiName = &v
13765	return s
13766}
13767
13768// SetKpiResult sets the KpiResult field's value.
13769func (s *ApplicationDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *ApplicationDateRangeKpiResponse {
13770	s.KpiResult = v
13771	return s
13772}
13773
13774// SetNextToken sets the NextToken field's value.
13775func (s *ApplicationDateRangeKpiResponse) SetNextToken(v string) *ApplicationDateRangeKpiResponse {
13776	s.NextToken = &v
13777	return s
13778}
13779
13780// SetStartTime sets the StartTime field's value.
13781func (s *ApplicationDateRangeKpiResponse) SetStartTime(v time.Time) *ApplicationDateRangeKpiResponse {
13782	s.StartTime = &v
13783	return s
13784}
13785
13786// Provides information about an application.
13787type ApplicationResponse struct {
13788	_ struct{} `type:"structure"`
13789
13790	// The Amazon Resource Name (ARN) of the application.
13791	//
13792	// Arn is a required field
13793	Arn *string `type:"string" required:"true"`
13794
13795	// The unique identifier for the application. This identifier is displayed as
13796	// the Project ID on the Amazon Pinpoint console.
13797	//
13798	// Id is a required field
13799	Id *string `type:"string" required:"true"`
13800
13801	// The display name of the application. This name is displayed as the Project
13802	// name on the Amazon Pinpoint console.
13803	//
13804	// Name is a required field
13805	Name *string `type:"string" required:"true"`
13806
13807	// A string-to-string map of key-value pairs that identifies the tags that are
13808	// associated with the application. Each tag consists of a required tag key
13809	// and an associated tag value.
13810	Tags map[string]*string `locationName:"tags" type:"map"`
13811}
13812
13813// String returns the string representation.
13814//
13815// API parameter values that are decorated as "sensitive" in the API will not
13816// be included in the string output. The member name will be present, but the
13817// value will be replaced with "sensitive".
13818func (s ApplicationResponse) String() string {
13819	return awsutil.Prettify(s)
13820}
13821
13822// GoString returns the string representation.
13823//
13824// API parameter values that are decorated as "sensitive" in the API will not
13825// be included in the string output. The member name will be present, but the
13826// value will be replaced with "sensitive".
13827func (s ApplicationResponse) GoString() string {
13828	return s.String()
13829}
13830
13831// SetArn sets the Arn field's value.
13832func (s *ApplicationResponse) SetArn(v string) *ApplicationResponse {
13833	s.Arn = &v
13834	return s
13835}
13836
13837// SetId sets the Id field's value.
13838func (s *ApplicationResponse) SetId(v string) *ApplicationResponse {
13839	s.Id = &v
13840	return s
13841}
13842
13843// SetName sets the Name field's value.
13844func (s *ApplicationResponse) SetName(v string) *ApplicationResponse {
13845	s.Name = &v
13846	return s
13847}
13848
13849// SetTags sets the Tags field's value.
13850func (s *ApplicationResponse) SetTags(v map[string]*string) *ApplicationResponse {
13851	s.Tags = v
13852	return s
13853}
13854
13855// Provides information about an application, including the default settings
13856// for an application.
13857type ApplicationSettingsResource struct {
13858	_ struct{} `type:"structure"`
13859
13860	// The unique identifier for the application. This identifier is displayed as
13861	// the Project ID on the Amazon Pinpoint console.
13862	//
13863	// ApplicationId is a required field
13864	ApplicationId *string `type:"string" required:"true"`
13865
13866	// The settings for the AWS Lambda function to invoke by default as a code hook
13867	// for campaigns in the application. You can use this hook to customize segments
13868	// that are used by campaigns in the application.
13869	CampaignHook *CampaignHook `type:"structure"`
13870
13871	// The date and time, in ISO 8601 format, when the application's settings were
13872	// last modified.
13873	LastModifiedDate *string `type:"string"`
13874
13875	// The default sending limits for campaigns in the application.
13876	Limits *CampaignLimits `type:"structure"`
13877
13878	// The default quiet time for campaigns in the application. Quiet time is a
13879	// specific time range when messages aren't sent to endpoints, if all the following
13880	// conditions are met:
13881	//
13882	//    * The EndpointDemographic.Timezone property of the endpoint is set to
13883	//    a valid value.
13884	//
13885	//    * The current time in the endpoint's time zone is later than or equal
13886	//    to the time specified by the QuietTime.Start property for the application
13887	//    (or a campaign or journey that has custom quiet time settings).
13888	//
13889	//    * The current time in the endpoint's time zone is earlier than or equal
13890	//    to the time specified by the QuietTime.End property for the application
13891	//    (or a campaign or journey that has custom quiet time settings).
13892	//
13893	// If any of the preceding conditions isn't met, the endpoint will receive messages
13894	// from a campaign or journey, even if quiet time is enabled.
13895	QuietTime *QuietTime `type:"structure"`
13896}
13897
13898// String returns the string representation.
13899//
13900// API parameter values that are decorated as "sensitive" in the API will not
13901// be included in the string output. The member name will be present, but the
13902// value will be replaced with "sensitive".
13903func (s ApplicationSettingsResource) String() string {
13904	return awsutil.Prettify(s)
13905}
13906
13907// GoString returns the string representation.
13908//
13909// API parameter values that are decorated as "sensitive" in the API will not
13910// be included in the string output. The member name will be present, but the
13911// value will be replaced with "sensitive".
13912func (s ApplicationSettingsResource) GoString() string {
13913	return s.String()
13914}
13915
13916// SetApplicationId sets the ApplicationId field's value.
13917func (s *ApplicationSettingsResource) SetApplicationId(v string) *ApplicationSettingsResource {
13918	s.ApplicationId = &v
13919	return s
13920}
13921
13922// SetCampaignHook sets the CampaignHook field's value.
13923func (s *ApplicationSettingsResource) SetCampaignHook(v *CampaignHook) *ApplicationSettingsResource {
13924	s.CampaignHook = v
13925	return s
13926}
13927
13928// SetLastModifiedDate sets the LastModifiedDate field's value.
13929func (s *ApplicationSettingsResource) SetLastModifiedDate(v string) *ApplicationSettingsResource {
13930	s.LastModifiedDate = &v
13931	return s
13932}
13933
13934// SetLimits sets the Limits field's value.
13935func (s *ApplicationSettingsResource) SetLimits(v *CampaignLimits) *ApplicationSettingsResource {
13936	s.Limits = v
13937	return s
13938}
13939
13940// SetQuietTime sets the QuietTime field's value.
13941func (s *ApplicationSettingsResource) SetQuietTime(v *QuietTime) *ApplicationSettingsResource {
13942	s.QuietTime = v
13943	return s
13944}
13945
13946// Provides information about all of your applications.
13947type ApplicationsResponse struct {
13948	_ struct{} `type:"structure"`
13949
13950	// An array of responses, one for each application that was returned.
13951	Item []*ApplicationResponse `type:"list"`
13952
13953	// The string to use in a subsequent request to get the next page of results
13954	// in a paginated response. This value is null if there are no additional pages.
13955	NextToken *string `type:"string"`
13956}
13957
13958// String returns the string representation.
13959//
13960// API parameter values that are decorated as "sensitive" in the API will not
13961// be included in the string output. The member name will be present, but the
13962// value will be replaced with "sensitive".
13963func (s ApplicationsResponse) String() string {
13964	return awsutil.Prettify(s)
13965}
13966
13967// GoString returns the string representation.
13968//
13969// API parameter values that are decorated as "sensitive" in the API will not
13970// be included in the string output. The member name will be present, but the
13971// value will be replaced with "sensitive".
13972func (s ApplicationsResponse) GoString() string {
13973	return s.String()
13974}
13975
13976// SetItem sets the Item field's value.
13977func (s *ApplicationsResponse) SetItem(v []*ApplicationResponse) *ApplicationsResponse {
13978	s.Item = v
13979	return s
13980}
13981
13982// SetNextToken sets the NextToken field's value.
13983func (s *ApplicationsResponse) SetNextToken(v string) *ApplicationsResponse {
13984	s.NextToken = &v
13985	return s
13986}
13987
13988// Specifies attribute-based criteria for including or excluding endpoints from
13989// a segment.
13990type AttributeDimension struct {
13991	_ struct{} `type:"structure"`
13992
13993	AttributeType *string `type:"string" enum:"AttributeType"`
13994
13995	// The criteria values to use for the segment dimension. Depending on the value
13996	// of the AttributeType property, endpoints are included or excluded from the
13997	// segment if their attribute values match the criteria values.
13998	//
13999	// Values is a required field
14000	Values []*string `type:"list" required:"true"`
14001}
14002
14003// String returns the string representation.
14004//
14005// API parameter values that are decorated as "sensitive" in the API will not
14006// be included in the string output. The member name will be present, but the
14007// value will be replaced with "sensitive".
14008func (s AttributeDimension) String() string {
14009	return awsutil.Prettify(s)
14010}
14011
14012// GoString returns the string representation.
14013//
14014// API parameter values that are decorated as "sensitive" in the API will not
14015// be included in the string output. The member name will be present, but the
14016// value will be replaced with "sensitive".
14017func (s AttributeDimension) GoString() string {
14018	return s.String()
14019}
14020
14021// Validate inspects the fields of the type to determine if they are valid.
14022func (s *AttributeDimension) Validate() error {
14023	invalidParams := request.ErrInvalidParams{Context: "AttributeDimension"}
14024	if s.Values == nil {
14025		invalidParams.Add(request.NewErrParamRequired("Values"))
14026	}
14027
14028	if invalidParams.Len() > 0 {
14029		return invalidParams
14030	}
14031	return nil
14032}
14033
14034// SetAttributeType sets the AttributeType field's value.
14035func (s *AttributeDimension) SetAttributeType(v string) *AttributeDimension {
14036	s.AttributeType = &v
14037	return s
14038}
14039
14040// SetValues sets the Values field's value.
14041func (s *AttributeDimension) SetValues(v []*string) *AttributeDimension {
14042	s.Values = v
14043	return s
14044}
14045
14046// Provides information about the type and the names of attributes that were
14047// removed from all the endpoints that are associated with an application.
14048type AttributesResource struct {
14049	_ struct{} `type:"structure"`
14050
14051	// The unique identifier for the application.
14052	//
14053	// ApplicationId is a required field
14054	ApplicationId *string `type:"string" required:"true"`
14055
14056	// The type of attribute or attributes that were removed from the endpoints.
14057	// Valid values are:
14058	//
14059	//    * endpoint-custom-attributes - Custom attributes that describe endpoints.
14060	//
14061	//    * endpoint-metric-attributes - Custom metrics that your app reports to
14062	//    Amazon Pinpoint for endpoints.
14063	//
14064	//    * endpoint-user-attributes - Custom attributes that describe users.
14065	//
14066	// AttributeType is a required field
14067	AttributeType *string `type:"string" required:"true"`
14068
14069	// An array that specifies the names of the attributes that were removed from
14070	// the endpoints.
14071	Attributes []*string `type:"list"`
14072}
14073
14074// String returns the string representation.
14075//
14076// API parameter values that are decorated as "sensitive" in the API will not
14077// be included in the string output. The member name will be present, but the
14078// value will be replaced with "sensitive".
14079func (s AttributesResource) String() string {
14080	return awsutil.Prettify(s)
14081}
14082
14083// GoString returns the string representation.
14084//
14085// API parameter values that are decorated as "sensitive" in the API will not
14086// be included in the string output. The member name will be present, but the
14087// value will be replaced with "sensitive".
14088func (s AttributesResource) GoString() string {
14089	return s.String()
14090}
14091
14092// SetApplicationId sets the ApplicationId field's value.
14093func (s *AttributesResource) SetApplicationId(v string) *AttributesResource {
14094	s.ApplicationId = &v
14095	return s
14096}
14097
14098// SetAttributeType sets the AttributeType field's value.
14099func (s *AttributesResource) SetAttributeType(v string) *AttributesResource {
14100	s.AttributeType = &v
14101	return s
14102}
14103
14104// SetAttributes sets the Attributes field's value.
14105func (s *AttributesResource) SetAttributes(v []*string) *AttributesResource {
14106	s.Attributes = v
14107	return s
14108}
14109
14110// Provides information about an API request or response.
14111type BadRequestException struct {
14112	_            struct{}                  `type:"structure"`
14113	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14114
14115	Message_ *string `locationName:"Message" type:"string"`
14116
14117	RequestID_ *string `locationName:"RequestID" type:"string"`
14118}
14119
14120// String returns the string representation.
14121//
14122// API parameter values that are decorated as "sensitive" in the API will not
14123// be included in the string output. The member name will be present, but the
14124// value will be replaced with "sensitive".
14125func (s BadRequestException) String() string {
14126	return awsutil.Prettify(s)
14127}
14128
14129// GoString returns the string representation.
14130//
14131// API parameter values that are decorated as "sensitive" in the API will not
14132// be included in the string output. The member name will be present, but the
14133// value will be replaced with "sensitive".
14134func (s BadRequestException) GoString() string {
14135	return s.String()
14136}
14137
14138func newErrorBadRequestException(v protocol.ResponseMetadata) error {
14139	return &BadRequestException{
14140		RespMetadata: v,
14141	}
14142}
14143
14144// Code returns the exception type name.
14145func (s *BadRequestException) Code() string {
14146	return "BadRequestException"
14147}
14148
14149// Message returns the exception's message.
14150func (s *BadRequestException) Message() string {
14151	if s.Message_ != nil {
14152		return *s.Message_
14153	}
14154	return ""
14155}
14156
14157// OrigErr always returns nil, satisfies awserr.Error interface.
14158func (s *BadRequestException) OrigErr() error {
14159	return nil
14160}
14161
14162func (s *BadRequestException) Error() string {
14163	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
14164}
14165
14166// Status code returns the HTTP status code for the request's response error.
14167func (s *BadRequestException) StatusCode() int {
14168	return s.RespMetadata.StatusCode
14169}
14170
14171// RequestID returns the service's response RequestID for request.
14172func (s *BadRequestException) RequestID() string {
14173	return s.RespMetadata.RequestID
14174}
14175
14176// Specifies the status and settings of the Baidu (Baidu Cloud Push) channel
14177// for an application.
14178type BaiduChannelRequest struct {
14179	_ struct{} `type:"structure"`
14180
14181	// The API key that you received from the Baidu Cloud Push service to communicate
14182	// with the service.
14183	//
14184	// ApiKey is a required field
14185	ApiKey *string `type:"string" required:"true"`
14186
14187	// Specifies whether to enable the Baidu channel for the application.
14188	Enabled *bool `type:"boolean"`
14189
14190	// The secret key that you received from the Baidu Cloud Push service to communicate
14191	// with the service.
14192	//
14193	// SecretKey is a required field
14194	SecretKey *string `type:"string" required:"true"`
14195}
14196
14197// String returns the string representation.
14198//
14199// API parameter values that are decorated as "sensitive" in the API will not
14200// be included in the string output. The member name will be present, but the
14201// value will be replaced with "sensitive".
14202func (s BaiduChannelRequest) String() string {
14203	return awsutil.Prettify(s)
14204}
14205
14206// GoString returns the string representation.
14207//
14208// API parameter values that are decorated as "sensitive" in the API will not
14209// be included in the string output. The member name will be present, but the
14210// value will be replaced with "sensitive".
14211func (s BaiduChannelRequest) GoString() string {
14212	return s.String()
14213}
14214
14215// Validate inspects the fields of the type to determine if they are valid.
14216func (s *BaiduChannelRequest) Validate() error {
14217	invalidParams := request.ErrInvalidParams{Context: "BaiduChannelRequest"}
14218	if s.ApiKey == nil {
14219		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
14220	}
14221	if s.SecretKey == nil {
14222		invalidParams.Add(request.NewErrParamRequired("SecretKey"))
14223	}
14224
14225	if invalidParams.Len() > 0 {
14226		return invalidParams
14227	}
14228	return nil
14229}
14230
14231// SetApiKey sets the ApiKey field's value.
14232func (s *BaiduChannelRequest) SetApiKey(v string) *BaiduChannelRequest {
14233	s.ApiKey = &v
14234	return s
14235}
14236
14237// SetEnabled sets the Enabled field's value.
14238func (s *BaiduChannelRequest) SetEnabled(v bool) *BaiduChannelRequest {
14239	s.Enabled = &v
14240	return s
14241}
14242
14243// SetSecretKey sets the SecretKey field's value.
14244func (s *BaiduChannelRequest) SetSecretKey(v string) *BaiduChannelRequest {
14245	s.SecretKey = &v
14246	return s
14247}
14248
14249// Provides information about the status and settings of the Baidu (Baidu Cloud
14250// Push) channel for an application.
14251type BaiduChannelResponse struct {
14252	_ struct{} `type:"structure"`
14253
14254	// The unique identifier for the application that the Baidu channel applies
14255	// to.
14256	ApplicationId *string `type:"string"`
14257
14258	// The date and time when the Baidu channel was enabled.
14259	CreationDate *string `type:"string"`
14260
14261	// The API key that you received from the Baidu Cloud Push service to communicate
14262	// with the service.
14263	//
14264	// Credential is a required field
14265	Credential *string `type:"string" required:"true"`
14266
14267	// Specifies whether the Baidu channel is enabled for the application.
14268	Enabled *bool `type:"boolean"`
14269
14270	// (Not used) This property is retained only for backward compatibility.
14271	HasCredential *bool `type:"boolean"`
14272
14273	// (Deprecated) An identifier for the Baidu channel. This property is retained
14274	// only for backward compatibility.
14275	Id *string `type:"string"`
14276
14277	// Specifies whether the Baidu channel is archived.
14278	IsArchived *bool `type:"boolean"`
14279
14280	// The user who last modified the Baidu channel.
14281	LastModifiedBy *string `type:"string"`
14282
14283	// The date and time when the Baidu channel was last modified.
14284	LastModifiedDate *string `type:"string"`
14285
14286	// The type of messaging or notification platform for the channel. For the Baidu
14287	// channel, this value is BAIDU.
14288	//
14289	// Platform is a required field
14290	Platform *string `type:"string" required:"true"`
14291
14292	// The current version of the Baidu channel.
14293	Version *int64 `type:"integer"`
14294}
14295
14296// String returns the string representation.
14297//
14298// API parameter values that are decorated as "sensitive" in the API will not
14299// be included in the string output. The member name will be present, but the
14300// value will be replaced with "sensitive".
14301func (s BaiduChannelResponse) String() string {
14302	return awsutil.Prettify(s)
14303}
14304
14305// GoString returns the string representation.
14306//
14307// API parameter values that are decorated as "sensitive" in the API will not
14308// be included in the string output. The member name will be present, but the
14309// value will be replaced with "sensitive".
14310func (s BaiduChannelResponse) GoString() string {
14311	return s.String()
14312}
14313
14314// SetApplicationId sets the ApplicationId field's value.
14315func (s *BaiduChannelResponse) SetApplicationId(v string) *BaiduChannelResponse {
14316	s.ApplicationId = &v
14317	return s
14318}
14319
14320// SetCreationDate sets the CreationDate field's value.
14321func (s *BaiduChannelResponse) SetCreationDate(v string) *BaiduChannelResponse {
14322	s.CreationDate = &v
14323	return s
14324}
14325
14326// SetCredential sets the Credential field's value.
14327func (s *BaiduChannelResponse) SetCredential(v string) *BaiduChannelResponse {
14328	s.Credential = &v
14329	return s
14330}
14331
14332// SetEnabled sets the Enabled field's value.
14333func (s *BaiduChannelResponse) SetEnabled(v bool) *BaiduChannelResponse {
14334	s.Enabled = &v
14335	return s
14336}
14337
14338// SetHasCredential sets the HasCredential field's value.
14339func (s *BaiduChannelResponse) SetHasCredential(v bool) *BaiduChannelResponse {
14340	s.HasCredential = &v
14341	return s
14342}
14343
14344// SetId sets the Id field's value.
14345func (s *BaiduChannelResponse) SetId(v string) *BaiduChannelResponse {
14346	s.Id = &v
14347	return s
14348}
14349
14350// SetIsArchived sets the IsArchived field's value.
14351func (s *BaiduChannelResponse) SetIsArchived(v bool) *BaiduChannelResponse {
14352	s.IsArchived = &v
14353	return s
14354}
14355
14356// SetLastModifiedBy sets the LastModifiedBy field's value.
14357func (s *BaiduChannelResponse) SetLastModifiedBy(v string) *BaiduChannelResponse {
14358	s.LastModifiedBy = &v
14359	return s
14360}
14361
14362// SetLastModifiedDate sets the LastModifiedDate field's value.
14363func (s *BaiduChannelResponse) SetLastModifiedDate(v string) *BaiduChannelResponse {
14364	s.LastModifiedDate = &v
14365	return s
14366}
14367
14368// SetPlatform sets the Platform field's value.
14369func (s *BaiduChannelResponse) SetPlatform(v string) *BaiduChannelResponse {
14370	s.Platform = &v
14371	return s
14372}
14373
14374// SetVersion sets the Version field's value.
14375func (s *BaiduChannelResponse) SetVersion(v int64) *BaiduChannelResponse {
14376	s.Version = &v
14377	return s
14378}
14379
14380// Specifies the settings for a one-time message that's sent directly to an
14381// endpoint through the Baidu (Baidu Cloud Push) channel.
14382type BaiduMessage struct {
14383	_ struct{} `type:"structure"`
14384
14385	// The action to occur if the recipient taps the push notification. Valid values
14386	// are:
14387	//
14388	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
14389	//    sent to the background. This is the default action.
14390	//
14391	//    * DEEP_LINK - Your app opens and displays a designated user interface
14392	//    in the app. This action uses the deep-linking features of the Android
14393	//    platform.
14394	//
14395	//    * URL - The default mobile browser on the recipient's device opens and
14396	//    loads the web page at a URL that you specify.
14397	Action *string `type:"string" enum:"Action"`
14398
14399	// The body of the notification message.
14400	Body *string `type:"string"`
14401
14402	// The JSON data payload to use for the push notification, if the notification
14403	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
14404	// object of the notification.
14405	Data map[string]*string `type:"map"`
14406
14407	// The icon image name of the asset saved in your app.
14408	IconReference *string `type:"string"`
14409
14410	// The URL of the large icon image to display in the content view of the push
14411	// notification.
14412	ImageIconUrl *string `type:"string"`
14413
14414	// The URL of an image to display in the push notification.
14415	ImageUrl *string `type:"string"`
14416
14417	// The raw, JSON-formatted string to use as the payload for the notification
14418	// message. If specified, this value overrides all other content for the message.
14419	RawContent *string `type:"string"`
14420
14421	// Specifies whether the notification is a silent push notification, which is
14422	// a push notification that doesn't display on a recipient's device. Silent
14423	// push notifications can be used for cases such as updating an app's configuration
14424	// or supporting phone home functionality.
14425	SilentPush *bool `type:"boolean"`
14426
14427	// The URL of the small icon image to display in the status bar and the content
14428	// view of the push notification.
14429	SmallImageIconUrl *string `type:"string"`
14430
14431	// The sound to play when the recipient receives the push notification. You
14432	// can use the default stream or specify the file name of a sound resource that's
14433	// bundled in your app. On an Android platform, the sound file must reside in
14434	// /res/raw/.
14435	Sound *string `type:"string"`
14436
14437	// The default message variables to use in the notification message. You can
14438	// override the default variables with individual address variables.
14439	Substitutions map[string][]*string `type:"map"`
14440
14441	// The amount of time, in seconds, that the Baidu Cloud Push service should
14442	// store the message if the recipient's device is offline. The default value
14443	// and maximum supported time is 604,800 seconds (7 days).
14444	TimeToLive *int64 `type:"integer"`
14445
14446	// The title to display above the notification message on the recipient's device.
14447	Title *string `type:"string"`
14448
14449	// The URL to open in the recipient's default mobile browser, if a recipient
14450	// taps the push notification and the value of the Action property is URL.
14451	Url *string `type:"string"`
14452}
14453
14454// String returns the string representation.
14455//
14456// API parameter values that are decorated as "sensitive" in the API will not
14457// be included in the string output. The member name will be present, but the
14458// value will be replaced with "sensitive".
14459func (s BaiduMessage) String() string {
14460	return awsutil.Prettify(s)
14461}
14462
14463// GoString returns the string representation.
14464//
14465// API parameter values that are decorated as "sensitive" in the API will not
14466// be included in the string output. The member name will be present, but the
14467// value will be replaced with "sensitive".
14468func (s BaiduMessage) GoString() string {
14469	return s.String()
14470}
14471
14472// SetAction sets the Action field's value.
14473func (s *BaiduMessage) SetAction(v string) *BaiduMessage {
14474	s.Action = &v
14475	return s
14476}
14477
14478// SetBody sets the Body field's value.
14479func (s *BaiduMessage) SetBody(v string) *BaiduMessage {
14480	s.Body = &v
14481	return s
14482}
14483
14484// SetData sets the Data field's value.
14485func (s *BaiduMessage) SetData(v map[string]*string) *BaiduMessage {
14486	s.Data = v
14487	return s
14488}
14489
14490// SetIconReference sets the IconReference field's value.
14491func (s *BaiduMessage) SetIconReference(v string) *BaiduMessage {
14492	s.IconReference = &v
14493	return s
14494}
14495
14496// SetImageIconUrl sets the ImageIconUrl field's value.
14497func (s *BaiduMessage) SetImageIconUrl(v string) *BaiduMessage {
14498	s.ImageIconUrl = &v
14499	return s
14500}
14501
14502// SetImageUrl sets the ImageUrl field's value.
14503func (s *BaiduMessage) SetImageUrl(v string) *BaiduMessage {
14504	s.ImageUrl = &v
14505	return s
14506}
14507
14508// SetRawContent sets the RawContent field's value.
14509func (s *BaiduMessage) SetRawContent(v string) *BaiduMessage {
14510	s.RawContent = &v
14511	return s
14512}
14513
14514// SetSilentPush sets the SilentPush field's value.
14515func (s *BaiduMessage) SetSilentPush(v bool) *BaiduMessage {
14516	s.SilentPush = &v
14517	return s
14518}
14519
14520// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
14521func (s *BaiduMessage) SetSmallImageIconUrl(v string) *BaiduMessage {
14522	s.SmallImageIconUrl = &v
14523	return s
14524}
14525
14526// SetSound sets the Sound field's value.
14527func (s *BaiduMessage) SetSound(v string) *BaiduMessage {
14528	s.Sound = &v
14529	return s
14530}
14531
14532// SetSubstitutions sets the Substitutions field's value.
14533func (s *BaiduMessage) SetSubstitutions(v map[string][]*string) *BaiduMessage {
14534	s.Substitutions = v
14535	return s
14536}
14537
14538// SetTimeToLive sets the TimeToLive field's value.
14539func (s *BaiduMessage) SetTimeToLive(v int64) *BaiduMessage {
14540	s.TimeToLive = &v
14541	return s
14542}
14543
14544// SetTitle sets the Title field's value.
14545func (s *BaiduMessage) SetTitle(v string) *BaiduMessage {
14546	s.Title = &v
14547	return s
14548}
14549
14550// SetUrl sets the Url field's value.
14551func (s *BaiduMessage) SetUrl(v string) *BaiduMessage {
14552	s.Url = &v
14553	return s
14554}
14555
14556// Provides the results of a query that retrieved the data for a standard metric
14557// that applies to an application, campaign, or journey.
14558type BaseKpiResult struct {
14559	_ struct{} `type:"structure"`
14560
14561	// An array of objects that provides the results of a query that retrieved the
14562	// data for a standard metric that applies to an application, campaign, or journey.
14563	//
14564	// Rows is a required field
14565	Rows []*ResultRow `type:"list" required:"true"`
14566}
14567
14568// String returns the string representation.
14569//
14570// API parameter values that are decorated as "sensitive" in the API will not
14571// be included in the string output. The member name will be present, but the
14572// value will be replaced with "sensitive".
14573func (s BaseKpiResult) String() string {
14574	return awsutil.Prettify(s)
14575}
14576
14577// GoString returns the string representation.
14578//
14579// API parameter values that are decorated as "sensitive" in the API will not
14580// be included in the string output. The member name will be present, but the
14581// value will be replaced with "sensitive".
14582func (s BaseKpiResult) GoString() string {
14583	return s.String()
14584}
14585
14586// SetRows sets the Rows field's value.
14587func (s *BaseKpiResult) SetRows(v []*ResultRow) *BaseKpiResult {
14588	s.Rows = v
14589	return s
14590}
14591
14592// Specifies the contents of a message that's sent through a custom channel
14593// to recipients of a campaign.
14594type CampaignCustomMessage struct {
14595	_ struct{} `type:"structure"`
14596
14597	// The raw, JSON-formatted string to use as the payload for the message. The
14598	// maximum size is 5 KB.
14599	Data *string `type:"string"`
14600}
14601
14602// String returns the string representation.
14603//
14604// API parameter values that are decorated as "sensitive" in the API will not
14605// be included in the string output. The member name will be present, but the
14606// value will be replaced with "sensitive".
14607func (s CampaignCustomMessage) String() string {
14608	return awsutil.Prettify(s)
14609}
14610
14611// GoString returns the string representation.
14612//
14613// API parameter values that are decorated as "sensitive" in the API will not
14614// be included in the string output. The member name will be present, but the
14615// value will be replaced with "sensitive".
14616func (s CampaignCustomMessage) GoString() string {
14617	return s.String()
14618}
14619
14620// SetData sets the Data field's value.
14621func (s *CampaignCustomMessage) SetData(v string) *CampaignCustomMessage {
14622	s.Data = &v
14623	return s
14624}
14625
14626// Provides the results of a query that retrieved the data for a standard metric
14627// that applies to a campaign, and provides information about that query.
14628type CampaignDateRangeKpiResponse struct {
14629	_ struct{} `type:"structure"`
14630
14631	// The unique identifier for the application that the metric applies to.
14632	//
14633	// ApplicationId is a required field
14634	ApplicationId *string `type:"string" required:"true"`
14635
14636	// The unique identifier for the campaign that the metric applies to.
14637	//
14638	// CampaignId is a required field
14639	CampaignId *string `type:"string" required:"true"`
14640
14641	// EndTime is a required field
14642	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
14643
14644	// The name of the metric, also referred to as a key performance indicator (KPI),
14645	// that the data was retrieved for. This value describes the associated metric
14646	// and consists of two or more terms, which are comprised of lowercase alphanumeric
14647	// characters, separated by a hyphen. For a list of possible values, see the
14648	// Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html).
14649	//
14650	// KpiName is a required field
14651	KpiName *string `type:"string" required:"true"`
14652
14653	// An array of objects that contains the results of the query. Each object contains
14654	// the value for the metric and metadata about that value.
14655	//
14656	// KpiResult is a required field
14657	KpiResult *BaseKpiResult `type:"structure" required:"true"`
14658
14659	// The string to use in a subsequent request to get the next page of results
14660	// in a paginated response. This value is null for the Campaign Metrics resource
14661	// because the resource returns all results in a single page.
14662	NextToken *string `type:"string"`
14663
14664	// StartTime is a required field
14665	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
14666}
14667
14668// String returns the string representation.
14669//
14670// API parameter values that are decorated as "sensitive" in the API will not
14671// be included in the string output. The member name will be present, but the
14672// value will be replaced with "sensitive".
14673func (s CampaignDateRangeKpiResponse) String() string {
14674	return awsutil.Prettify(s)
14675}
14676
14677// GoString returns the string representation.
14678//
14679// API parameter values that are decorated as "sensitive" in the API will not
14680// be included in the string output. The member name will be present, but the
14681// value will be replaced with "sensitive".
14682func (s CampaignDateRangeKpiResponse) GoString() string {
14683	return s.String()
14684}
14685
14686// SetApplicationId sets the ApplicationId field's value.
14687func (s *CampaignDateRangeKpiResponse) SetApplicationId(v string) *CampaignDateRangeKpiResponse {
14688	s.ApplicationId = &v
14689	return s
14690}
14691
14692// SetCampaignId sets the CampaignId field's value.
14693func (s *CampaignDateRangeKpiResponse) SetCampaignId(v string) *CampaignDateRangeKpiResponse {
14694	s.CampaignId = &v
14695	return s
14696}
14697
14698// SetEndTime sets the EndTime field's value.
14699func (s *CampaignDateRangeKpiResponse) SetEndTime(v time.Time) *CampaignDateRangeKpiResponse {
14700	s.EndTime = &v
14701	return s
14702}
14703
14704// SetKpiName sets the KpiName field's value.
14705func (s *CampaignDateRangeKpiResponse) SetKpiName(v string) *CampaignDateRangeKpiResponse {
14706	s.KpiName = &v
14707	return s
14708}
14709
14710// SetKpiResult sets the KpiResult field's value.
14711func (s *CampaignDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *CampaignDateRangeKpiResponse {
14712	s.KpiResult = v
14713	return s
14714}
14715
14716// SetNextToken sets the NextToken field's value.
14717func (s *CampaignDateRangeKpiResponse) SetNextToken(v string) *CampaignDateRangeKpiResponse {
14718	s.NextToken = &v
14719	return s
14720}
14721
14722// SetStartTime sets the StartTime field's value.
14723func (s *CampaignDateRangeKpiResponse) SetStartTime(v time.Time) *CampaignDateRangeKpiResponse {
14724	s.StartTime = &v
14725	return s
14726}
14727
14728// Specifies the content and "From" address for an email message that's sent
14729// to recipients of a campaign.
14730type CampaignEmailMessage struct {
14731	_ struct{} `type:"structure"`
14732
14733	// The body of the email for recipients whose email clients don't render HTML
14734	// content.
14735	Body *string `type:"string"`
14736
14737	// The verified email address to send the email from. The default address is
14738	// the FromAddress specified for the email channel for the application.
14739	FromAddress *string `type:"string"`
14740
14741	// The body of the email, in HTML format, for recipients whose email clients
14742	// render HTML content.
14743	HtmlBody *string `type:"string"`
14744
14745	// The subject line, or title, of the email.
14746	Title *string `type:"string"`
14747}
14748
14749// String returns the string representation.
14750//
14751// API parameter values that are decorated as "sensitive" in the API will not
14752// be included in the string output. The member name will be present, but the
14753// value will be replaced with "sensitive".
14754func (s CampaignEmailMessage) String() string {
14755	return awsutil.Prettify(s)
14756}
14757
14758// GoString returns the string representation.
14759//
14760// API parameter values that are decorated as "sensitive" in the API will not
14761// be included in the string output. The member name will be present, but the
14762// value will be replaced with "sensitive".
14763func (s CampaignEmailMessage) GoString() string {
14764	return s.String()
14765}
14766
14767// SetBody sets the Body field's value.
14768func (s *CampaignEmailMessage) SetBody(v string) *CampaignEmailMessage {
14769	s.Body = &v
14770	return s
14771}
14772
14773// SetFromAddress sets the FromAddress field's value.
14774func (s *CampaignEmailMessage) SetFromAddress(v string) *CampaignEmailMessage {
14775	s.FromAddress = &v
14776	return s
14777}
14778
14779// SetHtmlBody sets the HtmlBody field's value.
14780func (s *CampaignEmailMessage) SetHtmlBody(v string) *CampaignEmailMessage {
14781	s.HtmlBody = &v
14782	return s
14783}
14784
14785// SetTitle sets the Title field's value.
14786func (s *CampaignEmailMessage) SetTitle(v string) *CampaignEmailMessage {
14787	s.Title = &v
14788	return s
14789}
14790
14791// Specifies the settings for events that cause a campaign to be sent.
14792type CampaignEventFilter struct {
14793	_ struct{} `type:"structure"`
14794
14795	// The dimension settings of the event filter for the campaign.
14796	//
14797	// Dimensions is a required field
14798	Dimensions *EventDimensions `type:"structure" required:"true"`
14799
14800	// The type of event that causes the campaign to be sent. Valid values are:
14801	// SYSTEM, sends the campaign when a system event occurs; and, ENDPOINT, sends
14802	// the campaign when an endpoint event (Events resource) occurs.
14803	//
14804	// FilterType is a required field
14805	FilterType *string `type:"string" required:"true" enum:"FilterType"`
14806}
14807
14808// String returns the string representation.
14809//
14810// API parameter values that are decorated as "sensitive" in the API will not
14811// be included in the string output. The member name will be present, but the
14812// value will be replaced with "sensitive".
14813func (s CampaignEventFilter) String() string {
14814	return awsutil.Prettify(s)
14815}
14816
14817// GoString returns the string representation.
14818//
14819// API parameter values that are decorated as "sensitive" in the API will not
14820// be included in the string output. The member name will be present, but the
14821// value will be replaced with "sensitive".
14822func (s CampaignEventFilter) GoString() string {
14823	return s.String()
14824}
14825
14826// Validate inspects the fields of the type to determine if they are valid.
14827func (s *CampaignEventFilter) Validate() error {
14828	invalidParams := request.ErrInvalidParams{Context: "CampaignEventFilter"}
14829	if s.Dimensions == nil {
14830		invalidParams.Add(request.NewErrParamRequired("Dimensions"))
14831	}
14832	if s.FilterType == nil {
14833		invalidParams.Add(request.NewErrParamRequired("FilterType"))
14834	}
14835	if s.Dimensions != nil {
14836		if err := s.Dimensions.Validate(); err != nil {
14837			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
14838		}
14839	}
14840
14841	if invalidParams.Len() > 0 {
14842		return invalidParams
14843	}
14844	return nil
14845}
14846
14847// SetDimensions sets the Dimensions field's value.
14848func (s *CampaignEventFilter) SetDimensions(v *EventDimensions) *CampaignEventFilter {
14849	s.Dimensions = v
14850	return s
14851}
14852
14853// SetFilterType sets the FilterType field's value.
14854func (s *CampaignEventFilter) SetFilterType(v string) *CampaignEventFilter {
14855	s.FilterType = &v
14856	return s
14857}
14858
14859// Specifies settings for invoking an AWS Lambda function that customizes a
14860// segment for a campaign.
14861type CampaignHook struct {
14862	_ struct{} `type:"structure"`
14863
14864	// The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
14865	// Pinpoint invokes to customize a segment for a campaign.
14866	LambdaFunctionName *string `type:"string"`
14867
14868	// The mode that Amazon Pinpoint uses to invoke the AWS Lambda function. Possible
14869	// values are:
14870	//
14871	//    * FILTER - Invoke the function to customize the segment that's used by
14872	//    a campaign.
14873	//
14874	//    * DELIVERY - (Deprecated) Previously, invoked the function to send a campaign
14875	//    through a custom channel. This functionality is not supported anymore.
14876	//    To send a campaign through a custom channel, use the CustomDeliveryConfiguration
14877	//    and CampaignCustomMessage objects of the campaign.
14878	Mode *string `type:"string" enum:"Mode"`
14879
14880	// The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function
14881	// over HTTPS.
14882	WebUrl *string `type:"string"`
14883}
14884
14885// String returns the string representation.
14886//
14887// API parameter values that are decorated as "sensitive" in the API will not
14888// be included in the string output. The member name will be present, but the
14889// value will be replaced with "sensitive".
14890func (s CampaignHook) String() string {
14891	return awsutil.Prettify(s)
14892}
14893
14894// GoString returns the string representation.
14895//
14896// API parameter values that are decorated as "sensitive" in the API will not
14897// be included in the string output. The member name will be present, but the
14898// value will be replaced with "sensitive".
14899func (s CampaignHook) GoString() string {
14900	return s.String()
14901}
14902
14903// SetLambdaFunctionName sets the LambdaFunctionName field's value.
14904func (s *CampaignHook) SetLambdaFunctionName(v string) *CampaignHook {
14905	s.LambdaFunctionName = &v
14906	return s
14907}
14908
14909// SetMode sets the Mode field's value.
14910func (s *CampaignHook) SetMode(v string) *CampaignHook {
14911	s.Mode = &v
14912	return s
14913}
14914
14915// SetWebUrl sets the WebUrl field's value.
14916func (s *CampaignHook) SetWebUrl(v string) *CampaignHook {
14917	s.WebUrl = &v
14918	return s
14919}
14920
14921// In-app message configuration.
14922type CampaignInAppMessage struct {
14923	_ struct{} `type:"structure"`
14924
14925	// The message body of the notification, the email body or the text message.
14926	Body *string `type:"string"`
14927
14928	// In-app message content.
14929	Content []*InAppMessageContent `type:"list"`
14930
14931	// Custom config to be sent to client.
14932	CustomConfig map[string]*string `type:"map"`
14933
14934	// In-app message layout.
14935	Layout *string `type:"string" enum:"Layout"`
14936}
14937
14938// String returns the string representation.
14939//
14940// API parameter values that are decorated as "sensitive" in the API will not
14941// be included in the string output. The member name will be present, but the
14942// value will be replaced with "sensitive".
14943func (s CampaignInAppMessage) String() string {
14944	return awsutil.Prettify(s)
14945}
14946
14947// GoString returns the string representation.
14948//
14949// API parameter values that are decorated as "sensitive" in the API will not
14950// be included in the string output. The member name will be present, but the
14951// value will be replaced with "sensitive".
14952func (s CampaignInAppMessage) GoString() string {
14953	return s.String()
14954}
14955
14956// Validate inspects the fields of the type to determine if they are valid.
14957func (s *CampaignInAppMessage) Validate() error {
14958	invalidParams := request.ErrInvalidParams{Context: "CampaignInAppMessage"}
14959	if s.Content != nil {
14960		for i, v := range s.Content {
14961			if v == nil {
14962				continue
14963			}
14964			if err := v.Validate(); err != nil {
14965				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Content", i), err.(request.ErrInvalidParams))
14966			}
14967		}
14968	}
14969
14970	if invalidParams.Len() > 0 {
14971		return invalidParams
14972	}
14973	return nil
14974}
14975
14976// SetBody sets the Body field's value.
14977func (s *CampaignInAppMessage) SetBody(v string) *CampaignInAppMessage {
14978	s.Body = &v
14979	return s
14980}
14981
14982// SetContent sets the Content field's value.
14983func (s *CampaignInAppMessage) SetContent(v []*InAppMessageContent) *CampaignInAppMessage {
14984	s.Content = v
14985	return s
14986}
14987
14988// SetCustomConfig sets the CustomConfig field's value.
14989func (s *CampaignInAppMessage) SetCustomConfig(v map[string]*string) *CampaignInAppMessage {
14990	s.CustomConfig = v
14991	return s
14992}
14993
14994// SetLayout sets the Layout field's value.
14995func (s *CampaignInAppMessage) SetLayout(v string) *CampaignInAppMessage {
14996	s.Layout = &v
14997	return s
14998}
14999
15000// For a campaign, specifies limits on the messages that the campaign can send.
15001// For an application, specifies the default limits for messages that campaigns
15002// in the application can send.
15003type CampaignLimits struct {
15004	_ struct{} `type:"structure"`
15005
15006	// The maximum number of messages that a campaign can send to a single endpoint
15007	// during a 24-hour period. For an application, this value specifies the default
15008	// limit for the number of messages that campaigns and journeys can send to
15009	// a single endpoint during a 24-hour period. The maximum value is 100.
15010	Daily *int64 `type:"integer"`
15011
15012	// The maximum amount of time, in seconds, that a campaign can attempt to deliver
15013	// a message after the scheduled start time for the campaign. The minimum value
15014	// is 60 seconds.
15015	MaximumDuration *int64 `type:"integer"`
15016
15017	// The maximum number of messages that a campaign can send each second. For
15018	// an application, this value specifies the default limit for the number of
15019	// messages that campaigns can send each second. The minimum value is 50. The
15020	// maximum value is 20,000.
15021	MessagesPerSecond *int64 `type:"integer"`
15022
15023	// The maximum total number of messages that the campaign can send per user
15024	// session.
15025	Session *int64 `type:"integer"`
15026
15027	// The maximum number of messages that a campaign can send to a single endpoint
15028	// during the course of the campaign. If a campaign recurs, this setting applies
15029	// to all runs of the campaign. The maximum value is 100.
15030	Total *int64 `type:"integer"`
15031}
15032
15033// String returns the string representation.
15034//
15035// API parameter values that are decorated as "sensitive" in the API will not
15036// be included in the string output. The member name will be present, but the
15037// value will be replaced with "sensitive".
15038func (s CampaignLimits) String() string {
15039	return awsutil.Prettify(s)
15040}
15041
15042// GoString returns the string representation.
15043//
15044// API parameter values that are decorated as "sensitive" in the API will not
15045// be included in the string output. The member name will be present, but the
15046// value will be replaced with "sensitive".
15047func (s CampaignLimits) GoString() string {
15048	return s.String()
15049}
15050
15051// SetDaily sets the Daily field's value.
15052func (s *CampaignLimits) SetDaily(v int64) *CampaignLimits {
15053	s.Daily = &v
15054	return s
15055}
15056
15057// SetMaximumDuration sets the MaximumDuration field's value.
15058func (s *CampaignLimits) SetMaximumDuration(v int64) *CampaignLimits {
15059	s.MaximumDuration = &v
15060	return s
15061}
15062
15063// SetMessagesPerSecond sets the MessagesPerSecond field's value.
15064func (s *CampaignLimits) SetMessagesPerSecond(v int64) *CampaignLimits {
15065	s.MessagesPerSecond = &v
15066	return s
15067}
15068
15069// SetSession sets the Session field's value.
15070func (s *CampaignLimits) SetSession(v int64) *CampaignLimits {
15071	s.Session = &v
15072	return s
15073}
15074
15075// SetTotal sets the Total field's value.
15076func (s *CampaignLimits) SetTotal(v int64) *CampaignLimits {
15077	s.Total = &v
15078	return s
15079}
15080
15081// Provides information about the status, configuration, and other settings
15082// for a campaign.
15083type CampaignResponse struct {
15084	_ struct{} `type:"structure"`
15085
15086	// An array of responses, one for each treatment that you defined for the campaign,
15087	// in addition to the default treatment.
15088	AdditionalTreatments []*TreatmentResource `type:"list"`
15089
15090	// The unique identifier for the application that the campaign applies to.
15091	//
15092	// ApplicationId is a required field
15093	ApplicationId *string `type:"string" required:"true"`
15094
15095	// The Amazon Resource Name (ARN) of the campaign.
15096	//
15097	// Arn is a required field
15098	Arn *string `type:"string" required:"true"`
15099
15100	// The date, in ISO 8601 format, when the campaign was created.
15101	//
15102	// CreationDate is a required field
15103	CreationDate *string `type:"string" required:"true"`
15104
15105	// The delivery configuration settings for sending the campaign through a custom
15106	// channel.
15107	CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"`
15108
15109	// The current status of the campaign's default treatment. This value exists
15110	// only for campaigns that have more than one treatment.
15111	DefaultState *CampaignState `type:"structure"`
15112
15113	// The custom description of the campaign.
15114	Description *string `type:"string"`
15115
15116	// The allocated percentage of users (segment members) who shouldn't receive
15117	// messages from the campaign.
15118	HoldoutPercent *int64 `type:"integer"`
15119
15120	// The settings for the AWS Lambda function to use as a code hook for the campaign.
15121	// You can use this hook to customize the segment that's used by the campaign.
15122	Hook *CampaignHook `type:"structure"`
15123
15124	// The unique identifier for the campaign.
15125	//
15126	// Id is a required field
15127	Id *string `type:"string" required:"true"`
15128
15129	// Specifies whether the campaign is paused. A paused campaign doesn't run unless
15130	// you resume it by changing this value to false.
15131	IsPaused *bool `type:"boolean"`
15132
15133	// The date, in ISO 8601 format, when the campaign was last modified.
15134	//
15135	// LastModifiedDate is a required field
15136	LastModifiedDate *string `type:"string" required:"true"`
15137
15138	// The messaging limits for the campaign.
15139	Limits *CampaignLimits `type:"structure"`
15140
15141	// The message configuration settings for the campaign.
15142	MessageConfiguration *MessageConfiguration `type:"structure"`
15143
15144	// The name of the campaign.
15145	Name *string `type:"string"`
15146
15147	// Defines the priority of the campaign, used to decide the order of messages
15148	// displayed to user if there are multiple messages scheduled to be displayed
15149	// at the same moment
15150	Priority *int64 `type:"integer"`
15151
15152	// The schedule settings for the campaign.
15153	Schedule *Schedule `type:"structure"`
15154
15155	// The unique identifier for the segment that's associated with the campaign.
15156	//
15157	// SegmentId is a required field
15158	SegmentId *string `type:"string" required:"true"`
15159
15160	// The version number of the segment that's associated with the campaign.
15161	//
15162	// SegmentVersion is a required field
15163	SegmentVersion *int64 `type:"integer" required:"true"`
15164
15165	// The current status of the campaign.
15166	State *CampaignState `type:"structure"`
15167
15168	// A string-to-string map of key-value pairs that identifies the tags that are
15169	// associated with the campaign. Each tag consists of a required tag key and
15170	// an associated tag value.
15171	Tags map[string]*string `locationName:"tags" type:"map"`
15172
15173	// The message template that’s used for the campaign.
15174	TemplateConfiguration *TemplateConfiguration `type:"structure"`
15175
15176	// The custom description of the default treatment for the campaign.
15177	TreatmentDescription *string `type:"string"`
15178
15179	// The custom name of the default treatment for the campaign, if the campaign
15180	// has multiple treatments. A treatment is a variation of a campaign that's
15181	// used for A/B testing.
15182	TreatmentName *string `type:"string"`
15183
15184	// The version number of the campaign.
15185	Version *int64 `type:"integer"`
15186}
15187
15188// String returns the string representation.
15189//
15190// API parameter values that are decorated as "sensitive" in the API will not
15191// be included in the string output. The member name will be present, but the
15192// value will be replaced with "sensitive".
15193func (s CampaignResponse) String() string {
15194	return awsutil.Prettify(s)
15195}
15196
15197// GoString returns the string representation.
15198//
15199// API parameter values that are decorated as "sensitive" in the API will not
15200// be included in the string output. The member name will be present, but the
15201// value will be replaced with "sensitive".
15202func (s CampaignResponse) GoString() string {
15203	return s.String()
15204}
15205
15206// SetAdditionalTreatments sets the AdditionalTreatments field's value.
15207func (s *CampaignResponse) SetAdditionalTreatments(v []*TreatmentResource) *CampaignResponse {
15208	s.AdditionalTreatments = v
15209	return s
15210}
15211
15212// SetApplicationId sets the ApplicationId field's value.
15213func (s *CampaignResponse) SetApplicationId(v string) *CampaignResponse {
15214	s.ApplicationId = &v
15215	return s
15216}
15217
15218// SetArn sets the Arn field's value.
15219func (s *CampaignResponse) SetArn(v string) *CampaignResponse {
15220	s.Arn = &v
15221	return s
15222}
15223
15224// SetCreationDate sets the CreationDate field's value.
15225func (s *CampaignResponse) SetCreationDate(v string) *CampaignResponse {
15226	s.CreationDate = &v
15227	return s
15228}
15229
15230// SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value.
15231func (s *CampaignResponse) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *CampaignResponse {
15232	s.CustomDeliveryConfiguration = v
15233	return s
15234}
15235
15236// SetDefaultState sets the DefaultState field's value.
15237func (s *CampaignResponse) SetDefaultState(v *CampaignState) *CampaignResponse {
15238	s.DefaultState = v
15239	return s
15240}
15241
15242// SetDescription sets the Description field's value.
15243func (s *CampaignResponse) SetDescription(v string) *CampaignResponse {
15244	s.Description = &v
15245	return s
15246}
15247
15248// SetHoldoutPercent sets the HoldoutPercent field's value.
15249func (s *CampaignResponse) SetHoldoutPercent(v int64) *CampaignResponse {
15250	s.HoldoutPercent = &v
15251	return s
15252}
15253
15254// SetHook sets the Hook field's value.
15255func (s *CampaignResponse) SetHook(v *CampaignHook) *CampaignResponse {
15256	s.Hook = v
15257	return s
15258}
15259
15260// SetId sets the Id field's value.
15261func (s *CampaignResponse) SetId(v string) *CampaignResponse {
15262	s.Id = &v
15263	return s
15264}
15265
15266// SetIsPaused sets the IsPaused field's value.
15267func (s *CampaignResponse) SetIsPaused(v bool) *CampaignResponse {
15268	s.IsPaused = &v
15269	return s
15270}
15271
15272// SetLastModifiedDate sets the LastModifiedDate field's value.
15273func (s *CampaignResponse) SetLastModifiedDate(v string) *CampaignResponse {
15274	s.LastModifiedDate = &v
15275	return s
15276}
15277
15278// SetLimits sets the Limits field's value.
15279func (s *CampaignResponse) SetLimits(v *CampaignLimits) *CampaignResponse {
15280	s.Limits = v
15281	return s
15282}
15283
15284// SetMessageConfiguration sets the MessageConfiguration field's value.
15285func (s *CampaignResponse) SetMessageConfiguration(v *MessageConfiguration) *CampaignResponse {
15286	s.MessageConfiguration = v
15287	return s
15288}
15289
15290// SetName sets the Name field's value.
15291func (s *CampaignResponse) SetName(v string) *CampaignResponse {
15292	s.Name = &v
15293	return s
15294}
15295
15296// SetPriority sets the Priority field's value.
15297func (s *CampaignResponse) SetPriority(v int64) *CampaignResponse {
15298	s.Priority = &v
15299	return s
15300}
15301
15302// SetSchedule sets the Schedule field's value.
15303func (s *CampaignResponse) SetSchedule(v *Schedule) *CampaignResponse {
15304	s.Schedule = v
15305	return s
15306}
15307
15308// SetSegmentId sets the SegmentId field's value.
15309func (s *CampaignResponse) SetSegmentId(v string) *CampaignResponse {
15310	s.SegmentId = &v
15311	return s
15312}
15313
15314// SetSegmentVersion sets the SegmentVersion field's value.
15315func (s *CampaignResponse) SetSegmentVersion(v int64) *CampaignResponse {
15316	s.SegmentVersion = &v
15317	return s
15318}
15319
15320// SetState sets the State field's value.
15321func (s *CampaignResponse) SetState(v *CampaignState) *CampaignResponse {
15322	s.State = v
15323	return s
15324}
15325
15326// SetTags sets the Tags field's value.
15327func (s *CampaignResponse) SetTags(v map[string]*string) *CampaignResponse {
15328	s.Tags = v
15329	return s
15330}
15331
15332// SetTemplateConfiguration sets the TemplateConfiguration field's value.
15333func (s *CampaignResponse) SetTemplateConfiguration(v *TemplateConfiguration) *CampaignResponse {
15334	s.TemplateConfiguration = v
15335	return s
15336}
15337
15338// SetTreatmentDescription sets the TreatmentDescription field's value.
15339func (s *CampaignResponse) SetTreatmentDescription(v string) *CampaignResponse {
15340	s.TreatmentDescription = &v
15341	return s
15342}
15343
15344// SetTreatmentName sets the TreatmentName field's value.
15345func (s *CampaignResponse) SetTreatmentName(v string) *CampaignResponse {
15346	s.TreatmentName = &v
15347	return s
15348}
15349
15350// SetVersion sets the Version field's value.
15351func (s *CampaignResponse) SetVersion(v int64) *CampaignResponse {
15352	s.Version = &v
15353	return s
15354}
15355
15356// Specifies the content and settings for an SMS message that's sent to recipients
15357// of a campaign.
15358type CampaignSmsMessage struct {
15359	_ struct{} `type:"structure"`
15360
15361	// The body of the SMS message.
15362	Body *string `type:"string"`
15363
15364	// The entity ID or Principal Entity (PE) id received from the regulatory body
15365	// for sending SMS in your country.
15366	EntityId *string `type:"string"`
15367
15368	// The SMS message type. Valid values are TRANSACTIONAL (for messages that are
15369	// critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL
15370	// (for messsages that aren't critical or time-sensitive, such as marketing
15371	// messages).
15372	MessageType *string `type:"string" enum:"MessageType"`
15373
15374	// The long code to send the SMS message from. This value should be one of the
15375	// dedicated long codes that's assigned to your AWS account. Although it isn't
15376	// required, we recommend that you specify the long code using an E.164 format
15377	// to ensure prompt and accurate delivery of the message. For example, +12065550100.
15378	OriginationNumber *string `type:"string"`
15379
15380	// The sender ID to display on recipients' devices when they receive the SMS
15381	// message.
15382	SenderId *string `type:"string"`
15383
15384	// The template ID received from the regulatory body for sending SMS in your
15385	// country.
15386	TemplateId *string `type:"string"`
15387}
15388
15389// String returns the string representation.
15390//
15391// API parameter values that are decorated as "sensitive" in the API will not
15392// be included in the string output. The member name will be present, but the
15393// value will be replaced with "sensitive".
15394func (s CampaignSmsMessage) String() string {
15395	return awsutil.Prettify(s)
15396}
15397
15398// GoString returns the string representation.
15399//
15400// API parameter values that are decorated as "sensitive" in the API will not
15401// be included in the string output. The member name will be present, but the
15402// value will be replaced with "sensitive".
15403func (s CampaignSmsMessage) GoString() string {
15404	return s.String()
15405}
15406
15407// SetBody sets the Body field's value.
15408func (s *CampaignSmsMessage) SetBody(v string) *CampaignSmsMessage {
15409	s.Body = &v
15410	return s
15411}
15412
15413// SetEntityId sets the EntityId field's value.
15414func (s *CampaignSmsMessage) SetEntityId(v string) *CampaignSmsMessage {
15415	s.EntityId = &v
15416	return s
15417}
15418
15419// SetMessageType sets the MessageType field's value.
15420func (s *CampaignSmsMessage) SetMessageType(v string) *CampaignSmsMessage {
15421	s.MessageType = &v
15422	return s
15423}
15424
15425// SetOriginationNumber sets the OriginationNumber field's value.
15426func (s *CampaignSmsMessage) SetOriginationNumber(v string) *CampaignSmsMessage {
15427	s.OriginationNumber = &v
15428	return s
15429}
15430
15431// SetSenderId sets the SenderId field's value.
15432func (s *CampaignSmsMessage) SetSenderId(v string) *CampaignSmsMessage {
15433	s.SenderId = &v
15434	return s
15435}
15436
15437// SetTemplateId sets the TemplateId field's value.
15438func (s *CampaignSmsMessage) SetTemplateId(v string) *CampaignSmsMessage {
15439	s.TemplateId = &v
15440	return s
15441}
15442
15443// Provides information about the status of a campaign.
15444type CampaignState struct {
15445	_ struct{} `type:"structure"`
15446
15447	// The current status of the campaign, or the current status of a treatment
15448	// that belongs to an A/B test campaign.
15449	//
15450	// If a campaign uses A/B testing, the campaign has a status of COMPLETED only
15451	// if all campaign treatments have a status of COMPLETED. If you delete the
15452	// segment that's associated with a campaign, the campaign fails and has a status
15453	// of DELETED.
15454	CampaignStatus *string `type:"string" enum:"CampaignStatus"`
15455}
15456
15457// String returns the string representation.
15458//
15459// API parameter values that are decorated as "sensitive" in the API will not
15460// be included in the string output. The member name will be present, but the
15461// value will be replaced with "sensitive".
15462func (s CampaignState) String() string {
15463	return awsutil.Prettify(s)
15464}
15465
15466// GoString returns the string representation.
15467//
15468// API parameter values that are decorated as "sensitive" in the API will not
15469// be included in the string output. The member name will be present, but the
15470// value will be replaced with "sensitive".
15471func (s CampaignState) GoString() string {
15472	return s.String()
15473}
15474
15475// SetCampaignStatus sets the CampaignStatus field's value.
15476func (s *CampaignState) SetCampaignStatus(v string) *CampaignState {
15477	s.CampaignStatus = &v
15478	return s
15479}
15480
15481// Provides information about the configuration and other settings for all the
15482// campaigns that are associated with an application.
15483type CampaignsResponse struct {
15484	_ struct{} `type:"structure"`
15485
15486	// An array of responses, one for each campaign that's associated with the application.
15487	//
15488	// Item is a required field
15489	Item []*CampaignResponse `type:"list" required:"true"`
15490
15491	// The string to use in a subsequent request to get the next page of results
15492	// in a paginated response. This value is null if there are no additional pages.
15493	NextToken *string `type:"string"`
15494}
15495
15496// String returns the string representation.
15497//
15498// API parameter values that are decorated as "sensitive" in the API will not
15499// be included in the string output. The member name will be present, but the
15500// value will be replaced with "sensitive".
15501func (s CampaignsResponse) String() string {
15502	return awsutil.Prettify(s)
15503}
15504
15505// GoString returns the string representation.
15506//
15507// API parameter values that are decorated as "sensitive" in the API will not
15508// be included in the string output. The member name will be present, but the
15509// value will be replaced with "sensitive".
15510func (s CampaignsResponse) GoString() string {
15511	return s.String()
15512}
15513
15514// SetItem sets the Item field's value.
15515func (s *CampaignsResponse) SetItem(v []*CampaignResponse) *CampaignsResponse {
15516	s.Item = v
15517	return s
15518}
15519
15520// SetNextToken sets the NextToken field's value.
15521func (s *CampaignsResponse) SetNextToken(v string) *CampaignsResponse {
15522	s.NextToken = &v
15523	return s
15524}
15525
15526// Provides information about the general settings and status of a channel for
15527// an application.
15528type ChannelResponse struct {
15529	_ struct{} `type:"structure"`
15530
15531	// The unique identifier for the application.
15532	ApplicationId *string `type:"string"`
15533
15534	// The date and time, in ISO 8601 format, when the channel was enabled.
15535	CreationDate *string `type:"string"`
15536
15537	// Specifies whether the channel is enabled for the application.
15538	Enabled *bool `type:"boolean"`
15539
15540	// (Not used) This property is retained only for backward compatibility.
15541	HasCredential *bool `type:"boolean"`
15542
15543	// (Deprecated) An identifier for the channel. This property is retained only
15544	// for backward compatibility.
15545	Id *string `type:"string"`
15546
15547	// Specifies whether the channel is archived.
15548	IsArchived *bool `type:"boolean"`
15549
15550	// The user who last modified the channel.
15551	LastModifiedBy *string `type:"string"`
15552
15553	// The date and time, in ISO 8601 format, when the channel was last modified.
15554	LastModifiedDate *string `type:"string"`
15555
15556	// The current version of the channel.
15557	Version *int64 `type:"integer"`
15558}
15559
15560// String returns the string representation.
15561//
15562// API parameter values that are decorated as "sensitive" in the API will not
15563// be included in the string output. The member name will be present, but the
15564// value will be replaced with "sensitive".
15565func (s ChannelResponse) String() string {
15566	return awsutil.Prettify(s)
15567}
15568
15569// GoString returns the string representation.
15570//
15571// API parameter values that are decorated as "sensitive" in the API will not
15572// be included in the string output. The member name will be present, but the
15573// value will be replaced with "sensitive".
15574func (s ChannelResponse) GoString() string {
15575	return s.String()
15576}
15577
15578// SetApplicationId sets the ApplicationId field's value.
15579func (s *ChannelResponse) SetApplicationId(v string) *ChannelResponse {
15580	s.ApplicationId = &v
15581	return s
15582}
15583
15584// SetCreationDate sets the CreationDate field's value.
15585func (s *ChannelResponse) SetCreationDate(v string) *ChannelResponse {
15586	s.CreationDate = &v
15587	return s
15588}
15589
15590// SetEnabled sets the Enabled field's value.
15591func (s *ChannelResponse) SetEnabled(v bool) *ChannelResponse {
15592	s.Enabled = &v
15593	return s
15594}
15595
15596// SetHasCredential sets the HasCredential field's value.
15597func (s *ChannelResponse) SetHasCredential(v bool) *ChannelResponse {
15598	s.HasCredential = &v
15599	return s
15600}
15601
15602// SetId sets the Id field's value.
15603func (s *ChannelResponse) SetId(v string) *ChannelResponse {
15604	s.Id = &v
15605	return s
15606}
15607
15608// SetIsArchived sets the IsArchived field's value.
15609func (s *ChannelResponse) SetIsArchived(v bool) *ChannelResponse {
15610	s.IsArchived = &v
15611	return s
15612}
15613
15614// SetLastModifiedBy sets the LastModifiedBy field's value.
15615func (s *ChannelResponse) SetLastModifiedBy(v string) *ChannelResponse {
15616	s.LastModifiedBy = &v
15617	return s
15618}
15619
15620// SetLastModifiedDate sets the LastModifiedDate field's value.
15621func (s *ChannelResponse) SetLastModifiedDate(v string) *ChannelResponse {
15622	s.LastModifiedDate = &v
15623	return s
15624}
15625
15626// SetVersion sets the Version field's value.
15627func (s *ChannelResponse) SetVersion(v int64) *ChannelResponse {
15628	s.Version = &v
15629	return s
15630}
15631
15632// Provides information about the general settings and status of all channels
15633// for an application, including channels that aren't enabled for the application.
15634type ChannelsResponse struct {
15635	_ struct{} `type:"structure"`
15636
15637	// A map that contains a multipart response for each channel. For each item
15638	// in this object, the ChannelType is the key and the Channel is the value.
15639	//
15640	// Channels is a required field
15641	Channels map[string]*ChannelResponse `type:"map" required:"true"`
15642}
15643
15644// String returns the string representation.
15645//
15646// API parameter values that are decorated as "sensitive" in the API will not
15647// be included in the string output. The member name will be present, but the
15648// value will be replaced with "sensitive".
15649func (s ChannelsResponse) String() string {
15650	return awsutil.Prettify(s)
15651}
15652
15653// GoString returns the string representation.
15654//
15655// API parameter values that are decorated as "sensitive" in the API will not
15656// be included in the string output. The member name will be present, but the
15657// value will be replaced with "sensitive".
15658func (s ChannelsResponse) GoString() string {
15659	return s.String()
15660}
15661
15662// SetChannels sets the Channels field's value.
15663func (s *ChannelsResponse) SetChannels(v map[string]*ChannelResponse) *ChannelsResponse {
15664	s.Channels = v
15665	return s
15666}
15667
15668// Specifies the conditions to evaluate for an activity in a journey, and how
15669// to evaluate those conditions.
15670type Condition struct {
15671	_ struct{} `type:"structure"`
15672
15673	// The conditions to evaluate for the activity.
15674	Conditions []*SimpleCondition `type:"list"`
15675
15676	// Specifies how to handle multiple conditions for the activity. For example,
15677	// if you specify two conditions for an activity, whether both or only one of
15678	// the conditions must be met for the activity to be performed.
15679	Operator *string `type:"string" enum:"Operator"`
15680}
15681
15682// String returns the string representation.
15683//
15684// API parameter values that are decorated as "sensitive" in the API will not
15685// be included in the string output. The member name will be present, but the
15686// value will be replaced with "sensitive".
15687func (s Condition) String() string {
15688	return awsutil.Prettify(s)
15689}
15690
15691// GoString returns the string representation.
15692//
15693// API parameter values that are decorated as "sensitive" in the API will not
15694// be included in the string output. The member name will be present, but the
15695// value will be replaced with "sensitive".
15696func (s Condition) GoString() string {
15697	return s.String()
15698}
15699
15700// Validate inspects the fields of the type to determine if they are valid.
15701func (s *Condition) Validate() error {
15702	invalidParams := request.ErrInvalidParams{Context: "Condition"}
15703	if s.Conditions != nil {
15704		for i, v := range s.Conditions {
15705			if v == nil {
15706				continue
15707			}
15708			if err := v.Validate(); err != nil {
15709				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Conditions", i), err.(request.ErrInvalidParams))
15710			}
15711		}
15712	}
15713
15714	if invalidParams.Len() > 0 {
15715		return invalidParams
15716	}
15717	return nil
15718}
15719
15720// SetConditions sets the Conditions field's value.
15721func (s *Condition) SetConditions(v []*SimpleCondition) *Condition {
15722	s.Conditions = v
15723	return s
15724}
15725
15726// SetOperator sets the Operator field's value.
15727func (s *Condition) SetOperator(v string) *Condition {
15728	s.Operator = &v
15729	return s
15730}
15731
15732// Specifies the settings for a yes/no split activity in a journey. This type
15733// of activity sends participants down one of two paths in a journey, based
15734// on conditions that you specify.
15735//
15736// To create yes/no split activities that send participants down different paths
15737// based on push notification events (such as Open or Received events), your
15738// mobile app has to specify the User ID and Endpoint ID values. For more information,
15739// see Integrating Amazon Pinpoint with your application (https://docs.aws.amazon.com/pinpoint/latest/developerguide/integrate.html)
15740// in the Amazon Pinpoint Developer Guide.
15741type ConditionalSplitActivity struct {
15742	_ struct{} `type:"structure"`
15743
15744	// The conditions that define the paths for the activity, and the relationship
15745	// between the conditions.
15746	Condition *Condition `type:"structure"`
15747
15748	// The amount of time to wait before determining whether the conditions are
15749	// met, or the date and time when Amazon Pinpoint determines whether the conditions
15750	// are met.
15751	EvaluationWaitTime *WaitTime `type:"structure"`
15752
15753	// The unique identifier for the activity to perform if the conditions aren't
15754	// met.
15755	FalseActivity *string `type:"string"`
15756
15757	// The unique identifier for the activity to perform if the conditions are met.
15758	TrueActivity *string `type:"string"`
15759}
15760
15761// String returns the string representation.
15762//
15763// API parameter values that are decorated as "sensitive" in the API will not
15764// be included in the string output. The member name will be present, but the
15765// value will be replaced with "sensitive".
15766func (s ConditionalSplitActivity) String() string {
15767	return awsutil.Prettify(s)
15768}
15769
15770// GoString returns the string representation.
15771//
15772// API parameter values that are decorated as "sensitive" in the API will not
15773// be included in the string output. The member name will be present, but the
15774// value will be replaced with "sensitive".
15775func (s ConditionalSplitActivity) GoString() string {
15776	return s.String()
15777}
15778
15779// Validate inspects the fields of the type to determine if they are valid.
15780func (s *ConditionalSplitActivity) Validate() error {
15781	invalidParams := request.ErrInvalidParams{Context: "ConditionalSplitActivity"}
15782	if s.Condition != nil {
15783		if err := s.Condition.Validate(); err != nil {
15784			invalidParams.AddNested("Condition", err.(request.ErrInvalidParams))
15785		}
15786	}
15787
15788	if invalidParams.Len() > 0 {
15789		return invalidParams
15790	}
15791	return nil
15792}
15793
15794// SetCondition sets the Condition field's value.
15795func (s *ConditionalSplitActivity) SetCondition(v *Condition) *ConditionalSplitActivity {
15796	s.Condition = v
15797	return s
15798}
15799
15800// SetEvaluationWaitTime sets the EvaluationWaitTime field's value.
15801func (s *ConditionalSplitActivity) SetEvaluationWaitTime(v *WaitTime) *ConditionalSplitActivity {
15802	s.EvaluationWaitTime = v
15803	return s
15804}
15805
15806// SetFalseActivity sets the FalseActivity field's value.
15807func (s *ConditionalSplitActivity) SetFalseActivity(v string) *ConditionalSplitActivity {
15808	s.FalseActivity = &v
15809	return s
15810}
15811
15812// SetTrueActivity sets the TrueActivity field's value.
15813func (s *ConditionalSplitActivity) SetTrueActivity(v string) *ConditionalSplitActivity {
15814	s.TrueActivity = &v
15815	return s
15816}
15817
15818// Provides information about an API request or response.
15819type ConflictException struct {
15820	_            struct{}                  `type:"structure"`
15821	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15822
15823	Message_ *string `locationName:"Message" type:"string"`
15824
15825	RequestID_ *string `locationName:"RequestID" type:"string"`
15826}
15827
15828// String returns the string representation.
15829//
15830// API parameter values that are decorated as "sensitive" in the API will not
15831// be included in the string output. The member name will be present, but the
15832// value will be replaced with "sensitive".
15833func (s ConflictException) String() string {
15834	return awsutil.Prettify(s)
15835}
15836
15837// GoString returns the string representation.
15838//
15839// API parameter values that are decorated as "sensitive" in the API will not
15840// be included in the string output. The member name will be present, but the
15841// value will be replaced with "sensitive".
15842func (s ConflictException) GoString() string {
15843	return s.String()
15844}
15845
15846func newErrorConflictException(v protocol.ResponseMetadata) error {
15847	return &ConflictException{
15848		RespMetadata: v,
15849	}
15850}
15851
15852// Code returns the exception type name.
15853func (s *ConflictException) Code() string {
15854	return "ConflictException"
15855}
15856
15857// Message returns the exception's message.
15858func (s *ConflictException) Message() string {
15859	if s.Message_ != nil {
15860		return *s.Message_
15861	}
15862	return ""
15863}
15864
15865// OrigErr always returns nil, satisfies awserr.Error interface.
15866func (s *ConflictException) OrigErr() error {
15867	return nil
15868}
15869
15870func (s *ConflictException) Error() string {
15871	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
15872}
15873
15874// Status code returns the HTTP status code for the request's response error.
15875func (s *ConflictException) StatusCode() int {
15876	return s.RespMetadata.StatusCode
15877}
15878
15879// RequestID returns the service's response RequestID for request.
15880func (s *ConflictException) RequestID() string {
15881	return s.RespMetadata.RequestID
15882}
15883
15884// The settings for a connect activity. This type of activity initiates a contact
15885// center call to participants.
15886type ContactCenterActivity struct {
15887	_ struct{} `type:"structure"`
15888
15889	// The unique identifier for the next activity to perform after the this activity.
15890	NextActivity *string `type:"string"`
15891}
15892
15893// String returns the string representation.
15894//
15895// API parameter values that are decorated as "sensitive" in the API will not
15896// be included in the string output. The member name will be present, but the
15897// value will be replaced with "sensitive".
15898func (s ContactCenterActivity) String() string {
15899	return awsutil.Prettify(s)
15900}
15901
15902// GoString returns the string representation.
15903//
15904// API parameter values that are decorated as "sensitive" in the API will not
15905// be included in the string output. The member name will be present, but the
15906// value will be replaced with "sensitive".
15907func (s ContactCenterActivity) GoString() string {
15908	return s.String()
15909}
15910
15911// SetNextActivity sets the NextActivity field's value.
15912func (s *ContactCenterActivity) SetNextActivity(v string) *ContactCenterActivity {
15913	s.NextActivity = &v
15914	return s
15915}
15916
15917type CreateAppInput struct {
15918	_ struct{} `type:"structure" payload:"CreateApplicationRequest"`
15919
15920	// Specifies the display name of an application and the tags to associate with
15921	// the application.
15922	//
15923	// CreateApplicationRequest is a required field
15924	CreateApplicationRequest *CreateApplicationRequest `type:"structure" required:"true"`
15925}
15926
15927// String returns the string representation.
15928//
15929// API parameter values that are decorated as "sensitive" in the API will not
15930// be included in the string output. The member name will be present, but the
15931// value will be replaced with "sensitive".
15932func (s CreateAppInput) String() string {
15933	return awsutil.Prettify(s)
15934}
15935
15936// GoString returns the string representation.
15937//
15938// API parameter values that are decorated as "sensitive" in the API will not
15939// be included in the string output. The member name will be present, but the
15940// value will be replaced with "sensitive".
15941func (s CreateAppInput) GoString() string {
15942	return s.String()
15943}
15944
15945// Validate inspects the fields of the type to determine if they are valid.
15946func (s *CreateAppInput) Validate() error {
15947	invalidParams := request.ErrInvalidParams{Context: "CreateAppInput"}
15948	if s.CreateApplicationRequest == nil {
15949		invalidParams.Add(request.NewErrParamRequired("CreateApplicationRequest"))
15950	}
15951	if s.CreateApplicationRequest != nil {
15952		if err := s.CreateApplicationRequest.Validate(); err != nil {
15953			invalidParams.AddNested("CreateApplicationRequest", err.(request.ErrInvalidParams))
15954		}
15955	}
15956
15957	if invalidParams.Len() > 0 {
15958		return invalidParams
15959	}
15960	return nil
15961}
15962
15963// SetCreateApplicationRequest sets the CreateApplicationRequest field's value.
15964func (s *CreateAppInput) SetCreateApplicationRequest(v *CreateApplicationRequest) *CreateAppInput {
15965	s.CreateApplicationRequest = v
15966	return s
15967}
15968
15969type CreateAppOutput struct {
15970	_ struct{} `type:"structure" payload:"ApplicationResponse"`
15971
15972	// Provides information about an application.
15973	//
15974	// ApplicationResponse is a required field
15975	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
15976}
15977
15978// String returns the string representation.
15979//
15980// API parameter values that are decorated as "sensitive" in the API will not
15981// be included in the string output. The member name will be present, but the
15982// value will be replaced with "sensitive".
15983func (s CreateAppOutput) String() string {
15984	return awsutil.Prettify(s)
15985}
15986
15987// GoString returns the string representation.
15988//
15989// API parameter values that are decorated as "sensitive" in the API will not
15990// be included in the string output. The member name will be present, but the
15991// value will be replaced with "sensitive".
15992func (s CreateAppOutput) GoString() string {
15993	return s.String()
15994}
15995
15996// SetApplicationResponse sets the ApplicationResponse field's value.
15997func (s *CreateAppOutput) SetApplicationResponse(v *ApplicationResponse) *CreateAppOutput {
15998	s.ApplicationResponse = v
15999	return s
16000}
16001
16002// Specifies the display name of an application and the tags to associate with
16003// the application.
16004type CreateApplicationRequest struct {
16005	_ struct{} `type:"structure"`
16006
16007	// The display name of the application. This name is displayed as the Project
16008	// name on the Amazon Pinpoint console.
16009	//
16010	// Name is a required field
16011	Name *string `type:"string" required:"true"`
16012
16013	// A string-to-string map of key-value pairs that defines the tags to associate
16014	// with the application. Each tag consists of a required tag key and an associated
16015	// tag value.
16016	Tags map[string]*string `locationName:"tags" type:"map"`
16017}
16018
16019// String returns the string representation.
16020//
16021// API parameter values that are decorated as "sensitive" in the API will not
16022// be included in the string output. The member name will be present, but the
16023// value will be replaced with "sensitive".
16024func (s CreateApplicationRequest) String() string {
16025	return awsutil.Prettify(s)
16026}
16027
16028// GoString returns the string representation.
16029//
16030// API parameter values that are decorated as "sensitive" in the API will not
16031// be included in the string output. The member name will be present, but the
16032// value will be replaced with "sensitive".
16033func (s CreateApplicationRequest) GoString() string {
16034	return s.String()
16035}
16036
16037// Validate inspects the fields of the type to determine if they are valid.
16038func (s *CreateApplicationRequest) Validate() error {
16039	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationRequest"}
16040	if s.Name == nil {
16041		invalidParams.Add(request.NewErrParamRequired("Name"))
16042	}
16043
16044	if invalidParams.Len() > 0 {
16045		return invalidParams
16046	}
16047	return nil
16048}
16049
16050// SetName sets the Name field's value.
16051func (s *CreateApplicationRequest) SetName(v string) *CreateApplicationRequest {
16052	s.Name = &v
16053	return s
16054}
16055
16056// SetTags sets the Tags field's value.
16057func (s *CreateApplicationRequest) SetTags(v map[string]*string) *CreateApplicationRequest {
16058	s.Tags = v
16059	return s
16060}
16061
16062type CreateCampaignInput struct {
16063	_ struct{} `type:"structure" payload:"WriteCampaignRequest"`
16064
16065	// ApplicationId is a required field
16066	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16067
16068	// Specifies the configuration and other settings for a campaign.
16069	//
16070	// WriteCampaignRequest is a required field
16071	WriteCampaignRequest *WriteCampaignRequest `type:"structure" required:"true"`
16072}
16073
16074// String returns the string representation.
16075//
16076// API parameter values that are decorated as "sensitive" in the API will not
16077// be included in the string output. The member name will be present, but the
16078// value will be replaced with "sensitive".
16079func (s CreateCampaignInput) String() string {
16080	return awsutil.Prettify(s)
16081}
16082
16083// GoString returns the string representation.
16084//
16085// API parameter values that are decorated as "sensitive" in the API will not
16086// be included in the string output. The member name will be present, but the
16087// value will be replaced with "sensitive".
16088func (s CreateCampaignInput) GoString() string {
16089	return s.String()
16090}
16091
16092// Validate inspects the fields of the type to determine if they are valid.
16093func (s *CreateCampaignInput) Validate() error {
16094	invalidParams := request.ErrInvalidParams{Context: "CreateCampaignInput"}
16095	if s.ApplicationId == nil {
16096		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16097	}
16098	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16099		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16100	}
16101	if s.WriteCampaignRequest == nil {
16102		invalidParams.Add(request.NewErrParamRequired("WriteCampaignRequest"))
16103	}
16104	if s.WriteCampaignRequest != nil {
16105		if err := s.WriteCampaignRequest.Validate(); err != nil {
16106			invalidParams.AddNested("WriteCampaignRequest", err.(request.ErrInvalidParams))
16107		}
16108	}
16109
16110	if invalidParams.Len() > 0 {
16111		return invalidParams
16112	}
16113	return nil
16114}
16115
16116// SetApplicationId sets the ApplicationId field's value.
16117func (s *CreateCampaignInput) SetApplicationId(v string) *CreateCampaignInput {
16118	s.ApplicationId = &v
16119	return s
16120}
16121
16122// SetWriteCampaignRequest sets the WriteCampaignRequest field's value.
16123func (s *CreateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) *CreateCampaignInput {
16124	s.WriteCampaignRequest = v
16125	return s
16126}
16127
16128type CreateCampaignOutput struct {
16129	_ struct{} `type:"structure" payload:"CampaignResponse"`
16130
16131	// Provides information about the status, configuration, and other settings
16132	// for a campaign.
16133	//
16134	// CampaignResponse is a required field
16135	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
16136}
16137
16138// String returns the string representation.
16139//
16140// API parameter values that are decorated as "sensitive" in the API will not
16141// be included in the string output. The member name will be present, but the
16142// value will be replaced with "sensitive".
16143func (s CreateCampaignOutput) String() string {
16144	return awsutil.Prettify(s)
16145}
16146
16147// GoString returns the string representation.
16148//
16149// API parameter values that are decorated as "sensitive" in the API will not
16150// be included in the string output. The member name will be present, but the
16151// value will be replaced with "sensitive".
16152func (s CreateCampaignOutput) GoString() string {
16153	return s.String()
16154}
16155
16156// SetCampaignResponse sets the CampaignResponse field's value.
16157func (s *CreateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *CreateCampaignOutput {
16158	s.CampaignResponse = v
16159	return s
16160}
16161
16162type CreateEmailTemplateInput struct {
16163	_ struct{} `type:"structure" payload:"EmailTemplateRequest"`
16164
16165	// Specifies the content and settings for a message template that can be used
16166	// in messages that are sent through the email channel.
16167	//
16168	// EmailTemplateRequest is a required field
16169	EmailTemplateRequest *EmailTemplateRequest `type:"structure" required:"true"`
16170
16171	// TemplateName is a required field
16172	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
16173}
16174
16175// String returns the string representation.
16176//
16177// API parameter values that are decorated as "sensitive" in the API will not
16178// be included in the string output. The member name will be present, but the
16179// value will be replaced with "sensitive".
16180func (s CreateEmailTemplateInput) String() string {
16181	return awsutil.Prettify(s)
16182}
16183
16184// GoString returns the string representation.
16185//
16186// API parameter values that are decorated as "sensitive" in the API will not
16187// be included in the string output. The member name will be present, but the
16188// value will be replaced with "sensitive".
16189func (s CreateEmailTemplateInput) GoString() string {
16190	return s.String()
16191}
16192
16193// Validate inspects the fields of the type to determine if they are valid.
16194func (s *CreateEmailTemplateInput) Validate() error {
16195	invalidParams := request.ErrInvalidParams{Context: "CreateEmailTemplateInput"}
16196	if s.EmailTemplateRequest == nil {
16197		invalidParams.Add(request.NewErrParamRequired("EmailTemplateRequest"))
16198	}
16199	if s.TemplateName == nil {
16200		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
16201	}
16202	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
16203		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
16204	}
16205
16206	if invalidParams.Len() > 0 {
16207		return invalidParams
16208	}
16209	return nil
16210}
16211
16212// SetEmailTemplateRequest sets the EmailTemplateRequest field's value.
16213func (s *CreateEmailTemplateInput) SetEmailTemplateRequest(v *EmailTemplateRequest) *CreateEmailTemplateInput {
16214	s.EmailTemplateRequest = v
16215	return s
16216}
16217
16218// SetTemplateName sets the TemplateName field's value.
16219func (s *CreateEmailTemplateInput) SetTemplateName(v string) *CreateEmailTemplateInput {
16220	s.TemplateName = &v
16221	return s
16222}
16223
16224type CreateEmailTemplateOutput struct {
16225	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
16226
16227	// Provides information about a request to create a message template.
16228	//
16229	// CreateTemplateMessageBody is a required field
16230	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
16231}
16232
16233// String returns the string representation.
16234//
16235// API parameter values that are decorated as "sensitive" in the API will not
16236// be included in the string output. The member name will be present, but the
16237// value will be replaced with "sensitive".
16238func (s CreateEmailTemplateOutput) String() string {
16239	return awsutil.Prettify(s)
16240}
16241
16242// GoString returns the string representation.
16243//
16244// API parameter values that are decorated as "sensitive" in the API will not
16245// be included in the string output. The member name will be present, but the
16246// value will be replaced with "sensitive".
16247func (s CreateEmailTemplateOutput) GoString() string {
16248	return s.String()
16249}
16250
16251// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
16252func (s *CreateEmailTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateEmailTemplateOutput {
16253	s.CreateTemplateMessageBody = v
16254	return s
16255}
16256
16257type CreateExportJobInput struct {
16258	_ struct{} `type:"structure" payload:"ExportJobRequest"`
16259
16260	// ApplicationId is a required field
16261	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16262
16263	// Specifies the settings for a job that exports endpoint definitions to an
16264	// Amazon Simple Storage Service (Amazon S3) bucket.
16265	//
16266	// ExportJobRequest is a required field
16267	ExportJobRequest *ExportJobRequest `type:"structure" required:"true"`
16268}
16269
16270// String returns the string representation.
16271//
16272// API parameter values that are decorated as "sensitive" in the API will not
16273// be included in the string output. The member name will be present, but the
16274// value will be replaced with "sensitive".
16275func (s CreateExportJobInput) String() string {
16276	return awsutil.Prettify(s)
16277}
16278
16279// GoString returns the string representation.
16280//
16281// API parameter values that are decorated as "sensitive" in the API will not
16282// be included in the string output. The member name will be present, but the
16283// value will be replaced with "sensitive".
16284func (s CreateExportJobInput) GoString() string {
16285	return s.String()
16286}
16287
16288// Validate inspects the fields of the type to determine if they are valid.
16289func (s *CreateExportJobInput) Validate() error {
16290	invalidParams := request.ErrInvalidParams{Context: "CreateExportJobInput"}
16291	if s.ApplicationId == nil {
16292		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16293	}
16294	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16295		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16296	}
16297	if s.ExportJobRequest == nil {
16298		invalidParams.Add(request.NewErrParamRequired("ExportJobRequest"))
16299	}
16300	if s.ExportJobRequest != nil {
16301		if err := s.ExportJobRequest.Validate(); err != nil {
16302			invalidParams.AddNested("ExportJobRequest", err.(request.ErrInvalidParams))
16303		}
16304	}
16305
16306	if invalidParams.Len() > 0 {
16307		return invalidParams
16308	}
16309	return nil
16310}
16311
16312// SetApplicationId sets the ApplicationId field's value.
16313func (s *CreateExportJobInput) SetApplicationId(v string) *CreateExportJobInput {
16314	s.ApplicationId = &v
16315	return s
16316}
16317
16318// SetExportJobRequest sets the ExportJobRequest field's value.
16319func (s *CreateExportJobInput) SetExportJobRequest(v *ExportJobRequest) *CreateExportJobInput {
16320	s.ExportJobRequest = v
16321	return s
16322}
16323
16324type CreateExportJobOutput struct {
16325	_ struct{} `type:"structure" payload:"ExportJobResponse"`
16326
16327	// Provides information about the status and settings of a job that exports
16328	// endpoint definitions to a file. The file can be added directly to an Amazon
16329	// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
16330	// or downloaded directly to a computer by using the Amazon Pinpoint console.
16331	//
16332	// ExportJobResponse is a required field
16333	ExportJobResponse *ExportJobResponse `type:"structure" required:"true"`
16334}
16335
16336// String returns the string representation.
16337//
16338// API parameter values that are decorated as "sensitive" in the API will not
16339// be included in the string output. The member name will be present, but the
16340// value will be replaced with "sensitive".
16341func (s CreateExportJobOutput) String() string {
16342	return awsutil.Prettify(s)
16343}
16344
16345// GoString returns the string representation.
16346//
16347// API parameter values that are decorated as "sensitive" in the API will not
16348// be included in the string output. The member name will be present, but the
16349// value will be replaced with "sensitive".
16350func (s CreateExportJobOutput) GoString() string {
16351	return s.String()
16352}
16353
16354// SetExportJobResponse sets the ExportJobResponse field's value.
16355func (s *CreateExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *CreateExportJobOutput {
16356	s.ExportJobResponse = v
16357	return s
16358}
16359
16360type CreateImportJobInput struct {
16361	_ struct{} `type:"structure" payload:"ImportJobRequest"`
16362
16363	// ApplicationId is a required field
16364	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16365
16366	// Specifies the settings for a job that imports endpoint definitions from an
16367	// Amazon Simple Storage Service (Amazon S3) bucket.
16368	//
16369	// ImportJobRequest is a required field
16370	ImportJobRequest *ImportJobRequest `type:"structure" required:"true"`
16371}
16372
16373// String returns the string representation.
16374//
16375// API parameter values that are decorated as "sensitive" in the API will not
16376// be included in the string output. The member name will be present, but the
16377// value will be replaced with "sensitive".
16378func (s CreateImportJobInput) String() string {
16379	return awsutil.Prettify(s)
16380}
16381
16382// GoString returns the string representation.
16383//
16384// API parameter values that are decorated as "sensitive" in the API will not
16385// be included in the string output. The member name will be present, but the
16386// value will be replaced with "sensitive".
16387func (s CreateImportJobInput) GoString() string {
16388	return s.String()
16389}
16390
16391// Validate inspects the fields of the type to determine if they are valid.
16392func (s *CreateImportJobInput) Validate() error {
16393	invalidParams := request.ErrInvalidParams{Context: "CreateImportJobInput"}
16394	if s.ApplicationId == nil {
16395		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16396	}
16397	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16398		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16399	}
16400	if s.ImportJobRequest == nil {
16401		invalidParams.Add(request.NewErrParamRequired("ImportJobRequest"))
16402	}
16403	if s.ImportJobRequest != nil {
16404		if err := s.ImportJobRequest.Validate(); err != nil {
16405			invalidParams.AddNested("ImportJobRequest", err.(request.ErrInvalidParams))
16406		}
16407	}
16408
16409	if invalidParams.Len() > 0 {
16410		return invalidParams
16411	}
16412	return nil
16413}
16414
16415// SetApplicationId sets the ApplicationId field's value.
16416func (s *CreateImportJobInput) SetApplicationId(v string) *CreateImportJobInput {
16417	s.ApplicationId = &v
16418	return s
16419}
16420
16421// SetImportJobRequest sets the ImportJobRequest field's value.
16422func (s *CreateImportJobInput) SetImportJobRequest(v *ImportJobRequest) *CreateImportJobInput {
16423	s.ImportJobRequest = v
16424	return s
16425}
16426
16427type CreateImportJobOutput struct {
16428	_ struct{} `type:"structure" payload:"ImportJobResponse"`
16429
16430	// Provides information about the status and settings of a job that imports
16431	// endpoint definitions from one or more files. The files can be stored in an
16432	// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
16433	// a computer by using the Amazon Pinpoint console.
16434	//
16435	// ImportJobResponse is a required field
16436	ImportJobResponse *ImportJobResponse `type:"structure" required:"true"`
16437}
16438
16439// String returns the string representation.
16440//
16441// API parameter values that are decorated as "sensitive" in the API will not
16442// be included in the string output. The member name will be present, but the
16443// value will be replaced with "sensitive".
16444func (s CreateImportJobOutput) String() string {
16445	return awsutil.Prettify(s)
16446}
16447
16448// GoString returns the string representation.
16449//
16450// API parameter values that are decorated as "sensitive" in the API will not
16451// be included in the string output. The member name will be present, but the
16452// value will be replaced with "sensitive".
16453func (s CreateImportJobOutput) GoString() string {
16454	return s.String()
16455}
16456
16457// SetImportJobResponse sets the ImportJobResponse field's value.
16458func (s *CreateImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *CreateImportJobOutput {
16459	s.ImportJobResponse = v
16460	return s
16461}
16462
16463type CreateInAppTemplateInput struct {
16464	_ struct{} `type:"structure" payload:"InAppTemplateRequest"`
16465
16466	// In-App Template Request.
16467	//
16468	// InAppTemplateRequest is a required field
16469	InAppTemplateRequest *InAppTemplateRequest `type:"structure" required:"true"`
16470
16471	// TemplateName is a required field
16472	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
16473}
16474
16475// String returns the string representation.
16476//
16477// API parameter values that are decorated as "sensitive" in the API will not
16478// be included in the string output. The member name will be present, but the
16479// value will be replaced with "sensitive".
16480func (s CreateInAppTemplateInput) String() string {
16481	return awsutil.Prettify(s)
16482}
16483
16484// GoString returns the string representation.
16485//
16486// API parameter values that are decorated as "sensitive" in the API will not
16487// be included in the string output. The member name will be present, but the
16488// value will be replaced with "sensitive".
16489func (s CreateInAppTemplateInput) GoString() string {
16490	return s.String()
16491}
16492
16493// Validate inspects the fields of the type to determine if they are valid.
16494func (s *CreateInAppTemplateInput) Validate() error {
16495	invalidParams := request.ErrInvalidParams{Context: "CreateInAppTemplateInput"}
16496	if s.InAppTemplateRequest == nil {
16497		invalidParams.Add(request.NewErrParamRequired("InAppTemplateRequest"))
16498	}
16499	if s.TemplateName == nil {
16500		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
16501	}
16502	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
16503		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
16504	}
16505	if s.InAppTemplateRequest != nil {
16506		if err := s.InAppTemplateRequest.Validate(); err != nil {
16507			invalidParams.AddNested("InAppTemplateRequest", err.(request.ErrInvalidParams))
16508		}
16509	}
16510
16511	if invalidParams.Len() > 0 {
16512		return invalidParams
16513	}
16514	return nil
16515}
16516
16517// SetInAppTemplateRequest sets the InAppTemplateRequest field's value.
16518func (s *CreateInAppTemplateInput) SetInAppTemplateRequest(v *InAppTemplateRequest) *CreateInAppTemplateInput {
16519	s.InAppTemplateRequest = v
16520	return s
16521}
16522
16523// SetTemplateName sets the TemplateName field's value.
16524func (s *CreateInAppTemplateInput) SetTemplateName(v string) *CreateInAppTemplateInput {
16525	s.TemplateName = &v
16526	return s
16527}
16528
16529type CreateInAppTemplateOutput struct {
16530	_ struct{} `type:"structure" payload:"TemplateCreateMessageBody"`
16531
16532	// Provides information about a request to create a message template.
16533	//
16534	// TemplateCreateMessageBody is a required field
16535	TemplateCreateMessageBody *TemplateCreateMessageBody `type:"structure" required:"true"`
16536}
16537
16538// String returns the string representation.
16539//
16540// API parameter values that are decorated as "sensitive" in the API will not
16541// be included in the string output. The member name will be present, but the
16542// value will be replaced with "sensitive".
16543func (s CreateInAppTemplateOutput) String() string {
16544	return awsutil.Prettify(s)
16545}
16546
16547// GoString returns the string representation.
16548//
16549// API parameter values that are decorated as "sensitive" in the API will not
16550// be included in the string output. The member name will be present, but the
16551// value will be replaced with "sensitive".
16552func (s CreateInAppTemplateOutput) GoString() string {
16553	return s.String()
16554}
16555
16556// SetTemplateCreateMessageBody sets the TemplateCreateMessageBody field's value.
16557func (s *CreateInAppTemplateOutput) SetTemplateCreateMessageBody(v *TemplateCreateMessageBody) *CreateInAppTemplateOutput {
16558	s.TemplateCreateMessageBody = v
16559	return s
16560}
16561
16562type CreateJourneyInput struct {
16563	_ struct{} `type:"structure" payload:"WriteJourneyRequest"`
16564
16565	// ApplicationId is a required field
16566	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16567
16568	// Specifies the configuration and other settings for a journey.
16569	//
16570	// WriteJourneyRequest is a required field
16571	WriteJourneyRequest *WriteJourneyRequest `type:"structure" required:"true"`
16572}
16573
16574// String returns the string representation.
16575//
16576// API parameter values that are decorated as "sensitive" in the API will not
16577// be included in the string output. The member name will be present, but the
16578// value will be replaced with "sensitive".
16579func (s CreateJourneyInput) String() string {
16580	return awsutil.Prettify(s)
16581}
16582
16583// GoString returns the string representation.
16584//
16585// API parameter values that are decorated as "sensitive" in the API will not
16586// be included in the string output. The member name will be present, but the
16587// value will be replaced with "sensitive".
16588func (s CreateJourneyInput) GoString() string {
16589	return s.String()
16590}
16591
16592// Validate inspects the fields of the type to determine if they are valid.
16593func (s *CreateJourneyInput) Validate() error {
16594	invalidParams := request.ErrInvalidParams{Context: "CreateJourneyInput"}
16595	if s.ApplicationId == nil {
16596		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16597	}
16598	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16599		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16600	}
16601	if s.WriteJourneyRequest == nil {
16602		invalidParams.Add(request.NewErrParamRequired("WriteJourneyRequest"))
16603	}
16604	if s.WriteJourneyRequest != nil {
16605		if err := s.WriteJourneyRequest.Validate(); err != nil {
16606			invalidParams.AddNested("WriteJourneyRequest", err.(request.ErrInvalidParams))
16607		}
16608	}
16609
16610	if invalidParams.Len() > 0 {
16611		return invalidParams
16612	}
16613	return nil
16614}
16615
16616// SetApplicationId sets the ApplicationId field's value.
16617func (s *CreateJourneyInput) SetApplicationId(v string) *CreateJourneyInput {
16618	s.ApplicationId = &v
16619	return s
16620}
16621
16622// SetWriteJourneyRequest sets the WriteJourneyRequest field's value.
16623func (s *CreateJourneyInput) SetWriteJourneyRequest(v *WriteJourneyRequest) *CreateJourneyInput {
16624	s.WriteJourneyRequest = v
16625	return s
16626}
16627
16628type CreateJourneyOutput struct {
16629	_ struct{} `type:"structure" payload:"JourneyResponse"`
16630
16631	// Provides information about the status, configuration, and other settings
16632	// for a journey.
16633	//
16634	// JourneyResponse is a required field
16635	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
16636}
16637
16638// String returns the string representation.
16639//
16640// API parameter values that are decorated as "sensitive" in the API will not
16641// be included in the string output. The member name will be present, but the
16642// value will be replaced with "sensitive".
16643func (s CreateJourneyOutput) String() string {
16644	return awsutil.Prettify(s)
16645}
16646
16647// GoString returns the string representation.
16648//
16649// API parameter values that are decorated as "sensitive" in the API will not
16650// be included in the string output. The member name will be present, but the
16651// value will be replaced with "sensitive".
16652func (s CreateJourneyOutput) GoString() string {
16653	return s.String()
16654}
16655
16656// SetJourneyResponse sets the JourneyResponse field's value.
16657func (s *CreateJourneyOutput) SetJourneyResponse(v *JourneyResponse) *CreateJourneyOutput {
16658	s.JourneyResponse = v
16659	return s
16660}
16661
16662type CreatePushTemplateInput struct {
16663	_ struct{} `type:"structure" payload:"PushNotificationTemplateRequest"`
16664
16665	// Specifies the content and settings for a message template that can be used
16666	// in messages that are sent through a push notification channel.
16667	//
16668	// PushNotificationTemplateRequest is a required field
16669	PushNotificationTemplateRequest *PushNotificationTemplateRequest `type:"structure" required:"true"`
16670
16671	// TemplateName is a required field
16672	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
16673}
16674
16675// String returns the string representation.
16676//
16677// API parameter values that are decorated as "sensitive" in the API will not
16678// be included in the string output. The member name will be present, but the
16679// value will be replaced with "sensitive".
16680func (s CreatePushTemplateInput) String() string {
16681	return awsutil.Prettify(s)
16682}
16683
16684// GoString returns the string representation.
16685//
16686// API parameter values that are decorated as "sensitive" in the API will not
16687// be included in the string output. The member name will be present, but the
16688// value will be replaced with "sensitive".
16689func (s CreatePushTemplateInput) GoString() string {
16690	return s.String()
16691}
16692
16693// Validate inspects the fields of the type to determine if they are valid.
16694func (s *CreatePushTemplateInput) Validate() error {
16695	invalidParams := request.ErrInvalidParams{Context: "CreatePushTemplateInput"}
16696	if s.PushNotificationTemplateRequest == nil {
16697		invalidParams.Add(request.NewErrParamRequired("PushNotificationTemplateRequest"))
16698	}
16699	if s.TemplateName == nil {
16700		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
16701	}
16702	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
16703		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
16704	}
16705
16706	if invalidParams.Len() > 0 {
16707		return invalidParams
16708	}
16709	return nil
16710}
16711
16712// SetPushNotificationTemplateRequest sets the PushNotificationTemplateRequest field's value.
16713func (s *CreatePushTemplateInput) SetPushNotificationTemplateRequest(v *PushNotificationTemplateRequest) *CreatePushTemplateInput {
16714	s.PushNotificationTemplateRequest = v
16715	return s
16716}
16717
16718// SetTemplateName sets the TemplateName field's value.
16719func (s *CreatePushTemplateInput) SetTemplateName(v string) *CreatePushTemplateInput {
16720	s.TemplateName = &v
16721	return s
16722}
16723
16724type CreatePushTemplateOutput struct {
16725	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
16726
16727	// Provides information about a request to create a message template.
16728	//
16729	// CreateTemplateMessageBody is a required field
16730	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
16731}
16732
16733// String returns the string representation.
16734//
16735// API parameter values that are decorated as "sensitive" in the API will not
16736// be included in the string output. The member name will be present, but the
16737// value will be replaced with "sensitive".
16738func (s CreatePushTemplateOutput) String() string {
16739	return awsutil.Prettify(s)
16740}
16741
16742// GoString returns the string representation.
16743//
16744// API parameter values that are decorated as "sensitive" in the API will not
16745// be included in the string output. The member name will be present, but the
16746// value will be replaced with "sensitive".
16747func (s CreatePushTemplateOutput) GoString() string {
16748	return s.String()
16749}
16750
16751// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
16752func (s *CreatePushTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreatePushTemplateOutput {
16753	s.CreateTemplateMessageBody = v
16754	return s
16755}
16756
16757// Specifies Amazon Pinpoint configuration settings for retrieving and processing
16758// recommendation data from a recommender model.
16759type CreateRecommenderConfiguration struct {
16760	_ struct{} `type:"structure"`
16761
16762	// A map of key-value pairs that defines 1-10 custom endpoint or user attributes,
16763	// depending on the value for the RecommendationProviderIdType property. Each
16764	// of these attributes temporarily stores a recommended item that's retrieved
16765	// from the recommender model and sent to an AWS Lambda function for additional
16766	// processing. Each attribute can be used as a message variable in a message
16767	// template.
16768	//
16769	// In the map, the key is the name of a custom attribute and the value is a
16770	// custom display name for that attribute. The display name appears in the Attribute
16771	// finder of the template editor on the Amazon Pinpoint console. The following
16772	// restrictions apply to these names:
16773	//
16774	//    * An attribute name must start with a letter or number and it can contain
16775	//    up to 50 characters. The characters can be letters, numbers, underscores
16776	//    (_), or hyphens (-). Attribute names are case sensitive and must be unique.
16777	//
16778	//    * An attribute display name must start with a letter or number and it
16779	//    can contain up to 25 characters. The characters can be letters, numbers,
16780	//    spaces, underscores (_), or hyphens (-).
16781	//
16782	// This object is required if the configuration invokes an AWS Lambda function
16783	// (RecommendationTransformerUri) to process recommendation data. Otherwise,
16784	// don't include this object in your request.
16785	Attributes map[string]*string `type:"map"`
16786
16787	// A custom description of the configuration for the recommender model. The
16788	// description can contain up to 128 characters. The characters can be letters,
16789	// numbers, spaces, or the following symbols: _ ; () , ‐.
16790	Description *string `type:"string"`
16791
16792	// A custom name of the configuration for the recommender model. The name must
16793	// start with a letter or number and it can contain up to 128 characters. The
16794	// characters can be letters, numbers, spaces, underscores (_), or hyphens (-).
16795	Name *string `type:"string"`
16796
16797	// The type of Amazon Pinpoint ID to associate with unique user IDs in the recommender
16798	// model. This value enables the model to use attribute and event data that’s
16799	// specific to a particular endpoint or user in an Amazon Pinpoint application.
16800	// Valid values are:
16801	//
16802	//    * PINPOINT_ENDPOINT_ID - Associate each user in the model with a particular
16803	//    endpoint in Amazon Pinpoint. The data is correlated based on endpoint
16804	//    IDs in Amazon Pinpoint. This is the default value.
16805	//
16806	//    * PINPOINT_USER_ID - Associate each user in the model with a particular
16807	//    user and endpoint in Amazon Pinpoint. The data is correlated based on
16808	//    user IDs in Amazon Pinpoint. If you specify this value, an endpoint definition
16809	//    in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint
16810	//    ID. Otherwise, messages won’t be sent to the user's endpoint.
16811	RecommendationProviderIdType *string `type:"string"`
16812
16813	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
16814	// (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data
16815	// from the recommender model.
16816	//
16817	// RecommendationProviderRoleArn is a required field
16818	RecommendationProviderRoleArn *string `type:"string" required:"true"`
16819
16820	// The Amazon Resource Name (ARN) of the recommender model to retrieve recommendation
16821	// data from. This value must match the ARN of an Amazon Personalize campaign.
16822	//
16823	// RecommendationProviderUri is a required field
16824	RecommendationProviderUri *string `type:"string" required:"true"`
16825
16826	// The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke
16827	// for additional processing of recommendation data that's retrieved from the
16828	// recommender model.
16829	RecommendationTransformerUri *string `type:"string"`
16830
16831	// A custom display name for the standard endpoint or user attribute (RecommendationItems)
16832	// that temporarily stores recommended items for each endpoint or user, depending
16833	// on the value for the RecommendationProviderIdType property. This value is
16834	// required if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri)
16835	// to perform additional processing of recommendation data.
16836	//
16837	// This name appears in the Attribute finder of the template editor on the Amazon
16838	// Pinpoint console. The name can contain up to 25 characters. The characters
16839	// can be letters, numbers, spaces, underscores (_), or hyphens (-). These restrictions
16840	// don't apply to attribute values.
16841	RecommendationsDisplayName *string `type:"string"`
16842
16843	// The number of recommended items to retrieve from the model for each endpoint
16844	// or user, depending on the value for the RecommendationProviderIdType property.
16845	// This number determines how many recommended items are available for use in
16846	// message variables. The minimum value is 1. The maximum value is 5. The default
16847	// value is 5.
16848	//
16849	// To use multiple recommended items and custom attributes with message variables,
16850	// you have to use an AWS Lambda function (RecommendationTransformerUri) to
16851	// perform additional processing of recommendation data.
16852	RecommendationsPerMessage *int64 `type:"integer"`
16853}
16854
16855// String returns the string representation.
16856//
16857// API parameter values that are decorated as "sensitive" in the API will not
16858// be included in the string output. The member name will be present, but the
16859// value will be replaced with "sensitive".
16860func (s CreateRecommenderConfiguration) String() string {
16861	return awsutil.Prettify(s)
16862}
16863
16864// GoString returns the string representation.
16865//
16866// API parameter values that are decorated as "sensitive" in the API will not
16867// be included in the string output. The member name will be present, but the
16868// value will be replaced with "sensitive".
16869func (s CreateRecommenderConfiguration) GoString() string {
16870	return s.String()
16871}
16872
16873// Validate inspects the fields of the type to determine if they are valid.
16874func (s *CreateRecommenderConfiguration) Validate() error {
16875	invalidParams := request.ErrInvalidParams{Context: "CreateRecommenderConfiguration"}
16876	if s.RecommendationProviderRoleArn == nil {
16877		invalidParams.Add(request.NewErrParamRequired("RecommendationProviderRoleArn"))
16878	}
16879	if s.RecommendationProviderUri == nil {
16880		invalidParams.Add(request.NewErrParamRequired("RecommendationProviderUri"))
16881	}
16882
16883	if invalidParams.Len() > 0 {
16884		return invalidParams
16885	}
16886	return nil
16887}
16888
16889// SetAttributes sets the Attributes field's value.
16890func (s *CreateRecommenderConfiguration) SetAttributes(v map[string]*string) *CreateRecommenderConfiguration {
16891	s.Attributes = v
16892	return s
16893}
16894
16895// SetDescription sets the Description field's value.
16896func (s *CreateRecommenderConfiguration) SetDescription(v string) *CreateRecommenderConfiguration {
16897	s.Description = &v
16898	return s
16899}
16900
16901// SetName sets the Name field's value.
16902func (s *CreateRecommenderConfiguration) SetName(v string) *CreateRecommenderConfiguration {
16903	s.Name = &v
16904	return s
16905}
16906
16907// SetRecommendationProviderIdType sets the RecommendationProviderIdType field's value.
16908func (s *CreateRecommenderConfiguration) SetRecommendationProviderIdType(v string) *CreateRecommenderConfiguration {
16909	s.RecommendationProviderIdType = &v
16910	return s
16911}
16912
16913// SetRecommendationProviderRoleArn sets the RecommendationProviderRoleArn field's value.
16914func (s *CreateRecommenderConfiguration) SetRecommendationProviderRoleArn(v string) *CreateRecommenderConfiguration {
16915	s.RecommendationProviderRoleArn = &v
16916	return s
16917}
16918
16919// SetRecommendationProviderUri sets the RecommendationProviderUri field's value.
16920func (s *CreateRecommenderConfiguration) SetRecommendationProviderUri(v string) *CreateRecommenderConfiguration {
16921	s.RecommendationProviderUri = &v
16922	return s
16923}
16924
16925// SetRecommendationTransformerUri sets the RecommendationTransformerUri field's value.
16926func (s *CreateRecommenderConfiguration) SetRecommendationTransformerUri(v string) *CreateRecommenderConfiguration {
16927	s.RecommendationTransformerUri = &v
16928	return s
16929}
16930
16931// SetRecommendationsDisplayName sets the RecommendationsDisplayName field's value.
16932func (s *CreateRecommenderConfiguration) SetRecommendationsDisplayName(v string) *CreateRecommenderConfiguration {
16933	s.RecommendationsDisplayName = &v
16934	return s
16935}
16936
16937// SetRecommendationsPerMessage sets the RecommendationsPerMessage field's value.
16938func (s *CreateRecommenderConfiguration) SetRecommendationsPerMessage(v int64) *CreateRecommenderConfiguration {
16939	s.RecommendationsPerMessage = &v
16940	return s
16941}
16942
16943type CreateRecommenderConfigurationInput struct {
16944	_ struct{} `type:"structure" payload:"CreateRecommenderConfiguration"`
16945
16946	// Specifies Amazon Pinpoint configuration settings for retrieving and processing
16947	// recommendation data from a recommender model.
16948	//
16949	// CreateRecommenderConfiguration is a required field
16950	CreateRecommenderConfiguration *CreateRecommenderConfiguration `type:"structure" required:"true"`
16951}
16952
16953// String returns the string representation.
16954//
16955// API parameter values that are decorated as "sensitive" in the API will not
16956// be included in the string output. The member name will be present, but the
16957// value will be replaced with "sensitive".
16958func (s CreateRecommenderConfigurationInput) String() string {
16959	return awsutil.Prettify(s)
16960}
16961
16962// GoString returns the string representation.
16963//
16964// API parameter values that are decorated as "sensitive" in the API will not
16965// be included in the string output. The member name will be present, but the
16966// value will be replaced with "sensitive".
16967func (s CreateRecommenderConfigurationInput) GoString() string {
16968	return s.String()
16969}
16970
16971// Validate inspects the fields of the type to determine if they are valid.
16972func (s *CreateRecommenderConfigurationInput) Validate() error {
16973	invalidParams := request.ErrInvalidParams{Context: "CreateRecommenderConfigurationInput"}
16974	if s.CreateRecommenderConfiguration == nil {
16975		invalidParams.Add(request.NewErrParamRequired("CreateRecommenderConfiguration"))
16976	}
16977	if s.CreateRecommenderConfiguration != nil {
16978		if err := s.CreateRecommenderConfiguration.Validate(); err != nil {
16979			invalidParams.AddNested("CreateRecommenderConfiguration", err.(request.ErrInvalidParams))
16980		}
16981	}
16982
16983	if invalidParams.Len() > 0 {
16984		return invalidParams
16985	}
16986	return nil
16987}
16988
16989// SetCreateRecommenderConfiguration sets the CreateRecommenderConfiguration field's value.
16990func (s *CreateRecommenderConfigurationInput) SetCreateRecommenderConfiguration(v *CreateRecommenderConfiguration) *CreateRecommenderConfigurationInput {
16991	s.CreateRecommenderConfiguration = v
16992	return s
16993}
16994
16995type CreateRecommenderConfigurationOutput struct {
16996	_ struct{} `type:"structure" payload:"RecommenderConfigurationResponse"`
16997
16998	// Provides information about Amazon Pinpoint configuration settings for retrieving
16999	// and processing data from a recommender model.
17000	//
17001	// RecommenderConfigurationResponse is a required field
17002	RecommenderConfigurationResponse *RecommenderConfigurationResponse `type:"structure" required:"true"`
17003}
17004
17005// String returns the string representation.
17006//
17007// API parameter values that are decorated as "sensitive" in the API will not
17008// be included in the string output. The member name will be present, but the
17009// value will be replaced with "sensitive".
17010func (s CreateRecommenderConfigurationOutput) String() string {
17011	return awsutil.Prettify(s)
17012}
17013
17014// GoString returns the string representation.
17015//
17016// API parameter values that are decorated as "sensitive" in the API will not
17017// be included in the string output. The member name will be present, but the
17018// value will be replaced with "sensitive".
17019func (s CreateRecommenderConfigurationOutput) GoString() string {
17020	return s.String()
17021}
17022
17023// SetRecommenderConfigurationResponse sets the RecommenderConfigurationResponse field's value.
17024func (s *CreateRecommenderConfigurationOutput) SetRecommenderConfigurationResponse(v *RecommenderConfigurationResponse) *CreateRecommenderConfigurationOutput {
17025	s.RecommenderConfigurationResponse = v
17026	return s
17027}
17028
17029type CreateSegmentInput struct {
17030	_ struct{} `type:"structure" payload:"WriteSegmentRequest"`
17031
17032	// ApplicationId is a required field
17033	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17034
17035	// Specifies the configuration, dimension, and other settings for a segment.
17036	// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
17037	// object, but not both.
17038	//
17039	// WriteSegmentRequest is a required field
17040	WriteSegmentRequest *WriteSegmentRequest `type:"structure" required:"true"`
17041}
17042
17043// String returns the string representation.
17044//
17045// API parameter values that are decorated as "sensitive" in the API will not
17046// be included in the string output. The member name will be present, but the
17047// value will be replaced with "sensitive".
17048func (s CreateSegmentInput) String() string {
17049	return awsutil.Prettify(s)
17050}
17051
17052// GoString returns the string representation.
17053//
17054// API parameter values that are decorated as "sensitive" in the API will not
17055// be included in the string output. The member name will be present, but the
17056// value will be replaced with "sensitive".
17057func (s CreateSegmentInput) GoString() string {
17058	return s.String()
17059}
17060
17061// Validate inspects the fields of the type to determine if they are valid.
17062func (s *CreateSegmentInput) Validate() error {
17063	invalidParams := request.ErrInvalidParams{Context: "CreateSegmentInput"}
17064	if s.ApplicationId == nil {
17065		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17066	}
17067	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17068		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17069	}
17070	if s.WriteSegmentRequest == nil {
17071		invalidParams.Add(request.NewErrParamRequired("WriteSegmentRequest"))
17072	}
17073	if s.WriteSegmentRequest != nil {
17074		if err := s.WriteSegmentRequest.Validate(); err != nil {
17075			invalidParams.AddNested("WriteSegmentRequest", err.(request.ErrInvalidParams))
17076		}
17077	}
17078
17079	if invalidParams.Len() > 0 {
17080		return invalidParams
17081	}
17082	return nil
17083}
17084
17085// SetApplicationId sets the ApplicationId field's value.
17086func (s *CreateSegmentInput) SetApplicationId(v string) *CreateSegmentInput {
17087	s.ApplicationId = &v
17088	return s
17089}
17090
17091// SetWriteSegmentRequest sets the WriteSegmentRequest field's value.
17092func (s *CreateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *CreateSegmentInput {
17093	s.WriteSegmentRequest = v
17094	return s
17095}
17096
17097type CreateSegmentOutput struct {
17098	_ struct{} `type:"structure" payload:"SegmentResponse"`
17099
17100	// Provides information about the configuration, dimension, and other settings
17101	// for a segment.
17102	//
17103	// SegmentResponse is a required field
17104	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
17105}
17106
17107// String returns the string representation.
17108//
17109// API parameter values that are decorated as "sensitive" in the API will not
17110// be included in the string output. The member name will be present, but the
17111// value will be replaced with "sensitive".
17112func (s CreateSegmentOutput) String() string {
17113	return awsutil.Prettify(s)
17114}
17115
17116// GoString returns the string representation.
17117//
17118// API parameter values that are decorated as "sensitive" in the API will not
17119// be included in the string output. The member name will be present, but the
17120// value will be replaced with "sensitive".
17121func (s CreateSegmentOutput) GoString() string {
17122	return s.String()
17123}
17124
17125// SetSegmentResponse sets the SegmentResponse field's value.
17126func (s *CreateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *CreateSegmentOutput {
17127	s.SegmentResponse = v
17128	return s
17129}
17130
17131type CreateSmsTemplateInput struct {
17132	_ struct{} `type:"structure" payload:"SMSTemplateRequest"`
17133
17134	// Specifies the content and settings for a message template that can be used
17135	// in text messages that are sent through the SMS channel.
17136	//
17137	// SMSTemplateRequest is a required field
17138	SMSTemplateRequest *SMSTemplateRequest `type:"structure" required:"true"`
17139
17140	// TemplateName is a required field
17141	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
17142}
17143
17144// String returns the string representation.
17145//
17146// API parameter values that are decorated as "sensitive" in the API will not
17147// be included in the string output. The member name will be present, but the
17148// value will be replaced with "sensitive".
17149func (s CreateSmsTemplateInput) String() string {
17150	return awsutil.Prettify(s)
17151}
17152
17153// GoString returns the string representation.
17154//
17155// API parameter values that are decorated as "sensitive" in the API will not
17156// be included in the string output. The member name will be present, but the
17157// value will be replaced with "sensitive".
17158func (s CreateSmsTemplateInput) GoString() string {
17159	return s.String()
17160}
17161
17162// Validate inspects the fields of the type to determine if they are valid.
17163func (s *CreateSmsTemplateInput) Validate() error {
17164	invalidParams := request.ErrInvalidParams{Context: "CreateSmsTemplateInput"}
17165	if s.SMSTemplateRequest == nil {
17166		invalidParams.Add(request.NewErrParamRequired("SMSTemplateRequest"))
17167	}
17168	if s.TemplateName == nil {
17169		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
17170	}
17171	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
17172		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
17173	}
17174
17175	if invalidParams.Len() > 0 {
17176		return invalidParams
17177	}
17178	return nil
17179}
17180
17181// SetSMSTemplateRequest sets the SMSTemplateRequest field's value.
17182func (s *CreateSmsTemplateInput) SetSMSTemplateRequest(v *SMSTemplateRequest) *CreateSmsTemplateInput {
17183	s.SMSTemplateRequest = v
17184	return s
17185}
17186
17187// SetTemplateName sets the TemplateName field's value.
17188func (s *CreateSmsTemplateInput) SetTemplateName(v string) *CreateSmsTemplateInput {
17189	s.TemplateName = &v
17190	return s
17191}
17192
17193type CreateSmsTemplateOutput struct {
17194	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
17195
17196	// Provides information about a request to create a message template.
17197	//
17198	// CreateTemplateMessageBody is a required field
17199	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
17200}
17201
17202// String returns the string representation.
17203//
17204// API parameter values that are decorated as "sensitive" in the API will not
17205// be included in the string output. The member name will be present, but the
17206// value will be replaced with "sensitive".
17207func (s CreateSmsTemplateOutput) String() string {
17208	return awsutil.Prettify(s)
17209}
17210
17211// GoString returns the string representation.
17212//
17213// API parameter values that are decorated as "sensitive" in the API will not
17214// be included in the string output. The member name will be present, but the
17215// value will be replaced with "sensitive".
17216func (s CreateSmsTemplateOutput) GoString() string {
17217	return s.String()
17218}
17219
17220// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
17221func (s *CreateSmsTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateSmsTemplateOutput {
17222	s.CreateTemplateMessageBody = v
17223	return s
17224}
17225
17226// Provides information about a request to create a message template.
17227type CreateTemplateMessageBody struct {
17228	_ struct{} `type:"structure"`
17229
17230	// The Amazon Resource Name (ARN) of the message template that was created.
17231	Arn *string `type:"string"`
17232
17233	// The message that's returned from the API for the request to create the message
17234	// template.
17235	Message *string `type:"string"`
17236
17237	// The unique identifier for the request to create the message template.
17238	RequestID *string `type:"string"`
17239}
17240
17241// String returns the string representation.
17242//
17243// API parameter values that are decorated as "sensitive" in the API will not
17244// be included in the string output. The member name will be present, but the
17245// value will be replaced with "sensitive".
17246func (s CreateTemplateMessageBody) String() string {
17247	return awsutil.Prettify(s)
17248}
17249
17250// GoString returns the string representation.
17251//
17252// API parameter values that are decorated as "sensitive" in the API will not
17253// be included in the string output. The member name will be present, but the
17254// value will be replaced with "sensitive".
17255func (s CreateTemplateMessageBody) GoString() string {
17256	return s.String()
17257}
17258
17259// SetArn sets the Arn field's value.
17260func (s *CreateTemplateMessageBody) SetArn(v string) *CreateTemplateMessageBody {
17261	s.Arn = &v
17262	return s
17263}
17264
17265// SetMessage sets the Message field's value.
17266func (s *CreateTemplateMessageBody) SetMessage(v string) *CreateTemplateMessageBody {
17267	s.Message = &v
17268	return s
17269}
17270
17271// SetRequestID sets the RequestID field's value.
17272func (s *CreateTemplateMessageBody) SetRequestID(v string) *CreateTemplateMessageBody {
17273	s.RequestID = &v
17274	return s
17275}
17276
17277type CreateVoiceTemplateInput struct {
17278	_ struct{} `type:"structure" payload:"VoiceTemplateRequest"`
17279
17280	// TemplateName is a required field
17281	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
17282
17283	// Specifies the content and settings for a message template that can be used
17284	// in messages that are sent through the voice channel.
17285	//
17286	// VoiceTemplateRequest is a required field
17287	VoiceTemplateRequest *VoiceTemplateRequest `type:"structure" required:"true"`
17288}
17289
17290// String returns the string representation.
17291//
17292// API parameter values that are decorated as "sensitive" in the API will not
17293// be included in the string output. The member name will be present, but the
17294// value will be replaced with "sensitive".
17295func (s CreateVoiceTemplateInput) String() string {
17296	return awsutil.Prettify(s)
17297}
17298
17299// GoString returns the string representation.
17300//
17301// API parameter values that are decorated as "sensitive" in the API will not
17302// be included in the string output. The member name will be present, but the
17303// value will be replaced with "sensitive".
17304func (s CreateVoiceTemplateInput) GoString() string {
17305	return s.String()
17306}
17307
17308// Validate inspects the fields of the type to determine if they are valid.
17309func (s *CreateVoiceTemplateInput) Validate() error {
17310	invalidParams := request.ErrInvalidParams{Context: "CreateVoiceTemplateInput"}
17311	if s.TemplateName == nil {
17312		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
17313	}
17314	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
17315		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
17316	}
17317	if s.VoiceTemplateRequest == nil {
17318		invalidParams.Add(request.NewErrParamRequired("VoiceTemplateRequest"))
17319	}
17320
17321	if invalidParams.Len() > 0 {
17322		return invalidParams
17323	}
17324	return nil
17325}
17326
17327// SetTemplateName sets the TemplateName field's value.
17328func (s *CreateVoiceTemplateInput) SetTemplateName(v string) *CreateVoiceTemplateInput {
17329	s.TemplateName = &v
17330	return s
17331}
17332
17333// SetVoiceTemplateRequest sets the VoiceTemplateRequest field's value.
17334func (s *CreateVoiceTemplateInput) SetVoiceTemplateRequest(v *VoiceTemplateRequest) *CreateVoiceTemplateInput {
17335	s.VoiceTemplateRequest = v
17336	return s
17337}
17338
17339type CreateVoiceTemplateOutput struct {
17340	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
17341
17342	// Provides information about a request to create a message template.
17343	//
17344	// CreateTemplateMessageBody is a required field
17345	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
17346}
17347
17348// String returns the string representation.
17349//
17350// API parameter values that are decorated as "sensitive" in the API will not
17351// be included in the string output. The member name will be present, but the
17352// value will be replaced with "sensitive".
17353func (s CreateVoiceTemplateOutput) String() string {
17354	return awsutil.Prettify(s)
17355}
17356
17357// GoString returns the string representation.
17358//
17359// API parameter values that are decorated as "sensitive" in the API will not
17360// be included in the string output. The member name will be present, but the
17361// value will be replaced with "sensitive".
17362func (s CreateVoiceTemplateOutput) GoString() string {
17363	return s.String()
17364}
17365
17366// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
17367func (s *CreateVoiceTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateVoiceTemplateOutput {
17368	s.CreateTemplateMessageBody = v
17369	return s
17370}
17371
17372// Specifies the delivery configuration settings for sending a campaign or campaign
17373// treatment through a custom channel. This object is required if you use the
17374// CampaignCustomMessage object to define the message to send for the campaign
17375// or campaign treatment.
17376type CustomDeliveryConfiguration struct {
17377	_ struct{} `type:"structure"`
17378
17379	// The destination to send the campaign or treatment to. This value can be one
17380	// of the following:
17381	//
17382	//    * The name or Amazon Resource Name (ARN) of an AWS Lambda function to
17383	//    invoke to handle delivery of the campaign or treatment.
17384	//
17385	//    * The URL for a web application or service that supports HTTPS and can
17386	//    receive the message. The URL has to be a full URL, including the HTTPS
17387	//    protocol.
17388	//
17389	// DeliveryUri is a required field
17390	DeliveryUri *string `type:"string" required:"true"`
17391
17392	// The types of endpoints to send the campaign or treatment to. Each valid value
17393	// maps to a type of channel that you can associate with an endpoint by using
17394	// the ChannelType property of an endpoint.
17395	EndpointTypes []*string `type:"list"`
17396}
17397
17398// String returns the string representation.
17399//
17400// API parameter values that are decorated as "sensitive" in the API will not
17401// be included in the string output. The member name will be present, but the
17402// value will be replaced with "sensitive".
17403func (s CustomDeliveryConfiguration) String() string {
17404	return awsutil.Prettify(s)
17405}
17406
17407// GoString returns the string representation.
17408//
17409// API parameter values that are decorated as "sensitive" in the API will not
17410// be included in the string output. The member name will be present, but the
17411// value will be replaced with "sensitive".
17412func (s CustomDeliveryConfiguration) GoString() string {
17413	return s.String()
17414}
17415
17416// Validate inspects the fields of the type to determine if they are valid.
17417func (s *CustomDeliveryConfiguration) Validate() error {
17418	invalidParams := request.ErrInvalidParams{Context: "CustomDeliveryConfiguration"}
17419	if s.DeliveryUri == nil {
17420		invalidParams.Add(request.NewErrParamRequired("DeliveryUri"))
17421	}
17422
17423	if invalidParams.Len() > 0 {
17424		return invalidParams
17425	}
17426	return nil
17427}
17428
17429// SetDeliveryUri sets the DeliveryUri field's value.
17430func (s *CustomDeliveryConfiguration) SetDeliveryUri(v string) *CustomDeliveryConfiguration {
17431	s.DeliveryUri = &v
17432	return s
17433}
17434
17435// SetEndpointTypes sets the EndpointTypes field's value.
17436func (s *CustomDeliveryConfiguration) SetEndpointTypes(v []*string) *CustomDeliveryConfiguration {
17437	s.EndpointTypes = v
17438	return s
17439}
17440
17441// The settings for a custom message activity. This type of activity calls an
17442// AWS Lambda function or web hook that sends messages to participants.
17443type CustomMessageActivity struct {
17444	_ struct{} `type:"structure"`
17445
17446	// The destination to send the campaign or treatment to. This value can be one
17447	// of the following:
17448	//
17449	//    * The name or Amazon Resource Name (ARN) of an AWS Lambda function to
17450	//    invoke to handle delivery of the campaign or treatment.
17451	//
17452	//    * The URL for a web application or service that supports HTTPS and can
17453	//    receive the message. The URL has to be a full URL, including the HTTPS
17454	//    protocol.
17455	DeliveryUri *string `type:"string"`
17456
17457	// The types of endpoints to send the custom message to. Each valid value maps
17458	// to a type of channel that you can associate with an endpoint by using the
17459	// ChannelType property of an endpoint.
17460	EndpointTypes []*string `type:"list"`
17461
17462	// Specifies the message data included in a custom channel message that's sent
17463	// to participants in a journey.
17464	MessageConfig *JourneyCustomMessage `type:"structure"`
17465
17466	// The unique identifier for the next activity to perform, after Amazon Pinpoint
17467	// calls the AWS Lambda function or web hook.
17468	NextActivity *string `type:"string"`
17469
17470	// The name of the custom message template to use for the message. If specified,
17471	// this value must match the name of an existing message template.
17472	TemplateName *string `type:"string"`
17473
17474	// The unique identifier for the version of the message template to use for
17475	// the message. If specified, this value must match the identifier for an existing
17476	// template version. To retrieve a list of versions and version identifiers
17477	// for a template, use the Template Versions resource.
17478	//
17479	// If you don't specify a value for this property, Amazon Pinpoint uses the
17480	// active version of the template. The active version is typically the version
17481	// of a template that's been most recently reviewed and approved for use, depending
17482	// on your workflow. It isn't necessarily the latest version of a template.
17483	TemplateVersion *string `type:"string"`
17484}
17485
17486// String returns the string representation.
17487//
17488// API parameter values that are decorated as "sensitive" in the API will not
17489// be included in the string output. The member name will be present, but the
17490// value will be replaced with "sensitive".
17491func (s CustomMessageActivity) String() string {
17492	return awsutil.Prettify(s)
17493}
17494
17495// GoString returns the string representation.
17496//
17497// API parameter values that are decorated as "sensitive" in the API will not
17498// be included in the string output. The member name will be present, but the
17499// value will be replaced with "sensitive".
17500func (s CustomMessageActivity) GoString() string {
17501	return s.String()
17502}
17503
17504// SetDeliveryUri sets the DeliveryUri field's value.
17505func (s *CustomMessageActivity) SetDeliveryUri(v string) *CustomMessageActivity {
17506	s.DeliveryUri = &v
17507	return s
17508}
17509
17510// SetEndpointTypes sets the EndpointTypes field's value.
17511func (s *CustomMessageActivity) SetEndpointTypes(v []*string) *CustomMessageActivity {
17512	s.EndpointTypes = v
17513	return s
17514}
17515
17516// SetMessageConfig sets the MessageConfig field's value.
17517func (s *CustomMessageActivity) SetMessageConfig(v *JourneyCustomMessage) *CustomMessageActivity {
17518	s.MessageConfig = v
17519	return s
17520}
17521
17522// SetNextActivity sets the NextActivity field's value.
17523func (s *CustomMessageActivity) SetNextActivity(v string) *CustomMessageActivity {
17524	s.NextActivity = &v
17525	return s
17526}
17527
17528// SetTemplateName sets the TemplateName field's value.
17529func (s *CustomMessageActivity) SetTemplateName(v string) *CustomMessageActivity {
17530	s.TemplateName = &v
17531	return s
17532}
17533
17534// SetTemplateVersion sets the TemplateVersion field's value.
17535func (s *CustomMessageActivity) SetTemplateVersion(v string) *CustomMessageActivity {
17536	s.TemplateVersion = &v
17537	return s
17538}
17539
17540// Default button configuration.
17541type DefaultButtonConfiguration struct {
17542	_ struct{} `type:"structure"`
17543
17544	// The background color of the button.
17545	BackgroundColor *string `type:"string"`
17546
17547	// The border radius of the button.
17548	BorderRadius *int64 `type:"integer"`
17549
17550	// Action triggered by the button.
17551	//
17552	// ButtonAction is a required field
17553	ButtonAction *string `type:"string" required:"true" enum:"ButtonAction"`
17554
17555	// Button destination.
17556	Link *string `type:"string"`
17557
17558	// Button text.
17559	//
17560	// Text is a required field
17561	Text *string `type:"string" required:"true"`
17562
17563	// The text color of the button.
17564	TextColor *string `type:"string"`
17565}
17566
17567// String returns the string representation.
17568//
17569// API parameter values that are decorated as "sensitive" in the API will not
17570// be included in the string output. The member name will be present, but the
17571// value will be replaced with "sensitive".
17572func (s DefaultButtonConfiguration) String() string {
17573	return awsutil.Prettify(s)
17574}
17575
17576// GoString returns the string representation.
17577//
17578// API parameter values that are decorated as "sensitive" in the API will not
17579// be included in the string output. The member name will be present, but the
17580// value will be replaced with "sensitive".
17581func (s DefaultButtonConfiguration) GoString() string {
17582	return s.String()
17583}
17584
17585// Validate inspects the fields of the type to determine if they are valid.
17586func (s *DefaultButtonConfiguration) Validate() error {
17587	invalidParams := request.ErrInvalidParams{Context: "DefaultButtonConfiguration"}
17588	if s.ButtonAction == nil {
17589		invalidParams.Add(request.NewErrParamRequired("ButtonAction"))
17590	}
17591	if s.Text == nil {
17592		invalidParams.Add(request.NewErrParamRequired("Text"))
17593	}
17594
17595	if invalidParams.Len() > 0 {
17596		return invalidParams
17597	}
17598	return nil
17599}
17600
17601// SetBackgroundColor sets the BackgroundColor field's value.
17602func (s *DefaultButtonConfiguration) SetBackgroundColor(v string) *DefaultButtonConfiguration {
17603	s.BackgroundColor = &v
17604	return s
17605}
17606
17607// SetBorderRadius sets the BorderRadius field's value.
17608func (s *DefaultButtonConfiguration) SetBorderRadius(v int64) *DefaultButtonConfiguration {
17609	s.BorderRadius = &v
17610	return s
17611}
17612
17613// SetButtonAction sets the ButtonAction field's value.
17614func (s *DefaultButtonConfiguration) SetButtonAction(v string) *DefaultButtonConfiguration {
17615	s.ButtonAction = &v
17616	return s
17617}
17618
17619// SetLink sets the Link field's value.
17620func (s *DefaultButtonConfiguration) SetLink(v string) *DefaultButtonConfiguration {
17621	s.Link = &v
17622	return s
17623}
17624
17625// SetText sets the Text field's value.
17626func (s *DefaultButtonConfiguration) SetText(v string) *DefaultButtonConfiguration {
17627	s.Text = &v
17628	return s
17629}
17630
17631// SetTextColor sets the TextColor field's value.
17632func (s *DefaultButtonConfiguration) SetTextColor(v string) *DefaultButtonConfiguration {
17633	s.TextColor = &v
17634	return s
17635}
17636
17637// Specifies the default message for all channels.
17638type DefaultMessage struct {
17639	_ struct{} `type:"structure"`
17640
17641	// The default body of the message.
17642	Body *string `type:"string"`
17643
17644	// The default message variables to use in the message. You can override these
17645	// default variables with individual address variables.
17646	Substitutions map[string][]*string `type:"map"`
17647}
17648
17649// String returns the string representation.
17650//
17651// API parameter values that are decorated as "sensitive" in the API will not
17652// be included in the string output. The member name will be present, but the
17653// value will be replaced with "sensitive".
17654func (s DefaultMessage) String() string {
17655	return awsutil.Prettify(s)
17656}
17657
17658// GoString returns the string representation.
17659//
17660// API parameter values that are decorated as "sensitive" in the API will not
17661// be included in the string output. The member name will be present, but the
17662// value will be replaced with "sensitive".
17663func (s DefaultMessage) GoString() string {
17664	return s.String()
17665}
17666
17667// SetBody sets the Body field's value.
17668func (s *DefaultMessage) SetBody(v string) *DefaultMessage {
17669	s.Body = &v
17670	return s
17671}
17672
17673// SetSubstitutions sets the Substitutions field's value.
17674func (s *DefaultMessage) SetSubstitutions(v map[string][]*string) *DefaultMessage {
17675	s.Substitutions = v
17676	return s
17677}
17678
17679// Specifies the default settings and content for a push notification that's
17680// sent directly to an endpoint.
17681type DefaultPushNotificationMessage struct {
17682	_ struct{} `type:"structure"`
17683
17684	// The default action to occur if a recipient taps the push notification. Valid
17685	// values are:
17686	//
17687	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
17688	//    sent to the background. This is the default action.
17689	//
17690	//    * DEEP_LINK - Your app opens and displays a designated user interface
17691	//    in the app. This setting uses the deep-linking features of the iOS and
17692	//    Android platforms.
17693	//
17694	//    * URL - The default mobile browser on the recipient's device opens and
17695	//    loads the web page at a URL that you specify.
17696	Action *string `type:"string" enum:"Action"`
17697
17698	// The default body of the notification message.
17699	Body *string `type:"string"`
17700
17701	// The JSON data payload to use for the default push notification, if the notification
17702	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
17703	// object of the notification.
17704	Data map[string]*string `type:"map"`
17705
17706	// Specifies whether the default notification is a silent push notification,
17707	// which is a push notification that doesn't display on a recipient's device.
17708	// Silent push notifications can be used for cases such as updating an app's
17709	// configuration or delivering messages to an in-app notification center.
17710	SilentPush *bool `type:"boolean"`
17711
17712	// The default message variables to use in the notification message. You can
17713	// override the default variables with individual address variables.
17714	Substitutions map[string][]*string `type:"map"`
17715
17716	// The default title to display above the notification message on a recipient's
17717	// device.
17718	Title *string `type:"string"`
17719
17720	// The default URL to open in a recipient's default mobile browser, if a recipient
17721	// taps the push notification and the value of the Action property is URL.
17722	Url *string `type:"string"`
17723}
17724
17725// String returns the string representation.
17726//
17727// API parameter values that are decorated as "sensitive" in the API will not
17728// be included in the string output. The member name will be present, but the
17729// value will be replaced with "sensitive".
17730func (s DefaultPushNotificationMessage) String() string {
17731	return awsutil.Prettify(s)
17732}
17733
17734// GoString returns the string representation.
17735//
17736// API parameter values that are decorated as "sensitive" in the API will not
17737// be included in the string output. The member name will be present, but the
17738// value will be replaced with "sensitive".
17739func (s DefaultPushNotificationMessage) GoString() string {
17740	return s.String()
17741}
17742
17743// SetAction sets the Action field's value.
17744func (s *DefaultPushNotificationMessage) SetAction(v string) *DefaultPushNotificationMessage {
17745	s.Action = &v
17746	return s
17747}
17748
17749// SetBody sets the Body field's value.
17750func (s *DefaultPushNotificationMessage) SetBody(v string) *DefaultPushNotificationMessage {
17751	s.Body = &v
17752	return s
17753}
17754
17755// SetData sets the Data field's value.
17756func (s *DefaultPushNotificationMessage) SetData(v map[string]*string) *DefaultPushNotificationMessage {
17757	s.Data = v
17758	return s
17759}
17760
17761// SetSilentPush sets the SilentPush field's value.
17762func (s *DefaultPushNotificationMessage) SetSilentPush(v bool) *DefaultPushNotificationMessage {
17763	s.SilentPush = &v
17764	return s
17765}
17766
17767// SetSubstitutions sets the Substitutions field's value.
17768func (s *DefaultPushNotificationMessage) SetSubstitutions(v map[string][]*string) *DefaultPushNotificationMessage {
17769	s.Substitutions = v
17770	return s
17771}
17772
17773// SetTitle sets the Title field's value.
17774func (s *DefaultPushNotificationMessage) SetTitle(v string) *DefaultPushNotificationMessage {
17775	s.Title = &v
17776	return s
17777}
17778
17779// SetUrl sets the Url field's value.
17780func (s *DefaultPushNotificationMessage) SetUrl(v string) *DefaultPushNotificationMessage {
17781	s.Url = &v
17782	return s
17783}
17784
17785// Specifies the default settings and content for a message template that can
17786// be used in messages that are sent through a push notification channel.
17787type DefaultPushNotificationTemplate struct {
17788	_ struct{} `type:"structure"`
17789
17790	// The action to occur if a recipient taps a push notification that's based
17791	// on the message template. Valid values are:
17792	//
17793	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
17794	//    sent to the background. This is the default action.
17795	//
17796	//    * DEEP_LINK - Your app opens and displays a designated user interface
17797	//    in the app. This setting uses the deep-linking features of the iOS and
17798	//    Android platforms.
17799	//
17800	//    * URL - The default mobile browser on the recipient's device opens and
17801	//    loads the web page at a URL that you specify.
17802	Action *string `type:"string" enum:"Action"`
17803
17804	// The message body to use in push notifications that are based on the message
17805	// template.
17806	Body *string `type:"string"`
17807
17808	// The sound to play when a recipient receives a push notification that's based
17809	// on the message template. You can use the default stream or specify the file
17810	// name of a sound resource that's bundled in your app. On an Android platform,
17811	// the sound file must reside in /res/raw/.
17812	//
17813	// For an iOS platform, this value is the key for the name of a sound file in
17814	// your app's main bundle or the Library/Sounds folder in your app's data container.
17815	// If the sound file can't be found or you specify default for the value, the
17816	// system plays the default alert sound.
17817	Sound *string `type:"string"`
17818
17819	// The title to use in push notifications that are based on the message template.
17820	// This title appears above the notification message on a recipient's device.
17821	Title *string `type:"string"`
17822
17823	// The URL to open in a recipient's default mobile browser, if a recipient taps
17824	// a push notification that's based on the message template and the value of
17825	// the Action property is URL.
17826	Url *string `type:"string"`
17827}
17828
17829// String returns the string representation.
17830//
17831// API parameter values that are decorated as "sensitive" in the API will not
17832// be included in the string output. The member name will be present, but the
17833// value will be replaced with "sensitive".
17834func (s DefaultPushNotificationTemplate) String() string {
17835	return awsutil.Prettify(s)
17836}
17837
17838// GoString returns the string representation.
17839//
17840// API parameter values that are decorated as "sensitive" in the API will not
17841// be included in the string output. The member name will be present, but the
17842// value will be replaced with "sensitive".
17843func (s DefaultPushNotificationTemplate) GoString() string {
17844	return s.String()
17845}
17846
17847// SetAction sets the Action field's value.
17848func (s *DefaultPushNotificationTemplate) SetAction(v string) *DefaultPushNotificationTemplate {
17849	s.Action = &v
17850	return s
17851}
17852
17853// SetBody sets the Body field's value.
17854func (s *DefaultPushNotificationTemplate) SetBody(v string) *DefaultPushNotificationTemplate {
17855	s.Body = &v
17856	return s
17857}
17858
17859// SetSound sets the Sound field's value.
17860func (s *DefaultPushNotificationTemplate) SetSound(v string) *DefaultPushNotificationTemplate {
17861	s.Sound = &v
17862	return s
17863}
17864
17865// SetTitle sets the Title field's value.
17866func (s *DefaultPushNotificationTemplate) SetTitle(v string) *DefaultPushNotificationTemplate {
17867	s.Title = &v
17868	return s
17869}
17870
17871// SetUrl sets the Url field's value.
17872func (s *DefaultPushNotificationTemplate) SetUrl(v string) *DefaultPushNotificationTemplate {
17873	s.Url = &v
17874	return s
17875}
17876
17877type DeleteAdmChannelInput struct {
17878	_ struct{} `type:"structure" nopayload:"true"`
17879
17880	// ApplicationId is a required field
17881	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17882}
17883
17884// String returns the string representation.
17885//
17886// API parameter values that are decorated as "sensitive" in the API will not
17887// be included in the string output. The member name will be present, but the
17888// value will be replaced with "sensitive".
17889func (s DeleteAdmChannelInput) String() string {
17890	return awsutil.Prettify(s)
17891}
17892
17893// GoString returns the string representation.
17894//
17895// API parameter values that are decorated as "sensitive" in the API will not
17896// be included in the string output. The member name will be present, but the
17897// value will be replaced with "sensitive".
17898func (s DeleteAdmChannelInput) GoString() string {
17899	return s.String()
17900}
17901
17902// Validate inspects the fields of the type to determine if they are valid.
17903func (s *DeleteAdmChannelInput) Validate() error {
17904	invalidParams := request.ErrInvalidParams{Context: "DeleteAdmChannelInput"}
17905	if s.ApplicationId == nil {
17906		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17907	}
17908	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17909		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17910	}
17911
17912	if invalidParams.Len() > 0 {
17913		return invalidParams
17914	}
17915	return nil
17916}
17917
17918// SetApplicationId sets the ApplicationId field's value.
17919func (s *DeleteAdmChannelInput) SetApplicationId(v string) *DeleteAdmChannelInput {
17920	s.ApplicationId = &v
17921	return s
17922}
17923
17924type DeleteAdmChannelOutput struct {
17925	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
17926
17927	// Provides information about the status and settings of the ADM (Amazon Device
17928	// Messaging) channel for an application.
17929	//
17930	// ADMChannelResponse is a required field
17931	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
17932}
17933
17934// String returns the string representation.
17935//
17936// API parameter values that are decorated as "sensitive" in the API will not
17937// be included in the string output. The member name will be present, but the
17938// value will be replaced with "sensitive".
17939func (s DeleteAdmChannelOutput) String() string {
17940	return awsutil.Prettify(s)
17941}
17942
17943// GoString returns the string representation.
17944//
17945// API parameter values that are decorated as "sensitive" in the API will not
17946// be included in the string output. The member name will be present, but the
17947// value will be replaced with "sensitive".
17948func (s DeleteAdmChannelOutput) GoString() string {
17949	return s.String()
17950}
17951
17952// SetADMChannelResponse sets the ADMChannelResponse field's value.
17953func (s *DeleteAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *DeleteAdmChannelOutput {
17954	s.ADMChannelResponse = v
17955	return s
17956}
17957
17958type DeleteApnsChannelInput struct {
17959	_ struct{} `type:"structure" nopayload:"true"`
17960
17961	// ApplicationId is a required field
17962	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17963}
17964
17965// String returns the string representation.
17966//
17967// API parameter values that are decorated as "sensitive" in the API will not
17968// be included in the string output. The member name will be present, but the
17969// value will be replaced with "sensitive".
17970func (s DeleteApnsChannelInput) String() string {
17971	return awsutil.Prettify(s)
17972}
17973
17974// GoString returns the string representation.
17975//
17976// API parameter values that are decorated as "sensitive" in the API will not
17977// be included in the string output. The member name will be present, but the
17978// value will be replaced with "sensitive".
17979func (s DeleteApnsChannelInput) GoString() string {
17980	return s.String()
17981}
17982
17983// Validate inspects the fields of the type to determine if they are valid.
17984func (s *DeleteApnsChannelInput) Validate() error {
17985	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsChannelInput"}
17986	if s.ApplicationId == nil {
17987		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17988	}
17989	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17990		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17991	}
17992
17993	if invalidParams.Len() > 0 {
17994		return invalidParams
17995	}
17996	return nil
17997}
17998
17999// SetApplicationId sets the ApplicationId field's value.
18000func (s *DeleteApnsChannelInput) SetApplicationId(v string) *DeleteApnsChannelInput {
18001	s.ApplicationId = &v
18002	return s
18003}
18004
18005type DeleteApnsChannelOutput struct {
18006	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
18007
18008	// Provides information about the status and settings of the APNs (Apple Push
18009	// Notification service) channel for an application.
18010	//
18011	// APNSChannelResponse is a required field
18012	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
18013}
18014
18015// String returns the string representation.
18016//
18017// API parameter values that are decorated as "sensitive" in the API will not
18018// be included in the string output. The member name will be present, but the
18019// value will be replaced with "sensitive".
18020func (s DeleteApnsChannelOutput) String() string {
18021	return awsutil.Prettify(s)
18022}
18023
18024// GoString returns the string representation.
18025//
18026// API parameter values that are decorated as "sensitive" in the API will not
18027// be included in the string output. The member name will be present, but the
18028// value will be replaced with "sensitive".
18029func (s DeleteApnsChannelOutput) GoString() string {
18030	return s.String()
18031}
18032
18033// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
18034func (s *DeleteApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *DeleteApnsChannelOutput {
18035	s.APNSChannelResponse = v
18036	return s
18037}
18038
18039type DeleteApnsSandboxChannelInput struct {
18040	_ struct{} `type:"structure" nopayload:"true"`
18041
18042	// ApplicationId is a required field
18043	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18044}
18045
18046// String returns the string representation.
18047//
18048// API parameter values that are decorated as "sensitive" in the API will not
18049// be included in the string output. The member name will be present, but the
18050// value will be replaced with "sensitive".
18051func (s DeleteApnsSandboxChannelInput) String() string {
18052	return awsutil.Prettify(s)
18053}
18054
18055// GoString returns the string representation.
18056//
18057// API parameter values that are decorated as "sensitive" in the API will not
18058// be included in the string output. The member name will be present, but the
18059// value will be replaced with "sensitive".
18060func (s DeleteApnsSandboxChannelInput) GoString() string {
18061	return s.String()
18062}
18063
18064// Validate inspects the fields of the type to determine if they are valid.
18065func (s *DeleteApnsSandboxChannelInput) Validate() error {
18066	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsSandboxChannelInput"}
18067	if s.ApplicationId == nil {
18068		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18069	}
18070	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18071		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18072	}
18073
18074	if invalidParams.Len() > 0 {
18075		return invalidParams
18076	}
18077	return nil
18078}
18079
18080// SetApplicationId sets the ApplicationId field's value.
18081func (s *DeleteApnsSandboxChannelInput) SetApplicationId(v string) *DeleteApnsSandboxChannelInput {
18082	s.ApplicationId = &v
18083	return s
18084}
18085
18086type DeleteApnsSandboxChannelOutput struct {
18087	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
18088
18089	// Provides information about the status and settings of the APNs (Apple Push
18090	// Notification service) sandbox channel for an application.
18091	//
18092	// APNSSandboxChannelResponse is a required field
18093	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
18094}
18095
18096// String returns the string representation.
18097//
18098// API parameter values that are decorated as "sensitive" in the API will not
18099// be included in the string output. The member name will be present, but the
18100// value will be replaced with "sensitive".
18101func (s DeleteApnsSandboxChannelOutput) String() string {
18102	return awsutil.Prettify(s)
18103}
18104
18105// GoString returns the string representation.
18106//
18107// API parameter values that are decorated as "sensitive" in the API will not
18108// be included in the string output. The member name will be present, but the
18109// value will be replaced with "sensitive".
18110func (s DeleteApnsSandboxChannelOutput) GoString() string {
18111	return s.String()
18112}
18113
18114// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
18115func (s *DeleteApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *DeleteApnsSandboxChannelOutput {
18116	s.APNSSandboxChannelResponse = v
18117	return s
18118}
18119
18120type DeleteApnsVoipChannelInput struct {
18121	_ struct{} `type:"structure" nopayload:"true"`
18122
18123	// ApplicationId is a required field
18124	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18125}
18126
18127// String returns the string representation.
18128//
18129// API parameter values that are decorated as "sensitive" in the API will not
18130// be included in the string output. The member name will be present, but the
18131// value will be replaced with "sensitive".
18132func (s DeleteApnsVoipChannelInput) String() string {
18133	return awsutil.Prettify(s)
18134}
18135
18136// GoString returns the string representation.
18137//
18138// API parameter values that are decorated as "sensitive" in the API will not
18139// be included in the string output. The member name will be present, but the
18140// value will be replaced with "sensitive".
18141func (s DeleteApnsVoipChannelInput) GoString() string {
18142	return s.String()
18143}
18144
18145// Validate inspects the fields of the type to determine if they are valid.
18146func (s *DeleteApnsVoipChannelInput) Validate() error {
18147	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipChannelInput"}
18148	if s.ApplicationId == nil {
18149		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18150	}
18151	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18152		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18153	}
18154
18155	if invalidParams.Len() > 0 {
18156		return invalidParams
18157	}
18158	return nil
18159}
18160
18161// SetApplicationId sets the ApplicationId field's value.
18162func (s *DeleteApnsVoipChannelInput) SetApplicationId(v string) *DeleteApnsVoipChannelInput {
18163	s.ApplicationId = &v
18164	return s
18165}
18166
18167type DeleteApnsVoipChannelOutput struct {
18168	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
18169
18170	// Provides information about the status and settings of the APNs (Apple Push
18171	// Notification service) VoIP channel for an application.
18172	//
18173	// APNSVoipChannelResponse is a required field
18174	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
18175}
18176
18177// String returns the string representation.
18178//
18179// API parameter values that are decorated as "sensitive" in the API will not
18180// be included in the string output. The member name will be present, but the
18181// value will be replaced with "sensitive".
18182func (s DeleteApnsVoipChannelOutput) String() string {
18183	return awsutil.Prettify(s)
18184}
18185
18186// GoString returns the string representation.
18187//
18188// API parameter values that are decorated as "sensitive" in the API will not
18189// be included in the string output. The member name will be present, but the
18190// value will be replaced with "sensitive".
18191func (s DeleteApnsVoipChannelOutput) GoString() string {
18192	return s.String()
18193}
18194
18195// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
18196func (s *DeleteApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *DeleteApnsVoipChannelOutput {
18197	s.APNSVoipChannelResponse = v
18198	return s
18199}
18200
18201type DeleteApnsVoipSandboxChannelInput struct {
18202	_ struct{} `type:"structure" nopayload:"true"`
18203
18204	// ApplicationId is a required field
18205	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18206}
18207
18208// String returns the string representation.
18209//
18210// API parameter values that are decorated as "sensitive" in the API will not
18211// be included in the string output. The member name will be present, but the
18212// value will be replaced with "sensitive".
18213func (s DeleteApnsVoipSandboxChannelInput) String() string {
18214	return awsutil.Prettify(s)
18215}
18216
18217// GoString returns the string representation.
18218//
18219// API parameter values that are decorated as "sensitive" in the API will not
18220// be included in the string output. The member name will be present, but the
18221// value will be replaced with "sensitive".
18222func (s DeleteApnsVoipSandboxChannelInput) GoString() string {
18223	return s.String()
18224}
18225
18226// Validate inspects the fields of the type to determine if they are valid.
18227func (s *DeleteApnsVoipSandboxChannelInput) Validate() error {
18228	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipSandboxChannelInput"}
18229	if s.ApplicationId == nil {
18230		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18231	}
18232	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18233		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18234	}
18235
18236	if invalidParams.Len() > 0 {
18237		return invalidParams
18238	}
18239	return nil
18240}
18241
18242// SetApplicationId sets the ApplicationId field's value.
18243func (s *DeleteApnsVoipSandboxChannelInput) SetApplicationId(v string) *DeleteApnsVoipSandboxChannelInput {
18244	s.ApplicationId = &v
18245	return s
18246}
18247
18248type DeleteApnsVoipSandboxChannelOutput struct {
18249	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
18250
18251	// Provides information about the status and settings of the APNs (Apple Push
18252	// Notification service) VoIP sandbox channel for an application.
18253	//
18254	// APNSVoipSandboxChannelResponse is a required field
18255	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
18256}
18257
18258// String returns the string representation.
18259//
18260// API parameter values that are decorated as "sensitive" in the API will not
18261// be included in the string output. The member name will be present, but the
18262// value will be replaced with "sensitive".
18263func (s DeleteApnsVoipSandboxChannelOutput) String() string {
18264	return awsutil.Prettify(s)
18265}
18266
18267// GoString returns the string representation.
18268//
18269// API parameter values that are decorated as "sensitive" in the API will not
18270// be included in the string output. The member name will be present, but the
18271// value will be replaced with "sensitive".
18272func (s DeleteApnsVoipSandboxChannelOutput) GoString() string {
18273	return s.String()
18274}
18275
18276// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
18277func (s *DeleteApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *DeleteApnsVoipSandboxChannelOutput {
18278	s.APNSVoipSandboxChannelResponse = v
18279	return s
18280}
18281
18282type DeleteAppInput struct {
18283	_ struct{} `type:"structure" nopayload:"true"`
18284
18285	// ApplicationId is a required field
18286	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18287}
18288
18289// String returns the string representation.
18290//
18291// API parameter values that are decorated as "sensitive" in the API will not
18292// be included in the string output. The member name will be present, but the
18293// value will be replaced with "sensitive".
18294func (s DeleteAppInput) String() string {
18295	return awsutil.Prettify(s)
18296}
18297
18298// GoString returns the string representation.
18299//
18300// API parameter values that are decorated as "sensitive" in the API will not
18301// be included in the string output. The member name will be present, but the
18302// value will be replaced with "sensitive".
18303func (s DeleteAppInput) GoString() string {
18304	return s.String()
18305}
18306
18307// Validate inspects the fields of the type to determine if they are valid.
18308func (s *DeleteAppInput) Validate() error {
18309	invalidParams := request.ErrInvalidParams{Context: "DeleteAppInput"}
18310	if s.ApplicationId == nil {
18311		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18312	}
18313	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18314		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18315	}
18316
18317	if invalidParams.Len() > 0 {
18318		return invalidParams
18319	}
18320	return nil
18321}
18322
18323// SetApplicationId sets the ApplicationId field's value.
18324func (s *DeleteAppInput) SetApplicationId(v string) *DeleteAppInput {
18325	s.ApplicationId = &v
18326	return s
18327}
18328
18329type DeleteAppOutput struct {
18330	_ struct{} `type:"structure" payload:"ApplicationResponse"`
18331
18332	// Provides information about an application.
18333	//
18334	// ApplicationResponse is a required field
18335	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
18336}
18337
18338// String returns the string representation.
18339//
18340// API parameter values that are decorated as "sensitive" in the API will not
18341// be included in the string output. The member name will be present, but the
18342// value will be replaced with "sensitive".
18343func (s DeleteAppOutput) String() string {
18344	return awsutil.Prettify(s)
18345}
18346
18347// GoString returns the string representation.
18348//
18349// API parameter values that are decorated as "sensitive" in the API will not
18350// be included in the string output. The member name will be present, but the
18351// value will be replaced with "sensitive".
18352func (s DeleteAppOutput) GoString() string {
18353	return s.String()
18354}
18355
18356// SetApplicationResponse sets the ApplicationResponse field's value.
18357func (s *DeleteAppOutput) SetApplicationResponse(v *ApplicationResponse) *DeleteAppOutput {
18358	s.ApplicationResponse = v
18359	return s
18360}
18361
18362type DeleteBaiduChannelInput struct {
18363	_ struct{} `type:"structure" nopayload:"true"`
18364
18365	// ApplicationId is a required field
18366	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18367}
18368
18369// String returns the string representation.
18370//
18371// API parameter values that are decorated as "sensitive" in the API will not
18372// be included in the string output. The member name will be present, but the
18373// value will be replaced with "sensitive".
18374func (s DeleteBaiduChannelInput) String() string {
18375	return awsutil.Prettify(s)
18376}
18377
18378// GoString returns the string representation.
18379//
18380// API parameter values that are decorated as "sensitive" in the API will not
18381// be included in the string output. The member name will be present, but the
18382// value will be replaced with "sensitive".
18383func (s DeleteBaiduChannelInput) GoString() string {
18384	return s.String()
18385}
18386
18387// Validate inspects the fields of the type to determine if they are valid.
18388func (s *DeleteBaiduChannelInput) Validate() error {
18389	invalidParams := request.ErrInvalidParams{Context: "DeleteBaiduChannelInput"}
18390	if s.ApplicationId == nil {
18391		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18392	}
18393	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18394		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18395	}
18396
18397	if invalidParams.Len() > 0 {
18398		return invalidParams
18399	}
18400	return nil
18401}
18402
18403// SetApplicationId sets the ApplicationId field's value.
18404func (s *DeleteBaiduChannelInput) SetApplicationId(v string) *DeleteBaiduChannelInput {
18405	s.ApplicationId = &v
18406	return s
18407}
18408
18409type DeleteBaiduChannelOutput struct {
18410	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
18411
18412	// Provides information about the status and settings of the Baidu (Baidu Cloud
18413	// Push) channel for an application.
18414	//
18415	// BaiduChannelResponse is a required field
18416	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
18417}
18418
18419// String returns the string representation.
18420//
18421// API parameter values that are decorated as "sensitive" in the API will not
18422// be included in the string output. The member name will be present, but the
18423// value will be replaced with "sensitive".
18424func (s DeleteBaiduChannelOutput) String() string {
18425	return awsutil.Prettify(s)
18426}
18427
18428// GoString returns the string representation.
18429//
18430// API parameter values that are decorated as "sensitive" in the API will not
18431// be included in the string output. The member name will be present, but the
18432// value will be replaced with "sensitive".
18433func (s DeleteBaiduChannelOutput) GoString() string {
18434	return s.String()
18435}
18436
18437// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
18438func (s *DeleteBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *DeleteBaiduChannelOutput {
18439	s.BaiduChannelResponse = v
18440	return s
18441}
18442
18443type DeleteCampaignInput struct {
18444	_ struct{} `type:"structure" nopayload:"true"`
18445
18446	// ApplicationId is a required field
18447	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18448
18449	// CampaignId is a required field
18450	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
18451}
18452
18453// String returns the string representation.
18454//
18455// API parameter values that are decorated as "sensitive" in the API will not
18456// be included in the string output. The member name will be present, but the
18457// value will be replaced with "sensitive".
18458func (s DeleteCampaignInput) String() string {
18459	return awsutil.Prettify(s)
18460}
18461
18462// GoString returns the string representation.
18463//
18464// API parameter values that are decorated as "sensitive" in the API will not
18465// be included in the string output. The member name will be present, but the
18466// value will be replaced with "sensitive".
18467func (s DeleteCampaignInput) GoString() string {
18468	return s.String()
18469}
18470
18471// Validate inspects the fields of the type to determine if they are valid.
18472func (s *DeleteCampaignInput) Validate() error {
18473	invalidParams := request.ErrInvalidParams{Context: "DeleteCampaignInput"}
18474	if s.ApplicationId == nil {
18475		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18476	}
18477	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18478		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18479	}
18480	if s.CampaignId == nil {
18481		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
18482	}
18483	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
18484		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
18485	}
18486
18487	if invalidParams.Len() > 0 {
18488		return invalidParams
18489	}
18490	return nil
18491}
18492
18493// SetApplicationId sets the ApplicationId field's value.
18494func (s *DeleteCampaignInput) SetApplicationId(v string) *DeleteCampaignInput {
18495	s.ApplicationId = &v
18496	return s
18497}
18498
18499// SetCampaignId sets the CampaignId field's value.
18500func (s *DeleteCampaignInput) SetCampaignId(v string) *DeleteCampaignInput {
18501	s.CampaignId = &v
18502	return s
18503}
18504
18505type DeleteCampaignOutput struct {
18506	_ struct{} `type:"structure" payload:"CampaignResponse"`
18507
18508	// Provides information about the status, configuration, and other settings
18509	// for a campaign.
18510	//
18511	// CampaignResponse is a required field
18512	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
18513}
18514
18515// String returns the string representation.
18516//
18517// API parameter values that are decorated as "sensitive" in the API will not
18518// be included in the string output. The member name will be present, but the
18519// value will be replaced with "sensitive".
18520func (s DeleteCampaignOutput) String() string {
18521	return awsutil.Prettify(s)
18522}
18523
18524// GoString returns the string representation.
18525//
18526// API parameter values that are decorated as "sensitive" in the API will not
18527// be included in the string output. The member name will be present, but the
18528// value will be replaced with "sensitive".
18529func (s DeleteCampaignOutput) GoString() string {
18530	return s.String()
18531}
18532
18533// SetCampaignResponse sets the CampaignResponse field's value.
18534func (s *DeleteCampaignOutput) SetCampaignResponse(v *CampaignResponse) *DeleteCampaignOutput {
18535	s.CampaignResponse = v
18536	return s
18537}
18538
18539type DeleteEmailChannelInput struct {
18540	_ struct{} `type:"structure" nopayload:"true"`
18541
18542	// ApplicationId is a required field
18543	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18544}
18545
18546// String returns the string representation.
18547//
18548// API parameter values that are decorated as "sensitive" in the API will not
18549// be included in the string output. The member name will be present, but the
18550// value will be replaced with "sensitive".
18551func (s DeleteEmailChannelInput) String() string {
18552	return awsutil.Prettify(s)
18553}
18554
18555// GoString returns the string representation.
18556//
18557// API parameter values that are decorated as "sensitive" in the API will not
18558// be included in the string output. The member name will be present, but the
18559// value will be replaced with "sensitive".
18560func (s DeleteEmailChannelInput) GoString() string {
18561	return s.String()
18562}
18563
18564// Validate inspects the fields of the type to determine if they are valid.
18565func (s *DeleteEmailChannelInput) Validate() error {
18566	invalidParams := request.ErrInvalidParams{Context: "DeleteEmailChannelInput"}
18567	if s.ApplicationId == nil {
18568		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18569	}
18570	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18571		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18572	}
18573
18574	if invalidParams.Len() > 0 {
18575		return invalidParams
18576	}
18577	return nil
18578}
18579
18580// SetApplicationId sets the ApplicationId field's value.
18581func (s *DeleteEmailChannelInput) SetApplicationId(v string) *DeleteEmailChannelInput {
18582	s.ApplicationId = &v
18583	return s
18584}
18585
18586type DeleteEmailChannelOutput struct {
18587	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
18588
18589	// Provides information about the status and settings of the email channel for
18590	// an application.
18591	//
18592	// EmailChannelResponse is a required field
18593	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
18594}
18595
18596// String returns the string representation.
18597//
18598// API parameter values that are decorated as "sensitive" in the API will not
18599// be included in the string output. The member name will be present, but the
18600// value will be replaced with "sensitive".
18601func (s DeleteEmailChannelOutput) String() string {
18602	return awsutil.Prettify(s)
18603}
18604
18605// GoString returns the string representation.
18606//
18607// API parameter values that are decorated as "sensitive" in the API will not
18608// be included in the string output. The member name will be present, but the
18609// value will be replaced with "sensitive".
18610func (s DeleteEmailChannelOutput) GoString() string {
18611	return s.String()
18612}
18613
18614// SetEmailChannelResponse sets the EmailChannelResponse field's value.
18615func (s *DeleteEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *DeleteEmailChannelOutput {
18616	s.EmailChannelResponse = v
18617	return s
18618}
18619
18620type DeleteEmailTemplateInput struct {
18621	_ struct{} `type:"structure" nopayload:"true"`
18622
18623	// TemplateName is a required field
18624	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
18625
18626	Version *string `location:"querystring" locationName:"version" type:"string"`
18627}
18628
18629// String returns the string representation.
18630//
18631// API parameter values that are decorated as "sensitive" in the API will not
18632// be included in the string output. The member name will be present, but the
18633// value will be replaced with "sensitive".
18634func (s DeleteEmailTemplateInput) String() string {
18635	return awsutil.Prettify(s)
18636}
18637
18638// GoString returns the string representation.
18639//
18640// API parameter values that are decorated as "sensitive" in the API will not
18641// be included in the string output. The member name will be present, but the
18642// value will be replaced with "sensitive".
18643func (s DeleteEmailTemplateInput) GoString() string {
18644	return s.String()
18645}
18646
18647// Validate inspects the fields of the type to determine if they are valid.
18648func (s *DeleteEmailTemplateInput) Validate() error {
18649	invalidParams := request.ErrInvalidParams{Context: "DeleteEmailTemplateInput"}
18650	if s.TemplateName == nil {
18651		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
18652	}
18653	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
18654		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
18655	}
18656
18657	if invalidParams.Len() > 0 {
18658		return invalidParams
18659	}
18660	return nil
18661}
18662
18663// SetTemplateName sets the TemplateName field's value.
18664func (s *DeleteEmailTemplateInput) SetTemplateName(v string) *DeleteEmailTemplateInput {
18665	s.TemplateName = &v
18666	return s
18667}
18668
18669// SetVersion sets the Version field's value.
18670func (s *DeleteEmailTemplateInput) SetVersion(v string) *DeleteEmailTemplateInput {
18671	s.Version = &v
18672	return s
18673}
18674
18675type DeleteEmailTemplateOutput struct {
18676	_ struct{} `type:"structure" payload:"MessageBody"`
18677
18678	// Provides information about an API request or response.
18679	//
18680	// MessageBody is a required field
18681	MessageBody *MessageBody `type:"structure" required:"true"`
18682}
18683
18684// String returns the string representation.
18685//
18686// API parameter values that are decorated as "sensitive" in the API will not
18687// be included in the string output. The member name will be present, but the
18688// value will be replaced with "sensitive".
18689func (s DeleteEmailTemplateOutput) String() string {
18690	return awsutil.Prettify(s)
18691}
18692
18693// GoString returns the string representation.
18694//
18695// API parameter values that are decorated as "sensitive" in the API will not
18696// be included in the string output. The member name will be present, but the
18697// value will be replaced with "sensitive".
18698func (s DeleteEmailTemplateOutput) GoString() string {
18699	return s.String()
18700}
18701
18702// SetMessageBody sets the MessageBody field's value.
18703func (s *DeleteEmailTemplateOutput) SetMessageBody(v *MessageBody) *DeleteEmailTemplateOutput {
18704	s.MessageBody = v
18705	return s
18706}
18707
18708type DeleteEndpointInput struct {
18709	_ struct{} `type:"structure" nopayload:"true"`
18710
18711	// ApplicationId is a required field
18712	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18713
18714	// EndpointId is a required field
18715	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
18716}
18717
18718// String returns the string representation.
18719//
18720// API parameter values that are decorated as "sensitive" in the API will not
18721// be included in the string output. The member name will be present, but the
18722// value will be replaced with "sensitive".
18723func (s DeleteEndpointInput) String() string {
18724	return awsutil.Prettify(s)
18725}
18726
18727// GoString returns the string representation.
18728//
18729// API parameter values that are decorated as "sensitive" in the API will not
18730// be included in the string output. The member name will be present, but the
18731// value will be replaced with "sensitive".
18732func (s DeleteEndpointInput) GoString() string {
18733	return s.String()
18734}
18735
18736// Validate inspects the fields of the type to determine if they are valid.
18737func (s *DeleteEndpointInput) Validate() error {
18738	invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointInput"}
18739	if s.ApplicationId == nil {
18740		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18741	}
18742	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18743		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18744	}
18745	if s.EndpointId == nil {
18746		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
18747	}
18748	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
18749		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
18750	}
18751
18752	if invalidParams.Len() > 0 {
18753		return invalidParams
18754	}
18755	return nil
18756}
18757
18758// SetApplicationId sets the ApplicationId field's value.
18759func (s *DeleteEndpointInput) SetApplicationId(v string) *DeleteEndpointInput {
18760	s.ApplicationId = &v
18761	return s
18762}
18763
18764// SetEndpointId sets the EndpointId field's value.
18765func (s *DeleteEndpointInput) SetEndpointId(v string) *DeleteEndpointInput {
18766	s.EndpointId = &v
18767	return s
18768}
18769
18770type DeleteEndpointOutput struct {
18771	_ struct{} `type:"structure" payload:"EndpointResponse"`
18772
18773	// Provides information about the channel type and other settings for an endpoint.
18774	//
18775	// EndpointResponse is a required field
18776	EndpointResponse *EndpointResponse `type:"structure" required:"true"`
18777}
18778
18779// String returns the string representation.
18780//
18781// API parameter values that are decorated as "sensitive" in the API will not
18782// be included in the string output. The member name will be present, but the
18783// value will be replaced with "sensitive".
18784func (s DeleteEndpointOutput) String() string {
18785	return awsutil.Prettify(s)
18786}
18787
18788// GoString returns the string representation.
18789//
18790// API parameter values that are decorated as "sensitive" in the API will not
18791// be included in the string output. The member name will be present, but the
18792// value will be replaced with "sensitive".
18793func (s DeleteEndpointOutput) GoString() string {
18794	return s.String()
18795}
18796
18797// SetEndpointResponse sets the EndpointResponse field's value.
18798func (s *DeleteEndpointOutput) SetEndpointResponse(v *EndpointResponse) *DeleteEndpointOutput {
18799	s.EndpointResponse = v
18800	return s
18801}
18802
18803type DeleteEventStreamInput struct {
18804	_ struct{} `type:"structure" nopayload:"true"`
18805
18806	// ApplicationId is a required field
18807	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18808}
18809
18810// String returns the string representation.
18811//
18812// API parameter values that are decorated as "sensitive" in the API will not
18813// be included in the string output. The member name will be present, but the
18814// value will be replaced with "sensitive".
18815func (s DeleteEventStreamInput) String() string {
18816	return awsutil.Prettify(s)
18817}
18818
18819// GoString returns the string representation.
18820//
18821// API parameter values that are decorated as "sensitive" in the API will not
18822// be included in the string output. The member name will be present, but the
18823// value will be replaced with "sensitive".
18824func (s DeleteEventStreamInput) GoString() string {
18825	return s.String()
18826}
18827
18828// Validate inspects the fields of the type to determine if they are valid.
18829func (s *DeleteEventStreamInput) Validate() error {
18830	invalidParams := request.ErrInvalidParams{Context: "DeleteEventStreamInput"}
18831	if s.ApplicationId == nil {
18832		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18833	}
18834	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18835		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18836	}
18837
18838	if invalidParams.Len() > 0 {
18839		return invalidParams
18840	}
18841	return nil
18842}
18843
18844// SetApplicationId sets the ApplicationId field's value.
18845func (s *DeleteEventStreamInput) SetApplicationId(v string) *DeleteEventStreamInput {
18846	s.ApplicationId = &v
18847	return s
18848}
18849
18850type DeleteEventStreamOutput struct {
18851	_ struct{} `type:"structure" payload:"EventStream"`
18852
18853	// Specifies settings for publishing event data to an Amazon Kinesis data stream
18854	// or an Amazon Kinesis Data Firehose delivery stream.
18855	//
18856	// EventStream is a required field
18857	EventStream *EventStream `type:"structure" required:"true"`
18858}
18859
18860// String returns the string representation.
18861//
18862// API parameter values that are decorated as "sensitive" in the API will not
18863// be included in the string output. The member name will be present, but the
18864// value will be replaced with "sensitive".
18865func (s DeleteEventStreamOutput) String() string {
18866	return awsutil.Prettify(s)
18867}
18868
18869// GoString returns the string representation.
18870//
18871// API parameter values that are decorated as "sensitive" in the API will not
18872// be included in the string output. The member name will be present, but the
18873// value will be replaced with "sensitive".
18874func (s DeleteEventStreamOutput) GoString() string {
18875	return s.String()
18876}
18877
18878// SetEventStream sets the EventStream field's value.
18879func (s *DeleteEventStreamOutput) SetEventStream(v *EventStream) *DeleteEventStreamOutput {
18880	s.EventStream = v
18881	return s
18882}
18883
18884type DeleteGcmChannelInput struct {
18885	_ struct{} `type:"structure" nopayload:"true"`
18886
18887	// ApplicationId is a required field
18888	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18889}
18890
18891// String returns the string representation.
18892//
18893// API parameter values that are decorated as "sensitive" in the API will not
18894// be included in the string output. The member name will be present, but the
18895// value will be replaced with "sensitive".
18896func (s DeleteGcmChannelInput) String() string {
18897	return awsutil.Prettify(s)
18898}
18899
18900// GoString returns the string representation.
18901//
18902// API parameter values that are decorated as "sensitive" in the API will not
18903// be included in the string output. The member name will be present, but the
18904// value will be replaced with "sensitive".
18905func (s DeleteGcmChannelInput) GoString() string {
18906	return s.String()
18907}
18908
18909// Validate inspects the fields of the type to determine if they are valid.
18910func (s *DeleteGcmChannelInput) Validate() error {
18911	invalidParams := request.ErrInvalidParams{Context: "DeleteGcmChannelInput"}
18912	if s.ApplicationId == nil {
18913		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18914	}
18915	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18916		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18917	}
18918
18919	if invalidParams.Len() > 0 {
18920		return invalidParams
18921	}
18922	return nil
18923}
18924
18925// SetApplicationId sets the ApplicationId field's value.
18926func (s *DeleteGcmChannelInput) SetApplicationId(v string) *DeleteGcmChannelInput {
18927	s.ApplicationId = &v
18928	return s
18929}
18930
18931type DeleteGcmChannelOutput struct {
18932	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
18933
18934	// Provides information about the status and settings of the GCM channel for
18935	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
18936	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
18937	// (GCM), service.
18938	//
18939	// GCMChannelResponse is a required field
18940	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
18941}
18942
18943// String returns the string representation.
18944//
18945// API parameter values that are decorated as "sensitive" in the API will not
18946// be included in the string output. The member name will be present, but the
18947// value will be replaced with "sensitive".
18948func (s DeleteGcmChannelOutput) String() string {
18949	return awsutil.Prettify(s)
18950}
18951
18952// GoString returns the string representation.
18953//
18954// API parameter values that are decorated as "sensitive" in the API will not
18955// be included in the string output. The member name will be present, but the
18956// value will be replaced with "sensitive".
18957func (s DeleteGcmChannelOutput) GoString() string {
18958	return s.String()
18959}
18960
18961// SetGCMChannelResponse sets the GCMChannelResponse field's value.
18962func (s *DeleteGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *DeleteGcmChannelOutput {
18963	s.GCMChannelResponse = v
18964	return s
18965}
18966
18967type DeleteInAppTemplateInput struct {
18968	_ struct{} `type:"structure" nopayload:"true"`
18969
18970	// TemplateName is a required field
18971	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
18972
18973	Version *string `location:"querystring" locationName:"version" type:"string"`
18974}
18975
18976// String returns the string representation.
18977//
18978// API parameter values that are decorated as "sensitive" in the API will not
18979// be included in the string output. The member name will be present, but the
18980// value will be replaced with "sensitive".
18981func (s DeleteInAppTemplateInput) String() string {
18982	return awsutil.Prettify(s)
18983}
18984
18985// GoString returns the string representation.
18986//
18987// API parameter values that are decorated as "sensitive" in the API will not
18988// be included in the string output. The member name will be present, but the
18989// value will be replaced with "sensitive".
18990func (s DeleteInAppTemplateInput) GoString() string {
18991	return s.String()
18992}
18993
18994// Validate inspects the fields of the type to determine if they are valid.
18995func (s *DeleteInAppTemplateInput) Validate() error {
18996	invalidParams := request.ErrInvalidParams{Context: "DeleteInAppTemplateInput"}
18997	if s.TemplateName == nil {
18998		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
18999	}
19000	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
19001		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
19002	}
19003
19004	if invalidParams.Len() > 0 {
19005		return invalidParams
19006	}
19007	return nil
19008}
19009
19010// SetTemplateName sets the TemplateName field's value.
19011func (s *DeleteInAppTemplateInput) SetTemplateName(v string) *DeleteInAppTemplateInput {
19012	s.TemplateName = &v
19013	return s
19014}
19015
19016// SetVersion sets the Version field's value.
19017func (s *DeleteInAppTemplateInput) SetVersion(v string) *DeleteInAppTemplateInput {
19018	s.Version = &v
19019	return s
19020}
19021
19022type DeleteInAppTemplateOutput struct {
19023	_ struct{} `type:"structure" payload:"MessageBody"`
19024
19025	// Provides information about an API request or response.
19026	//
19027	// MessageBody is a required field
19028	MessageBody *MessageBody `type:"structure" required:"true"`
19029}
19030
19031// String returns the string representation.
19032//
19033// API parameter values that are decorated as "sensitive" in the API will not
19034// be included in the string output. The member name will be present, but the
19035// value will be replaced with "sensitive".
19036func (s DeleteInAppTemplateOutput) String() string {
19037	return awsutil.Prettify(s)
19038}
19039
19040// GoString returns the string representation.
19041//
19042// API parameter values that are decorated as "sensitive" in the API will not
19043// be included in the string output. The member name will be present, but the
19044// value will be replaced with "sensitive".
19045func (s DeleteInAppTemplateOutput) GoString() string {
19046	return s.String()
19047}
19048
19049// SetMessageBody sets the MessageBody field's value.
19050func (s *DeleteInAppTemplateOutput) SetMessageBody(v *MessageBody) *DeleteInAppTemplateOutput {
19051	s.MessageBody = v
19052	return s
19053}
19054
19055type DeleteJourneyInput struct {
19056	_ struct{} `type:"structure" nopayload:"true"`
19057
19058	// ApplicationId is a required field
19059	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19060
19061	// JourneyId is a required field
19062	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
19063}
19064
19065// String returns the string representation.
19066//
19067// API parameter values that are decorated as "sensitive" in the API will not
19068// be included in the string output. The member name will be present, but the
19069// value will be replaced with "sensitive".
19070func (s DeleteJourneyInput) String() string {
19071	return awsutil.Prettify(s)
19072}
19073
19074// GoString returns the string representation.
19075//
19076// API parameter values that are decorated as "sensitive" in the API will not
19077// be included in the string output. The member name will be present, but the
19078// value will be replaced with "sensitive".
19079func (s DeleteJourneyInput) GoString() string {
19080	return s.String()
19081}
19082
19083// Validate inspects the fields of the type to determine if they are valid.
19084func (s *DeleteJourneyInput) Validate() error {
19085	invalidParams := request.ErrInvalidParams{Context: "DeleteJourneyInput"}
19086	if s.ApplicationId == nil {
19087		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19088	}
19089	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19090		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19091	}
19092	if s.JourneyId == nil {
19093		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
19094	}
19095	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
19096		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
19097	}
19098
19099	if invalidParams.Len() > 0 {
19100		return invalidParams
19101	}
19102	return nil
19103}
19104
19105// SetApplicationId sets the ApplicationId field's value.
19106func (s *DeleteJourneyInput) SetApplicationId(v string) *DeleteJourneyInput {
19107	s.ApplicationId = &v
19108	return s
19109}
19110
19111// SetJourneyId sets the JourneyId field's value.
19112func (s *DeleteJourneyInput) SetJourneyId(v string) *DeleteJourneyInput {
19113	s.JourneyId = &v
19114	return s
19115}
19116
19117type DeleteJourneyOutput struct {
19118	_ struct{} `type:"structure" payload:"JourneyResponse"`
19119
19120	// Provides information about the status, configuration, and other settings
19121	// for a journey.
19122	//
19123	// JourneyResponse is a required field
19124	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
19125}
19126
19127// String returns the string representation.
19128//
19129// API parameter values that are decorated as "sensitive" in the API will not
19130// be included in the string output. The member name will be present, but the
19131// value will be replaced with "sensitive".
19132func (s DeleteJourneyOutput) String() string {
19133	return awsutil.Prettify(s)
19134}
19135
19136// GoString returns the string representation.
19137//
19138// API parameter values that are decorated as "sensitive" in the API will not
19139// be included in the string output. The member name will be present, but the
19140// value will be replaced with "sensitive".
19141func (s DeleteJourneyOutput) GoString() string {
19142	return s.String()
19143}
19144
19145// SetJourneyResponse sets the JourneyResponse field's value.
19146func (s *DeleteJourneyOutput) SetJourneyResponse(v *JourneyResponse) *DeleteJourneyOutput {
19147	s.JourneyResponse = v
19148	return s
19149}
19150
19151type DeletePushTemplateInput struct {
19152	_ struct{} `type:"structure" nopayload:"true"`
19153
19154	// TemplateName is a required field
19155	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
19156
19157	Version *string `location:"querystring" locationName:"version" type:"string"`
19158}
19159
19160// String returns the string representation.
19161//
19162// API parameter values that are decorated as "sensitive" in the API will not
19163// be included in the string output. The member name will be present, but the
19164// value will be replaced with "sensitive".
19165func (s DeletePushTemplateInput) String() string {
19166	return awsutil.Prettify(s)
19167}
19168
19169// GoString returns the string representation.
19170//
19171// API parameter values that are decorated as "sensitive" in the API will not
19172// be included in the string output. The member name will be present, but the
19173// value will be replaced with "sensitive".
19174func (s DeletePushTemplateInput) GoString() string {
19175	return s.String()
19176}
19177
19178// Validate inspects the fields of the type to determine if they are valid.
19179func (s *DeletePushTemplateInput) Validate() error {
19180	invalidParams := request.ErrInvalidParams{Context: "DeletePushTemplateInput"}
19181	if s.TemplateName == nil {
19182		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
19183	}
19184	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
19185		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
19186	}
19187
19188	if invalidParams.Len() > 0 {
19189		return invalidParams
19190	}
19191	return nil
19192}
19193
19194// SetTemplateName sets the TemplateName field's value.
19195func (s *DeletePushTemplateInput) SetTemplateName(v string) *DeletePushTemplateInput {
19196	s.TemplateName = &v
19197	return s
19198}
19199
19200// SetVersion sets the Version field's value.
19201func (s *DeletePushTemplateInput) SetVersion(v string) *DeletePushTemplateInput {
19202	s.Version = &v
19203	return s
19204}
19205
19206type DeletePushTemplateOutput struct {
19207	_ struct{} `type:"structure" payload:"MessageBody"`
19208
19209	// Provides information about an API request or response.
19210	//
19211	// MessageBody is a required field
19212	MessageBody *MessageBody `type:"structure" required:"true"`
19213}
19214
19215// String returns the string representation.
19216//
19217// API parameter values that are decorated as "sensitive" in the API will not
19218// be included in the string output. The member name will be present, but the
19219// value will be replaced with "sensitive".
19220func (s DeletePushTemplateOutput) String() string {
19221	return awsutil.Prettify(s)
19222}
19223
19224// GoString returns the string representation.
19225//
19226// API parameter values that are decorated as "sensitive" in the API will not
19227// be included in the string output. The member name will be present, but the
19228// value will be replaced with "sensitive".
19229func (s DeletePushTemplateOutput) GoString() string {
19230	return s.String()
19231}
19232
19233// SetMessageBody sets the MessageBody field's value.
19234func (s *DeletePushTemplateOutput) SetMessageBody(v *MessageBody) *DeletePushTemplateOutput {
19235	s.MessageBody = v
19236	return s
19237}
19238
19239type DeleteRecommenderConfigurationInput struct {
19240	_ struct{} `type:"structure" nopayload:"true"`
19241
19242	// RecommenderId is a required field
19243	RecommenderId *string `location:"uri" locationName:"recommender-id" type:"string" required:"true"`
19244}
19245
19246// String returns the string representation.
19247//
19248// API parameter values that are decorated as "sensitive" in the API will not
19249// be included in the string output. The member name will be present, but the
19250// value will be replaced with "sensitive".
19251func (s DeleteRecommenderConfigurationInput) String() string {
19252	return awsutil.Prettify(s)
19253}
19254
19255// GoString returns the string representation.
19256//
19257// API parameter values that are decorated as "sensitive" in the API will not
19258// be included in the string output. The member name will be present, but the
19259// value will be replaced with "sensitive".
19260func (s DeleteRecommenderConfigurationInput) GoString() string {
19261	return s.String()
19262}
19263
19264// Validate inspects the fields of the type to determine if they are valid.
19265func (s *DeleteRecommenderConfigurationInput) Validate() error {
19266	invalidParams := request.ErrInvalidParams{Context: "DeleteRecommenderConfigurationInput"}
19267	if s.RecommenderId == nil {
19268		invalidParams.Add(request.NewErrParamRequired("RecommenderId"))
19269	}
19270	if s.RecommenderId != nil && len(*s.RecommenderId) < 1 {
19271		invalidParams.Add(request.NewErrParamMinLen("RecommenderId", 1))
19272	}
19273
19274	if invalidParams.Len() > 0 {
19275		return invalidParams
19276	}
19277	return nil
19278}
19279
19280// SetRecommenderId sets the RecommenderId field's value.
19281func (s *DeleteRecommenderConfigurationInput) SetRecommenderId(v string) *DeleteRecommenderConfigurationInput {
19282	s.RecommenderId = &v
19283	return s
19284}
19285
19286type DeleteRecommenderConfigurationOutput struct {
19287	_ struct{} `type:"structure" payload:"RecommenderConfigurationResponse"`
19288
19289	// Provides information about Amazon Pinpoint configuration settings for retrieving
19290	// and processing data from a recommender model.
19291	//
19292	// RecommenderConfigurationResponse is a required field
19293	RecommenderConfigurationResponse *RecommenderConfigurationResponse `type:"structure" required:"true"`
19294}
19295
19296// String returns the string representation.
19297//
19298// API parameter values that are decorated as "sensitive" in the API will not
19299// be included in the string output. The member name will be present, but the
19300// value will be replaced with "sensitive".
19301func (s DeleteRecommenderConfigurationOutput) String() string {
19302	return awsutil.Prettify(s)
19303}
19304
19305// GoString returns the string representation.
19306//
19307// API parameter values that are decorated as "sensitive" in the API will not
19308// be included in the string output. The member name will be present, but the
19309// value will be replaced with "sensitive".
19310func (s DeleteRecommenderConfigurationOutput) GoString() string {
19311	return s.String()
19312}
19313
19314// SetRecommenderConfigurationResponse sets the RecommenderConfigurationResponse field's value.
19315func (s *DeleteRecommenderConfigurationOutput) SetRecommenderConfigurationResponse(v *RecommenderConfigurationResponse) *DeleteRecommenderConfigurationOutput {
19316	s.RecommenderConfigurationResponse = v
19317	return s
19318}
19319
19320type DeleteSegmentInput struct {
19321	_ struct{} `type:"structure" nopayload:"true"`
19322
19323	// ApplicationId is a required field
19324	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19325
19326	// SegmentId is a required field
19327	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
19328}
19329
19330// String returns the string representation.
19331//
19332// API parameter values that are decorated as "sensitive" in the API will not
19333// be included in the string output. The member name will be present, but the
19334// value will be replaced with "sensitive".
19335func (s DeleteSegmentInput) String() string {
19336	return awsutil.Prettify(s)
19337}
19338
19339// GoString returns the string representation.
19340//
19341// API parameter values that are decorated as "sensitive" in the API will not
19342// be included in the string output. The member name will be present, but the
19343// value will be replaced with "sensitive".
19344func (s DeleteSegmentInput) GoString() string {
19345	return s.String()
19346}
19347
19348// Validate inspects the fields of the type to determine if they are valid.
19349func (s *DeleteSegmentInput) Validate() error {
19350	invalidParams := request.ErrInvalidParams{Context: "DeleteSegmentInput"}
19351	if s.ApplicationId == nil {
19352		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19353	}
19354	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19355		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19356	}
19357	if s.SegmentId == nil {
19358		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
19359	}
19360	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
19361		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
19362	}
19363
19364	if invalidParams.Len() > 0 {
19365		return invalidParams
19366	}
19367	return nil
19368}
19369
19370// SetApplicationId sets the ApplicationId field's value.
19371func (s *DeleteSegmentInput) SetApplicationId(v string) *DeleteSegmentInput {
19372	s.ApplicationId = &v
19373	return s
19374}
19375
19376// SetSegmentId sets the SegmentId field's value.
19377func (s *DeleteSegmentInput) SetSegmentId(v string) *DeleteSegmentInput {
19378	s.SegmentId = &v
19379	return s
19380}
19381
19382type DeleteSegmentOutput struct {
19383	_ struct{} `type:"structure" payload:"SegmentResponse"`
19384
19385	// Provides information about the configuration, dimension, and other settings
19386	// for a segment.
19387	//
19388	// SegmentResponse is a required field
19389	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
19390}
19391
19392// String returns the string representation.
19393//
19394// API parameter values that are decorated as "sensitive" in the API will not
19395// be included in the string output. The member name will be present, but the
19396// value will be replaced with "sensitive".
19397func (s DeleteSegmentOutput) String() string {
19398	return awsutil.Prettify(s)
19399}
19400
19401// GoString returns the string representation.
19402//
19403// API parameter values that are decorated as "sensitive" in the API will not
19404// be included in the string output. The member name will be present, but the
19405// value will be replaced with "sensitive".
19406func (s DeleteSegmentOutput) GoString() string {
19407	return s.String()
19408}
19409
19410// SetSegmentResponse sets the SegmentResponse field's value.
19411func (s *DeleteSegmentOutput) SetSegmentResponse(v *SegmentResponse) *DeleteSegmentOutput {
19412	s.SegmentResponse = v
19413	return s
19414}
19415
19416type DeleteSmsChannelInput struct {
19417	_ struct{} `type:"structure" nopayload:"true"`
19418
19419	// ApplicationId is a required field
19420	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19421}
19422
19423// String returns the string representation.
19424//
19425// API parameter values that are decorated as "sensitive" in the API will not
19426// be included in the string output. The member name will be present, but the
19427// value will be replaced with "sensitive".
19428func (s DeleteSmsChannelInput) String() string {
19429	return awsutil.Prettify(s)
19430}
19431
19432// GoString returns the string representation.
19433//
19434// API parameter values that are decorated as "sensitive" in the API will not
19435// be included in the string output. The member name will be present, but the
19436// value will be replaced with "sensitive".
19437func (s DeleteSmsChannelInput) GoString() string {
19438	return s.String()
19439}
19440
19441// Validate inspects the fields of the type to determine if they are valid.
19442func (s *DeleteSmsChannelInput) Validate() error {
19443	invalidParams := request.ErrInvalidParams{Context: "DeleteSmsChannelInput"}
19444	if s.ApplicationId == nil {
19445		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19446	}
19447	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19448		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19449	}
19450
19451	if invalidParams.Len() > 0 {
19452		return invalidParams
19453	}
19454	return nil
19455}
19456
19457// SetApplicationId sets the ApplicationId field's value.
19458func (s *DeleteSmsChannelInput) SetApplicationId(v string) *DeleteSmsChannelInput {
19459	s.ApplicationId = &v
19460	return s
19461}
19462
19463type DeleteSmsChannelOutput struct {
19464	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
19465
19466	// Provides information about the status and settings of the SMS channel for
19467	// an application.
19468	//
19469	// SMSChannelResponse is a required field
19470	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
19471}
19472
19473// String returns the string representation.
19474//
19475// API parameter values that are decorated as "sensitive" in the API will not
19476// be included in the string output. The member name will be present, but the
19477// value will be replaced with "sensitive".
19478func (s DeleteSmsChannelOutput) String() string {
19479	return awsutil.Prettify(s)
19480}
19481
19482// GoString returns the string representation.
19483//
19484// API parameter values that are decorated as "sensitive" in the API will not
19485// be included in the string output. The member name will be present, but the
19486// value will be replaced with "sensitive".
19487func (s DeleteSmsChannelOutput) GoString() string {
19488	return s.String()
19489}
19490
19491// SetSMSChannelResponse sets the SMSChannelResponse field's value.
19492func (s *DeleteSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *DeleteSmsChannelOutput {
19493	s.SMSChannelResponse = v
19494	return s
19495}
19496
19497type DeleteSmsTemplateInput struct {
19498	_ struct{} `type:"structure" nopayload:"true"`
19499
19500	// TemplateName is a required field
19501	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
19502
19503	Version *string `location:"querystring" locationName:"version" type:"string"`
19504}
19505
19506// String returns the string representation.
19507//
19508// API parameter values that are decorated as "sensitive" in the API will not
19509// be included in the string output. The member name will be present, but the
19510// value will be replaced with "sensitive".
19511func (s DeleteSmsTemplateInput) String() string {
19512	return awsutil.Prettify(s)
19513}
19514
19515// GoString returns the string representation.
19516//
19517// API parameter values that are decorated as "sensitive" in the API will not
19518// be included in the string output. The member name will be present, but the
19519// value will be replaced with "sensitive".
19520func (s DeleteSmsTemplateInput) GoString() string {
19521	return s.String()
19522}
19523
19524// Validate inspects the fields of the type to determine if they are valid.
19525func (s *DeleteSmsTemplateInput) Validate() error {
19526	invalidParams := request.ErrInvalidParams{Context: "DeleteSmsTemplateInput"}
19527	if s.TemplateName == nil {
19528		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
19529	}
19530	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
19531		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
19532	}
19533
19534	if invalidParams.Len() > 0 {
19535		return invalidParams
19536	}
19537	return nil
19538}
19539
19540// SetTemplateName sets the TemplateName field's value.
19541func (s *DeleteSmsTemplateInput) SetTemplateName(v string) *DeleteSmsTemplateInput {
19542	s.TemplateName = &v
19543	return s
19544}
19545
19546// SetVersion sets the Version field's value.
19547func (s *DeleteSmsTemplateInput) SetVersion(v string) *DeleteSmsTemplateInput {
19548	s.Version = &v
19549	return s
19550}
19551
19552type DeleteSmsTemplateOutput struct {
19553	_ struct{} `type:"structure" payload:"MessageBody"`
19554
19555	// Provides information about an API request or response.
19556	//
19557	// MessageBody is a required field
19558	MessageBody *MessageBody `type:"structure" required:"true"`
19559}
19560
19561// String returns the string representation.
19562//
19563// API parameter values that are decorated as "sensitive" in the API will not
19564// be included in the string output. The member name will be present, but the
19565// value will be replaced with "sensitive".
19566func (s DeleteSmsTemplateOutput) String() string {
19567	return awsutil.Prettify(s)
19568}
19569
19570// GoString returns the string representation.
19571//
19572// API parameter values that are decorated as "sensitive" in the API will not
19573// be included in the string output. The member name will be present, but the
19574// value will be replaced with "sensitive".
19575func (s DeleteSmsTemplateOutput) GoString() string {
19576	return s.String()
19577}
19578
19579// SetMessageBody sets the MessageBody field's value.
19580func (s *DeleteSmsTemplateOutput) SetMessageBody(v *MessageBody) *DeleteSmsTemplateOutput {
19581	s.MessageBody = v
19582	return s
19583}
19584
19585type DeleteUserEndpointsInput struct {
19586	_ struct{} `type:"structure" nopayload:"true"`
19587
19588	// ApplicationId is a required field
19589	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19590
19591	// UserId is a required field
19592	UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"`
19593}
19594
19595// String returns the string representation.
19596//
19597// API parameter values that are decorated as "sensitive" in the API will not
19598// be included in the string output. The member name will be present, but the
19599// value will be replaced with "sensitive".
19600func (s DeleteUserEndpointsInput) String() string {
19601	return awsutil.Prettify(s)
19602}
19603
19604// GoString returns the string representation.
19605//
19606// API parameter values that are decorated as "sensitive" in the API will not
19607// be included in the string output. The member name will be present, but the
19608// value will be replaced with "sensitive".
19609func (s DeleteUserEndpointsInput) GoString() string {
19610	return s.String()
19611}
19612
19613// Validate inspects the fields of the type to determine if they are valid.
19614func (s *DeleteUserEndpointsInput) Validate() error {
19615	invalidParams := request.ErrInvalidParams{Context: "DeleteUserEndpointsInput"}
19616	if s.ApplicationId == nil {
19617		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19618	}
19619	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19620		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19621	}
19622	if s.UserId == nil {
19623		invalidParams.Add(request.NewErrParamRequired("UserId"))
19624	}
19625	if s.UserId != nil && len(*s.UserId) < 1 {
19626		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
19627	}
19628
19629	if invalidParams.Len() > 0 {
19630		return invalidParams
19631	}
19632	return nil
19633}
19634
19635// SetApplicationId sets the ApplicationId field's value.
19636func (s *DeleteUserEndpointsInput) SetApplicationId(v string) *DeleteUserEndpointsInput {
19637	s.ApplicationId = &v
19638	return s
19639}
19640
19641// SetUserId sets the UserId field's value.
19642func (s *DeleteUserEndpointsInput) SetUserId(v string) *DeleteUserEndpointsInput {
19643	s.UserId = &v
19644	return s
19645}
19646
19647type DeleteUserEndpointsOutput struct {
19648	_ struct{} `type:"structure" payload:"EndpointsResponse"`
19649
19650	// Provides information about all the endpoints that are associated with a user
19651	// ID.
19652	//
19653	// EndpointsResponse is a required field
19654	EndpointsResponse *EndpointsResponse `type:"structure" required:"true"`
19655}
19656
19657// String returns the string representation.
19658//
19659// API parameter values that are decorated as "sensitive" in the API will not
19660// be included in the string output. The member name will be present, but the
19661// value will be replaced with "sensitive".
19662func (s DeleteUserEndpointsOutput) String() string {
19663	return awsutil.Prettify(s)
19664}
19665
19666// GoString returns the string representation.
19667//
19668// API parameter values that are decorated as "sensitive" in the API will not
19669// be included in the string output. The member name will be present, but the
19670// value will be replaced with "sensitive".
19671func (s DeleteUserEndpointsOutput) GoString() string {
19672	return s.String()
19673}
19674
19675// SetEndpointsResponse sets the EndpointsResponse field's value.
19676func (s *DeleteUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *DeleteUserEndpointsOutput {
19677	s.EndpointsResponse = v
19678	return s
19679}
19680
19681type DeleteVoiceChannelInput struct {
19682	_ struct{} `type:"structure" nopayload:"true"`
19683
19684	// ApplicationId is a required field
19685	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19686}
19687
19688// String returns the string representation.
19689//
19690// API parameter values that are decorated as "sensitive" in the API will not
19691// be included in the string output. The member name will be present, but the
19692// value will be replaced with "sensitive".
19693func (s DeleteVoiceChannelInput) String() string {
19694	return awsutil.Prettify(s)
19695}
19696
19697// GoString returns the string representation.
19698//
19699// API parameter values that are decorated as "sensitive" in the API will not
19700// be included in the string output. The member name will be present, but the
19701// value will be replaced with "sensitive".
19702func (s DeleteVoiceChannelInput) GoString() string {
19703	return s.String()
19704}
19705
19706// Validate inspects the fields of the type to determine if they are valid.
19707func (s *DeleteVoiceChannelInput) Validate() error {
19708	invalidParams := request.ErrInvalidParams{Context: "DeleteVoiceChannelInput"}
19709	if s.ApplicationId == nil {
19710		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19711	}
19712	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19713		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19714	}
19715
19716	if invalidParams.Len() > 0 {
19717		return invalidParams
19718	}
19719	return nil
19720}
19721
19722// SetApplicationId sets the ApplicationId field's value.
19723func (s *DeleteVoiceChannelInput) SetApplicationId(v string) *DeleteVoiceChannelInput {
19724	s.ApplicationId = &v
19725	return s
19726}
19727
19728type DeleteVoiceChannelOutput struct {
19729	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
19730
19731	// Provides information about the status and settings of the voice channel for
19732	// an application.
19733	//
19734	// VoiceChannelResponse is a required field
19735	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
19736}
19737
19738// String returns the string representation.
19739//
19740// API parameter values that are decorated as "sensitive" in the API will not
19741// be included in the string output. The member name will be present, but the
19742// value will be replaced with "sensitive".
19743func (s DeleteVoiceChannelOutput) String() string {
19744	return awsutil.Prettify(s)
19745}
19746
19747// GoString returns the string representation.
19748//
19749// API parameter values that are decorated as "sensitive" in the API will not
19750// be included in the string output. The member name will be present, but the
19751// value will be replaced with "sensitive".
19752func (s DeleteVoiceChannelOutput) GoString() string {
19753	return s.String()
19754}
19755
19756// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
19757func (s *DeleteVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *DeleteVoiceChannelOutput {
19758	s.VoiceChannelResponse = v
19759	return s
19760}
19761
19762type DeleteVoiceTemplateInput struct {
19763	_ struct{} `type:"structure" nopayload:"true"`
19764
19765	// TemplateName is a required field
19766	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
19767
19768	Version *string `location:"querystring" locationName:"version" type:"string"`
19769}
19770
19771// String returns the string representation.
19772//
19773// API parameter values that are decorated as "sensitive" in the API will not
19774// be included in the string output. The member name will be present, but the
19775// value will be replaced with "sensitive".
19776func (s DeleteVoiceTemplateInput) String() string {
19777	return awsutil.Prettify(s)
19778}
19779
19780// GoString returns the string representation.
19781//
19782// API parameter values that are decorated as "sensitive" in the API will not
19783// be included in the string output. The member name will be present, but the
19784// value will be replaced with "sensitive".
19785func (s DeleteVoiceTemplateInput) GoString() string {
19786	return s.String()
19787}
19788
19789// Validate inspects the fields of the type to determine if they are valid.
19790func (s *DeleteVoiceTemplateInput) Validate() error {
19791	invalidParams := request.ErrInvalidParams{Context: "DeleteVoiceTemplateInput"}
19792	if s.TemplateName == nil {
19793		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
19794	}
19795	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
19796		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
19797	}
19798
19799	if invalidParams.Len() > 0 {
19800		return invalidParams
19801	}
19802	return nil
19803}
19804
19805// SetTemplateName sets the TemplateName field's value.
19806func (s *DeleteVoiceTemplateInput) SetTemplateName(v string) *DeleteVoiceTemplateInput {
19807	s.TemplateName = &v
19808	return s
19809}
19810
19811// SetVersion sets the Version field's value.
19812func (s *DeleteVoiceTemplateInput) SetVersion(v string) *DeleteVoiceTemplateInput {
19813	s.Version = &v
19814	return s
19815}
19816
19817type DeleteVoiceTemplateOutput struct {
19818	_ struct{} `type:"structure" payload:"MessageBody"`
19819
19820	// Provides information about an API request or response.
19821	//
19822	// MessageBody is a required field
19823	MessageBody *MessageBody `type:"structure" required:"true"`
19824}
19825
19826// String returns the string representation.
19827//
19828// API parameter values that are decorated as "sensitive" in the API will not
19829// be included in the string output. The member name will be present, but the
19830// value will be replaced with "sensitive".
19831func (s DeleteVoiceTemplateOutput) String() string {
19832	return awsutil.Prettify(s)
19833}
19834
19835// GoString returns the string representation.
19836//
19837// API parameter values that are decorated as "sensitive" in the API will not
19838// be included in the string output. The member name will be present, but the
19839// value will be replaced with "sensitive".
19840func (s DeleteVoiceTemplateOutput) GoString() string {
19841	return s.String()
19842}
19843
19844// SetMessageBody sets the MessageBody field's value.
19845func (s *DeleteVoiceTemplateOutput) SetMessageBody(v *MessageBody) *DeleteVoiceTemplateOutput {
19846	s.MessageBody = v
19847	return s
19848}
19849
19850// Specifies the settings and content for the default message and any default
19851// messages that you tailored for specific channels.
19852type DirectMessageConfiguration struct {
19853	_ struct{} `type:"structure"`
19854
19855	// The default push notification message for the ADM (Amazon Device Messaging)
19856	// channel. This message overrides the default push notification message (DefaultPushNotificationMessage).
19857	ADMMessage *ADMMessage `type:"structure"`
19858
19859	// The default push notification message for the APNs (Apple Push Notification
19860	// service) channel. This message overrides the default push notification message
19861	// (DefaultPushNotificationMessage).
19862	APNSMessage *APNSMessage `type:"structure"`
19863
19864	// The default push notification message for the Baidu (Baidu Cloud Push) channel.
19865	// This message overrides the default push notification message (DefaultPushNotificationMessage).
19866	BaiduMessage *BaiduMessage `type:"structure"`
19867
19868	// The default message for all channels.
19869	DefaultMessage *DefaultMessage `type:"structure"`
19870
19871	// The default push notification message for all push notification channels.
19872	DefaultPushNotificationMessage *DefaultPushNotificationMessage `type:"structure"`
19873
19874	// The default message for the email channel. This message overrides the default
19875	// message (DefaultMessage).
19876	EmailMessage *EmailMessage `type:"structure"`
19877
19878	// The default push notification message for the GCM channel, which is used
19879	// to send notifications through the Firebase Cloud Messaging (FCM), formerly
19880	// Google Cloud Messaging (GCM), service. This message overrides the default
19881	// push notification message (DefaultPushNotificationMessage).
19882	GCMMessage *GCMMessage `type:"structure"`
19883
19884	// The default message for the SMS channel. This message overrides the default
19885	// message (DefaultMessage).
19886	SMSMessage *SMSMessage `type:"structure"`
19887
19888	// The default message for the voice channel. This message overrides the default
19889	// message (DefaultMessage).
19890	VoiceMessage *VoiceMessage `type:"structure"`
19891}
19892
19893// String returns the string representation.
19894//
19895// API parameter values that are decorated as "sensitive" in the API will not
19896// be included in the string output. The member name will be present, but the
19897// value will be replaced with "sensitive".
19898func (s DirectMessageConfiguration) String() string {
19899	return awsutil.Prettify(s)
19900}
19901
19902// GoString returns the string representation.
19903//
19904// API parameter values that are decorated as "sensitive" in the API will not
19905// be included in the string output. The member name will be present, but the
19906// value will be replaced with "sensitive".
19907func (s DirectMessageConfiguration) GoString() string {
19908	return s.String()
19909}
19910
19911// SetADMMessage sets the ADMMessage field's value.
19912func (s *DirectMessageConfiguration) SetADMMessage(v *ADMMessage) *DirectMessageConfiguration {
19913	s.ADMMessage = v
19914	return s
19915}
19916
19917// SetAPNSMessage sets the APNSMessage field's value.
19918func (s *DirectMessageConfiguration) SetAPNSMessage(v *APNSMessage) *DirectMessageConfiguration {
19919	s.APNSMessage = v
19920	return s
19921}
19922
19923// SetBaiduMessage sets the BaiduMessage field's value.
19924func (s *DirectMessageConfiguration) SetBaiduMessage(v *BaiduMessage) *DirectMessageConfiguration {
19925	s.BaiduMessage = v
19926	return s
19927}
19928
19929// SetDefaultMessage sets the DefaultMessage field's value.
19930func (s *DirectMessageConfiguration) SetDefaultMessage(v *DefaultMessage) *DirectMessageConfiguration {
19931	s.DefaultMessage = v
19932	return s
19933}
19934
19935// SetDefaultPushNotificationMessage sets the DefaultPushNotificationMessage field's value.
19936func (s *DirectMessageConfiguration) SetDefaultPushNotificationMessage(v *DefaultPushNotificationMessage) *DirectMessageConfiguration {
19937	s.DefaultPushNotificationMessage = v
19938	return s
19939}
19940
19941// SetEmailMessage sets the EmailMessage field's value.
19942func (s *DirectMessageConfiguration) SetEmailMessage(v *EmailMessage) *DirectMessageConfiguration {
19943	s.EmailMessage = v
19944	return s
19945}
19946
19947// SetGCMMessage sets the GCMMessage field's value.
19948func (s *DirectMessageConfiguration) SetGCMMessage(v *GCMMessage) *DirectMessageConfiguration {
19949	s.GCMMessage = v
19950	return s
19951}
19952
19953// SetSMSMessage sets the SMSMessage field's value.
19954func (s *DirectMessageConfiguration) SetSMSMessage(v *SMSMessage) *DirectMessageConfiguration {
19955	s.SMSMessage = v
19956	return s
19957}
19958
19959// SetVoiceMessage sets the VoiceMessage field's value.
19960func (s *DirectMessageConfiguration) SetVoiceMessage(v *VoiceMessage) *DirectMessageConfiguration {
19961	s.VoiceMessage = v
19962	return s
19963}
19964
19965// Specifies the status and settings of the email channel for an application.
19966type EmailChannelRequest struct {
19967	_ struct{} `type:"structure"`
19968
19969	// The Amazon SES configuration set (https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html)
19970	// that you want to apply to messages that you send through the channel.
19971	ConfigurationSet *string `type:"string"`
19972
19973	// Specifies whether to enable the email channel for the application.
19974	Enabled *bool `type:"boolean"`
19975
19976	// The verified email address that you want to send email from when you send
19977	// email through the channel.
19978	//
19979	// FromAddress is a required field
19980	FromAddress *string `type:"string" required:"true"`
19981
19982	// The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
19983	// Email Service (Amazon SES), that you want to use when you send email through
19984	// the channel.
19985	//
19986	// Identity is a required field
19987	Identity *string `type:"string" required:"true"`
19988
19989	// The ARN of the AWS Identity and Access Management (IAM) role that you want
19990	// Amazon Pinpoint to use when it submits email-related event data for the channel.
19991	RoleArn *string `type:"string"`
19992}
19993
19994// String returns the string representation.
19995//
19996// API parameter values that are decorated as "sensitive" in the API will not
19997// be included in the string output. The member name will be present, but the
19998// value will be replaced with "sensitive".
19999func (s EmailChannelRequest) String() string {
20000	return awsutil.Prettify(s)
20001}
20002
20003// GoString returns the string representation.
20004//
20005// API parameter values that are decorated as "sensitive" in the API will not
20006// be included in the string output. The member name will be present, but the
20007// value will be replaced with "sensitive".
20008func (s EmailChannelRequest) GoString() string {
20009	return s.String()
20010}
20011
20012// Validate inspects the fields of the type to determine if they are valid.
20013func (s *EmailChannelRequest) Validate() error {
20014	invalidParams := request.ErrInvalidParams{Context: "EmailChannelRequest"}
20015	if s.FromAddress == nil {
20016		invalidParams.Add(request.NewErrParamRequired("FromAddress"))
20017	}
20018	if s.Identity == nil {
20019		invalidParams.Add(request.NewErrParamRequired("Identity"))
20020	}
20021
20022	if invalidParams.Len() > 0 {
20023		return invalidParams
20024	}
20025	return nil
20026}
20027
20028// SetConfigurationSet sets the ConfigurationSet field's value.
20029func (s *EmailChannelRequest) SetConfigurationSet(v string) *EmailChannelRequest {
20030	s.ConfigurationSet = &v
20031	return s
20032}
20033
20034// SetEnabled sets the Enabled field's value.
20035func (s *EmailChannelRequest) SetEnabled(v bool) *EmailChannelRequest {
20036	s.Enabled = &v
20037	return s
20038}
20039
20040// SetFromAddress sets the FromAddress field's value.
20041func (s *EmailChannelRequest) SetFromAddress(v string) *EmailChannelRequest {
20042	s.FromAddress = &v
20043	return s
20044}
20045
20046// SetIdentity sets the Identity field's value.
20047func (s *EmailChannelRequest) SetIdentity(v string) *EmailChannelRequest {
20048	s.Identity = &v
20049	return s
20050}
20051
20052// SetRoleArn sets the RoleArn field's value.
20053func (s *EmailChannelRequest) SetRoleArn(v string) *EmailChannelRequest {
20054	s.RoleArn = &v
20055	return s
20056}
20057
20058// Provides information about the status and settings of the email channel for
20059// an application.
20060type EmailChannelResponse struct {
20061	_ struct{} `type:"structure"`
20062
20063	// The unique identifier for the application that the email channel applies
20064	// to.
20065	ApplicationId *string `type:"string"`
20066
20067	// The Amazon SES configuration set (https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html)
20068	// that's applied to messages that are sent through the channel.
20069	ConfigurationSet *string `type:"string"`
20070
20071	// The date and time, in ISO 8601 format, when the email channel was enabled.
20072	CreationDate *string `type:"string"`
20073
20074	// Specifies whether the email channel is enabled for the application.
20075	Enabled *bool `type:"boolean"`
20076
20077	// The verified email address that email is sent from when you send email through
20078	// the channel.
20079	FromAddress *string `type:"string"`
20080
20081	// (Not used) This property is retained only for backward compatibility.
20082	HasCredential *bool `type:"boolean"`
20083
20084	// (Deprecated) An identifier for the email channel. This property is retained
20085	// only for backward compatibility.
20086	Id *string `type:"string"`
20087
20088	// The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
20089	// Email Service (Amazon SES), that's used when you send email through the channel.
20090	Identity *string `type:"string"`
20091
20092	// Specifies whether the email channel is archived.
20093	IsArchived *bool `type:"boolean"`
20094
20095	// The user who last modified the email channel.
20096	LastModifiedBy *string `type:"string"`
20097
20098	// The date and time, in ISO 8601 format, when the email channel was last modified.
20099	LastModifiedDate *string `type:"string"`
20100
20101	// The maximum number of emails that can be sent through the channel each second.
20102	MessagesPerSecond *int64 `type:"integer"`
20103
20104	// The type of messaging or notification platform for the channel. For the email
20105	// channel, this value is EMAIL.
20106	//
20107	// Platform is a required field
20108	Platform *string `type:"string" required:"true"`
20109
20110	// The ARN of the AWS Identity and Access Management (IAM) role that Amazon
20111	// Pinpoint uses to submit email-related event data for the channel.
20112	RoleArn *string `type:"string"`
20113
20114	// The current version of the email channel.
20115	Version *int64 `type:"integer"`
20116}
20117
20118// String returns the string representation.
20119//
20120// API parameter values that are decorated as "sensitive" in the API will not
20121// be included in the string output. The member name will be present, but the
20122// value will be replaced with "sensitive".
20123func (s EmailChannelResponse) String() string {
20124	return awsutil.Prettify(s)
20125}
20126
20127// GoString returns the string representation.
20128//
20129// API parameter values that are decorated as "sensitive" in the API will not
20130// be included in the string output. The member name will be present, but the
20131// value will be replaced with "sensitive".
20132func (s EmailChannelResponse) GoString() string {
20133	return s.String()
20134}
20135
20136// SetApplicationId sets the ApplicationId field's value.
20137func (s *EmailChannelResponse) SetApplicationId(v string) *EmailChannelResponse {
20138	s.ApplicationId = &v
20139	return s
20140}
20141
20142// SetConfigurationSet sets the ConfigurationSet field's value.
20143func (s *EmailChannelResponse) SetConfigurationSet(v string) *EmailChannelResponse {
20144	s.ConfigurationSet = &v
20145	return s
20146}
20147
20148// SetCreationDate sets the CreationDate field's value.
20149func (s *EmailChannelResponse) SetCreationDate(v string) *EmailChannelResponse {
20150	s.CreationDate = &v
20151	return s
20152}
20153
20154// SetEnabled sets the Enabled field's value.
20155func (s *EmailChannelResponse) SetEnabled(v bool) *EmailChannelResponse {
20156	s.Enabled = &v
20157	return s
20158}
20159
20160// SetFromAddress sets the FromAddress field's value.
20161func (s *EmailChannelResponse) SetFromAddress(v string) *EmailChannelResponse {
20162	s.FromAddress = &v
20163	return s
20164}
20165
20166// SetHasCredential sets the HasCredential field's value.
20167func (s *EmailChannelResponse) SetHasCredential(v bool) *EmailChannelResponse {
20168	s.HasCredential = &v
20169	return s
20170}
20171
20172// SetId sets the Id field's value.
20173func (s *EmailChannelResponse) SetId(v string) *EmailChannelResponse {
20174	s.Id = &v
20175	return s
20176}
20177
20178// SetIdentity sets the Identity field's value.
20179func (s *EmailChannelResponse) SetIdentity(v string) *EmailChannelResponse {
20180	s.Identity = &v
20181	return s
20182}
20183
20184// SetIsArchived sets the IsArchived field's value.
20185func (s *EmailChannelResponse) SetIsArchived(v bool) *EmailChannelResponse {
20186	s.IsArchived = &v
20187	return s
20188}
20189
20190// SetLastModifiedBy sets the LastModifiedBy field's value.
20191func (s *EmailChannelResponse) SetLastModifiedBy(v string) *EmailChannelResponse {
20192	s.LastModifiedBy = &v
20193	return s
20194}
20195
20196// SetLastModifiedDate sets the LastModifiedDate field's value.
20197func (s *EmailChannelResponse) SetLastModifiedDate(v string) *EmailChannelResponse {
20198	s.LastModifiedDate = &v
20199	return s
20200}
20201
20202// SetMessagesPerSecond sets the MessagesPerSecond field's value.
20203func (s *EmailChannelResponse) SetMessagesPerSecond(v int64) *EmailChannelResponse {
20204	s.MessagesPerSecond = &v
20205	return s
20206}
20207
20208// SetPlatform sets the Platform field's value.
20209func (s *EmailChannelResponse) SetPlatform(v string) *EmailChannelResponse {
20210	s.Platform = &v
20211	return s
20212}
20213
20214// SetRoleArn sets the RoleArn field's value.
20215func (s *EmailChannelResponse) SetRoleArn(v string) *EmailChannelResponse {
20216	s.RoleArn = &v
20217	return s
20218}
20219
20220// SetVersion sets the Version field's value.
20221func (s *EmailChannelResponse) SetVersion(v int64) *EmailChannelResponse {
20222	s.Version = &v
20223	return s
20224}
20225
20226// Specifies the default settings and content for a one-time email message that's
20227// sent directly to an endpoint.
20228type EmailMessage struct {
20229	_ struct{} `type:"structure"`
20230
20231	// The body of the email message.
20232	Body *string `type:"string"`
20233
20234	// The email address to forward bounces and complaints to, if feedback forwarding
20235	// is enabled.
20236	FeedbackForwardingAddress *string `type:"string"`
20237
20238	// The verified email address to send the email message from. The default value
20239	// is the FromAddress specified for the email channel.
20240	FromAddress *string `type:"string"`
20241
20242	// The email message, represented as a raw MIME message.
20243	RawEmail *RawEmail `type:"structure"`
20244
20245	// The reply-to email address(es) for the email message. If a recipient replies
20246	// to the email, each reply-to address receives the reply.
20247	ReplyToAddresses []*string `type:"list"`
20248
20249	// The email message, composed of a subject, a text part, and an HTML part.
20250	SimpleEmail *SimpleEmail `type:"structure"`
20251
20252	// The default message variables to use in the email message. You can override
20253	// the default variables with individual address variables.
20254	Substitutions map[string][]*string `type:"map"`
20255}
20256
20257// String returns the string representation.
20258//
20259// API parameter values that are decorated as "sensitive" in the API will not
20260// be included in the string output. The member name will be present, but the
20261// value will be replaced with "sensitive".
20262func (s EmailMessage) String() string {
20263	return awsutil.Prettify(s)
20264}
20265
20266// GoString returns the string representation.
20267//
20268// API parameter values that are decorated as "sensitive" in the API will not
20269// be included in the string output. The member name will be present, but the
20270// value will be replaced with "sensitive".
20271func (s EmailMessage) GoString() string {
20272	return s.String()
20273}
20274
20275// SetBody sets the Body field's value.
20276func (s *EmailMessage) SetBody(v string) *EmailMessage {
20277	s.Body = &v
20278	return s
20279}
20280
20281// SetFeedbackForwardingAddress sets the FeedbackForwardingAddress field's value.
20282func (s *EmailMessage) SetFeedbackForwardingAddress(v string) *EmailMessage {
20283	s.FeedbackForwardingAddress = &v
20284	return s
20285}
20286
20287// SetFromAddress sets the FromAddress field's value.
20288func (s *EmailMessage) SetFromAddress(v string) *EmailMessage {
20289	s.FromAddress = &v
20290	return s
20291}
20292
20293// SetRawEmail sets the RawEmail field's value.
20294func (s *EmailMessage) SetRawEmail(v *RawEmail) *EmailMessage {
20295	s.RawEmail = v
20296	return s
20297}
20298
20299// SetReplyToAddresses sets the ReplyToAddresses field's value.
20300func (s *EmailMessage) SetReplyToAddresses(v []*string) *EmailMessage {
20301	s.ReplyToAddresses = v
20302	return s
20303}
20304
20305// SetSimpleEmail sets the SimpleEmail field's value.
20306func (s *EmailMessage) SetSimpleEmail(v *SimpleEmail) *EmailMessage {
20307	s.SimpleEmail = v
20308	return s
20309}
20310
20311// SetSubstitutions sets the Substitutions field's value.
20312func (s *EmailMessage) SetSubstitutions(v map[string][]*string) *EmailMessage {
20313	s.Substitutions = v
20314	return s
20315}
20316
20317// Specifies the settings for an email activity in a journey. This type of activity
20318// sends an email message to participants.
20319type EmailMessageActivity struct {
20320	_ struct{} `type:"structure"`
20321
20322	// Specifies the sender address for an email message that's sent to participants
20323	// in the journey.
20324	MessageConfig *JourneyEmailMessage `type:"structure"`
20325
20326	// The unique identifier for the next activity to perform, after the message
20327	// is sent.
20328	NextActivity *string `type:"string"`
20329
20330	// The name of the email message template to use for the message. If specified,
20331	// this value must match the name of an existing message template.
20332	TemplateName *string `type:"string"`
20333
20334	// The unique identifier for the version of the email template to use for the
20335	// message. If specified, this value must match the identifier for an existing
20336	// template version. To retrieve a list of versions and version identifiers
20337	// for a template, use the Template Versions resource.
20338	//
20339	// If you don't specify a value for this property, Amazon Pinpoint uses the
20340	// active version of the template. The active version is typically the version
20341	// of a template that's been most recently reviewed and approved for use, depending
20342	// on your workflow. It isn't necessarily the latest version of a template.
20343	TemplateVersion *string `type:"string"`
20344}
20345
20346// String returns the string representation.
20347//
20348// API parameter values that are decorated as "sensitive" in the API will not
20349// be included in the string output. The member name will be present, but the
20350// value will be replaced with "sensitive".
20351func (s EmailMessageActivity) String() string {
20352	return awsutil.Prettify(s)
20353}
20354
20355// GoString returns the string representation.
20356//
20357// API parameter values that are decorated as "sensitive" in the API will not
20358// be included in the string output. The member name will be present, but the
20359// value will be replaced with "sensitive".
20360func (s EmailMessageActivity) GoString() string {
20361	return s.String()
20362}
20363
20364// SetMessageConfig sets the MessageConfig field's value.
20365func (s *EmailMessageActivity) SetMessageConfig(v *JourneyEmailMessage) *EmailMessageActivity {
20366	s.MessageConfig = v
20367	return s
20368}
20369
20370// SetNextActivity sets the NextActivity field's value.
20371func (s *EmailMessageActivity) SetNextActivity(v string) *EmailMessageActivity {
20372	s.NextActivity = &v
20373	return s
20374}
20375
20376// SetTemplateName sets the TemplateName field's value.
20377func (s *EmailMessageActivity) SetTemplateName(v string) *EmailMessageActivity {
20378	s.TemplateName = &v
20379	return s
20380}
20381
20382// SetTemplateVersion sets the TemplateVersion field's value.
20383func (s *EmailMessageActivity) SetTemplateVersion(v string) *EmailMessageActivity {
20384	s.TemplateVersion = &v
20385	return s
20386}
20387
20388// Specifies the content and settings for a message template that can be used
20389// in messages that are sent through the email channel.
20390type EmailTemplateRequest struct {
20391	_ struct{} `type:"structure"`
20392
20393	// A JSON object that specifies the default values to use for message variables
20394	// in the message template. This object is a set of key-value pairs. Each key
20395	// defines a message variable in the template. The corresponding value defines
20396	// the default value for that variable. When you create a message that's based
20397	// on the template, you can override these defaults with message-specific and
20398	// address-specific variables and values.
20399	DefaultSubstitutions *string `type:"string"`
20400
20401	// The message body, in HTML format, to use in email messages that are based
20402	// on the message template. We recommend using HTML format for email clients
20403	// that render HTML content. You can include links, formatted text, and more
20404	// in an HTML message.
20405	HtmlPart *string `type:"string"`
20406
20407	// The unique identifier for the recommender model to use for the message template.
20408	// Amazon Pinpoint uses this value to determine how to retrieve and process
20409	// data from a recommender model when it sends messages that use the template,
20410	// if the template contains message variables for recommendation data.
20411	RecommenderId *string `type:"string"`
20412
20413	// The subject line, or title, to use in email messages that are based on the
20414	// message template.
20415	Subject *string `type:"string"`
20416
20417	// A string-to-string map of key-value pairs that defines the tags to associate
20418	// with the message template. Each tag consists of a required tag key and an
20419	// associated tag value.
20420	Tags map[string]*string `locationName:"tags" type:"map"`
20421
20422	// A custom description of the message template.
20423	TemplateDescription *string `type:"string"`
20424
20425	// The message body, in plain text format, to use in email messages that are
20426	// based on the message template. We recommend using plain text format for email
20427	// clients that don't render HTML content and clients that are connected to
20428	// high-latency networks, such as mobile devices.
20429	TextPart *string `type:"string"`
20430}
20431
20432// String returns the string representation.
20433//
20434// API parameter values that are decorated as "sensitive" in the API will not
20435// be included in the string output. The member name will be present, but the
20436// value will be replaced with "sensitive".
20437func (s EmailTemplateRequest) String() string {
20438	return awsutil.Prettify(s)
20439}
20440
20441// GoString returns the string representation.
20442//
20443// API parameter values that are decorated as "sensitive" in the API will not
20444// be included in the string output. The member name will be present, but the
20445// value will be replaced with "sensitive".
20446func (s EmailTemplateRequest) GoString() string {
20447	return s.String()
20448}
20449
20450// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
20451func (s *EmailTemplateRequest) SetDefaultSubstitutions(v string) *EmailTemplateRequest {
20452	s.DefaultSubstitutions = &v
20453	return s
20454}
20455
20456// SetHtmlPart sets the HtmlPart field's value.
20457func (s *EmailTemplateRequest) SetHtmlPart(v string) *EmailTemplateRequest {
20458	s.HtmlPart = &v
20459	return s
20460}
20461
20462// SetRecommenderId sets the RecommenderId field's value.
20463func (s *EmailTemplateRequest) SetRecommenderId(v string) *EmailTemplateRequest {
20464	s.RecommenderId = &v
20465	return s
20466}
20467
20468// SetSubject sets the Subject field's value.
20469func (s *EmailTemplateRequest) SetSubject(v string) *EmailTemplateRequest {
20470	s.Subject = &v
20471	return s
20472}
20473
20474// SetTags sets the Tags field's value.
20475func (s *EmailTemplateRequest) SetTags(v map[string]*string) *EmailTemplateRequest {
20476	s.Tags = v
20477	return s
20478}
20479
20480// SetTemplateDescription sets the TemplateDescription field's value.
20481func (s *EmailTemplateRequest) SetTemplateDescription(v string) *EmailTemplateRequest {
20482	s.TemplateDescription = &v
20483	return s
20484}
20485
20486// SetTextPart sets the TextPart field's value.
20487func (s *EmailTemplateRequest) SetTextPart(v string) *EmailTemplateRequest {
20488	s.TextPart = &v
20489	return s
20490}
20491
20492// Provides information about the content and settings for a message template
20493// that can be used in messages that are sent through the email channel.
20494type EmailTemplateResponse struct {
20495	_ struct{} `type:"structure"`
20496
20497	// The Amazon Resource Name (ARN) of the message template.
20498	Arn *string `type:"string"`
20499
20500	// The date, in ISO 8601 format, when the message template was created.
20501	//
20502	// CreationDate is a required field
20503	CreationDate *string `type:"string" required:"true"`
20504
20505	// The JSON object that specifies the default values that are used for message
20506	// variables in the message template. This object is a set of key-value pairs.
20507	// Each key defines a message variable in the template. The corresponding value
20508	// defines the default value for that variable.
20509	DefaultSubstitutions *string `type:"string"`
20510
20511	// The message body, in HTML format, that's used in email messages that are
20512	// based on the message template.
20513	HtmlPart *string `type:"string"`
20514
20515	// The date, in ISO 8601 format, when the message template was last modified.
20516	//
20517	// LastModifiedDate is a required field
20518	LastModifiedDate *string `type:"string" required:"true"`
20519
20520	// The unique identifier for the recommender model that's used by the message
20521	// template.
20522	RecommenderId *string `type:"string"`
20523
20524	// The subject line, or title, that's used in email messages that are based
20525	// on the message template.
20526	Subject *string `type:"string"`
20527
20528	// A string-to-string map of key-value pairs that identifies the tags that are
20529	// associated with the message template. Each tag consists of a required tag
20530	// key and an associated tag value.
20531	Tags map[string]*string `locationName:"tags" type:"map"`
20532
20533	// The custom description of the message template.
20534	TemplateDescription *string `type:"string"`
20535
20536	// The name of the message template.
20537	//
20538	// TemplateName is a required field
20539	TemplateName *string `type:"string" required:"true"`
20540
20541	// The type of channel that the message template is designed for. For an email
20542	// template, this value is EMAIL.
20543	//
20544	// TemplateType is a required field
20545	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
20546
20547	// The message body, in plain text format, that's used in email messages that
20548	// are based on the message template.
20549	TextPart *string `type:"string"`
20550
20551	// The unique identifier, as an integer, for the active version of the message
20552	// template, or the version of the template that you specified by using the
20553	// version parameter in your request.
20554	Version *string `type:"string"`
20555}
20556
20557// String returns the string representation.
20558//
20559// API parameter values that are decorated as "sensitive" in the API will not
20560// be included in the string output. The member name will be present, but the
20561// value will be replaced with "sensitive".
20562func (s EmailTemplateResponse) String() string {
20563	return awsutil.Prettify(s)
20564}
20565
20566// GoString returns the string representation.
20567//
20568// API parameter values that are decorated as "sensitive" in the API will not
20569// be included in the string output. The member name will be present, but the
20570// value will be replaced with "sensitive".
20571func (s EmailTemplateResponse) GoString() string {
20572	return s.String()
20573}
20574
20575// SetArn sets the Arn field's value.
20576func (s *EmailTemplateResponse) SetArn(v string) *EmailTemplateResponse {
20577	s.Arn = &v
20578	return s
20579}
20580
20581// SetCreationDate sets the CreationDate field's value.
20582func (s *EmailTemplateResponse) SetCreationDate(v string) *EmailTemplateResponse {
20583	s.CreationDate = &v
20584	return s
20585}
20586
20587// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
20588func (s *EmailTemplateResponse) SetDefaultSubstitutions(v string) *EmailTemplateResponse {
20589	s.DefaultSubstitutions = &v
20590	return s
20591}
20592
20593// SetHtmlPart sets the HtmlPart field's value.
20594func (s *EmailTemplateResponse) SetHtmlPart(v string) *EmailTemplateResponse {
20595	s.HtmlPart = &v
20596	return s
20597}
20598
20599// SetLastModifiedDate sets the LastModifiedDate field's value.
20600func (s *EmailTemplateResponse) SetLastModifiedDate(v string) *EmailTemplateResponse {
20601	s.LastModifiedDate = &v
20602	return s
20603}
20604
20605// SetRecommenderId sets the RecommenderId field's value.
20606func (s *EmailTemplateResponse) SetRecommenderId(v string) *EmailTemplateResponse {
20607	s.RecommenderId = &v
20608	return s
20609}
20610
20611// SetSubject sets the Subject field's value.
20612func (s *EmailTemplateResponse) SetSubject(v string) *EmailTemplateResponse {
20613	s.Subject = &v
20614	return s
20615}
20616
20617// SetTags sets the Tags field's value.
20618func (s *EmailTemplateResponse) SetTags(v map[string]*string) *EmailTemplateResponse {
20619	s.Tags = v
20620	return s
20621}
20622
20623// SetTemplateDescription sets the TemplateDescription field's value.
20624func (s *EmailTemplateResponse) SetTemplateDescription(v string) *EmailTemplateResponse {
20625	s.TemplateDescription = &v
20626	return s
20627}
20628
20629// SetTemplateName sets the TemplateName field's value.
20630func (s *EmailTemplateResponse) SetTemplateName(v string) *EmailTemplateResponse {
20631	s.TemplateName = &v
20632	return s
20633}
20634
20635// SetTemplateType sets the TemplateType field's value.
20636func (s *EmailTemplateResponse) SetTemplateType(v string) *EmailTemplateResponse {
20637	s.TemplateType = &v
20638	return s
20639}
20640
20641// SetTextPart sets the TextPart field's value.
20642func (s *EmailTemplateResponse) SetTextPart(v string) *EmailTemplateResponse {
20643	s.TextPart = &v
20644	return s
20645}
20646
20647// SetVersion sets the Version field's value.
20648func (s *EmailTemplateResponse) SetVersion(v string) *EmailTemplateResponse {
20649	s.Version = &v
20650	return s
20651}
20652
20653// Specifies an endpoint to create or update and the settings and attributes
20654// to set or change for the endpoint.
20655type EndpointBatchItem struct {
20656	_ struct{} `type:"structure"`
20657
20658	// The destination address for messages or push notifications that you send
20659	// to the endpoint. The address varies by channel. For a push-notification channel,
20660	// use the token provided by the push notification service, such as an Apple
20661	// Push Notification service (APNs) device token or a Firebase Cloud Messaging
20662	// (FCM) registration token. For the SMS channel, use a phone number in E.164
20663	// format, such as +12065550100. For the email channel, use an email address.
20664	Address *string `type:"string"`
20665
20666	// One or more custom attributes that describe the endpoint by associating a
20667	// name with an array of values. For example, the value of a custom attribute
20668	// named Interests might be: ["Science", "Music", "Travel"]. You can use these
20669	// attributes as filter criteria when you create segments. Attribute names are
20670	// case sensitive.
20671	//
20672	// An attribute name can contain up to 50 characters. An attribute value can
20673	// contain up to 100 characters. When you define the name of a custom attribute,
20674	// avoid using the following characters: number sign (#), colon (:), question
20675	// mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't
20676	// display attribute names that contain these characters. This restriction doesn't
20677	// apply to attribute values.
20678	Attributes map[string][]*string `type:"map"`
20679
20680	// The channel to use when sending messages or push notifications to the endpoint.
20681	ChannelType *string `type:"string" enum:"ChannelType"`
20682
20683	// The demographic information for the endpoint, such as the time zone and platform.
20684	Demographic *EndpointDemographic `type:"structure"`
20685
20686	// The date and time, in ISO 8601 format, when the endpoint was created or updated.
20687	EffectiveDate *string `type:"string"`
20688
20689	// Specifies whether to send messages or push notifications to the endpoint.
20690	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
20691	// messages aren’t sent to the endpoint.
20692	//
20693	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
20694	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
20695	// this value to INACTIVE if you update another endpoint that has the same address
20696	// specified by the Address property.
20697	EndpointStatus *string `type:"string"`
20698
20699	// The unique identifier for the endpoint in the context of the batch.
20700	Id *string `type:"string"`
20701
20702	// The geographic information for the endpoint.
20703	Location *EndpointLocation `type:"structure"`
20704
20705	// One or more custom metrics that your app reports to Amazon Pinpoint for the
20706	// endpoint.
20707	Metrics map[string]*float64 `type:"map"`
20708
20709	// Specifies whether the user who's associated with the endpoint has opted out
20710	// of receiving messages and push notifications from you. Possible values are:
20711	// ALL, the user has opted out and doesn't want to receive any messages or push
20712	// notifications; and, NONE, the user hasn't opted out and wants to receive
20713	// all messages and push notifications.
20714	OptOut *string `type:"string"`
20715
20716	// The unique identifier for the request to create or update the endpoint.
20717	RequestId *string `type:"string"`
20718
20719	// One or more custom attributes that describe the user who's associated with
20720	// the endpoint.
20721	User *EndpointUser `type:"structure"`
20722}
20723
20724// String returns the string representation.
20725//
20726// API parameter values that are decorated as "sensitive" in the API will not
20727// be included in the string output. The member name will be present, but the
20728// value will be replaced with "sensitive".
20729func (s EndpointBatchItem) String() string {
20730	return awsutil.Prettify(s)
20731}
20732
20733// GoString returns the string representation.
20734//
20735// API parameter values that are decorated as "sensitive" in the API will not
20736// be included in the string output. The member name will be present, but the
20737// value will be replaced with "sensitive".
20738func (s EndpointBatchItem) GoString() string {
20739	return s.String()
20740}
20741
20742// SetAddress sets the Address field's value.
20743func (s *EndpointBatchItem) SetAddress(v string) *EndpointBatchItem {
20744	s.Address = &v
20745	return s
20746}
20747
20748// SetAttributes sets the Attributes field's value.
20749func (s *EndpointBatchItem) SetAttributes(v map[string][]*string) *EndpointBatchItem {
20750	s.Attributes = v
20751	return s
20752}
20753
20754// SetChannelType sets the ChannelType field's value.
20755func (s *EndpointBatchItem) SetChannelType(v string) *EndpointBatchItem {
20756	s.ChannelType = &v
20757	return s
20758}
20759
20760// SetDemographic sets the Demographic field's value.
20761func (s *EndpointBatchItem) SetDemographic(v *EndpointDemographic) *EndpointBatchItem {
20762	s.Demographic = v
20763	return s
20764}
20765
20766// SetEffectiveDate sets the EffectiveDate field's value.
20767func (s *EndpointBatchItem) SetEffectiveDate(v string) *EndpointBatchItem {
20768	s.EffectiveDate = &v
20769	return s
20770}
20771
20772// SetEndpointStatus sets the EndpointStatus field's value.
20773func (s *EndpointBatchItem) SetEndpointStatus(v string) *EndpointBatchItem {
20774	s.EndpointStatus = &v
20775	return s
20776}
20777
20778// SetId sets the Id field's value.
20779func (s *EndpointBatchItem) SetId(v string) *EndpointBatchItem {
20780	s.Id = &v
20781	return s
20782}
20783
20784// SetLocation sets the Location field's value.
20785func (s *EndpointBatchItem) SetLocation(v *EndpointLocation) *EndpointBatchItem {
20786	s.Location = v
20787	return s
20788}
20789
20790// SetMetrics sets the Metrics field's value.
20791func (s *EndpointBatchItem) SetMetrics(v map[string]*float64) *EndpointBatchItem {
20792	s.Metrics = v
20793	return s
20794}
20795
20796// SetOptOut sets the OptOut field's value.
20797func (s *EndpointBatchItem) SetOptOut(v string) *EndpointBatchItem {
20798	s.OptOut = &v
20799	return s
20800}
20801
20802// SetRequestId sets the RequestId field's value.
20803func (s *EndpointBatchItem) SetRequestId(v string) *EndpointBatchItem {
20804	s.RequestId = &v
20805	return s
20806}
20807
20808// SetUser sets the User field's value.
20809func (s *EndpointBatchItem) SetUser(v *EndpointUser) *EndpointBatchItem {
20810	s.User = v
20811	return s
20812}
20813
20814// Specifies a batch of endpoints to create or update and the settings and attributes
20815// to set or change for each endpoint.
20816type EndpointBatchRequest struct {
20817	_ struct{} `type:"structure"`
20818
20819	// An array that defines the endpoints to create or update and, for each endpoint,
20820	// the property values to set or change. An array can contain a maximum of 100
20821	// items.
20822	//
20823	// Item is a required field
20824	Item []*EndpointBatchItem `type:"list" required:"true"`
20825}
20826
20827// String returns the string representation.
20828//
20829// API parameter values that are decorated as "sensitive" in the API will not
20830// be included in the string output. The member name will be present, but the
20831// value will be replaced with "sensitive".
20832func (s EndpointBatchRequest) String() string {
20833	return awsutil.Prettify(s)
20834}
20835
20836// GoString returns the string representation.
20837//
20838// API parameter values that are decorated as "sensitive" in the API will not
20839// be included in the string output. The member name will be present, but the
20840// value will be replaced with "sensitive".
20841func (s EndpointBatchRequest) GoString() string {
20842	return s.String()
20843}
20844
20845// Validate inspects the fields of the type to determine if they are valid.
20846func (s *EndpointBatchRequest) Validate() error {
20847	invalidParams := request.ErrInvalidParams{Context: "EndpointBatchRequest"}
20848	if s.Item == nil {
20849		invalidParams.Add(request.NewErrParamRequired("Item"))
20850	}
20851
20852	if invalidParams.Len() > 0 {
20853		return invalidParams
20854	}
20855	return nil
20856}
20857
20858// SetItem sets the Item field's value.
20859func (s *EndpointBatchRequest) SetItem(v []*EndpointBatchItem) *EndpointBatchRequest {
20860	s.Item = v
20861	return s
20862}
20863
20864// Specifies demographic information about an endpoint, such as the applicable
20865// time zone and platform.
20866type EndpointDemographic struct {
20867	_ struct{} `type:"structure"`
20868
20869	// The version of the app that's associated with the endpoint.
20870	AppVersion *string `type:"string"`
20871
20872	// The locale of the endpoint, in the following format: the ISO 639-1 alpha-2
20873	// code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 value.
20874	Locale *string `type:"string"`
20875
20876	// The manufacturer of the endpoint device, such as apple or samsung.
20877	Make *string `type:"string"`
20878
20879	// The model name or number of the endpoint device, such as iPhone or SM-G900F.
20880	Model *string `type:"string"`
20881
20882	// The model version of the endpoint device.
20883	ModelVersion *string `type:"string"`
20884
20885	// The platform of the endpoint device, such as ios.
20886	Platform *string `type:"string"`
20887
20888	// The platform version of the endpoint device.
20889	PlatformVersion *string `type:"string"`
20890
20891	// The time zone of the endpoint, specified as a tz database name value, such
20892	// as America/Los_Angeles.
20893	Timezone *string `type:"string"`
20894}
20895
20896// String returns the string representation.
20897//
20898// API parameter values that are decorated as "sensitive" in the API will not
20899// be included in the string output. The member name will be present, but the
20900// value will be replaced with "sensitive".
20901func (s EndpointDemographic) String() string {
20902	return awsutil.Prettify(s)
20903}
20904
20905// GoString returns the string representation.
20906//
20907// API parameter values that are decorated as "sensitive" in the API will not
20908// be included in the string output. The member name will be present, but the
20909// value will be replaced with "sensitive".
20910func (s EndpointDemographic) GoString() string {
20911	return s.String()
20912}
20913
20914// SetAppVersion sets the AppVersion field's value.
20915func (s *EndpointDemographic) SetAppVersion(v string) *EndpointDemographic {
20916	s.AppVersion = &v
20917	return s
20918}
20919
20920// SetLocale sets the Locale field's value.
20921func (s *EndpointDemographic) SetLocale(v string) *EndpointDemographic {
20922	s.Locale = &v
20923	return s
20924}
20925
20926// SetMake sets the Make field's value.
20927func (s *EndpointDemographic) SetMake(v string) *EndpointDemographic {
20928	s.Make = &v
20929	return s
20930}
20931
20932// SetModel sets the Model field's value.
20933func (s *EndpointDemographic) SetModel(v string) *EndpointDemographic {
20934	s.Model = &v
20935	return s
20936}
20937
20938// SetModelVersion sets the ModelVersion field's value.
20939func (s *EndpointDemographic) SetModelVersion(v string) *EndpointDemographic {
20940	s.ModelVersion = &v
20941	return s
20942}
20943
20944// SetPlatform sets the Platform field's value.
20945func (s *EndpointDemographic) SetPlatform(v string) *EndpointDemographic {
20946	s.Platform = &v
20947	return s
20948}
20949
20950// SetPlatformVersion sets the PlatformVersion field's value.
20951func (s *EndpointDemographic) SetPlatformVersion(v string) *EndpointDemographic {
20952	s.PlatformVersion = &v
20953	return s
20954}
20955
20956// SetTimezone sets the Timezone field's value.
20957func (s *EndpointDemographic) SetTimezone(v string) *EndpointDemographic {
20958	s.Timezone = &v
20959	return s
20960}
20961
20962// Provides the status code and message that result from processing data for
20963// an endpoint.
20964type EndpointItemResponse struct {
20965	_ struct{} `type:"structure"`
20966
20967	// The custom message that's returned in the response as a result of processing
20968	// the endpoint data.
20969	Message *string `type:"string"`
20970
20971	// The status code that's returned in the response as a result of processing
20972	// the endpoint data.
20973	StatusCode *int64 `type:"integer"`
20974}
20975
20976// String returns the string representation.
20977//
20978// API parameter values that are decorated as "sensitive" in the API will not
20979// be included in the string output. The member name will be present, but the
20980// value will be replaced with "sensitive".
20981func (s EndpointItemResponse) String() string {
20982	return awsutil.Prettify(s)
20983}
20984
20985// GoString returns the string representation.
20986//
20987// API parameter values that are decorated as "sensitive" in the API will not
20988// be included in the string output. The member name will be present, but the
20989// value will be replaced with "sensitive".
20990func (s EndpointItemResponse) GoString() string {
20991	return s.String()
20992}
20993
20994// SetMessage sets the Message field's value.
20995func (s *EndpointItemResponse) SetMessage(v string) *EndpointItemResponse {
20996	s.Message = &v
20997	return s
20998}
20999
21000// SetStatusCode sets the StatusCode field's value.
21001func (s *EndpointItemResponse) SetStatusCode(v int64) *EndpointItemResponse {
21002	s.StatusCode = &v
21003	return s
21004}
21005
21006// Specifies geographic information about an endpoint.
21007type EndpointLocation struct {
21008	_ struct{} `type:"structure"`
21009
21010	// The name of the city where the endpoint is located.
21011	City *string `type:"string"`
21012
21013	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
21014	// region where the endpoint is located. For example, US for the United States.
21015	Country *string `type:"string"`
21016
21017	// The latitude coordinate of the endpoint location, rounded to one decimal
21018	// place.
21019	Latitude *float64 `type:"double"`
21020
21021	// The longitude coordinate of the endpoint location, rounded to one decimal
21022	// place.
21023	Longitude *float64 `type:"double"`
21024
21025	// The postal or ZIP code for the area where the endpoint is located.
21026	PostalCode *string `type:"string"`
21027
21028	// The name of the region where the endpoint is located. For locations in the
21029	// United States, this value is the name of a state.
21030	Region *string `type:"string"`
21031}
21032
21033// String returns the string representation.
21034//
21035// API parameter values that are decorated as "sensitive" in the API will not
21036// be included in the string output. The member name will be present, but the
21037// value will be replaced with "sensitive".
21038func (s EndpointLocation) String() string {
21039	return awsutil.Prettify(s)
21040}
21041
21042// GoString returns the string representation.
21043//
21044// API parameter values that are decorated as "sensitive" in the API will not
21045// be included in the string output. The member name will be present, but the
21046// value will be replaced with "sensitive".
21047func (s EndpointLocation) GoString() string {
21048	return s.String()
21049}
21050
21051// SetCity sets the City field's value.
21052func (s *EndpointLocation) SetCity(v string) *EndpointLocation {
21053	s.City = &v
21054	return s
21055}
21056
21057// SetCountry sets the Country field's value.
21058func (s *EndpointLocation) SetCountry(v string) *EndpointLocation {
21059	s.Country = &v
21060	return s
21061}
21062
21063// SetLatitude sets the Latitude field's value.
21064func (s *EndpointLocation) SetLatitude(v float64) *EndpointLocation {
21065	s.Latitude = &v
21066	return s
21067}
21068
21069// SetLongitude sets the Longitude field's value.
21070func (s *EndpointLocation) SetLongitude(v float64) *EndpointLocation {
21071	s.Longitude = &v
21072	return s
21073}
21074
21075// SetPostalCode sets the PostalCode field's value.
21076func (s *EndpointLocation) SetPostalCode(v string) *EndpointLocation {
21077	s.PostalCode = &v
21078	return s
21079}
21080
21081// SetRegion sets the Region field's value.
21082func (s *EndpointLocation) SetRegion(v string) *EndpointLocation {
21083	s.Region = &v
21084	return s
21085}
21086
21087// Provides information about the delivery status and results of sending a message
21088// directly to an endpoint.
21089type EndpointMessageResult struct {
21090	_ struct{} `type:"structure"`
21091
21092	// The endpoint address that the message was delivered to.
21093	Address *string `type:"string"`
21094
21095	// The delivery status of the message. Possible values are:
21096	//
21097	//    * DUPLICATE - The endpoint address is a duplicate of another endpoint
21098	//    address. Amazon Pinpoint won't attempt to send the message again.
21099	//
21100	//    * OPT_OUT - The user who's associated with the endpoint has opted out
21101	//    of receiving messages from you. Amazon Pinpoint won't attempt to send
21102	//    the message again.
21103	//
21104	//    * PERMANENT_FAILURE - An error occurred when delivering the message to
21105	//    the endpoint. Amazon Pinpoint won't attempt to send the message again.
21106	//
21107	//    * SUCCESSFUL - The message was successfully delivered to the endpoint.
21108	//
21109	//    * TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't
21110	//    attempt to send the message again.
21111	//
21112	//    * THROTTLED - Amazon Pinpoint throttled the operation to send the message
21113	//    to the endpoint.
21114	//
21115	//    * TIMEOUT - The message couldn't be sent within the timeout period.
21116	//
21117	//    * UNKNOWN_FAILURE - An unknown error occurred.
21118	//
21119	// DeliveryStatus is a required field
21120	DeliveryStatus *string `type:"string" required:"true" enum:"DeliveryStatus"`
21121
21122	// The unique identifier for the message that was sent.
21123	MessageId *string `type:"string"`
21124
21125	// The downstream service status code for delivering the message.
21126	//
21127	// StatusCode is a required field
21128	StatusCode *int64 `type:"integer" required:"true"`
21129
21130	// The status message for delivering the message.
21131	StatusMessage *string `type:"string"`
21132
21133	// For push notifications that are sent through the GCM channel, specifies whether
21134	// the endpoint's device registration token was updated as part of delivering
21135	// the message.
21136	UpdatedToken *string `type:"string"`
21137}
21138
21139// String returns the string representation.
21140//
21141// API parameter values that are decorated as "sensitive" in the API will not
21142// be included in the string output. The member name will be present, but the
21143// value will be replaced with "sensitive".
21144func (s EndpointMessageResult) String() string {
21145	return awsutil.Prettify(s)
21146}
21147
21148// GoString returns the string representation.
21149//
21150// API parameter values that are decorated as "sensitive" in the API will not
21151// be included in the string output. The member name will be present, but the
21152// value will be replaced with "sensitive".
21153func (s EndpointMessageResult) GoString() string {
21154	return s.String()
21155}
21156
21157// SetAddress sets the Address field's value.
21158func (s *EndpointMessageResult) SetAddress(v string) *EndpointMessageResult {
21159	s.Address = &v
21160	return s
21161}
21162
21163// SetDeliveryStatus sets the DeliveryStatus field's value.
21164func (s *EndpointMessageResult) SetDeliveryStatus(v string) *EndpointMessageResult {
21165	s.DeliveryStatus = &v
21166	return s
21167}
21168
21169// SetMessageId sets the MessageId field's value.
21170func (s *EndpointMessageResult) SetMessageId(v string) *EndpointMessageResult {
21171	s.MessageId = &v
21172	return s
21173}
21174
21175// SetStatusCode sets the StatusCode field's value.
21176func (s *EndpointMessageResult) SetStatusCode(v int64) *EndpointMessageResult {
21177	s.StatusCode = &v
21178	return s
21179}
21180
21181// SetStatusMessage sets the StatusMessage field's value.
21182func (s *EndpointMessageResult) SetStatusMessage(v string) *EndpointMessageResult {
21183	s.StatusMessage = &v
21184	return s
21185}
21186
21187// SetUpdatedToken sets the UpdatedToken field's value.
21188func (s *EndpointMessageResult) SetUpdatedToken(v string) *EndpointMessageResult {
21189	s.UpdatedToken = &v
21190	return s
21191}
21192
21193// Specifies the channel type and other settings for an endpoint.
21194type EndpointRequest struct {
21195	_ struct{} `type:"structure"`
21196
21197	// The destination address for messages or push notifications that you send
21198	// to the endpoint. The address varies by channel. For a push-notification channel,
21199	// use the token provided by the push notification service, such as an Apple
21200	// Push Notification service (APNs) device token or a Firebase Cloud Messaging
21201	// (FCM) registration token. For the SMS channel, use a phone number in E.164
21202	// format, such as +12065550100. For the email channel, use an email address.
21203	Address *string `type:"string"`
21204
21205	// One or more custom attributes that describe the endpoint by associating a
21206	// name with an array of values. For example, the value of a custom attribute
21207	// named Interests might be: ["Science", "Music", "Travel"]. You can use these
21208	// attributes as filter criteria when you create segments. Attribute names are
21209	// case sensitive.
21210	//
21211	// An attribute name can contain up to 50 characters. An attribute value can
21212	// contain up to 100 characters. When you define the name of a custom attribute,
21213	// avoid using the following characters: number sign (#), colon (:), question
21214	// mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't
21215	// display attribute names that contain these characters. This restriction doesn't
21216	// apply to attribute values.
21217	Attributes map[string][]*string `type:"map"`
21218
21219	// The channel to use when sending messages or push notifications to the endpoint.
21220	ChannelType *string `type:"string" enum:"ChannelType"`
21221
21222	// The demographic information for the endpoint, such as the time zone and platform.
21223	Demographic *EndpointDemographic `type:"structure"`
21224
21225	// The date and time, in ISO 8601 format, when the endpoint is updated.
21226	EffectiveDate *string `type:"string"`
21227
21228	// Specifies whether to send messages or push notifications to the endpoint.
21229	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
21230	// messages aren’t sent to the endpoint.
21231	//
21232	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
21233	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
21234	// this value to INACTIVE if you update another endpoint that has the same address
21235	// specified by the Address property.
21236	EndpointStatus *string `type:"string"`
21237
21238	// The geographic information for the endpoint.
21239	Location *EndpointLocation `type:"structure"`
21240
21241	// One or more custom metrics that your app reports to Amazon Pinpoint for the
21242	// endpoint.
21243	Metrics map[string]*float64 `type:"map"`
21244
21245	// Specifies whether the user who's associated with the endpoint has opted out
21246	// of receiving messages and push notifications from you. Possible values are:
21247	// ALL, the user has opted out and doesn't want to receive any messages or push
21248	// notifications; and, NONE, the user hasn't opted out and wants to receive
21249	// all messages and push notifications.
21250	OptOut *string `type:"string"`
21251
21252	// The unique identifier for the most recent request to update the endpoint.
21253	RequestId *string `type:"string"`
21254
21255	// One or more custom attributes that describe the user who's associated with
21256	// the endpoint.
21257	User *EndpointUser `type:"structure"`
21258}
21259
21260// String returns the string representation.
21261//
21262// API parameter values that are decorated as "sensitive" in the API will not
21263// be included in the string output. The member name will be present, but the
21264// value will be replaced with "sensitive".
21265func (s EndpointRequest) String() string {
21266	return awsutil.Prettify(s)
21267}
21268
21269// GoString returns the string representation.
21270//
21271// API parameter values that are decorated as "sensitive" in the API will not
21272// be included in the string output. The member name will be present, but the
21273// value will be replaced with "sensitive".
21274func (s EndpointRequest) GoString() string {
21275	return s.String()
21276}
21277
21278// SetAddress sets the Address field's value.
21279func (s *EndpointRequest) SetAddress(v string) *EndpointRequest {
21280	s.Address = &v
21281	return s
21282}
21283
21284// SetAttributes sets the Attributes field's value.
21285func (s *EndpointRequest) SetAttributes(v map[string][]*string) *EndpointRequest {
21286	s.Attributes = v
21287	return s
21288}
21289
21290// SetChannelType sets the ChannelType field's value.
21291func (s *EndpointRequest) SetChannelType(v string) *EndpointRequest {
21292	s.ChannelType = &v
21293	return s
21294}
21295
21296// SetDemographic sets the Demographic field's value.
21297func (s *EndpointRequest) SetDemographic(v *EndpointDemographic) *EndpointRequest {
21298	s.Demographic = v
21299	return s
21300}
21301
21302// SetEffectiveDate sets the EffectiveDate field's value.
21303func (s *EndpointRequest) SetEffectiveDate(v string) *EndpointRequest {
21304	s.EffectiveDate = &v
21305	return s
21306}
21307
21308// SetEndpointStatus sets the EndpointStatus field's value.
21309func (s *EndpointRequest) SetEndpointStatus(v string) *EndpointRequest {
21310	s.EndpointStatus = &v
21311	return s
21312}
21313
21314// SetLocation sets the Location field's value.
21315func (s *EndpointRequest) SetLocation(v *EndpointLocation) *EndpointRequest {
21316	s.Location = v
21317	return s
21318}
21319
21320// SetMetrics sets the Metrics field's value.
21321func (s *EndpointRequest) SetMetrics(v map[string]*float64) *EndpointRequest {
21322	s.Metrics = v
21323	return s
21324}
21325
21326// SetOptOut sets the OptOut field's value.
21327func (s *EndpointRequest) SetOptOut(v string) *EndpointRequest {
21328	s.OptOut = &v
21329	return s
21330}
21331
21332// SetRequestId sets the RequestId field's value.
21333func (s *EndpointRequest) SetRequestId(v string) *EndpointRequest {
21334	s.RequestId = &v
21335	return s
21336}
21337
21338// SetUser sets the User field's value.
21339func (s *EndpointRequest) SetUser(v *EndpointUser) *EndpointRequest {
21340	s.User = v
21341	return s
21342}
21343
21344// Provides information about the channel type and other settings for an endpoint.
21345type EndpointResponse struct {
21346	_ struct{} `type:"structure"`
21347
21348	// The destination address for messages or push notifications that you send
21349	// to the endpoint. The address varies by channel. For example, the address
21350	// for a push-notification channel is typically the token provided by a push
21351	// notification service, such as an Apple Push Notification service (APNs) device
21352	// token or a Firebase Cloud Messaging (FCM) registration token. The address
21353	// for the SMS channel is a phone number in E.164 format, such as +12065550100.
21354	// The address for the email channel is an email address.
21355	Address *string `type:"string"`
21356
21357	// The unique identifier for the application that's associated with the endpoint.
21358	ApplicationId *string `type:"string"`
21359
21360	// One or more custom attributes that describe the endpoint by associating a
21361	// name with an array of values. For example, the value of a custom attribute
21362	// named Interests might be: ["Science", "Music", "Travel"]. You can use these
21363	// attributes as filter criteria when you create segments.
21364	Attributes map[string][]*string `type:"map"`
21365
21366	// The channel that's used when sending messages or push notifications to the
21367	// endpoint.
21368	ChannelType *string `type:"string" enum:"ChannelType"`
21369
21370	// A number from 0-99 that represents the cohort that the endpoint is assigned
21371	// to. Endpoints are grouped into cohorts randomly, and each cohort contains
21372	// approximately 1 percent of the endpoints for an application. Amazon Pinpoint
21373	// assigns cohorts to the holdout or treatment allocations for campaigns.
21374	CohortId *string `type:"string"`
21375
21376	// The date and time, in ISO 8601 format, when the endpoint was created.
21377	CreationDate *string `type:"string"`
21378
21379	// The demographic information for the endpoint, such as the time zone and platform.
21380	Demographic *EndpointDemographic `type:"structure"`
21381
21382	// The date and time, in ISO 8601 format, when the endpoint was last updated.
21383	EffectiveDate *string `type:"string"`
21384
21385	// Specifies whether messages or push notifications are sent to the endpoint.
21386	// Possible values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
21387	// messages aren’t sent to the endpoint.
21388	//
21389	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
21390	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
21391	// this value to INACTIVE if you update another endpoint that has the same address
21392	// specified by the Address property.
21393	EndpointStatus *string `type:"string"`
21394
21395	// The unique identifier that you assigned to the endpoint. The identifier should
21396	// be a globally unique identifier (GUID) to ensure that it doesn't conflict
21397	// with other endpoint identifiers that are associated with the application.
21398	Id *string `type:"string"`
21399
21400	// The geographic information for the endpoint.
21401	Location *EndpointLocation `type:"structure"`
21402
21403	// One or more custom metrics that your app reports to Amazon Pinpoint for the
21404	// endpoint.
21405	Metrics map[string]*float64 `type:"map"`
21406
21407	// Specifies whether the user who's associated with the endpoint has opted out
21408	// of receiving messages and push notifications from you. Possible values are:
21409	// ALL, the user has opted out and doesn't want to receive any messages or push
21410	// notifications; and, NONE, the user hasn't opted out and wants to receive
21411	// all messages and push notifications.
21412	OptOut *string `type:"string"`
21413
21414	// The unique identifier for the most recent request to update the endpoint.
21415	RequestId *string `type:"string"`
21416
21417	// One or more custom user attributes that your app reports to Amazon Pinpoint
21418	// for the user who's associated with the endpoint.
21419	User *EndpointUser `type:"structure"`
21420}
21421
21422// String returns the string representation.
21423//
21424// API parameter values that are decorated as "sensitive" in the API will not
21425// be included in the string output. The member name will be present, but the
21426// value will be replaced with "sensitive".
21427func (s EndpointResponse) String() string {
21428	return awsutil.Prettify(s)
21429}
21430
21431// GoString returns the string representation.
21432//
21433// API parameter values that are decorated as "sensitive" in the API will not
21434// be included in the string output. The member name will be present, but the
21435// value will be replaced with "sensitive".
21436func (s EndpointResponse) GoString() string {
21437	return s.String()
21438}
21439
21440// SetAddress sets the Address field's value.
21441func (s *EndpointResponse) SetAddress(v string) *EndpointResponse {
21442	s.Address = &v
21443	return s
21444}
21445
21446// SetApplicationId sets the ApplicationId field's value.
21447func (s *EndpointResponse) SetApplicationId(v string) *EndpointResponse {
21448	s.ApplicationId = &v
21449	return s
21450}
21451
21452// SetAttributes sets the Attributes field's value.
21453func (s *EndpointResponse) SetAttributes(v map[string][]*string) *EndpointResponse {
21454	s.Attributes = v
21455	return s
21456}
21457
21458// SetChannelType sets the ChannelType field's value.
21459func (s *EndpointResponse) SetChannelType(v string) *EndpointResponse {
21460	s.ChannelType = &v
21461	return s
21462}
21463
21464// SetCohortId sets the CohortId field's value.
21465func (s *EndpointResponse) SetCohortId(v string) *EndpointResponse {
21466	s.CohortId = &v
21467	return s
21468}
21469
21470// SetCreationDate sets the CreationDate field's value.
21471func (s *EndpointResponse) SetCreationDate(v string) *EndpointResponse {
21472	s.CreationDate = &v
21473	return s
21474}
21475
21476// SetDemographic sets the Demographic field's value.
21477func (s *EndpointResponse) SetDemographic(v *EndpointDemographic) *EndpointResponse {
21478	s.Demographic = v
21479	return s
21480}
21481
21482// SetEffectiveDate sets the EffectiveDate field's value.
21483func (s *EndpointResponse) SetEffectiveDate(v string) *EndpointResponse {
21484	s.EffectiveDate = &v
21485	return s
21486}
21487
21488// SetEndpointStatus sets the EndpointStatus field's value.
21489func (s *EndpointResponse) SetEndpointStatus(v string) *EndpointResponse {
21490	s.EndpointStatus = &v
21491	return s
21492}
21493
21494// SetId sets the Id field's value.
21495func (s *EndpointResponse) SetId(v string) *EndpointResponse {
21496	s.Id = &v
21497	return s
21498}
21499
21500// SetLocation sets the Location field's value.
21501func (s *EndpointResponse) SetLocation(v *EndpointLocation) *EndpointResponse {
21502	s.Location = v
21503	return s
21504}
21505
21506// SetMetrics sets the Metrics field's value.
21507func (s *EndpointResponse) SetMetrics(v map[string]*float64) *EndpointResponse {
21508	s.Metrics = v
21509	return s
21510}
21511
21512// SetOptOut sets the OptOut field's value.
21513func (s *EndpointResponse) SetOptOut(v string) *EndpointResponse {
21514	s.OptOut = &v
21515	return s
21516}
21517
21518// SetRequestId sets the RequestId field's value.
21519func (s *EndpointResponse) SetRequestId(v string) *EndpointResponse {
21520	s.RequestId = &v
21521	return s
21522}
21523
21524// SetUser sets the User field's value.
21525func (s *EndpointResponse) SetUser(v *EndpointUser) *EndpointResponse {
21526	s.User = v
21527	return s
21528}
21529
21530// Specifies the content, including message variables and attributes, to use
21531// in a message that's sent directly to an endpoint.
21532type EndpointSendConfiguration struct {
21533	_ struct{} `type:"structure"`
21534
21535	// The body of the message. If specified, this value overrides the default message
21536	// body.
21537	BodyOverride *string `type:"string"`
21538
21539	// A map of custom attributes to attach to the message for the address. Attribute
21540	// names are case sensitive.
21541	//
21542	// For a push notification, this payload is added to the data.pinpoint object.
21543	// For an email or text message, this payload is added to email/SMS delivery
21544	// receipt event attributes.
21545	Context map[string]*string `type:"map"`
21546
21547	// The raw, JSON-formatted string to use as the payload for the message. If
21548	// specified, this value overrides all other values for the message.
21549	RawContent *string `type:"string"`
21550
21551	// A map of the message variables to merge with the variables specified for
21552	// the default message (DefaultMessage.Substitutions). The variables specified
21553	// in this map take precedence over all other variables.
21554	Substitutions map[string][]*string `type:"map"`
21555
21556	// The title or subject line of the message. If specified, this value overrides
21557	// the default message title or subject line.
21558	TitleOverride *string `type:"string"`
21559}
21560
21561// String returns the string representation.
21562//
21563// API parameter values that are decorated as "sensitive" in the API will not
21564// be included in the string output. The member name will be present, but the
21565// value will be replaced with "sensitive".
21566func (s EndpointSendConfiguration) String() string {
21567	return awsutil.Prettify(s)
21568}
21569
21570// GoString returns the string representation.
21571//
21572// API parameter values that are decorated as "sensitive" in the API will not
21573// be included in the string output. The member name will be present, but the
21574// value will be replaced with "sensitive".
21575func (s EndpointSendConfiguration) GoString() string {
21576	return s.String()
21577}
21578
21579// SetBodyOverride sets the BodyOverride field's value.
21580func (s *EndpointSendConfiguration) SetBodyOverride(v string) *EndpointSendConfiguration {
21581	s.BodyOverride = &v
21582	return s
21583}
21584
21585// SetContext sets the Context field's value.
21586func (s *EndpointSendConfiguration) SetContext(v map[string]*string) *EndpointSendConfiguration {
21587	s.Context = v
21588	return s
21589}
21590
21591// SetRawContent sets the RawContent field's value.
21592func (s *EndpointSendConfiguration) SetRawContent(v string) *EndpointSendConfiguration {
21593	s.RawContent = &v
21594	return s
21595}
21596
21597// SetSubstitutions sets the Substitutions field's value.
21598func (s *EndpointSendConfiguration) SetSubstitutions(v map[string][]*string) *EndpointSendConfiguration {
21599	s.Substitutions = v
21600	return s
21601}
21602
21603// SetTitleOverride sets the TitleOverride field's value.
21604func (s *EndpointSendConfiguration) SetTitleOverride(v string) *EndpointSendConfiguration {
21605	s.TitleOverride = &v
21606	return s
21607}
21608
21609// Specifies data for one or more attributes that describe the user who's associated
21610// with an endpoint.
21611type EndpointUser struct {
21612	_ struct{} `type:"structure"`
21613
21614	// One or more custom attributes that describe the user by associating a name
21615	// with an array of values. For example, the value of an attribute named Interests
21616	// might be: ["Science", "Music", "Travel"]. You can use these attributes as
21617	// filter criteria when you create segments. Attribute names are case sensitive.
21618	//
21619	// An attribute name can contain up to 50 characters. An attribute value can
21620	// contain up to 100 characters. When you define the name of a custom attribute,
21621	// avoid using the following characters: number sign (#), colon (:), question
21622	// mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't
21623	// display attribute names that contain these characters. This restriction doesn't
21624	// apply to attribute values.
21625	UserAttributes map[string][]*string `type:"map"`
21626
21627	// The unique identifier for the user.
21628	UserId *string `type:"string"`
21629}
21630
21631// String returns the string representation.
21632//
21633// API parameter values that are decorated as "sensitive" in the API will not
21634// be included in the string output. The member name will be present, but the
21635// value will be replaced with "sensitive".
21636func (s EndpointUser) String() string {
21637	return awsutil.Prettify(s)
21638}
21639
21640// GoString returns the string representation.
21641//
21642// API parameter values that are decorated as "sensitive" in the API will not
21643// be included in the string output. The member name will be present, but the
21644// value will be replaced with "sensitive".
21645func (s EndpointUser) GoString() string {
21646	return s.String()
21647}
21648
21649// SetUserAttributes sets the UserAttributes field's value.
21650func (s *EndpointUser) SetUserAttributes(v map[string][]*string) *EndpointUser {
21651	s.UserAttributes = v
21652	return s
21653}
21654
21655// SetUserId sets the UserId field's value.
21656func (s *EndpointUser) SetUserId(v string) *EndpointUser {
21657	s.UserId = &v
21658	return s
21659}
21660
21661// Provides information about all the endpoints that are associated with a user
21662// ID.
21663type EndpointsResponse struct {
21664	_ struct{} `type:"structure"`
21665
21666	// An array of responses, one for each endpoint that's associated with the user
21667	// ID.
21668	//
21669	// Item is a required field
21670	Item []*EndpointResponse `type:"list" required:"true"`
21671}
21672
21673// String returns the string representation.
21674//
21675// API parameter values that are decorated as "sensitive" in the API will not
21676// be included in the string output. The member name will be present, but the
21677// value will be replaced with "sensitive".
21678func (s EndpointsResponse) String() string {
21679	return awsutil.Prettify(s)
21680}
21681
21682// GoString returns the string representation.
21683//
21684// API parameter values that are decorated as "sensitive" in the API will not
21685// be included in the string output. The member name will be present, but the
21686// value will be replaced with "sensitive".
21687func (s EndpointsResponse) GoString() string {
21688	return s.String()
21689}
21690
21691// SetItem sets the Item field's value.
21692func (s *EndpointsResponse) SetItem(v []*EndpointResponse) *EndpointsResponse {
21693	s.Item = v
21694	return s
21695}
21696
21697// Specifies information about an event that reports data to Amazon Pinpoint.
21698type Event struct {
21699	_ struct{} `type:"structure"`
21700
21701	// The package name of the app that's recording the event.
21702	AppPackageName *string `type:"string"`
21703
21704	// The title of the app that's recording the event.
21705	AppTitle *string `type:"string"`
21706
21707	// The version number of the app that's recording the event.
21708	AppVersionCode *string `type:"string"`
21709
21710	// One or more custom attributes that are associated with the event.
21711	Attributes map[string]*string `type:"map"`
21712
21713	// The version of the SDK that's running on the client device.
21714	ClientSdkVersion *string `type:"string"`
21715
21716	// The name of the event.
21717	//
21718	// EventType is a required field
21719	EventType *string `type:"string" required:"true"`
21720
21721	// One or more custom metrics that are associated with the event.
21722	Metrics map[string]*float64 `type:"map"`
21723
21724	// The name of the SDK that's being used to record the event.
21725	SdkName *string `type:"string"`
21726
21727	// Information about the session in which the event occurred.
21728	Session *Session `type:"structure"`
21729
21730	// The date and time, in ISO 8601 format, when the event occurred.
21731	//
21732	// Timestamp is a required field
21733	Timestamp *string `type:"string" required:"true"`
21734}
21735
21736// String returns the string representation.
21737//
21738// API parameter values that are decorated as "sensitive" in the API will not
21739// be included in the string output. The member name will be present, but the
21740// value will be replaced with "sensitive".
21741func (s Event) String() string {
21742	return awsutil.Prettify(s)
21743}
21744
21745// GoString returns the string representation.
21746//
21747// API parameter values that are decorated as "sensitive" in the API will not
21748// be included in the string output. The member name will be present, but the
21749// value will be replaced with "sensitive".
21750func (s Event) GoString() string {
21751	return s.String()
21752}
21753
21754// Validate inspects the fields of the type to determine if they are valid.
21755func (s *Event) Validate() error {
21756	invalidParams := request.ErrInvalidParams{Context: "Event"}
21757	if s.EventType == nil {
21758		invalidParams.Add(request.NewErrParamRequired("EventType"))
21759	}
21760	if s.Timestamp == nil {
21761		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
21762	}
21763	if s.Session != nil {
21764		if err := s.Session.Validate(); err != nil {
21765			invalidParams.AddNested("Session", err.(request.ErrInvalidParams))
21766		}
21767	}
21768
21769	if invalidParams.Len() > 0 {
21770		return invalidParams
21771	}
21772	return nil
21773}
21774
21775// SetAppPackageName sets the AppPackageName field's value.
21776func (s *Event) SetAppPackageName(v string) *Event {
21777	s.AppPackageName = &v
21778	return s
21779}
21780
21781// SetAppTitle sets the AppTitle field's value.
21782func (s *Event) SetAppTitle(v string) *Event {
21783	s.AppTitle = &v
21784	return s
21785}
21786
21787// SetAppVersionCode sets the AppVersionCode field's value.
21788func (s *Event) SetAppVersionCode(v string) *Event {
21789	s.AppVersionCode = &v
21790	return s
21791}
21792
21793// SetAttributes sets the Attributes field's value.
21794func (s *Event) SetAttributes(v map[string]*string) *Event {
21795	s.Attributes = v
21796	return s
21797}
21798
21799// SetClientSdkVersion sets the ClientSdkVersion field's value.
21800func (s *Event) SetClientSdkVersion(v string) *Event {
21801	s.ClientSdkVersion = &v
21802	return s
21803}
21804
21805// SetEventType sets the EventType field's value.
21806func (s *Event) SetEventType(v string) *Event {
21807	s.EventType = &v
21808	return s
21809}
21810
21811// SetMetrics sets the Metrics field's value.
21812func (s *Event) SetMetrics(v map[string]*float64) *Event {
21813	s.Metrics = v
21814	return s
21815}
21816
21817// SetSdkName sets the SdkName field's value.
21818func (s *Event) SetSdkName(v string) *Event {
21819	s.SdkName = &v
21820	return s
21821}
21822
21823// SetSession sets the Session field's value.
21824func (s *Event) SetSession(v *Session) *Event {
21825	s.Session = v
21826	return s
21827}
21828
21829// SetTimestamp sets the Timestamp field's value.
21830func (s *Event) SetTimestamp(v string) *Event {
21831	s.Timestamp = &v
21832	return s
21833}
21834
21835// Specifies the conditions to evaluate for an event that applies to an activity
21836// in a journey.
21837type EventCondition struct {
21838	_ struct{} `type:"structure"`
21839
21840	// The dimensions for the event filter to use for the activity.
21841	Dimensions *EventDimensions `type:"structure"`
21842
21843	// The message identifier (message_id) for the message to use when determining
21844	// whether message events meet the condition.
21845	MessageActivity *string `type:"string"`
21846}
21847
21848// String returns the string representation.
21849//
21850// API parameter values that are decorated as "sensitive" in the API will not
21851// be included in the string output. The member name will be present, but the
21852// value will be replaced with "sensitive".
21853func (s EventCondition) String() string {
21854	return awsutil.Prettify(s)
21855}
21856
21857// GoString returns the string representation.
21858//
21859// API parameter values that are decorated as "sensitive" in the API will not
21860// be included in the string output. The member name will be present, but the
21861// value will be replaced with "sensitive".
21862func (s EventCondition) GoString() string {
21863	return s.String()
21864}
21865
21866// Validate inspects the fields of the type to determine if they are valid.
21867func (s *EventCondition) Validate() error {
21868	invalidParams := request.ErrInvalidParams{Context: "EventCondition"}
21869	if s.Dimensions != nil {
21870		if err := s.Dimensions.Validate(); err != nil {
21871			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
21872		}
21873	}
21874
21875	if invalidParams.Len() > 0 {
21876		return invalidParams
21877	}
21878	return nil
21879}
21880
21881// SetDimensions sets the Dimensions field's value.
21882func (s *EventCondition) SetDimensions(v *EventDimensions) *EventCondition {
21883	s.Dimensions = v
21884	return s
21885}
21886
21887// SetMessageActivity sets the MessageActivity field's value.
21888func (s *EventCondition) SetMessageActivity(v string) *EventCondition {
21889	s.MessageActivity = &v
21890	return s
21891}
21892
21893// Specifies the dimensions for an event filter that determines when a campaign
21894// is sent or a journey activity is performed.
21895type EventDimensions struct {
21896	_ struct{} `type:"structure"`
21897
21898	// One or more custom attributes that your application reports to Amazon Pinpoint.
21899	// You can use these attributes as selection criteria when you create an event
21900	// filter.
21901	Attributes map[string]*AttributeDimension `type:"map"`
21902
21903	// The name of the event that causes the campaign to be sent or the journey
21904	// activity to be performed. This can be a standard event that Amazon Pinpoint
21905	// generates, such as _email.delivered. For campaigns, this can also be a custom
21906	// event that's specific to your application. For information about standard
21907	// events, see Streaming Amazon Pinpoint Events (https://docs.aws.amazon.com/pinpoint/latest/developerguide/event-streams.html)
21908	// in the Amazon Pinpoint Developer Guide.
21909	EventType *SetDimension `type:"structure"`
21910
21911	// One or more custom metrics that your application reports to Amazon Pinpoint.
21912	// You can use these metrics as selection criteria when you create an event
21913	// filter.
21914	Metrics map[string]*MetricDimension `type:"map"`
21915}
21916
21917// String returns the string representation.
21918//
21919// API parameter values that are decorated as "sensitive" in the API will not
21920// be included in the string output. The member name will be present, but the
21921// value will be replaced with "sensitive".
21922func (s EventDimensions) String() string {
21923	return awsutil.Prettify(s)
21924}
21925
21926// GoString returns the string representation.
21927//
21928// API parameter values that are decorated as "sensitive" in the API will not
21929// be included in the string output. The member name will be present, but the
21930// value will be replaced with "sensitive".
21931func (s EventDimensions) GoString() string {
21932	return s.String()
21933}
21934
21935// Validate inspects the fields of the type to determine if they are valid.
21936func (s *EventDimensions) Validate() error {
21937	invalidParams := request.ErrInvalidParams{Context: "EventDimensions"}
21938	if s.Attributes != nil {
21939		for i, v := range s.Attributes {
21940			if v == nil {
21941				continue
21942			}
21943			if err := v.Validate(); err != nil {
21944				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
21945			}
21946		}
21947	}
21948	if s.EventType != nil {
21949		if err := s.EventType.Validate(); err != nil {
21950			invalidParams.AddNested("EventType", err.(request.ErrInvalidParams))
21951		}
21952	}
21953	if s.Metrics != nil {
21954		for i, v := range s.Metrics {
21955			if v == nil {
21956				continue
21957			}
21958			if err := v.Validate(); err != nil {
21959				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams))
21960			}
21961		}
21962	}
21963
21964	if invalidParams.Len() > 0 {
21965		return invalidParams
21966	}
21967	return nil
21968}
21969
21970// SetAttributes sets the Attributes field's value.
21971func (s *EventDimensions) SetAttributes(v map[string]*AttributeDimension) *EventDimensions {
21972	s.Attributes = v
21973	return s
21974}
21975
21976// SetEventType sets the EventType field's value.
21977func (s *EventDimensions) SetEventType(v *SetDimension) *EventDimensions {
21978	s.EventType = v
21979	return s
21980}
21981
21982// SetMetrics sets the Metrics field's value.
21983func (s *EventDimensions) SetMetrics(v map[string]*MetricDimension) *EventDimensions {
21984	s.Metrics = v
21985	return s
21986}
21987
21988// Specifies the settings for an event that causes a campaign to be sent or
21989// a journey activity to be performed.
21990type EventFilter struct {
21991	_ struct{} `type:"structure"`
21992
21993	// The dimensions for the event filter to use for the campaign or the journey
21994	// activity.
21995	//
21996	// Dimensions is a required field
21997	Dimensions *EventDimensions `type:"structure" required:"true"`
21998
21999	// The type of event that causes the campaign to be sent or the journey activity
22000	// to be performed. Valid values are: SYSTEM, sends the campaign or performs
22001	// the activity when a system event occurs; and, ENDPOINT, sends the campaign
22002	// or performs the activity when an endpoint event (Events resource) occurs.
22003	//
22004	// FilterType is a required field
22005	FilterType *string `type:"string" required:"true" enum:"FilterType"`
22006}
22007
22008// String returns the string representation.
22009//
22010// API parameter values that are decorated as "sensitive" in the API will not
22011// be included in the string output. The member name will be present, but the
22012// value will be replaced with "sensitive".
22013func (s EventFilter) String() string {
22014	return awsutil.Prettify(s)
22015}
22016
22017// GoString returns the string representation.
22018//
22019// API parameter values that are decorated as "sensitive" in the API will not
22020// be included in the string output. The member name will be present, but the
22021// value will be replaced with "sensitive".
22022func (s EventFilter) GoString() string {
22023	return s.String()
22024}
22025
22026// Validate inspects the fields of the type to determine if they are valid.
22027func (s *EventFilter) Validate() error {
22028	invalidParams := request.ErrInvalidParams{Context: "EventFilter"}
22029	if s.Dimensions == nil {
22030		invalidParams.Add(request.NewErrParamRequired("Dimensions"))
22031	}
22032	if s.FilterType == nil {
22033		invalidParams.Add(request.NewErrParamRequired("FilterType"))
22034	}
22035	if s.Dimensions != nil {
22036		if err := s.Dimensions.Validate(); err != nil {
22037			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
22038		}
22039	}
22040
22041	if invalidParams.Len() > 0 {
22042		return invalidParams
22043	}
22044	return nil
22045}
22046
22047// SetDimensions sets the Dimensions field's value.
22048func (s *EventFilter) SetDimensions(v *EventDimensions) *EventFilter {
22049	s.Dimensions = v
22050	return s
22051}
22052
22053// SetFilterType sets the FilterType field's value.
22054func (s *EventFilter) SetFilterType(v string) *EventFilter {
22055	s.FilterType = &v
22056	return s
22057}
22058
22059// Provides the status code and message that result from processing an event.
22060type EventItemResponse struct {
22061	_ struct{} `type:"structure"`
22062
22063	// A custom message that's returned in the response as a result of processing
22064	// the event.
22065	Message *string `type:"string"`
22066
22067	// The status code that's returned in the response as a result of processing
22068	// the event. Possible values are: 202, for events that were accepted; and,
22069	// 400, for events that weren't valid.
22070	StatusCode *int64 `type:"integer"`
22071}
22072
22073// String returns the string representation.
22074//
22075// API parameter values that are decorated as "sensitive" in the API will not
22076// be included in the string output. The member name will be present, but the
22077// value will be replaced with "sensitive".
22078func (s EventItemResponse) String() string {
22079	return awsutil.Prettify(s)
22080}
22081
22082// GoString returns the string representation.
22083//
22084// API parameter values that are decorated as "sensitive" in the API will not
22085// be included in the string output. The member name will be present, but the
22086// value will be replaced with "sensitive".
22087func (s EventItemResponse) GoString() string {
22088	return s.String()
22089}
22090
22091// SetMessage sets the Message field's value.
22092func (s *EventItemResponse) SetMessage(v string) *EventItemResponse {
22093	s.Message = &v
22094	return s
22095}
22096
22097// SetStatusCode sets the StatusCode field's value.
22098func (s *EventItemResponse) SetStatusCode(v int64) *EventItemResponse {
22099	s.StatusCode = &v
22100	return s
22101}
22102
22103// Specifies the settings for an event that causes a journey activity to start.
22104type EventStartCondition struct {
22105	_ struct{} `type:"structure"`
22106
22107	// Specifies the settings for an event that causes a campaign to be sent or
22108	// a journey activity to be performed.
22109	EventFilter *EventFilter `type:"structure"`
22110
22111	SegmentId *string `type:"string"`
22112}
22113
22114// String returns the string representation.
22115//
22116// API parameter values that are decorated as "sensitive" in the API will not
22117// be included in the string output. The member name will be present, but the
22118// value will be replaced with "sensitive".
22119func (s EventStartCondition) String() string {
22120	return awsutil.Prettify(s)
22121}
22122
22123// GoString returns the string representation.
22124//
22125// API parameter values that are decorated as "sensitive" in the API will not
22126// be included in the string output. The member name will be present, but the
22127// value will be replaced with "sensitive".
22128func (s EventStartCondition) GoString() string {
22129	return s.String()
22130}
22131
22132// Validate inspects the fields of the type to determine if they are valid.
22133func (s *EventStartCondition) Validate() error {
22134	invalidParams := request.ErrInvalidParams{Context: "EventStartCondition"}
22135	if s.EventFilter != nil {
22136		if err := s.EventFilter.Validate(); err != nil {
22137			invalidParams.AddNested("EventFilter", err.(request.ErrInvalidParams))
22138		}
22139	}
22140
22141	if invalidParams.Len() > 0 {
22142		return invalidParams
22143	}
22144	return nil
22145}
22146
22147// SetEventFilter sets the EventFilter field's value.
22148func (s *EventStartCondition) SetEventFilter(v *EventFilter) *EventStartCondition {
22149	s.EventFilter = v
22150	return s
22151}
22152
22153// SetSegmentId sets the SegmentId field's value.
22154func (s *EventStartCondition) SetSegmentId(v string) *EventStartCondition {
22155	s.SegmentId = &v
22156	return s
22157}
22158
22159// Specifies settings for publishing event data to an Amazon Kinesis data stream
22160// or an Amazon Kinesis Data Firehose delivery stream.
22161type EventStream struct {
22162	_ struct{} `type:"structure"`
22163
22164	// The unique identifier for the application to publish event data for.
22165	//
22166	// ApplicationId is a required field
22167	ApplicationId *string `type:"string" required:"true"`
22168
22169	// The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon
22170	// Kinesis Data Firehose delivery stream to publish event data to.
22171	//
22172	// For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name
22173	//
22174	// For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name
22175	//
22176	// DestinationStreamArn is a required field
22177	DestinationStreamArn *string `type:"string" required:"true"`
22178
22179	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
22180	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
22181	// an IAM role when publishing event data, but we removed this requirement.
22182	// We don't recommend use of external IDs for IAM roles that are assumed by
22183	// Amazon Pinpoint.
22184	ExternalId *string `type:"string"`
22185
22186	// The date, in ISO 8601 format, when the event stream was last modified.
22187	LastModifiedDate *string `type:"string"`
22188
22189	// The IAM user who last modified the event stream.
22190	LastUpdatedBy *string `type:"string"`
22191
22192	// The AWS Identity and Access Management (IAM) role that authorizes Amazon
22193	// Pinpoint to publish event data to the stream in your AWS account.
22194	//
22195	// RoleArn is a required field
22196	RoleArn *string `type:"string" required:"true"`
22197}
22198
22199// String returns the string representation.
22200//
22201// API parameter values that are decorated as "sensitive" in the API will not
22202// be included in the string output. The member name will be present, but the
22203// value will be replaced with "sensitive".
22204func (s EventStream) String() string {
22205	return awsutil.Prettify(s)
22206}
22207
22208// GoString returns the string representation.
22209//
22210// API parameter values that are decorated as "sensitive" in the API will not
22211// be included in the string output. The member name will be present, but the
22212// value will be replaced with "sensitive".
22213func (s EventStream) GoString() string {
22214	return s.String()
22215}
22216
22217// SetApplicationId sets the ApplicationId field's value.
22218func (s *EventStream) SetApplicationId(v string) *EventStream {
22219	s.ApplicationId = &v
22220	return s
22221}
22222
22223// SetDestinationStreamArn sets the DestinationStreamArn field's value.
22224func (s *EventStream) SetDestinationStreamArn(v string) *EventStream {
22225	s.DestinationStreamArn = &v
22226	return s
22227}
22228
22229// SetExternalId sets the ExternalId field's value.
22230func (s *EventStream) SetExternalId(v string) *EventStream {
22231	s.ExternalId = &v
22232	return s
22233}
22234
22235// SetLastModifiedDate sets the LastModifiedDate field's value.
22236func (s *EventStream) SetLastModifiedDate(v string) *EventStream {
22237	s.LastModifiedDate = &v
22238	return s
22239}
22240
22241// SetLastUpdatedBy sets the LastUpdatedBy field's value.
22242func (s *EventStream) SetLastUpdatedBy(v string) *EventStream {
22243	s.LastUpdatedBy = &v
22244	return s
22245}
22246
22247// SetRoleArn sets the RoleArn field's value.
22248func (s *EventStream) SetRoleArn(v string) *EventStream {
22249	s.RoleArn = &v
22250	return s
22251}
22252
22253// Specifies a batch of endpoints and events to process.
22254type EventsBatch struct {
22255	_ struct{} `type:"structure"`
22256
22257	// A set of properties and attributes that are associated with the endpoint.
22258	//
22259	// Endpoint is a required field
22260	Endpoint *PublicEndpoint `type:"structure" required:"true"`
22261
22262	// A set of properties that are associated with the event.
22263	//
22264	// Events is a required field
22265	Events map[string]*Event `type:"map" required:"true"`
22266}
22267
22268// String returns the string representation.
22269//
22270// API parameter values that are decorated as "sensitive" in the API will not
22271// be included in the string output. The member name will be present, but the
22272// value will be replaced with "sensitive".
22273func (s EventsBatch) String() string {
22274	return awsutil.Prettify(s)
22275}
22276
22277// GoString returns the string representation.
22278//
22279// API parameter values that are decorated as "sensitive" in the API will not
22280// be included in the string output. The member name will be present, but the
22281// value will be replaced with "sensitive".
22282func (s EventsBatch) GoString() string {
22283	return s.String()
22284}
22285
22286// Validate inspects the fields of the type to determine if they are valid.
22287func (s *EventsBatch) Validate() error {
22288	invalidParams := request.ErrInvalidParams{Context: "EventsBatch"}
22289	if s.Endpoint == nil {
22290		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
22291	}
22292	if s.Events == nil {
22293		invalidParams.Add(request.NewErrParamRequired("Events"))
22294	}
22295	if s.Events != nil {
22296		for i, v := range s.Events {
22297			if v == nil {
22298				continue
22299			}
22300			if err := v.Validate(); err != nil {
22301				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams))
22302			}
22303		}
22304	}
22305
22306	if invalidParams.Len() > 0 {
22307		return invalidParams
22308	}
22309	return nil
22310}
22311
22312// SetEndpoint sets the Endpoint field's value.
22313func (s *EventsBatch) SetEndpoint(v *PublicEndpoint) *EventsBatch {
22314	s.Endpoint = v
22315	return s
22316}
22317
22318// SetEvents sets the Events field's value.
22319func (s *EventsBatch) SetEvents(v map[string]*Event) *EventsBatch {
22320	s.Events = v
22321	return s
22322}
22323
22324// Specifies a batch of events to process.
22325type EventsRequest struct {
22326	_ struct{} `type:"structure"`
22327
22328	// The batch of events to process. For each item in a batch, the endpoint ID
22329	// acts as a key that has an EventsBatch object as its value.
22330	//
22331	// BatchItem is a required field
22332	BatchItem map[string]*EventsBatch `type:"map" required:"true"`
22333}
22334
22335// String returns the string representation.
22336//
22337// API parameter values that are decorated as "sensitive" in the API will not
22338// be included in the string output. The member name will be present, but the
22339// value will be replaced with "sensitive".
22340func (s EventsRequest) String() string {
22341	return awsutil.Prettify(s)
22342}
22343
22344// GoString returns the string representation.
22345//
22346// API parameter values that are decorated as "sensitive" in the API will not
22347// be included in the string output. The member name will be present, but the
22348// value will be replaced with "sensitive".
22349func (s EventsRequest) GoString() string {
22350	return s.String()
22351}
22352
22353// Validate inspects the fields of the type to determine if they are valid.
22354func (s *EventsRequest) Validate() error {
22355	invalidParams := request.ErrInvalidParams{Context: "EventsRequest"}
22356	if s.BatchItem == nil {
22357		invalidParams.Add(request.NewErrParamRequired("BatchItem"))
22358	}
22359	if s.BatchItem != nil {
22360		for i, v := range s.BatchItem {
22361			if v == nil {
22362				continue
22363			}
22364			if err := v.Validate(); err != nil {
22365				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BatchItem", i), err.(request.ErrInvalidParams))
22366			}
22367		}
22368	}
22369
22370	if invalidParams.Len() > 0 {
22371		return invalidParams
22372	}
22373	return nil
22374}
22375
22376// SetBatchItem sets the BatchItem field's value.
22377func (s *EventsRequest) SetBatchItem(v map[string]*EventsBatch) *EventsRequest {
22378	s.BatchItem = v
22379	return s
22380}
22381
22382// Provides information about endpoints and the events that they're associated
22383// with.
22384type EventsResponse struct {
22385	_ struct{} `type:"structure"`
22386
22387	// A map that contains a multipart response for each endpoint. For each item
22388	// in this object, the endpoint ID is the key and the item response is the value.
22389	// If no item response exists, the value can also be one of the following: 202,
22390	// the request was processed successfully; or 400, the payload wasn't valid
22391	// or required fields were missing.
22392	Results map[string]*ItemResponse `type:"map"`
22393}
22394
22395// String returns the string representation.
22396//
22397// API parameter values that are decorated as "sensitive" in the API will not
22398// be included in the string output. The member name will be present, but the
22399// value will be replaced with "sensitive".
22400func (s EventsResponse) String() string {
22401	return awsutil.Prettify(s)
22402}
22403
22404// GoString returns the string representation.
22405//
22406// API parameter values that are decorated as "sensitive" in the API will not
22407// be included in the string output. The member name will be present, but the
22408// value will be replaced with "sensitive".
22409func (s EventsResponse) GoString() string {
22410	return s.String()
22411}
22412
22413// SetResults sets the Results field's value.
22414func (s *EventsResponse) SetResults(v map[string]*ItemResponse) *EventsResponse {
22415	s.Results = v
22416	return s
22417}
22418
22419// Specifies the settings for a job that exports endpoint definitions to an
22420// Amazon Simple Storage Service (Amazon S3) bucket.
22421type ExportJobRequest struct {
22422	_ struct{} `type:"structure"`
22423
22424	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
22425	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
22426	// where you want to export endpoint definitions to.
22427	//
22428	// RoleArn is a required field
22429	RoleArn *string `type:"string" required:"true"`
22430
22431	// The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket
22432	// where you want to export endpoint definitions to. This location is typically
22433	// a folder that contains multiple files. The URL should be in the following
22434	// format: s3://bucket-name/folder-name/.
22435	//
22436	// S3UrlPrefix is a required field
22437	S3UrlPrefix *string `type:"string" required:"true"`
22438
22439	// The identifier for the segment to export endpoint definitions from. If you
22440	// don't specify this value, Amazon Pinpoint exports definitions for all the
22441	// endpoints that are associated with the application.
22442	SegmentId *string `type:"string"`
22443
22444	// The version of the segment to export endpoint definitions from, if specified.
22445	SegmentVersion *int64 `type:"integer"`
22446}
22447
22448// String returns the string representation.
22449//
22450// API parameter values that are decorated as "sensitive" in the API will not
22451// be included in the string output. The member name will be present, but the
22452// value will be replaced with "sensitive".
22453func (s ExportJobRequest) String() string {
22454	return awsutil.Prettify(s)
22455}
22456
22457// GoString returns the string representation.
22458//
22459// API parameter values that are decorated as "sensitive" in the API will not
22460// be included in the string output. The member name will be present, but the
22461// value will be replaced with "sensitive".
22462func (s ExportJobRequest) GoString() string {
22463	return s.String()
22464}
22465
22466// Validate inspects the fields of the type to determine if they are valid.
22467func (s *ExportJobRequest) Validate() error {
22468	invalidParams := request.ErrInvalidParams{Context: "ExportJobRequest"}
22469	if s.RoleArn == nil {
22470		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
22471	}
22472	if s.S3UrlPrefix == nil {
22473		invalidParams.Add(request.NewErrParamRequired("S3UrlPrefix"))
22474	}
22475
22476	if invalidParams.Len() > 0 {
22477		return invalidParams
22478	}
22479	return nil
22480}
22481
22482// SetRoleArn sets the RoleArn field's value.
22483func (s *ExportJobRequest) SetRoleArn(v string) *ExportJobRequest {
22484	s.RoleArn = &v
22485	return s
22486}
22487
22488// SetS3UrlPrefix sets the S3UrlPrefix field's value.
22489func (s *ExportJobRequest) SetS3UrlPrefix(v string) *ExportJobRequest {
22490	s.S3UrlPrefix = &v
22491	return s
22492}
22493
22494// SetSegmentId sets the SegmentId field's value.
22495func (s *ExportJobRequest) SetSegmentId(v string) *ExportJobRequest {
22496	s.SegmentId = &v
22497	return s
22498}
22499
22500// SetSegmentVersion sets the SegmentVersion field's value.
22501func (s *ExportJobRequest) SetSegmentVersion(v int64) *ExportJobRequest {
22502	s.SegmentVersion = &v
22503	return s
22504}
22505
22506// Provides information about the resource settings for a job that exports endpoint
22507// definitions to a file. The file can be added directly to an Amazon Simple
22508// Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API or downloaded
22509// directly to a computer by using the Amazon Pinpoint console.
22510type ExportJobResource struct {
22511	_ struct{} `type:"structure"`
22512
22513	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
22514	// (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location
22515	// where the endpoint definitions were exported to.
22516	//
22517	// RoleArn is a required field
22518	RoleArn *string `type:"string" required:"true"`
22519
22520	// The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket
22521	// where the endpoint definitions were exported to. This location is typically
22522	// a folder that contains multiple files. The URL should be in the following
22523	// format: s3://bucket-name/folder-name/.
22524	//
22525	// S3UrlPrefix is a required field
22526	S3UrlPrefix *string `type:"string" required:"true"`
22527
22528	// The identifier for the segment that the endpoint definitions were exported
22529	// from. If this value isn't present, Amazon Pinpoint exported definitions for
22530	// all the endpoints that are associated with the application.
22531	SegmentId *string `type:"string"`
22532
22533	// The version of the segment that the endpoint definitions were exported from.
22534	SegmentVersion *int64 `type:"integer"`
22535}
22536
22537// String returns the string representation.
22538//
22539// API parameter values that are decorated as "sensitive" in the API will not
22540// be included in the string output. The member name will be present, but the
22541// value will be replaced with "sensitive".
22542func (s ExportJobResource) String() string {
22543	return awsutil.Prettify(s)
22544}
22545
22546// GoString returns the string representation.
22547//
22548// API parameter values that are decorated as "sensitive" in the API will not
22549// be included in the string output. The member name will be present, but the
22550// value will be replaced with "sensitive".
22551func (s ExportJobResource) GoString() string {
22552	return s.String()
22553}
22554
22555// SetRoleArn sets the RoleArn field's value.
22556func (s *ExportJobResource) SetRoleArn(v string) *ExportJobResource {
22557	s.RoleArn = &v
22558	return s
22559}
22560
22561// SetS3UrlPrefix sets the S3UrlPrefix field's value.
22562func (s *ExportJobResource) SetS3UrlPrefix(v string) *ExportJobResource {
22563	s.S3UrlPrefix = &v
22564	return s
22565}
22566
22567// SetSegmentId sets the SegmentId field's value.
22568func (s *ExportJobResource) SetSegmentId(v string) *ExportJobResource {
22569	s.SegmentId = &v
22570	return s
22571}
22572
22573// SetSegmentVersion sets the SegmentVersion field's value.
22574func (s *ExportJobResource) SetSegmentVersion(v int64) *ExportJobResource {
22575	s.SegmentVersion = &v
22576	return s
22577}
22578
22579// Provides information about the status and settings of a job that exports
22580// endpoint definitions to a file. The file can be added directly to an Amazon
22581// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
22582// or downloaded directly to a computer by using the Amazon Pinpoint console.
22583type ExportJobResponse struct {
22584	_ struct{} `type:"structure"`
22585
22586	// The unique identifier for the application that's associated with the export
22587	// job.
22588	//
22589	// ApplicationId is a required field
22590	ApplicationId *string `type:"string" required:"true"`
22591
22592	// The number of pieces that were processed successfully (completed) by the
22593	// export job, as of the time of the request.
22594	CompletedPieces *int64 `type:"integer"`
22595
22596	// The date, in ISO 8601 format, when the export job was completed.
22597	CompletionDate *string `type:"string"`
22598
22599	// The date, in ISO 8601 format, when the export job was created.
22600	//
22601	// CreationDate is a required field
22602	CreationDate *string `type:"string" required:"true"`
22603
22604	// The resource settings that apply to the export job.
22605	//
22606	// Definition is a required field
22607	Definition *ExportJobResource `type:"structure" required:"true"`
22608
22609	// The number of pieces that weren't processed successfully (failed) by the
22610	// export job, as of the time of the request.
22611	FailedPieces *int64 `type:"integer"`
22612
22613	// An array of entries, one for each of the first 100 entries that weren't processed
22614	// successfully (failed) by the export job, if any.
22615	Failures []*string `type:"list"`
22616
22617	// The unique identifier for the export job.
22618	//
22619	// Id is a required field
22620	Id *string `type:"string" required:"true"`
22621
22622	// The status of the export job. The job status is FAILED if Amazon Pinpoint
22623	// wasn't able to process one or more pieces in the job.
22624	//
22625	// JobStatus is a required field
22626	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
22627
22628	// The total number of endpoint definitions that weren't processed successfully
22629	// (failed) by the export job, typically because an error, such as a syntax
22630	// error, occurred.
22631	TotalFailures *int64 `type:"integer"`
22632
22633	// The total number of pieces that must be processed to complete the export
22634	// job. Each piece consists of an approximately equal portion of the endpoint
22635	// definitions that are part of the export job.
22636	TotalPieces *int64 `type:"integer"`
22637
22638	// The total number of endpoint definitions that were processed by the export
22639	// job.
22640	TotalProcessed *int64 `type:"integer"`
22641
22642	// The job type. This value is EXPORT for export jobs.
22643	//
22644	// Type is a required field
22645	Type *string `type:"string" required:"true"`
22646}
22647
22648// String returns the string representation.
22649//
22650// API parameter values that are decorated as "sensitive" in the API will not
22651// be included in the string output. The member name will be present, but the
22652// value will be replaced with "sensitive".
22653func (s ExportJobResponse) String() string {
22654	return awsutil.Prettify(s)
22655}
22656
22657// GoString returns the string representation.
22658//
22659// API parameter values that are decorated as "sensitive" in the API will not
22660// be included in the string output. The member name will be present, but the
22661// value will be replaced with "sensitive".
22662func (s ExportJobResponse) GoString() string {
22663	return s.String()
22664}
22665
22666// SetApplicationId sets the ApplicationId field's value.
22667func (s *ExportJobResponse) SetApplicationId(v string) *ExportJobResponse {
22668	s.ApplicationId = &v
22669	return s
22670}
22671
22672// SetCompletedPieces sets the CompletedPieces field's value.
22673func (s *ExportJobResponse) SetCompletedPieces(v int64) *ExportJobResponse {
22674	s.CompletedPieces = &v
22675	return s
22676}
22677
22678// SetCompletionDate sets the CompletionDate field's value.
22679func (s *ExportJobResponse) SetCompletionDate(v string) *ExportJobResponse {
22680	s.CompletionDate = &v
22681	return s
22682}
22683
22684// SetCreationDate sets the CreationDate field's value.
22685func (s *ExportJobResponse) SetCreationDate(v string) *ExportJobResponse {
22686	s.CreationDate = &v
22687	return s
22688}
22689
22690// SetDefinition sets the Definition field's value.
22691func (s *ExportJobResponse) SetDefinition(v *ExportJobResource) *ExportJobResponse {
22692	s.Definition = v
22693	return s
22694}
22695
22696// SetFailedPieces sets the FailedPieces field's value.
22697func (s *ExportJobResponse) SetFailedPieces(v int64) *ExportJobResponse {
22698	s.FailedPieces = &v
22699	return s
22700}
22701
22702// SetFailures sets the Failures field's value.
22703func (s *ExportJobResponse) SetFailures(v []*string) *ExportJobResponse {
22704	s.Failures = v
22705	return s
22706}
22707
22708// SetId sets the Id field's value.
22709func (s *ExportJobResponse) SetId(v string) *ExportJobResponse {
22710	s.Id = &v
22711	return s
22712}
22713
22714// SetJobStatus sets the JobStatus field's value.
22715func (s *ExportJobResponse) SetJobStatus(v string) *ExportJobResponse {
22716	s.JobStatus = &v
22717	return s
22718}
22719
22720// SetTotalFailures sets the TotalFailures field's value.
22721func (s *ExportJobResponse) SetTotalFailures(v int64) *ExportJobResponse {
22722	s.TotalFailures = &v
22723	return s
22724}
22725
22726// SetTotalPieces sets the TotalPieces field's value.
22727func (s *ExportJobResponse) SetTotalPieces(v int64) *ExportJobResponse {
22728	s.TotalPieces = &v
22729	return s
22730}
22731
22732// SetTotalProcessed sets the TotalProcessed field's value.
22733func (s *ExportJobResponse) SetTotalProcessed(v int64) *ExportJobResponse {
22734	s.TotalProcessed = &v
22735	return s
22736}
22737
22738// SetType sets the Type field's value.
22739func (s *ExportJobResponse) SetType(v string) *ExportJobResponse {
22740	s.Type = &v
22741	return s
22742}
22743
22744// Provides information about all the export jobs that are associated with an
22745// application or segment. An export job is a job that exports endpoint definitions
22746// to a file.
22747type ExportJobsResponse struct {
22748	_ struct{} `type:"structure"`
22749
22750	// An array of responses, one for each export job that's associated with the
22751	// application (Export Jobs resource) or segment (Segment Export Jobs resource).
22752	//
22753	// Item is a required field
22754	Item []*ExportJobResponse `type:"list" required:"true"`
22755
22756	// The string to use in a subsequent request to get the next page of results
22757	// in a paginated response. This value is null if there are no additional pages.
22758	NextToken *string `type:"string"`
22759}
22760
22761// String returns the string representation.
22762//
22763// API parameter values that are decorated as "sensitive" in the API will not
22764// be included in the string output. The member name will be present, but the
22765// value will be replaced with "sensitive".
22766func (s ExportJobsResponse) String() string {
22767	return awsutil.Prettify(s)
22768}
22769
22770// GoString returns the string representation.
22771//
22772// API parameter values that are decorated as "sensitive" in the API will not
22773// be included in the string output. The member name will be present, but the
22774// value will be replaced with "sensitive".
22775func (s ExportJobsResponse) GoString() string {
22776	return s.String()
22777}
22778
22779// SetItem sets the Item field's value.
22780func (s *ExportJobsResponse) SetItem(v []*ExportJobResponse) *ExportJobsResponse {
22781	s.Item = v
22782	return s
22783}
22784
22785// SetNextToken sets the NextToken field's value.
22786func (s *ExportJobsResponse) SetNextToken(v string) *ExportJobsResponse {
22787	s.NextToken = &v
22788	return s
22789}
22790
22791// Provides information about an API request or response.
22792type ForbiddenException struct {
22793	_            struct{}                  `type:"structure"`
22794	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
22795
22796	Message_ *string `locationName:"Message" type:"string"`
22797
22798	RequestID_ *string `locationName:"RequestID" type:"string"`
22799}
22800
22801// String returns the string representation.
22802//
22803// API parameter values that are decorated as "sensitive" in the API will not
22804// be included in the string output. The member name will be present, but the
22805// value will be replaced with "sensitive".
22806func (s ForbiddenException) String() string {
22807	return awsutil.Prettify(s)
22808}
22809
22810// GoString returns the string representation.
22811//
22812// API parameter values that are decorated as "sensitive" in the API will not
22813// be included in the string output. The member name will be present, but the
22814// value will be replaced with "sensitive".
22815func (s ForbiddenException) GoString() string {
22816	return s.String()
22817}
22818
22819func newErrorForbiddenException(v protocol.ResponseMetadata) error {
22820	return &ForbiddenException{
22821		RespMetadata: v,
22822	}
22823}
22824
22825// Code returns the exception type name.
22826func (s *ForbiddenException) Code() string {
22827	return "ForbiddenException"
22828}
22829
22830// Message returns the exception's message.
22831func (s *ForbiddenException) Message() string {
22832	if s.Message_ != nil {
22833		return *s.Message_
22834	}
22835	return ""
22836}
22837
22838// OrigErr always returns nil, satisfies awserr.Error interface.
22839func (s *ForbiddenException) OrigErr() error {
22840	return nil
22841}
22842
22843func (s *ForbiddenException) Error() string {
22844	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
22845}
22846
22847// Status code returns the HTTP status code for the request's response error.
22848func (s *ForbiddenException) StatusCode() int {
22849	return s.RespMetadata.StatusCode
22850}
22851
22852// RequestID returns the service's response RequestID for request.
22853func (s *ForbiddenException) RequestID() string {
22854	return s.RespMetadata.RequestID
22855}
22856
22857// Specifies the status and settings of the GCM channel for an application.
22858// This channel enables Amazon Pinpoint to send push notifications through the
22859// Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.
22860type GCMChannelRequest struct {
22861	_ struct{} `type:"structure"`
22862
22863	// The Web API Key, also referred to as an API_KEY or server key, that you received
22864	// from Google to communicate with Google services.
22865	//
22866	// ApiKey is a required field
22867	ApiKey *string `type:"string" required:"true"`
22868
22869	// Specifies whether to enable the GCM channel for the application.
22870	Enabled *bool `type:"boolean"`
22871}
22872
22873// String returns the string representation.
22874//
22875// API parameter values that are decorated as "sensitive" in the API will not
22876// be included in the string output. The member name will be present, but the
22877// value will be replaced with "sensitive".
22878func (s GCMChannelRequest) String() string {
22879	return awsutil.Prettify(s)
22880}
22881
22882// GoString returns the string representation.
22883//
22884// API parameter values that are decorated as "sensitive" in the API will not
22885// be included in the string output. The member name will be present, but the
22886// value will be replaced with "sensitive".
22887func (s GCMChannelRequest) GoString() string {
22888	return s.String()
22889}
22890
22891// Validate inspects the fields of the type to determine if they are valid.
22892func (s *GCMChannelRequest) Validate() error {
22893	invalidParams := request.ErrInvalidParams{Context: "GCMChannelRequest"}
22894	if s.ApiKey == nil {
22895		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
22896	}
22897
22898	if invalidParams.Len() > 0 {
22899		return invalidParams
22900	}
22901	return nil
22902}
22903
22904// SetApiKey sets the ApiKey field's value.
22905func (s *GCMChannelRequest) SetApiKey(v string) *GCMChannelRequest {
22906	s.ApiKey = &v
22907	return s
22908}
22909
22910// SetEnabled sets the Enabled field's value.
22911func (s *GCMChannelRequest) SetEnabled(v bool) *GCMChannelRequest {
22912	s.Enabled = &v
22913	return s
22914}
22915
22916// Provides information about the status and settings of the GCM channel for
22917// an application. The GCM channel enables Amazon Pinpoint to send push notifications
22918// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
22919// (GCM), service.
22920type GCMChannelResponse struct {
22921	_ struct{} `type:"structure"`
22922
22923	// The unique identifier for the application that the GCM channel applies to.
22924	ApplicationId *string `type:"string"`
22925
22926	// The date and time when the GCM channel was enabled.
22927	CreationDate *string `type:"string"`
22928
22929	// The Web API Key, also referred to as an API_KEY or server key, that you received
22930	// from Google to communicate with Google services.
22931	//
22932	// Credential is a required field
22933	Credential *string `type:"string" required:"true"`
22934
22935	// Specifies whether the GCM channel is enabled for the application.
22936	Enabled *bool `type:"boolean"`
22937
22938	// (Not used) This property is retained only for backward compatibility.
22939	HasCredential *bool `type:"boolean"`
22940
22941	// (Deprecated) An identifier for the GCM channel. This property is retained
22942	// only for backward compatibility.
22943	Id *string `type:"string"`
22944
22945	// Specifies whether the GCM channel is archived.
22946	IsArchived *bool `type:"boolean"`
22947
22948	// The user who last modified the GCM channel.
22949	LastModifiedBy *string `type:"string"`
22950
22951	// The date and time when the GCM channel was last modified.
22952	LastModifiedDate *string `type:"string"`
22953
22954	// The type of messaging or notification platform for the channel. For the GCM
22955	// channel, this value is GCM.
22956	//
22957	// Platform is a required field
22958	Platform *string `type:"string" required:"true"`
22959
22960	// The current version of the GCM channel.
22961	Version *int64 `type:"integer"`
22962}
22963
22964// String returns the string representation.
22965//
22966// API parameter values that are decorated as "sensitive" in the API will not
22967// be included in the string output. The member name will be present, but the
22968// value will be replaced with "sensitive".
22969func (s GCMChannelResponse) String() string {
22970	return awsutil.Prettify(s)
22971}
22972
22973// GoString returns the string representation.
22974//
22975// API parameter values that are decorated as "sensitive" in the API will not
22976// be included in the string output. The member name will be present, but the
22977// value will be replaced with "sensitive".
22978func (s GCMChannelResponse) GoString() string {
22979	return s.String()
22980}
22981
22982// SetApplicationId sets the ApplicationId field's value.
22983func (s *GCMChannelResponse) SetApplicationId(v string) *GCMChannelResponse {
22984	s.ApplicationId = &v
22985	return s
22986}
22987
22988// SetCreationDate sets the CreationDate field's value.
22989func (s *GCMChannelResponse) SetCreationDate(v string) *GCMChannelResponse {
22990	s.CreationDate = &v
22991	return s
22992}
22993
22994// SetCredential sets the Credential field's value.
22995func (s *GCMChannelResponse) SetCredential(v string) *GCMChannelResponse {
22996	s.Credential = &v
22997	return s
22998}
22999
23000// SetEnabled sets the Enabled field's value.
23001func (s *GCMChannelResponse) SetEnabled(v bool) *GCMChannelResponse {
23002	s.Enabled = &v
23003	return s
23004}
23005
23006// SetHasCredential sets the HasCredential field's value.
23007func (s *GCMChannelResponse) SetHasCredential(v bool) *GCMChannelResponse {
23008	s.HasCredential = &v
23009	return s
23010}
23011
23012// SetId sets the Id field's value.
23013func (s *GCMChannelResponse) SetId(v string) *GCMChannelResponse {
23014	s.Id = &v
23015	return s
23016}
23017
23018// SetIsArchived sets the IsArchived field's value.
23019func (s *GCMChannelResponse) SetIsArchived(v bool) *GCMChannelResponse {
23020	s.IsArchived = &v
23021	return s
23022}
23023
23024// SetLastModifiedBy sets the LastModifiedBy field's value.
23025func (s *GCMChannelResponse) SetLastModifiedBy(v string) *GCMChannelResponse {
23026	s.LastModifiedBy = &v
23027	return s
23028}
23029
23030// SetLastModifiedDate sets the LastModifiedDate field's value.
23031func (s *GCMChannelResponse) SetLastModifiedDate(v string) *GCMChannelResponse {
23032	s.LastModifiedDate = &v
23033	return s
23034}
23035
23036// SetPlatform sets the Platform field's value.
23037func (s *GCMChannelResponse) SetPlatform(v string) *GCMChannelResponse {
23038	s.Platform = &v
23039	return s
23040}
23041
23042// SetVersion sets the Version field's value.
23043func (s *GCMChannelResponse) SetVersion(v int64) *GCMChannelResponse {
23044	s.Version = &v
23045	return s
23046}
23047
23048// Specifies the settings for a one-time message that's sent directly to an
23049// endpoint through the GCM channel. The GCM channel enables Amazon Pinpoint
23050// to send messages to the Firebase Cloud Messaging (FCM), formerly Google Cloud
23051// Messaging (GCM), service.
23052type GCMMessage struct {
23053	_ struct{} `type:"structure"`
23054
23055	// The action to occur if the recipient taps the push notification. Valid values
23056	// are:
23057	//
23058	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
23059	//    sent to the background. This is the default action.
23060	//
23061	//    * DEEP_LINK - Your app opens and displays a designated user interface
23062	//    in the app. This action uses the deep-linking features of the Android
23063	//    platform.
23064	//
23065	//    * URL - The default mobile browser on the recipient's device opens and
23066	//    loads the web page at a URL that you specify.
23067	Action *string `type:"string" enum:"Action"`
23068
23069	// The body of the notification message.
23070	Body *string `type:"string"`
23071
23072	// An arbitrary string that identifies a group of messages that can be collapsed
23073	// to ensure that only the last message is sent when delivery can resume. This
23074	// helps avoid sending too many instances of the same messages when the recipient's
23075	// device comes online again or becomes active.
23076	//
23077	// Amazon Pinpoint specifies this value in the Firebase Cloud Messaging (FCM)
23078	// collapse_key parameter when it sends the notification message to FCM.
23079	CollapseKey *string `type:"string"`
23080
23081	// The JSON data payload to use for the push notification, if the notification
23082	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
23083	// object of the notification.
23084	Data map[string]*string `type:"map"`
23085
23086	// The icon image name of the asset saved in your app.
23087	IconReference *string `type:"string"`
23088
23089	// The URL of the large icon image to display in the content view of the push
23090	// notification.
23091	ImageIconUrl *string `type:"string"`
23092
23093	// The URL of an image to display in the push notification.
23094	ImageUrl *string `type:"string"`
23095
23096	// para>normal - The notification might be delayed. Delivery is optimized for
23097	// battery usage on the recipient's device. Use this value unless immediate
23098	// delivery is required.
23099	// /listitem>
23100	// high - The notification is sent immediately and might wake a sleeping device.
23101	// /para>
23102	// Amazon Pinpoint specifies this value in the FCM priority parameter when it
23103	// sends the notification message to FCM.
23104	//
23105	// The equivalent values for Apple Push Notification service (APNs) are 5, for
23106	// normal, and 10, for high. If you specify an APNs value for this property,
23107	// Amazon Pinpoint accepts and converts the value to the corresponding FCM value.
23108	Priority *string `type:"string"`
23109
23110	// The raw, JSON-formatted string to use as the payload for the notification
23111	// message. If specified, this value overrides all other content for the message.
23112	RawContent *string `type:"string"`
23113
23114	// The package name of the application where registration tokens must match
23115	// in order for the recipient to receive the message.
23116	RestrictedPackageName *string `type:"string"`
23117
23118	// Specifies whether the notification is a silent push notification, which is
23119	// a push notification that doesn't display on a recipient's device. Silent
23120	// push notifications can be used for cases such as updating an app's configuration
23121	// or supporting phone home functionality.
23122	SilentPush *bool `type:"boolean"`
23123
23124	// The URL of the small icon image to display in the status bar and the content
23125	// view of the push notification.
23126	SmallImageIconUrl *string `type:"string"`
23127
23128	// The sound to play when the recipient receives the push notification. You
23129	// can use the default stream or specify the file name of a sound resource that's
23130	// bundled in your app. On an Android platform, the sound file must reside in
23131	// /res/raw/.
23132	Sound *string `type:"string"`
23133
23134	// The default message variables to use in the notification message. You can
23135	// override the default variables with individual address variables.
23136	Substitutions map[string][]*string `type:"map"`
23137
23138	// The amount of time, in seconds, that FCM should store and attempt to deliver
23139	// the push notification, if the service is unable to deliver the notification
23140	// the first time. If you don't specify this value, FCM defaults to the maximum
23141	// value, which is 2,419,200 seconds (28 days).
23142	//
23143	// Amazon Pinpoint specifies this value in the FCM time_to_live parameter when
23144	// it sends the notification message to FCM.
23145	TimeToLive *int64 `type:"integer"`
23146
23147	// The title to display above the notification message on the recipient's device.
23148	Title *string `type:"string"`
23149
23150	// The URL to open in the recipient's default mobile browser, if a recipient
23151	// taps the push notification and the value of the Action property is URL.
23152	Url *string `type:"string"`
23153}
23154
23155// String returns the string representation.
23156//
23157// API parameter values that are decorated as "sensitive" in the API will not
23158// be included in the string output. The member name will be present, but the
23159// value will be replaced with "sensitive".
23160func (s GCMMessage) String() string {
23161	return awsutil.Prettify(s)
23162}
23163
23164// GoString returns the string representation.
23165//
23166// API parameter values that are decorated as "sensitive" in the API will not
23167// be included in the string output. The member name will be present, but the
23168// value will be replaced with "sensitive".
23169func (s GCMMessage) GoString() string {
23170	return s.String()
23171}
23172
23173// SetAction sets the Action field's value.
23174func (s *GCMMessage) SetAction(v string) *GCMMessage {
23175	s.Action = &v
23176	return s
23177}
23178
23179// SetBody sets the Body field's value.
23180func (s *GCMMessage) SetBody(v string) *GCMMessage {
23181	s.Body = &v
23182	return s
23183}
23184
23185// SetCollapseKey sets the CollapseKey field's value.
23186func (s *GCMMessage) SetCollapseKey(v string) *GCMMessage {
23187	s.CollapseKey = &v
23188	return s
23189}
23190
23191// SetData sets the Data field's value.
23192func (s *GCMMessage) SetData(v map[string]*string) *GCMMessage {
23193	s.Data = v
23194	return s
23195}
23196
23197// SetIconReference sets the IconReference field's value.
23198func (s *GCMMessage) SetIconReference(v string) *GCMMessage {
23199	s.IconReference = &v
23200	return s
23201}
23202
23203// SetImageIconUrl sets the ImageIconUrl field's value.
23204func (s *GCMMessage) SetImageIconUrl(v string) *GCMMessage {
23205	s.ImageIconUrl = &v
23206	return s
23207}
23208
23209// SetImageUrl sets the ImageUrl field's value.
23210func (s *GCMMessage) SetImageUrl(v string) *GCMMessage {
23211	s.ImageUrl = &v
23212	return s
23213}
23214
23215// SetPriority sets the Priority field's value.
23216func (s *GCMMessage) SetPriority(v string) *GCMMessage {
23217	s.Priority = &v
23218	return s
23219}
23220
23221// SetRawContent sets the RawContent field's value.
23222func (s *GCMMessage) SetRawContent(v string) *GCMMessage {
23223	s.RawContent = &v
23224	return s
23225}
23226
23227// SetRestrictedPackageName sets the RestrictedPackageName field's value.
23228func (s *GCMMessage) SetRestrictedPackageName(v string) *GCMMessage {
23229	s.RestrictedPackageName = &v
23230	return s
23231}
23232
23233// SetSilentPush sets the SilentPush field's value.
23234func (s *GCMMessage) SetSilentPush(v bool) *GCMMessage {
23235	s.SilentPush = &v
23236	return s
23237}
23238
23239// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
23240func (s *GCMMessage) SetSmallImageIconUrl(v string) *GCMMessage {
23241	s.SmallImageIconUrl = &v
23242	return s
23243}
23244
23245// SetSound sets the Sound field's value.
23246func (s *GCMMessage) SetSound(v string) *GCMMessage {
23247	s.Sound = &v
23248	return s
23249}
23250
23251// SetSubstitutions sets the Substitutions field's value.
23252func (s *GCMMessage) SetSubstitutions(v map[string][]*string) *GCMMessage {
23253	s.Substitutions = v
23254	return s
23255}
23256
23257// SetTimeToLive sets the TimeToLive field's value.
23258func (s *GCMMessage) SetTimeToLive(v int64) *GCMMessage {
23259	s.TimeToLive = &v
23260	return s
23261}
23262
23263// SetTitle sets the Title field's value.
23264func (s *GCMMessage) SetTitle(v string) *GCMMessage {
23265	s.Title = &v
23266	return s
23267}
23268
23269// SetUrl sets the Url field's value.
23270func (s *GCMMessage) SetUrl(v string) *GCMMessage {
23271	s.Url = &v
23272	return s
23273}
23274
23275// Specifies the GPS coordinates of a location.
23276type GPSCoordinates struct {
23277	_ struct{} `type:"structure"`
23278
23279	// The latitude coordinate of the location.
23280	//
23281	// Latitude is a required field
23282	Latitude *float64 `type:"double" required:"true"`
23283
23284	// The longitude coordinate of the location.
23285	//
23286	// Longitude is a required field
23287	Longitude *float64 `type:"double" required:"true"`
23288}
23289
23290// String returns the string representation.
23291//
23292// API parameter values that are decorated as "sensitive" in the API will not
23293// be included in the string output. The member name will be present, but the
23294// value will be replaced with "sensitive".
23295func (s GPSCoordinates) String() string {
23296	return awsutil.Prettify(s)
23297}
23298
23299// GoString returns the string representation.
23300//
23301// API parameter values that are decorated as "sensitive" in the API will not
23302// be included in the string output. The member name will be present, but the
23303// value will be replaced with "sensitive".
23304func (s GPSCoordinates) GoString() string {
23305	return s.String()
23306}
23307
23308// Validate inspects the fields of the type to determine if they are valid.
23309func (s *GPSCoordinates) Validate() error {
23310	invalidParams := request.ErrInvalidParams{Context: "GPSCoordinates"}
23311	if s.Latitude == nil {
23312		invalidParams.Add(request.NewErrParamRequired("Latitude"))
23313	}
23314	if s.Longitude == nil {
23315		invalidParams.Add(request.NewErrParamRequired("Longitude"))
23316	}
23317
23318	if invalidParams.Len() > 0 {
23319		return invalidParams
23320	}
23321	return nil
23322}
23323
23324// SetLatitude sets the Latitude field's value.
23325func (s *GPSCoordinates) SetLatitude(v float64) *GPSCoordinates {
23326	s.Latitude = &v
23327	return s
23328}
23329
23330// SetLongitude sets the Longitude field's value.
23331func (s *GPSCoordinates) SetLongitude(v float64) *GPSCoordinates {
23332	s.Longitude = &v
23333	return s
23334}
23335
23336// Specifies GPS-based criteria for including or excluding endpoints from a
23337// segment.
23338type GPSPointDimension struct {
23339	_ struct{} `type:"structure"`
23340
23341	// The GPS coordinates to measure distance from.
23342	//
23343	// Coordinates is a required field
23344	Coordinates *GPSCoordinates `type:"structure" required:"true"`
23345
23346	// The range, in kilometers, from the GPS coordinates.
23347	RangeInKilometers *float64 `type:"double"`
23348}
23349
23350// String returns the string representation.
23351//
23352// API parameter values that are decorated as "sensitive" in the API will not
23353// be included in the string output. The member name will be present, but the
23354// value will be replaced with "sensitive".
23355func (s GPSPointDimension) String() string {
23356	return awsutil.Prettify(s)
23357}
23358
23359// GoString returns the string representation.
23360//
23361// API parameter values that are decorated as "sensitive" in the API will not
23362// be included in the string output. The member name will be present, but the
23363// value will be replaced with "sensitive".
23364func (s GPSPointDimension) GoString() string {
23365	return s.String()
23366}
23367
23368// Validate inspects the fields of the type to determine if they are valid.
23369func (s *GPSPointDimension) Validate() error {
23370	invalidParams := request.ErrInvalidParams{Context: "GPSPointDimension"}
23371	if s.Coordinates == nil {
23372		invalidParams.Add(request.NewErrParamRequired("Coordinates"))
23373	}
23374	if s.Coordinates != nil {
23375		if err := s.Coordinates.Validate(); err != nil {
23376			invalidParams.AddNested("Coordinates", err.(request.ErrInvalidParams))
23377		}
23378	}
23379
23380	if invalidParams.Len() > 0 {
23381		return invalidParams
23382	}
23383	return nil
23384}
23385
23386// SetCoordinates sets the Coordinates field's value.
23387func (s *GPSPointDimension) SetCoordinates(v *GPSCoordinates) *GPSPointDimension {
23388	s.Coordinates = v
23389	return s
23390}
23391
23392// SetRangeInKilometers sets the RangeInKilometers field's value.
23393func (s *GPSPointDimension) SetRangeInKilometers(v float64) *GPSPointDimension {
23394	s.RangeInKilometers = &v
23395	return s
23396}
23397
23398type GetAdmChannelInput struct {
23399	_ struct{} `type:"structure" nopayload:"true"`
23400
23401	// ApplicationId is a required field
23402	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23403}
23404
23405// String returns the string representation.
23406//
23407// API parameter values that are decorated as "sensitive" in the API will not
23408// be included in the string output. The member name will be present, but the
23409// value will be replaced with "sensitive".
23410func (s GetAdmChannelInput) String() string {
23411	return awsutil.Prettify(s)
23412}
23413
23414// GoString returns the string representation.
23415//
23416// API parameter values that are decorated as "sensitive" in the API will not
23417// be included in the string output. The member name will be present, but the
23418// value will be replaced with "sensitive".
23419func (s GetAdmChannelInput) GoString() string {
23420	return s.String()
23421}
23422
23423// Validate inspects the fields of the type to determine if they are valid.
23424func (s *GetAdmChannelInput) Validate() error {
23425	invalidParams := request.ErrInvalidParams{Context: "GetAdmChannelInput"}
23426	if s.ApplicationId == nil {
23427		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23428	}
23429	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23430		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23431	}
23432
23433	if invalidParams.Len() > 0 {
23434		return invalidParams
23435	}
23436	return nil
23437}
23438
23439// SetApplicationId sets the ApplicationId field's value.
23440func (s *GetAdmChannelInput) SetApplicationId(v string) *GetAdmChannelInput {
23441	s.ApplicationId = &v
23442	return s
23443}
23444
23445type GetAdmChannelOutput struct {
23446	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
23447
23448	// Provides information about the status and settings of the ADM (Amazon Device
23449	// Messaging) channel for an application.
23450	//
23451	// ADMChannelResponse is a required field
23452	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
23453}
23454
23455// String returns the string representation.
23456//
23457// API parameter values that are decorated as "sensitive" in the API will not
23458// be included in the string output. The member name will be present, but the
23459// value will be replaced with "sensitive".
23460func (s GetAdmChannelOutput) String() string {
23461	return awsutil.Prettify(s)
23462}
23463
23464// GoString returns the string representation.
23465//
23466// API parameter values that are decorated as "sensitive" in the API will not
23467// be included in the string output. The member name will be present, but the
23468// value will be replaced with "sensitive".
23469func (s GetAdmChannelOutput) GoString() string {
23470	return s.String()
23471}
23472
23473// SetADMChannelResponse sets the ADMChannelResponse field's value.
23474func (s *GetAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *GetAdmChannelOutput {
23475	s.ADMChannelResponse = v
23476	return s
23477}
23478
23479type GetApnsChannelInput struct {
23480	_ struct{} `type:"structure" nopayload:"true"`
23481
23482	// ApplicationId is a required field
23483	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23484}
23485
23486// String returns the string representation.
23487//
23488// API parameter values that are decorated as "sensitive" in the API will not
23489// be included in the string output. The member name will be present, but the
23490// value will be replaced with "sensitive".
23491func (s GetApnsChannelInput) String() string {
23492	return awsutil.Prettify(s)
23493}
23494
23495// GoString returns the string representation.
23496//
23497// API parameter values that are decorated as "sensitive" in the API will not
23498// be included in the string output. The member name will be present, but the
23499// value will be replaced with "sensitive".
23500func (s GetApnsChannelInput) GoString() string {
23501	return s.String()
23502}
23503
23504// Validate inspects the fields of the type to determine if they are valid.
23505func (s *GetApnsChannelInput) Validate() error {
23506	invalidParams := request.ErrInvalidParams{Context: "GetApnsChannelInput"}
23507	if s.ApplicationId == nil {
23508		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23509	}
23510	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23511		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23512	}
23513
23514	if invalidParams.Len() > 0 {
23515		return invalidParams
23516	}
23517	return nil
23518}
23519
23520// SetApplicationId sets the ApplicationId field's value.
23521func (s *GetApnsChannelInput) SetApplicationId(v string) *GetApnsChannelInput {
23522	s.ApplicationId = &v
23523	return s
23524}
23525
23526type GetApnsChannelOutput struct {
23527	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
23528
23529	// Provides information about the status and settings of the APNs (Apple Push
23530	// Notification service) channel for an application.
23531	//
23532	// APNSChannelResponse is a required field
23533	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
23534}
23535
23536// String returns the string representation.
23537//
23538// API parameter values that are decorated as "sensitive" in the API will not
23539// be included in the string output. The member name will be present, but the
23540// value will be replaced with "sensitive".
23541func (s GetApnsChannelOutput) String() string {
23542	return awsutil.Prettify(s)
23543}
23544
23545// GoString returns the string representation.
23546//
23547// API parameter values that are decorated as "sensitive" in the API will not
23548// be included in the string output. The member name will be present, but the
23549// value will be replaced with "sensitive".
23550func (s GetApnsChannelOutput) GoString() string {
23551	return s.String()
23552}
23553
23554// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
23555func (s *GetApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *GetApnsChannelOutput {
23556	s.APNSChannelResponse = v
23557	return s
23558}
23559
23560type GetApnsSandboxChannelInput struct {
23561	_ struct{} `type:"structure" nopayload:"true"`
23562
23563	// ApplicationId is a required field
23564	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23565}
23566
23567// String returns the string representation.
23568//
23569// API parameter values that are decorated as "sensitive" in the API will not
23570// be included in the string output. The member name will be present, but the
23571// value will be replaced with "sensitive".
23572func (s GetApnsSandboxChannelInput) String() string {
23573	return awsutil.Prettify(s)
23574}
23575
23576// GoString returns the string representation.
23577//
23578// API parameter values that are decorated as "sensitive" in the API will not
23579// be included in the string output. The member name will be present, but the
23580// value will be replaced with "sensitive".
23581func (s GetApnsSandboxChannelInput) GoString() string {
23582	return s.String()
23583}
23584
23585// Validate inspects the fields of the type to determine if they are valid.
23586func (s *GetApnsSandboxChannelInput) Validate() error {
23587	invalidParams := request.ErrInvalidParams{Context: "GetApnsSandboxChannelInput"}
23588	if s.ApplicationId == nil {
23589		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23590	}
23591	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23592		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23593	}
23594
23595	if invalidParams.Len() > 0 {
23596		return invalidParams
23597	}
23598	return nil
23599}
23600
23601// SetApplicationId sets the ApplicationId field's value.
23602func (s *GetApnsSandboxChannelInput) SetApplicationId(v string) *GetApnsSandboxChannelInput {
23603	s.ApplicationId = &v
23604	return s
23605}
23606
23607type GetApnsSandboxChannelOutput struct {
23608	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
23609
23610	// Provides information about the status and settings of the APNs (Apple Push
23611	// Notification service) sandbox channel for an application.
23612	//
23613	// APNSSandboxChannelResponse is a required field
23614	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
23615}
23616
23617// String returns the string representation.
23618//
23619// API parameter values that are decorated as "sensitive" in the API will not
23620// be included in the string output. The member name will be present, but the
23621// value will be replaced with "sensitive".
23622func (s GetApnsSandboxChannelOutput) String() string {
23623	return awsutil.Prettify(s)
23624}
23625
23626// GoString returns the string representation.
23627//
23628// API parameter values that are decorated as "sensitive" in the API will not
23629// be included in the string output. The member name will be present, but the
23630// value will be replaced with "sensitive".
23631func (s GetApnsSandboxChannelOutput) GoString() string {
23632	return s.String()
23633}
23634
23635// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
23636func (s *GetApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *GetApnsSandboxChannelOutput {
23637	s.APNSSandboxChannelResponse = v
23638	return s
23639}
23640
23641type GetApnsVoipChannelInput struct {
23642	_ struct{} `type:"structure" nopayload:"true"`
23643
23644	// ApplicationId is a required field
23645	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23646}
23647
23648// String returns the string representation.
23649//
23650// API parameter values that are decorated as "sensitive" in the API will not
23651// be included in the string output. The member name will be present, but the
23652// value will be replaced with "sensitive".
23653func (s GetApnsVoipChannelInput) String() string {
23654	return awsutil.Prettify(s)
23655}
23656
23657// GoString returns the string representation.
23658//
23659// API parameter values that are decorated as "sensitive" in the API will not
23660// be included in the string output. The member name will be present, but the
23661// value will be replaced with "sensitive".
23662func (s GetApnsVoipChannelInput) GoString() string {
23663	return s.String()
23664}
23665
23666// Validate inspects the fields of the type to determine if they are valid.
23667func (s *GetApnsVoipChannelInput) Validate() error {
23668	invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipChannelInput"}
23669	if s.ApplicationId == nil {
23670		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23671	}
23672	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23673		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23674	}
23675
23676	if invalidParams.Len() > 0 {
23677		return invalidParams
23678	}
23679	return nil
23680}
23681
23682// SetApplicationId sets the ApplicationId field's value.
23683func (s *GetApnsVoipChannelInput) SetApplicationId(v string) *GetApnsVoipChannelInput {
23684	s.ApplicationId = &v
23685	return s
23686}
23687
23688type GetApnsVoipChannelOutput struct {
23689	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
23690
23691	// Provides information about the status and settings of the APNs (Apple Push
23692	// Notification service) VoIP channel for an application.
23693	//
23694	// APNSVoipChannelResponse is a required field
23695	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
23696}
23697
23698// String returns the string representation.
23699//
23700// API parameter values that are decorated as "sensitive" in the API will not
23701// be included in the string output. The member name will be present, but the
23702// value will be replaced with "sensitive".
23703func (s GetApnsVoipChannelOutput) String() string {
23704	return awsutil.Prettify(s)
23705}
23706
23707// GoString returns the string representation.
23708//
23709// API parameter values that are decorated as "sensitive" in the API will not
23710// be included in the string output. The member name will be present, but the
23711// value will be replaced with "sensitive".
23712func (s GetApnsVoipChannelOutput) GoString() string {
23713	return s.String()
23714}
23715
23716// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
23717func (s *GetApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *GetApnsVoipChannelOutput {
23718	s.APNSVoipChannelResponse = v
23719	return s
23720}
23721
23722type GetApnsVoipSandboxChannelInput struct {
23723	_ struct{} `type:"structure" nopayload:"true"`
23724
23725	// ApplicationId is a required field
23726	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23727}
23728
23729// String returns the string representation.
23730//
23731// API parameter values that are decorated as "sensitive" in the API will not
23732// be included in the string output. The member name will be present, but the
23733// value will be replaced with "sensitive".
23734func (s GetApnsVoipSandboxChannelInput) String() string {
23735	return awsutil.Prettify(s)
23736}
23737
23738// GoString returns the string representation.
23739//
23740// API parameter values that are decorated as "sensitive" in the API will not
23741// be included in the string output. The member name will be present, but the
23742// value will be replaced with "sensitive".
23743func (s GetApnsVoipSandboxChannelInput) GoString() string {
23744	return s.String()
23745}
23746
23747// Validate inspects the fields of the type to determine if they are valid.
23748func (s *GetApnsVoipSandboxChannelInput) Validate() error {
23749	invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipSandboxChannelInput"}
23750	if s.ApplicationId == nil {
23751		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23752	}
23753	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23754		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23755	}
23756
23757	if invalidParams.Len() > 0 {
23758		return invalidParams
23759	}
23760	return nil
23761}
23762
23763// SetApplicationId sets the ApplicationId field's value.
23764func (s *GetApnsVoipSandboxChannelInput) SetApplicationId(v string) *GetApnsVoipSandboxChannelInput {
23765	s.ApplicationId = &v
23766	return s
23767}
23768
23769type GetApnsVoipSandboxChannelOutput struct {
23770	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
23771
23772	// Provides information about the status and settings of the APNs (Apple Push
23773	// Notification service) VoIP sandbox channel for an application.
23774	//
23775	// APNSVoipSandboxChannelResponse is a required field
23776	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
23777}
23778
23779// String returns the string representation.
23780//
23781// API parameter values that are decorated as "sensitive" in the API will not
23782// be included in the string output. The member name will be present, but the
23783// value will be replaced with "sensitive".
23784func (s GetApnsVoipSandboxChannelOutput) String() string {
23785	return awsutil.Prettify(s)
23786}
23787
23788// GoString returns the string representation.
23789//
23790// API parameter values that are decorated as "sensitive" in the API will not
23791// be included in the string output. The member name will be present, but the
23792// value will be replaced with "sensitive".
23793func (s GetApnsVoipSandboxChannelOutput) GoString() string {
23794	return s.String()
23795}
23796
23797// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
23798func (s *GetApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *GetApnsVoipSandboxChannelOutput {
23799	s.APNSVoipSandboxChannelResponse = v
23800	return s
23801}
23802
23803type GetAppInput struct {
23804	_ struct{} `type:"structure" nopayload:"true"`
23805
23806	// ApplicationId is a required field
23807	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23808}
23809
23810// String returns the string representation.
23811//
23812// API parameter values that are decorated as "sensitive" in the API will not
23813// be included in the string output. The member name will be present, but the
23814// value will be replaced with "sensitive".
23815func (s GetAppInput) String() string {
23816	return awsutil.Prettify(s)
23817}
23818
23819// GoString returns the string representation.
23820//
23821// API parameter values that are decorated as "sensitive" in the API will not
23822// be included in the string output. The member name will be present, but the
23823// value will be replaced with "sensitive".
23824func (s GetAppInput) GoString() string {
23825	return s.String()
23826}
23827
23828// Validate inspects the fields of the type to determine if they are valid.
23829func (s *GetAppInput) Validate() error {
23830	invalidParams := request.ErrInvalidParams{Context: "GetAppInput"}
23831	if s.ApplicationId == nil {
23832		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23833	}
23834	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23835		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23836	}
23837
23838	if invalidParams.Len() > 0 {
23839		return invalidParams
23840	}
23841	return nil
23842}
23843
23844// SetApplicationId sets the ApplicationId field's value.
23845func (s *GetAppInput) SetApplicationId(v string) *GetAppInput {
23846	s.ApplicationId = &v
23847	return s
23848}
23849
23850type GetAppOutput struct {
23851	_ struct{} `type:"structure" payload:"ApplicationResponse"`
23852
23853	// Provides information about an application.
23854	//
23855	// ApplicationResponse is a required field
23856	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
23857}
23858
23859// String returns the string representation.
23860//
23861// API parameter values that are decorated as "sensitive" in the API will not
23862// be included in the string output. The member name will be present, but the
23863// value will be replaced with "sensitive".
23864func (s GetAppOutput) String() string {
23865	return awsutil.Prettify(s)
23866}
23867
23868// GoString returns the string representation.
23869//
23870// API parameter values that are decorated as "sensitive" in the API will not
23871// be included in the string output. The member name will be present, but the
23872// value will be replaced with "sensitive".
23873func (s GetAppOutput) GoString() string {
23874	return s.String()
23875}
23876
23877// SetApplicationResponse sets the ApplicationResponse field's value.
23878func (s *GetAppOutput) SetApplicationResponse(v *ApplicationResponse) *GetAppOutput {
23879	s.ApplicationResponse = v
23880	return s
23881}
23882
23883type GetApplicationDateRangeKpiInput struct {
23884	_ struct{} `type:"structure" nopayload:"true"`
23885
23886	// ApplicationId is a required field
23887	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23888
23889	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
23890
23891	// KpiName is a required field
23892	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
23893
23894	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
23895
23896	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
23897
23898	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
23899}
23900
23901// String returns the string representation.
23902//
23903// API parameter values that are decorated as "sensitive" in the API will not
23904// be included in the string output. The member name will be present, but the
23905// value will be replaced with "sensitive".
23906func (s GetApplicationDateRangeKpiInput) String() string {
23907	return awsutil.Prettify(s)
23908}
23909
23910// GoString returns the string representation.
23911//
23912// API parameter values that are decorated as "sensitive" in the API will not
23913// be included in the string output. The member name will be present, but the
23914// value will be replaced with "sensitive".
23915func (s GetApplicationDateRangeKpiInput) GoString() string {
23916	return s.String()
23917}
23918
23919// Validate inspects the fields of the type to determine if they are valid.
23920func (s *GetApplicationDateRangeKpiInput) Validate() error {
23921	invalidParams := request.ErrInvalidParams{Context: "GetApplicationDateRangeKpiInput"}
23922	if s.ApplicationId == nil {
23923		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23924	}
23925	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23926		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23927	}
23928	if s.KpiName == nil {
23929		invalidParams.Add(request.NewErrParamRequired("KpiName"))
23930	}
23931	if s.KpiName != nil && len(*s.KpiName) < 1 {
23932		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
23933	}
23934
23935	if invalidParams.Len() > 0 {
23936		return invalidParams
23937	}
23938	return nil
23939}
23940
23941// SetApplicationId sets the ApplicationId field's value.
23942func (s *GetApplicationDateRangeKpiInput) SetApplicationId(v string) *GetApplicationDateRangeKpiInput {
23943	s.ApplicationId = &v
23944	return s
23945}
23946
23947// SetEndTime sets the EndTime field's value.
23948func (s *GetApplicationDateRangeKpiInput) SetEndTime(v time.Time) *GetApplicationDateRangeKpiInput {
23949	s.EndTime = &v
23950	return s
23951}
23952
23953// SetKpiName sets the KpiName field's value.
23954func (s *GetApplicationDateRangeKpiInput) SetKpiName(v string) *GetApplicationDateRangeKpiInput {
23955	s.KpiName = &v
23956	return s
23957}
23958
23959// SetNextToken sets the NextToken field's value.
23960func (s *GetApplicationDateRangeKpiInput) SetNextToken(v string) *GetApplicationDateRangeKpiInput {
23961	s.NextToken = &v
23962	return s
23963}
23964
23965// SetPageSize sets the PageSize field's value.
23966func (s *GetApplicationDateRangeKpiInput) SetPageSize(v string) *GetApplicationDateRangeKpiInput {
23967	s.PageSize = &v
23968	return s
23969}
23970
23971// SetStartTime sets the StartTime field's value.
23972func (s *GetApplicationDateRangeKpiInput) SetStartTime(v time.Time) *GetApplicationDateRangeKpiInput {
23973	s.StartTime = &v
23974	return s
23975}
23976
23977type GetApplicationDateRangeKpiOutput struct {
23978	_ struct{} `type:"structure" payload:"ApplicationDateRangeKpiResponse"`
23979
23980	// Provides the results of a query that retrieved the data for a standard metric
23981	// that applies to an application, and provides information about that query.
23982	//
23983	// ApplicationDateRangeKpiResponse is a required field
23984	ApplicationDateRangeKpiResponse *ApplicationDateRangeKpiResponse `type:"structure" required:"true"`
23985}
23986
23987// String returns the string representation.
23988//
23989// API parameter values that are decorated as "sensitive" in the API will not
23990// be included in the string output. The member name will be present, but the
23991// value will be replaced with "sensitive".
23992func (s GetApplicationDateRangeKpiOutput) String() string {
23993	return awsutil.Prettify(s)
23994}
23995
23996// GoString returns the string representation.
23997//
23998// API parameter values that are decorated as "sensitive" in the API will not
23999// be included in the string output. The member name will be present, but the
24000// value will be replaced with "sensitive".
24001func (s GetApplicationDateRangeKpiOutput) GoString() string {
24002	return s.String()
24003}
24004
24005// SetApplicationDateRangeKpiResponse sets the ApplicationDateRangeKpiResponse field's value.
24006func (s *GetApplicationDateRangeKpiOutput) SetApplicationDateRangeKpiResponse(v *ApplicationDateRangeKpiResponse) *GetApplicationDateRangeKpiOutput {
24007	s.ApplicationDateRangeKpiResponse = v
24008	return s
24009}
24010
24011type GetApplicationSettingsInput struct {
24012	_ struct{} `type:"structure" nopayload:"true"`
24013
24014	// ApplicationId is a required field
24015	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24016}
24017
24018// String returns the string representation.
24019//
24020// API parameter values that are decorated as "sensitive" in the API will not
24021// be included in the string output. The member name will be present, but the
24022// value will be replaced with "sensitive".
24023func (s GetApplicationSettingsInput) String() string {
24024	return awsutil.Prettify(s)
24025}
24026
24027// GoString returns the string representation.
24028//
24029// API parameter values that are decorated as "sensitive" in the API will not
24030// be included in the string output. The member name will be present, but the
24031// value will be replaced with "sensitive".
24032func (s GetApplicationSettingsInput) GoString() string {
24033	return s.String()
24034}
24035
24036// Validate inspects the fields of the type to determine if they are valid.
24037func (s *GetApplicationSettingsInput) Validate() error {
24038	invalidParams := request.ErrInvalidParams{Context: "GetApplicationSettingsInput"}
24039	if s.ApplicationId == nil {
24040		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24041	}
24042	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24043		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24044	}
24045
24046	if invalidParams.Len() > 0 {
24047		return invalidParams
24048	}
24049	return nil
24050}
24051
24052// SetApplicationId sets the ApplicationId field's value.
24053func (s *GetApplicationSettingsInput) SetApplicationId(v string) *GetApplicationSettingsInput {
24054	s.ApplicationId = &v
24055	return s
24056}
24057
24058type GetApplicationSettingsOutput struct {
24059	_ struct{} `type:"structure" payload:"ApplicationSettingsResource"`
24060
24061	// Provides information about an application, including the default settings
24062	// for an application.
24063	//
24064	// ApplicationSettingsResource is a required field
24065	ApplicationSettingsResource *ApplicationSettingsResource `type:"structure" required:"true"`
24066}
24067
24068// String returns the string representation.
24069//
24070// API parameter values that are decorated as "sensitive" in the API will not
24071// be included in the string output. The member name will be present, but the
24072// value will be replaced with "sensitive".
24073func (s GetApplicationSettingsOutput) String() string {
24074	return awsutil.Prettify(s)
24075}
24076
24077// GoString returns the string representation.
24078//
24079// API parameter values that are decorated as "sensitive" in the API will not
24080// be included in the string output. The member name will be present, but the
24081// value will be replaced with "sensitive".
24082func (s GetApplicationSettingsOutput) GoString() string {
24083	return s.String()
24084}
24085
24086// SetApplicationSettingsResource sets the ApplicationSettingsResource field's value.
24087func (s *GetApplicationSettingsOutput) SetApplicationSettingsResource(v *ApplicationSettingsResource) *GetApplicationSettingsOutput {
24088	s.ApplicationSettingsResource = v
24089	return s
24090}
24091
24092type GetAppsInput struct {
24093	_ struct{} `type:"structure" nopayload:"true"`
24094
24095	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
24096
24097	Token *string `location:"querystring" locationName:"token" type:"string"`
24098}
24099
24100// String returns the string representation.
24101//
24102// API parameter values that are decorated as "sensitive" in the API will not
24103// be included in the string output. The member name will be present, but the
24104// value will be replaced with "sensitive".
24105func (s GetAppsInput) String() string {
24106	return awsutil.Prettify(s)
24107}
24108
24109// GoString returns the string representation.
24110//
24111// API parameter values that are decorated as "sensitive" in the API will not
24112// be included in the string output. The member name will be present, but the
24113// value will be replaced with "sensitive".
24114func (s GetAppsInput) GoString() string {
24115	return s.String()
24116}
24117
24118// SetPageSize sets the PageSize field's value.
24119func (s *GetAppsInput) SetPageSize(v string) *GetAppsInput {
24120	s.PageSize = &v
24121	return s
24122}
24123
24124// SetToken sets the Token field's value.
24125func (s *GetAppsInput) SetToken(v string) *GetAppsInput {
24126	s.Token = &v
24127	return s
24128}
24129
24130type GetAppsOutput struct {
24131	_ struct{} `type:"structure" payload:"ApplicationsResponse"`
24132
24133	// Provides information about all of your applications.
24134	//
24135	// ApplicationsResponse is a required field
24136	ApplicationsResponse *ApplicationsResponse `type:"structure" required:"true"`
24137}
24138
24139// String returns the string representation.
24140//
24141// API parameter values that are decorated as "sensitive" in the API will not
24142// be included in the string output. The member name will be present, but the
24143// value will be replaced with "sensitive".
24144func (s GetAppsOutput) String() string {
24145	return awsutil.Prettify(s)
24146}
24147
24148// GoString returns the string representation.
24149//
24150// API parameter values that are decorated as "sensitive" in the API will not
24151// be included in the string output. The member name will be present, but the
24152// value will be replaced with "sensitive".
24153func (s GetAppsOutput) GoString() string {
24154	return s.String()
24155}
24156
24157// SetApplicationsResponse sets the ApplicationsResponse field's value.
24158func (s *GetAppsOutput) SetApplicationsResponse(v *ApplicationsResponse) *GetAppsOutput {
24159	s.ApplicationsResponse = v
24160	return s
24161}
24162
24163type GetBaiduChannelInput struct {
24164	_ struct{} `type:"structure" nopayload:"true"`
24165
24166	// ApplicationId is a required field
24167	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24168}
24169
24170// String returns the string representation.
24171//
24172// API parameter values that are decorated as "sensitive" in the API will not
24173// be included in the string output. The member name will be present, but the
24174// value will be replaced with "sensitive".
24175func (s GetBaiduChannelInput) String() string {
24176	return awsutil.Prettify(s)
24177}
24178
24179// GoString returns the string representation.
24180//
24181// API parameter values that are decorated as "sensitive" in the API will not
24182// be included in the string output. The member name will be present, but the
24183// value will be replaced with "sensitive".
24184func (s GetBaiduChannelInput) GoString() string {
24185	return s.String()
24186}
24187
24188// Validate inspects the fields of the type to determine if they are valid.
24189func (s *GetBaiduChannelInput) Validate() error {
24190	invalidParams := request.ErrInvalidParams{Context: "GetBaiduChannelInput"}
24191	if s.ApplicationId == nil {
24192		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24193	}
24194	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24195		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24196	}
24197
24198	if invalidParams.Len() > 0 {
24199		return invalidParams
24200	}
24201	return nil
24202}
24203
24204// SetApplicationId sets the ApplicationId field's value.
24205func (s *GetBaiduChannelInput) SetApplicationId(v string) *GetBaiduChannelInput {
24206	s.ApplicationId = &v
24207	return s
24208}
24209
24210type GetBaiduChannelOutput struct {
24211	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
24212
24213	// Provides information about the status and settings of the Baidu (Baidu Cloud
24214	// Push) channel for an application.
24215	//
24216	// BaiduChannelResponse is a required field
24217	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
24218}
24219
24220// String returns the string representation.
24221//
24222// API parameter values that are decorated as "sensitive" in the API will not
24223// be included in the string output. The member name will be present, but the
24224// value will be replaced with "sensitive".
24225func (s GetBaiduChannelOutput) String() string {
24226	return awsutil.Prettify(s)
24227}
24228
24229// GoString returns the string representation.
24230//
24231// API parameter values that are decorated as "sensitive" in the API will not
24232// be included in the string output. The member name will be present, but the
24233// value will be replaced with "sensitive".
24234func (s GetBaiduChannelOutput) GoString() string {
24235	return s.String()
24236}
24237
24238// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
24239func (s *GetBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *GetBaiduChannelOutput {
24240	s.BaiduChannelResponse = v
24241	return s
24242}
24243
24244type GetCampaignActivitiesInput struct {
24245	_ struct{} `type:"structure" nopayload:"true"`
24246
24247	// ApplicationId is a required field
24248	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24249
24250	// CampaignId is a required field
24251	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
24252
24253	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
24254
24255	Token *string `location:"querystring" locationName:"token" type:"string"`
24256}
24257
24258// String returns the string representation.
24259//
24260// API parameter values that are decorated as "sensitive" in the API will not
24261// be included in the string output. The member name will be present, but the
24262// value will be replaced with "sensitive".
24263func (s GetCampaignActivitiesInput) String() string {
24264	return awsutil.Prettify(s)
24265}
24266
24267// GoString returns the string representation.
24268//
24269// API parameter values that are decorated as "sensitive" in the API will not
24270// be included in the string output. The member name will be present, but the
24271// value will be replaced with "sensitive".
24272func (s GetCampaignActivitiesInput) GoString() string {
24273	return s.String()
24274}
24275
24276// Validate inspects the fields of the type to determine if they are valid.
24277func (s *GetCampaignActivitiesInput) Validate() error {
24278	invalidParams := request.ErrInvalidParams{Context: "GetCampaignActivitiesInput"}
24279	if s.ApplicationId == nil {
24280		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24281	}
24282	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24283		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24284	}
24285	if s.CampaignId == nil {
24286		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
24287	}
24288	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
24289		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
24290	}
24291
24292	if invalidParams.Len() > 0 {
24293		return invalidParams
24294	}
24295	return nil
24296}
24297
24298// SetApplicationId sets the ApplicationId field's value.
24299func (s *GetCampaignActivitiesInput) SetApplicationId(v string) *GetCampaignActivitiesInput {
24300	s.ApplicationId = &v
24301	return s
24302}
24303
24304// SetCampaignId sets the CampaignId field's value.
24305func (s *GetCampaignActivitiesInput) SetCampaignId(v string) *GetCampaignActivitiesInput {
24306	s.CampaignId = &v
24307	return s
24308}
24309
24310// SetPageSize sets the PageSize field's value.
24311func (s *GetCampaignActivitiesInput) SetPageSize(v string) *GetCampaignActivitiesInput {
24312	s.PageSize = &v
24313	return s
24314}
24315
24316// SetToken sets the Token field's value.
24317func (s *GetCampaignActivitiesInput) SetToken(v string) *GetCampaignActivitiesInput {
24318	s.Token = &v
24319	return s
24320}
24321
24322type GetCampaignActivitiesOutput struct {
24323	_ struct{} `type:"structure" payload:"ActivitiesResponse"`
24324
24325	// Provides information about the activities that were performed by a campaign.
24326	//
24327	// ActivitiesResponse is a required field
24328	ActivitiesResponse *ActivitiesResponse `type:"structure" required:"true"`
24329}
24330
24331// String returns the string representation.
24332//
24333// API parameter values that are decorated as "sensitive" in the API will not
24334// be included in the string output. The member name will be present, but the
24335// value will be replaced with "sensitive".
24336func (s GetCampaignActivitiesOutput) String() string {
24337	return awsutil.Prettify(s)
24338}
24339
24340// GoString returns the string representation.
24341//
24342// API parameter values that are decorated as "sensitive" in the API will not
24343// be included in the string output. The member name will be present, but the
24344// value will be replaced with "sensitive".
24345func (s GetCampaignActivitiesOutput) GoString() string {
24346	return s.String()
24347}
24348
24349// SetActivitiesResponse sets the ActivitiesResponse field's value.
24350func (s *GetCampaignActivitiesOutput) SetActivitiesResponse(v *ActivitiesResponse) *GetCampaignActivitiesOutput {
24351	s.ActivitiesResponse = v
24352	return s
24353}
24354
24355type GetCampaignDateRangeKpiInput struct {
24356	_ struct{} `type:"structure" nopayload:"true"`
24357
24358	// ApplicationId is a required field
24359	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24360
24361	// CampaignId is a required field
24362	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
24363
24364	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
24365
24366	// KpiName is a required field
24367	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
24368
24369	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
24370
24371	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
24372
24373	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
24374}
24375
24376// String returns the string representation.
24377//
24378// API parameter values that are decorated as "sensitive" in the API will not
24379// be included in the string output. The member name will be present, but the
24380// value will be replaced with "sensitive".
24381func (s GetCampaignDateRangeKpiInput) String() string {
24382	return awsutil.Prettify(s)
24383}
24384
24385// GoString returns the string representation.
24386//
24387// API parameter values that are decorated as "sensitive" in the API will not
24388// be included in the string output. The member name will be present, but the
24389// value will be replaced with "sensitive".
24390func (s GetCampaignDateRangeKpiInput) GoString() string {
24391	return s.String()
24392}
24393
24394// Validate inspects the fields of the type to determine if they are valid.
24395func (s *GetCampaignDateRangeKpiInput) Validate() error {
24396	invalidParams := request.ErrInvalidParams{Context: "GetCampaignDateRangeKpiInput"}
24397	if s.ApplicationId == nil {
24398		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24399	}
24400	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24401		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24402	}
24403	if s.CampaignId == nil {
24404		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
24405	}
24406	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
24407		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
24408	}
24409	if s.KpiName == nil {
24410		invalidParams.Add(request.NewErrParamRequired("KpiName"))
24411	}
24412	if s.KpiName != nil && len(*s.KpiName) < 1 {
24413		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
24414	}
24415
24416	if invalidParams.Len() > 0 {
24417		return invalidParams
24418	}
24419	return nil
24420}
24421
24422// SetApplicationId sets the ApplicationId field's value.
24423func (s *GetCampaignDateRangeKpiInput) SetApplicationId(v string) *GetCampaignDateRangeKpiInput {
24424	s.ApplicationId = &v
24425	return s
24426}
24427
24428// SetCampaignId sets the CampaignId field's value.
24429func (s *GetCampaignDateRangeKpiInput) SetCampaignId(v string) *GetCampaignDateRangeKpiInput {
24430	s.CampaignId = &v
24431	return s
24432}
24433
24434// SetEndTime sets the EndTime field's value.
24435func (s *GetCampaignDateRangeKpiInput) SetEndTime(v time.Time) *GetCampaignDateRangeKpiInput {
24436	s.EndTime = &v
24437	return s
24438}
24439
24440// SetKpiName sets the KpiName field's value.
24441func (s *GetCampaignDateRangeKpiInput) SetKpiName(v string) *GetCampaignDateRangeKpiInput {
24442	s.KpiName = &v
24443	return s
24444}
24445
24446// SetNextToken sets the NextToken field's value.
24447func (s *GetCampaignDateRangeKpiInput) SetNextToken(v string) *GetCampaignDateRangeKpiInput {
24448	s.NextToken = &v
24449	return s
24450}
24451
24452// SetPageSize sets the PageSize field's value.
24453func (s *GetCampaignDateRangeKpiInput) SetPageSize(v string) *GetCampaignDateRangeKpiInput {
24454	s.PageSize = &v
24455	return s
24456}
24457
24458// SetStartTime sets the StartTime field's value.
24459func (s *GetCampaignDateRangeKpiInput) SetStartTime(v time.Time) *GetCampaignDateRangeKpiInput {
24460	s.StartTime = &v
24461	return s
24462}
24463
24464type GetCampaignDateRangeKpiOutput struct {
24465	_ struct{} `type:"structure" payload:"CampaignDateRangeKpiResponse"`
24466
24467	// Provides the results of a query that retrieved the data for a standard metric
24468	// that applies to a campaign, and provides information about that query.
24469	//
24470	// CampaignDateRangeKpiResponse is a required field
24471	CampaignDateRangeKpiResponse *CampaignDateRangeKpiResponse `type:"structure" required:"true"`
24472}
24473
24474// String returns the string representation.
24475//
24476// API parameter values that are decorated as "sensitive" in the API will not
24477// be included in the string output. The member name will be present, but the
24478// value will be replaced with "sensitive".
24479func (s GetCampaignDateRangeKpiOutput) String() string {
24480	return awsutil.Prettify(s)
24481}
24482
24483// GoString returns the string representation.
24484//
24485// API parameter values that are decorated as "sensitive" in the API will not
24486// be included in the string output. The member name will be present, but the
24487// value will be replaced with "sensitive".
24488func (s GetCampaignDateRangeKpiOutput) GoString() string {
24489	return s.String()
24490}
24491
24492// SetCampaignDateRangeKpiResponse sets the CampaignDateRangeKpiResponse field's value.
24493func (s *GetCampaignDateRangeKpiOutput) SetCampaignDateRangeKpiResponse(v *CampaignDateRangeKpiResponse) *GetCampaignDateRangeKpiOutput {
24494	s.CampaignDateRangeKpiResponse = v
24495	return s
24496}
24497
24498type GetCampaignInput struct {
24499	_ struct{} `type:"structure" nopayload:"true"`
24500
24501	// ApplicationId is a required field
24502	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24503
24504	// CampaignId is a required field
24505	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
24506}
24507
24508// String returns the string representation.
24509//
24510// API parameter values that are decorated as "sensitive" in the API will not
24511// be included in the string output. The member name will be present, but the
24512// value will be replaced with "sensitive".
24513func (s GetCampaignInput) String() string {
24514	return awsutil.Prettify(s)
24515}
24516
24517// GoString returns the string representation.
24518//
24519// API parameter values that are decorated as "sensitive" in the API will not
24520// be included in the string output. The member name will be present, but the
24521// value will be replaced with "sensitive".
24522func (s GetCampaignInput) GoString() string {
24523	return s.String()
24524}
24525
24526// Validate inspects the fields of the type to determine if they are valid.
24527func (s *GetCampaignInput) Validate() error {
24528	invalidParams := request.ErrInvalidParams{Context: "GetCampaignInput"}
24529	if s.ApplicationId == nil {
24530		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24531	}
24532	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24533		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24534	}
24535	if s.CampaignId == nil {
24536		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
24537	}
24538	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
24539		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
24540	}
24541
24542	if invalidParams.Len() > 0 {
24543		return invalidParams
24544	}
24545	return nil
24546}
24547
24548// SetApplicationId sets the ApplicationId field's value.
24549func (s *GetCampaignInput) SetApplicationId(v string) *GetCampaignInput {
24550	s.ApplicationId = &v
24551	return s
24552}
24553
24554// SetCampaignId sets the CampaignId field's value.
24555func (s *GetCampaignInput) SetCampaignId(v string) *GetCampaignInput {
24556	s.CampaignId = &v
24557	return s
24558}
24559
24560type GetCampaignOutput struct {
24561	_ struct{} `type:"structure" payload:"CampaignResponse"`
24562
24563	// Provides information about the status, configuration, and other settings
24564	// for a campaign.
24565	//
24566	// CampaignResponse is a required field
24567	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
24568}
24569
24570// String returns the string representation.
24571//
24572// API parameter values that are decorated as "sensitive" in the API will not
24573// be included in the string output. The member name will be present, but the
24574// value will be replaced with "sensitive".
24575func (s GetCampaignOutput) String() string {
24576	return awsutil.Prettify(s)
24577}
24578
24579// GoString returns the string representation.
24580//
24581// API parameter values that are decorated as "sensitive" in the API will not
24582// be included in the string output. The member name will be present, but the
24583// value will be replaced with "sensitive".
24584func (s GetCampaignOutput) GoString() string {
24585	return s.String()
24586}
24587
24588// SetCampaignResponse sets the CampaignResponse field's value.
24589func (s *GetCampaignOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignOutput {
24590	s.CampaignResponse = v
24591	return s
24592}
24593
24594type GetCampaignVersionInput struct {
24595	_ struct{} `type:"structure" nopayload:"true"`
24596
24597	// ApplicationId is a required field
24598	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24599
24600	// CampaignId is a required field
24601	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
24602
24603	// Version is a required field
24604	Version *string `location:"uri" locationName:"version" type:"string" required:"true"`
24605}
24606
24607// String returns the string representation.
24608//
24609// API parameter values that are decorated as "sensitive" in the API will not
24610// be included in the string output. The member name will be present, but the
24611// value will be replaced with "sensitive".
24612func (s GetCampaignVersionInput) String() string {
24613	return awsutil.Prettify(s)
24614}
24615
24616// GoString returns the string representation.
24617//
24618// API parameter values that are decorated as "sensitive" in the API will not
24619// be included in the string output. The member name will be present, but the
24620// value will be replaced with "sensitive".
24621func (s GetCampaignVersionInput) GoString() string {
24622	return s.String()
24623}
24624
24625// Validate inspects the fields of the type to determine if they are valid.
24626func (s *GetCampaignVersionInput) Validate() error {
24627	invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionInput"}
24628	if s.ApplicationId == nil {
24629		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24630	}
24631	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24632		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24633	}
24634	if s.CampaignId == nil {
24635		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
24636	}
24637	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
24638		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
24639	}
24640	if s.Version == nil {
24641		invalidParams.Add(request.NewErrParamRequired("Version"))
24642	}
24643	if s.Version != nil && len(*s.Version) < 1 {
24644		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
24645	}
24646
24647	if invalidParams.Len() > 0 {
24648		return invalidParams
24649	}
24650	return nil
24651}
24652
24653// SetApplicationId sets the ApplicationId field's value.
24654func (s *GetCampaignVersionInput) SetApplicationId(v string) *GetCampaignVersionInput {
24655	s.ApplicationId = &v
24656	return s
24657}
24658
24659// SetCampaignId sets the CampaignId field's value.
24660func (s *GetCampaignVersionInput) SetCampaignId(v string) *GetCampaignVersionInput {
24661	s.CampaignId = &v
24662	return s
24663}
24664
24665// SetVersion sets the Version field's value.
24666func (s *GetCampaignVersionInput) SetVersion(v string) *GetCampaignVersionInput {
24667	s.Version = &v
24668	return s
24669}
24670
24671type GetCampaignVersionOutput struct {
24672	_ struct{} `type:"structure" payload:"CampaignResponse"`
24673
24674	// Provides information about the status, configuration, and other settings
24675	// for a campaign.
24676	//
24677	// CampaignResponse is a required field
24678	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
24679}
24680
24681// String returns the string representation.
24682//
24683// API parameter values that are decorated as "sensitive" in the API will not
24684// be included in the string output. The member name will be present, but the
24685// value will be replaced with "sensitive".
24686func (s GetCampaignVersionOutput) String() string {
24687	return awsutil.Prettify(s)
24688}
24689
24690// GoString returns the string representation.
24691//
24692// API parameter values that are decorated as "sensitive" in the API will not
24693// be included in the string output. The member name will be present, but the
24694// value will be replaced with "sensitive".
24695func (s GetCampaignVersionOutput) GoString() string {
24696	return s.String()
24697}
24698
24699// SetCampaignResponse sets the CampaignResponse field's value.
24700func (s *GetCampaignVersionOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignVersionOutput {
24701	s.CampaignResponse = v
24702	return s
24703}
24704
24705type GetCampaignVersionsInput struct {
24706	_ struct{} `type:"structure" nopayload:"true"`
24707
24708	// ApplicationId is a required field
24709	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24710
24711	// CampaignId is a required field
24712	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
24713
24714	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
24715
24716	Token *string `location:"querystring" locationName:"token" type:"string"`
24717}
24718
24719// String returns the string representation.
24720//
24721// API parameter values that are decorated as "sensitive" in the API will not
24722// be included in the string output. The member name will be present, but the
24723// value will be replaced with "sensitive".
24724func (s GetCampaignVersionsInput) String() string {
24725	return awsutil.Prettify(s)
24726}
24727
24728// GoString returns the string representation.
24729//
24730// API parameter values that are decorated as "sensitive" in the API will not
24731// be included in the string output. The member name will be present, but the
24732// value will be replaced with "sensitive".
24733func (s GetCampaignVersionsInput) GoString() string {
24734	return s.String()
24735}
24736
24737// Validate inspects the fields of the type to determine if they are valid.
24738func (s *GetCampaignVersionsInput) Validate() error {
24739	invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionsInput"}
24740	if s.ApplicationId == nil {
24741		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24742	}
24743	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24744		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24745	}
24746	if s.CampaignId == nil {
24747		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
24748	}
24749	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
24750		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
24751	}
24752
24753	if invalidParams.Len() > 0 {
24754		return invalidParams
24755	}
24756	return nil
24757}
24758
24759// SetApplicationId sets the ApplicationId field's value.
24760func (s *GetCampaignVersionsInput) SetApplicationId(v string) *GetCampaignVersionsInput {
24761	s.ApplicationId = &v
24762	return s
24763}
24764
24765// SetCampaignId sets the CampaignId field's value.
24766func (s *GetCampaignVersionsInput) SetCampaignId(v string) *GetCampaignVersionsInput {
24767	s.CampaignId = &v
24768	return s
24769}
24770
24771// SetPageSize sets the PageSize field's value.
24772func (s *GetCampaignVersionsInput) SetPageSize(v string) *GetCampaignVersionsInput {
24773	s.PageSize = &v
24774	return s
24775}
24776
24777// SetToken sets the Token field's value.
24778func (s *GetCampaignVersionsInput) SetToken(v string) *GetCampaignVersionsInput {
24779	s.Token = &v
24780	return s
24781}
24782
24783type GetCampaignVersionsOutput struct {
24784	_ struct{} `type:"structure" payload:"CampaignsResponse"`
24785
24786	// Provides information about the configuration and other settings for all the
24787	// campaigns that are associated with an application.
24788	//
24789	// CampaignsResponse is a required field
24790	CampaignsResponse *CampaignsResponse `type:"structure" required:"true"`
24791}
24792
24793// String returns the string representation.
24794//
24795// API parameter values that are decorated as "sensitive" in the API will not
24796// be included in the string output. The member name will be present, but the
24797// value will be replaced with "sensitive".
24798func (s GetCampaignVersionsOutput) String() string {
24799	return awsutil.Prettify(s)
24800}
24801
24802// GoString returns the string representation.
24803//
24804// API parameter values that are decorated as "sensitive" in the API will not
24805// be included in the string output. The member name will be present, but the
24806// value will be replaced with "sensitive".
24807func (s GetCampaignVersionsOutput) GoString() string {
24808	return s.String()
24809}
24810
24811// SetCampaignsResponse sets the CampaignsResponse field's value.
24812func (s *GetCampaignVersionsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignVersionsOutput {
24813	s.CampaignsResponse = v
24814	return s
24815}
24816
24817type GetCampaignsInput struct {
24818	_ struct{} `type:"structure" nopayload:"true"`
24819
24820	// ApplicationId is a required field
24821	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24822
24823	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
24824
24825	Token *string `location:"querystring" locationName:"token" type:"string"`
24826}
24827
24828// String returns the string representation.
24829//
24830// API parameter values that are decorated as "sensitive" in the API will not
24831// be included in the string output. The member name will be present, but the
24832// value will be replaced with "sensitive".
24833func (s GetCampaignsInput) String() string {
24834	return awsutil.Prettify(s)
24835}
24836
24837// GoString returns the string representation.
24838//
24839// API parameter values that are decorated as "sensitive" in the API will not
24840// be included in the string output. The member name will be present, but the
24841// value will be replaced with "sensitive".
24842func (s GetCampaignsInput) GoString() string {
24843	return s.String()
24844}
24845
24846// Validate inspects the fields of the type to determine if they are valid.
24847func (s *GetCampaignsInput) Validate() error {
24848	invalidParams := request.ErrInvalidParams{Context: "GetCampaignsInput"}
24849	if s.ApplicationId == nil {
24850		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24851	}
24852	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24853		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24854	}
24855
24856	if invalidParams.Len() > 0 {
24857		return invalidParams
24858	}
24859	return nil
24860}
24861
24862// SetApplicationId sets the ApplicationId field's value.
24863func (s *GetCampaignsInput) SetApplicationId(v string) *GetCampaignsInput {
24864	s.ApplicationId = &v
24865	return s
24866}
24867
24868// SetPageSize sets the PageSize field's value.
24869func (s *GetCampaignsInput) SetPageSize(v string) *GetCampaignsInput {
24870	s.PageSize = &v
24871	return s
24872}
24873
24874// SetToken sets the Token field's value.
24875func (s *GetCampaignsInput) SetToken(v string) *GetCampaignsInput {
24876	s.Token = &v
24877	return s
24878}
24879
24880type GetCampaignsOutput struct {
24881	_ struct{} `type:"structure" payload:"CampaignsResponse"`
24882
24883	// Provides information about the configuration and other settings for all the
24884	// campaigns that are associated with an application.
24885	//
24886	// CampaignsResponse is a required field
24887	CampaignsResponse *CampaignsResponse `type:"structure" required:"true"`
24888}
24889
24890// String returns the string representation.
24891//
24892// API parameter values that are decorated as "sensitive" in the API will not
24893// be included in the string output. The member name will be present, but the
24894// value will be replaced with "sensitive".
24895func (s GetCampaignsOutput) String() string {
24896	return awsutil.Prettify(s)
24897}
24898
24899// GoString returns the string representation.
24900//
24901// API parameter values that are decorated as "sensitive" in the API will not
24902// be included in the string output. The member name will be present, but the
24903// value will be replaced with "sensitive".
24904func (s GetCampaignsOutput) GoString() string {
24905	return s.String()
24906}
24907
24908// SetCampaignsResponse sets the CampaignsResponse field's value.
24909func (s *GetCampaignsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignsOutput {
24910	s.CampaignsResponse = v
24911	return s
24912}
24913
24914type GetChannelsInput struct {
24915	_ struct{} `type:"structure" nopayload:"true"`
24916
24917	// ApplicationId is a required field
24918	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24919}
24920
24921// String returns the string representation.
24922//
24923// API parameter values that are decorated as "sensitive" in the API will not
24924// be included in the string output. The member name will be present, but the
24925// value will be replaced with "sensitive".
24926func (s GetChannelsInput) String() string {
24927	return awsutil.Prettify(s)
24928}
24929
24930// GoString returns the string representation.
24931//
24932// API parameter values that are decorated as "sensitive" in the API will not
24933// be included in the string output. The member name will be present, but the
24934// value will be replaced with "sensitive".
24935func (s GetChannelsInput) GoString() string {
24936	return s.String()
24937}
24938
24939// Validate inspects the fields of the type to determine if they are valid.
24940func (s *GetChannelsInput) Validate() error {
24941	invalidParams := request.ErrInvalidParams{Context: "GetChannelsInput"}
24942	if s.ApplicationId == nil {
24943		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24944	}
24945	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24946		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24947	}
24948
24949	if invalidParams.Len() > 0 {
24950		return invalidParams
24951	}
24952	return nil
24953}
24954
24955// SetApplicationId sets the ApplicationId field's value.
24956func (s *GetChannelsInput) SetApplicationId(v string) *GetChannelsInput {
24957	s.ApplicationId = &v
24958	return s
24959}
24960
24961type GetChannelsOutput struct {
24962	_ struct{} `type:"structure" payload:"ChannelsResponse"`
24963
24964	// Provides information about the general settings and status of all channels
24965	// for an application, including channels that aren't enabled for the application.
24966	//
24967	// ChannelsResponse is a required field
24968	ChannelsResponse *ChannelsResponse `type:"structure" required:"true"`
24969}
24970
24971// String returns the string representation.
24972//
24973// API parameter values that are decorated as "sensitive" in the API will not
24974// be included in the string output. The member name will be present, but the
24975// value will be replaced with "sensitive".
24976func (s GetChannelsOutput) String() string {
24977	return awsutil.Prettify(s)
24978}
24979
24980// GoString returns the string representation.
24981//
24982// API parameter values that are decorated as "sensitive" in the API will not
24983// be included in the string output. The member name will be present, but the
24984// value will be replaced with "sensitive".
24985func (s GetChannelsOutput) GoString() string {
24986	return s.String()
24987}
24988
24989// SetChannelsResponse sets the ChannelsResponse field's value.
24990func (s *GetChannelsOutput) SetChannelsResponse(v *ChannelsResponse) *GetChannelsOutput {
24991	s.ChannelsResponse = v
24992	return s
24993}
24994
24995type GetEmailChannelInput struct {
24996	_ struct{} `type:"structure" nopayload:"true"`
24997
24998	// ApplicationId is a required field
24999	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25000}
25001
25002// String returns the string representation.
25003//
25004// API parameter values that are decorated as "sensitive" in the API will not
25005// be included in the string output. The member name will be present, but the
25006// value will be replaced with "sensitive".
25007func (s GetEmailChannelInput) String() string {
25008	return awsutil.Prettify(s)
25009}
25010
25011// GoString returns the string representation.
25012//
25013// API parameter values that are decorated as "sensitive" in the API will not
25014// be included in the string output. The member name will be present, but the
25015// value will be replaced with "sensitive".
25016func (s GetEmailChannelInput) GoString() string {
25017	return s.String()
25018}
25019
25020// Validate inspects the fields of the type to determine if they are valid.
25021func (s *GetEmailChannelInput) Validate() error {
25022	invalidParams := request.ErrInvalidParams{Context: "GetEmailChannelInput"}
25023	if s.ApplicationId == nil {
25024		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25025	}
25026	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25027		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25028	}
25029
25030	if invalidParams.Len() > 0 {
25031		return invalidParams
25032	}
25033	return nil
25034}
25035
25036// SetApplicationId sets the ApplicationId field's value.
25037func (s *GetEmailChannelInput) SetApplicationId(v string) *GetEmailChannelInput {
25038	s.ApplicationId = &v
25039	return s
25040}
25041
25042type GetEmailChannelOutput struct {
25043	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
25044
25045	// Provides information about the status and settings of the email channel for
25046	// an application.
25047	//
25048	// EmailChannelResponse is a required field
25049	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
25050}
25051
25052// String returns the string representation.
25053//
25054// API parameter values that are decorated as "sensitive" in the API will not
25055// be included in the string output. The member name will be present, but the
25056// value will be replaced with "sensitive".
25057func (s GetEmailChannelOutput) String() string {
25058	return awsutil.Prettify(s)
25059}
25060
25061// GoString returns the string representation.
25062//
25063// API parameter values that are decorated as "sensitive" in the API will not
25064// be included in the string output. The member name will be present, but the
25065// value will be replaced with "sensitive".
25066func (s GetEmailChannelOutput) GoString() string {
25067	return s.String()
25068}
25069
25070// SetEmailChannelResponse sets the EmailChannelResponse field's value.
25071func (s *GetEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *GetEmailChannelOutput {
25072	s.EmailChannelResponse = v
25073	return s
25074}
25075
25076type GetEmailTemplateInput struct {
25077	_ struct{} `type:"structure" nopayload:"true"`
25078
25079	// TemplateName is a required field
25080	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
25081
25082	Version *string `location:"querystring" locationName:"version" type:"string"`
25083}
25084
25085// String returns the string representation.
25086//
25087// API parameter values that are decorated as "sensitive" in the API will not
25088// be included in the string output. The member name will be present, but the
25089// value will be replaced with "sensitive".
25090func (s GetEmailTemplateInput) String() string {
25091	return awsutil.Prettify(s)
25092}
25093
25094// GoString returns the string representation.
25095//
25096// API parameter values that are decorated as "sensitive" in the API will not
25097// be included in the string output. The member name will be present, but the
25098// value will be replaced with "sensitive".
25099func (s GetEmailTemplateInput) GoString() string {
25100	return s.String()
25101}
25102
25103// Validate inspects the fields of the type to determine if they are valid.
25104func (s *GetEmailTemplateInput) Validate() error {
25105	invalidParams := request.ErrInvalidParams{Context: "GetEmailTemplateInput"}
25106	if s.TemplateName == nil {
25107		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
25108	}
25109	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
25110		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
25111	}
25112
25113	if invalidParams.Len() > 0 {
25114		return invalidParams
25115	}
25116	return nil
25117}
25118
25119// SetTemplateName sets the TemplateName field's value.
25120func (s *GetEmailTemplateInput) SetTemplateName(v string) *GetEmailTemplateInput {
25121	s.TemplateName = &v
25122	return s
25123}
25124
25125// SetVersion sets the Version field's value.
25126func (s *GetEmailTemplateInput) SetVersion(v string) *GetEmailTemplateInput {
25127	s.Version = &v
25128	return s
25129}
25130
25131type GetEmailTemplateOutput struct {
25132	_ struct{} `type:"structure" payload:"EmailTemplateResponse"`
25133
25134	// Provides information about the content and settings for a message template
25135	// that can be used in messages that are sent through the email channel.
25136	//
25137	// EmailTemplateResponse is a required field
25138	EmailTemplateResponse *EmailTemplateResponse `type:"structure" required:"true"`
25139}
25140
25141// String returns the string representation.
25142//
25143// API parameter values that are decorated as "sensitive" in the API will not
25144// be included in the string output. The member name will be present, but the
25145// value will be replaced with "sensitive".
25146func (s GetEmailTemplateOutput) String() string {
25147	return awsutil.Prettify(s)
25148}
25149
25150// GoString returns the string representation.
25151//
25152// API parameter values that are decorated as "sensitive" in the API will not
25153// be included in the string output. The member name will be present, but the
25154// value will be replaced with "sensitive".
25155func (s GetEmailTemplateOutput) GoString() string {
25156	return s.String()
25157}
25158
25159// SetEmailTemplateResponse sets the EmailTemplateResponse field's value.
25160func (s *GetEmailTemplateOutput) SetEmailTemplateResponse(v *EmailTemplateResponse) *GetEmailTemplateOutput {
25161	s.EmailTemplateResponse = v
25162	return s
25163}
25164
25165type GetEndpointInput struct {
25166	_ struct{} `type:"structure" nopayload:"true"`
25167
25168	// ApplicationId is a required field
25169	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25170
25171	// EndpointId is a required field
25172	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
25173}
25174
25175// String returns the string representation.
25176//
25177// API parameter values that are decorated as "sensitive" in the API will not
25178// be included in the string output. The member name will be present, but the
25179// value will be replaced with "sensitive".
25180func (s GetEndpointInput) String() string {
25181	return awsutil.Prettify(s)
25182}
25183
25184// GoString returns the string representation.
25185//
25186// API parameter values that are decorated as "sensitive" in the API will not
25187// be included in the string output. The member name will be present, but the
25188// value will be replaced with "sensitive".
25189func (s GetEndpointInput) GoString() string {
25190	return s.String()
25191}
25192
25193// Validate inspects the fields of the type to determine if they are valid.
25194func (s *GetEndpointInput) Validate() error {
25195	invalidParams := request.ErrInvalidParams{Context: "GetEndpointInput"}
25196	if s.ApplicationId == nil {
25197		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25198	}
25199	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25200		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25201	}
25202	if s.EndpointId == nil {
25203		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
25204	}
25205	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
25206		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
25207	}
25208
25209	if invalidParams.Len() > 0 {
25210		return invalidParams
25211	}
25212	return nil
25213}
25214
25215// SetApplicationId sets the ApplicationId field's value.
25216func (s *GetEndpointInput) SetApplicationId(v string) *GetEndpointInput {
25217	s.ApplicationId = &v
25218	return s
25219}
25220
25221// SetEndpointId sets the EndpointId field's value.
25222func (s *GetEndpointInput) SetEndpointId(v string) *GetEndpointInput {
25223	s.EndpointId = &v
25224	return s
25225}
25226
25227type GetEndpointOutput struct {
25228	_ struct{} `type:"structure" payload:"EndpointResponse"`
25229
25230	// Provides information about the channel type and other settings for an endpoint.
25231	//
25232	// EndpointResponse is a required field
25233	EndpointResponse *EndpointResponse `type:"structure" required:"true"`
25234}
25235
25236// String returns the string representation.
25237//
25238// API parameter values that are decorated as "sensitive" in the API will not
25239// be included in the string output. The member name will be present, but the
25240// value will be replaced with "sensitive".
25241func (s GetEndpointOutput) String() string {
25242	return awsutil.Prettify(s)
25243}
25244
25245// GoString returns the string representation.
25246//
25247// API parameter values that are decorated as "sensitive" in the API will not
25248// be included in the string output. The member name will be present, but the
25249// value will be replaced with "sensitive".
25250func (s GetEndpointOutput) GoString() string {
25251	return s.String()
25252}
25253
25254// SetEndpointResponse sets the EndpointResponse field's value.
25255func (s *GetEndpointOutput) SetEndpointResponse(v *EndpointResponse) *GetEndpointOutput {
25256	s.EndpointResponse = v
25257	return s
25258}
25259
25260type GetEventStreamInput struct {
25261	_ struct{} `type:"structure" nopayload:"true"`
25262
25263	// ApplicationId is a required field
25264	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25265}
25266
25267// String returns the string representation.
25268//
25269// API parameter values that are decorated as "sensitive" in the API will not
25270// be included in the string output. The member name will be present, but the
25271// value will be replaced with "sensitive".
25272func (s GetEventStreamInput) String() string {
25273	return awsutil.Prettify(s)
25274}
25275
25276// GoString returns the string representation.
25277//
25278// API parameter values that are decorated as "sensitive" in the API will not
25279// be included in the string output. The member name will be present, but the
25280// value will be replaced with "sensitive".
25281func (s GetEventStreamInput) GoString() string {
25282	return s.String()
25283}
25284
25285// Validate inspects the fields of the type to determine if they are valid.
25286func (s *GetEventStreamInput) Validate() error {
25287	invalidParams := request.ErrInvalidParams{Context: "GetEventStreamInput"}
25288	if s.ApplicationId == nil {
25289		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25290	}
25291	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25292		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25293	}
25294
25295	if invalidParams.Len() > 0 {
25296		return invalidParams
25297	}
25298	return nil
25299}
25300
25301// SetApplicationId sets the ApplicationId field's value.
25302func (s *GetEventStreamInput) SetApplicationId(v string) *GetEventStreamInput {
25303	s.ApplicationId = &v
25304	return s
25305}
25306
25307type GetEventStreamOutput struct {
25308	_ struct{} `type:"structure" payload:"EventStream"`
25309
25310	// Specifies settings for publishing event data to an Amazon Kinesis data stream
25311	// or an Amazon Kinesis Data Firehose delivery stream.
25312	//
25313	// EventStream is a required field
25314	EventStream *EventStream `type:"structure" required:"true"`
25315}
25316
25317// String returns the string representation.
25318//
25319// API parameter values that are decorated as "sensitive" in the API will not
25320// be included in the string output. The member name will be present, but the
25321// value will be replaced with "sensitive".
25322func (s GetEventStreamOutput) String() string {
25323	return awsutil.Prettify(s)
25324}
25325
25326// GoString returns the string representation.
25327//
25328// API parameter values that are decorated as "sensitive" in the API will not
25329// be included in the string output. The member name will be present, but the
25330// value will be replaced with "sensitive".
25331func (s GetEventStreamOutput) GoString() string {
25332	return s.String()
25333}
25334
25335// SetEventStream sets the EventStream field's value.
25336func (s *GetEventStreamOutput) SetEventStream(v *EventStream) *GetEventStreamOutput {
25337	s.EventStream = v
25338	return s
25339}
25340
25341type GetExportJobInput struct {
25342	_ struct{} `type:"structure" nopayload:"true"`
25343
25344	// ApplicationId is a required field
25345	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25346
25347	// JobId is a required field
25348	JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"`
25349}
25350
25351// String returns the string representation.
25352//
25353// API parameter values that are decorated as "sensitive" in the API will not
25354// be included in the string output. The member name will be present, but the
25355// value will be replaced with "sensitive".
25356func (s GetExportJobInput) String() string {
25357	return awsutil.Prettify(s)
25358}
25359
25360// GoString returns the string representation.
25361//
25362// API parameter values that are decorated as "sensitive" in the API will not
25363// be included in the string output. The member name will be present, but the
25364// value will be replaced with "sensitive".
25365func (s GetExportJobInput) GoString() string {
25366	return s.String()
25367}
25368
25369// Validate inspects the fields of the type to determine if they are valid.
25370func (s *GetExportJobInput) Validate() error {
25371	invalidParams := request.ErrInvalidParams{Context: "GetExportJobInput"}
25372	if s.ApplicationId == nil {
25373		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25374	}
25375	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25376		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25377	}
25378	if s.JobId == nil {
25379		invalidParams.Add(request.NewErrParamRequired("JobId"))
25380	}
25381	if s.JobId != nil && len(*s.JobId) < 1 {
25382		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
25383	}
25384
25385	if invalidParams.Len() > 0 {
25386		return invalidParams
25387	}
25388	return nil
25389}
25390
25391// SetApplicationId sets the ApplicationId field's value.
25392func (s *GetExportJobInput) SetApplicationId(v string) *GetExportJobInput {
25393	s.ApplicationId = &v
25394	return s
25395}
25396
25397// SetJobId sets the JobId field's value.
25398func (s *GetExportJobInput) SetJobId(v string) *GetExportJobInput {
25399	s.JobId = &v
25400	return s
25401}
25402
25403type GetExportJobOutput struct {
25404	_ struct{} `type:"structure" payload:"ExportJobResponse"`
25405
25406	// Provides information about the status and settings of a job that exports
25407	// endpoint definitions to a file. The file can be added directly to an Amazon
25408	// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
25409	// or downloaded directly to a computer by using the Amazon Pinpoint console.
25410	//
25411	// ExportJobResponse is a required field
25412	ExportJobResponse *ExportJobResponse `type:"structure" required:"true"`
25413}
25414
25415// String returns the string representation.
25416//
25417// API parameter values that are decorated as "sensitive" in the API will not
25418// be included in the string output. The member name will be present, but the
25419// value will be replaced with "sensitive".
25420func (s GetExportJobOutput) String() string {
25421	return awsutil.Prettify(s)
25422}
25423
25424// GoString returns the string representation.
25425//
25426// API parameter values that are decorated as "sensitive" in the API will not
25427// be included in the string output. The member name will be present, but the
25428// value will be replaced with "sensitive".
25429func (s GetExportJobOutput) GoString() string {
25430	return s.String()
25431}
25432
25433// SetExportJobResponse sets the ExportJobResponse field's value.
25434func (s *GetExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *GetExportJobOutput {
25435	s.ExportJobResponse = v
25436	return s
25437}
25438
25439type GetExportJobsInput struct {
25440	_ struct{} `type:"structure" nopayload:"true"`
25441
25442	// ApplicationId is a required field
25443	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25444
25445	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
25446
25447	Token *string `location:"querystring" locationName:"token" type:"string"`
25448}
25449
25450// String returns the string representation.
25451//
25452// API parameter values that are decorated as "sensitive" in the API will not
25453// be included in the string output. The member name will be present, but the
25454// value will be replaced with "sensitive".
25455func (s GetExportJobsInput) String() string {
25456	return awsutil.Prettify(s)
25457}
25458
25459// GoString returns the string representation.
25460//
25461// API parameter values that are decorated as "sensitive" in the API will not
25462// be included in the string output. The member name will be present, but the
25463// value will be replaced with "sensitive".
25464func (s GetExportJobsInput) GoString() string {
25465	return s.String()
25466}
25467
25468// Validate inspects the fields of the type to determine if they are valid.
25469func (s *GetExportJobsInput) Validate() error {
25470	invalidParams := request.ErrInvalidParams{Context: "GetExportJobsInput"}
25471	if s.ApplicationId == nil {
25472		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25473	}
25474	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25475		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25476	}
25477
25478	if invalidParams.Len() > 0 {
25479		return invalidParams
25480	}
25481	return nil
25482}
25483
25484// SetApplicationId sets the ApplicationId field's value.
25485func (s *GetExportJobsInput) SetApplicationId(v string) *GetExportJobsInput {
25486	s.ApplicationId = &v
25487	return s
25488}
25489
25490// SetPageSize sets the PageSize field's value.
25491func (s *GetExportJobsInput) SetPageSize(v string) *GetExportJobsInput {
25492	s.PageSize = &v
25493	return s
25494}
25495
25496// SetToken sets the Token field's value.
25497func (s *GetExportJobsInput) SetToken(v string) *GetExportJobsInput {
25498	s.Token = &v
25499	return s
25500}
25501
25502type GetExportJobsOutput struct {
25503	_ struct{} `type:"structure" payload:"ExportJobsResponse"`
25504
25505	// Provides information about all the export jobs that are associated with an
25506	// application or segment. An export job is a job that exports endpoint definitions
25507	// to a file.
25508	//
25509	// ExportJobsResponse is a required field
25510	ExportJobsResponse *ExportJobsResponse `type:"structure" required:"true"`
25511}
25512
25513// String returns the string representation.
25514//
25515// API parameter values that are decorated as "sensitive" in the API will not
25516// be included in the string output. The member name will be present, but the
25517// value will be replaced with "sensitive".
25518func (s GetExportJobsOutput) String() string {
25519	return awsutil.Prettify(s)
25520}
25521
25522// GoString returns the string representation.
25523//
25524// API parameter values that are decorated as "sensitive" in the API will not
25525// be included in the string output. The member name will be present, but the
25526// value will be replaced with "sensitive".
25527func (s GetExportJobsOutput) GoString() string {
25528	return s.String()
25529}
25530
25531// SetExportJobsResponse sets the ExportJobsResponse field's value.
25532func (s *GetExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetExportJobsOutput {
25533	s.ExportJobsResponse = v
25534	return s
25535}
25536
25537type GetGcmChannelInput struct {
25538	_ struct{} `type:"structure" nopayload:"true"`
25539
25540	// ApplicationId is a required field
25541	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25542}
25543
25544// String returns the string representation.
25545//
25546// API parameter values that are decorated as "sensitive" in the API will not
25547// be included in the string output. The member name will be present, but the
25548// value will be replaced with "sensitive".
25549func (s GetGcmChannelInput) String() string {
25550	return awsutil.Prettify(s)
25551}
25552
25553// GoString returns the string representation.
25554//
25555// API parameter values that are decorated as "sensitive" in the API will not
25556// be included in the string output. The member name will be present, but the
25557// value will be replaced with "sensitive".
25558func (s GetGcmChannelInput) GoString() string {
25559	return s.String()
25560}
25561
25562// Validate inspects the fields of the type to determine if they are valid.
25563func (s *GetGcmChannelInput) Validate() error {
25564	invalidParams := request.ErrInvalidParams{Context: "GetGcmChannelInput"}
25565	if s.ApplicationId == nil {
25566		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25567	}
25568	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25569		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25570	}
25571
25572	if invalidParams.Len() > 0 {
25573		return invalidParams
25574	}
25575	return nil
25576}
25577
25578// SetApplicationId sets the ApplicationId field's value.
25579func (s *GetGcmChannelInput) SetApplicationId(v string) *GetGcmChannelInput {
25580	s.ApplicationId = &v
25581	return s
25582}
25583
25584type GetGcmChannelOutput struct {
25585	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
25586
25587	// Provides information about the status and settings of the GCM channel for
25588	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
25589	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
25590	// (GCM), service.
25591	//
25592	// GCMChannelResponse is a required field
25593	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
25594}
25595
25596// String returns the string representation.
25597//
25598// API parameter values that are decorated as "sensitive" in the API will not
25599// be included in the string output. The member name will be present, but the
25600// value will be replaced with "sensitive".
25601func (s GetGcmChannelOutput) String() string {
25602	return awsutil.Prettify(s)
25603}
25604
25605// GoString returns the string representation.
25606//
25607// API parameter values that are decorated as "sensitive" in the API will not
25608// be included in the string output. The member name will be present, but the
25609// value will be replaced with "sensitive".
25610func (s GetGcmChannelOutput) GoString() string {
25611	return s.String()
25612}
25613
25614// SetGCMChannelResponse sets the GCMChannelResponse field's value.
25615func (s *GetGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *GetGcmChannelOutput {
25616	s.GCMChannelResponse = v
25617	return s
25618}
25619
25620type GetImportJobInput struct {
25621	_ struct{} `type:"structure" nopayload:"true"`
25622
25623	// ApplicationId is a required field
25624	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25625
25626	// JobId is a required field
25627	JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"`
25628}
25629
25630// String returns the string representation.
25631//
25632// API parameter values that are decorated as "sensitive" in the API will not
25633// be included in the string output. The member name will be present, but the
25634// value will be replaced with "sensitive".
25635func (s GetImportJobInput) String() string {
25636	return awsutil.Prettify(s)
25637}
25638
25639// GoString returns the string representation.
25640//
25641// API parameter values that are decorated as "sensitive" in the API will not
25642// be included in the string output. The member name will be present, but the
25643// value will be replaced with "sensitive".
25644func (s GetImportJobInput) GoString() string {
25645	return s.String()
25646}
25647
25648// Validate inspects the fields of the type to determine if they are valid.
25649func (s *GetImportJobInput) Validate() error {
25650	invalidParams := request.ErrInvalidParams{Context: "GetImportJobInput"}
25651	if s.ApplicationId == nil {
25652		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25653	}
25654	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25655		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25656	}
25657	if s.JobId == nil {
25658		invalidParams.Add(request.NewErrParamRequired("JobId"))
25659	}
25660	if s.JobId != nil && len(*s.JobId) < 1 {
25661		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
25662	}
25663
25664	if invalidParams.Len() > 0 {
25665		return invalidParams
25666	}
25667	return nil
25668}
25669
25670// SetApplicationId sets the ApplicationId field's value.
25671func (s *GetImportJobInput) SetApplicationId(v string) *GetImportJobInput {
25672	s.ApplicationId = &v
25673	return s
25674}
25675
25676// SetJobId sets the JobId field's value.
25677func (s *GetImportJobInput) SetJobId(v string) *GetImportJobInput {
25678	s.JobId = &v
25679	return s
25680}
25681
25682type GetImportJobOutput struct {
25683	_ struct{} `type:"structure" payload:"ImportJobResponse"`
25684
25685	// Provides information about the status and settings of a job that imports
25686	// endpoint definitions from one or more files. The files can be stored in an
25687	// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
25688	// a computer by using the Amazon Pinpoint console.
25689	//
25690	// ImportJobResponse is a required field
25691	ImportJobResponse *ImportJobResponse `type:"structure" required:"true"`
25692}
25693
25694// String returns the string representation.
25695//
25696// API parameter values that are decorated as "sensitive" in the API will not
25697// be included in the string output. The member name will be present, but the
25698// value will be replaced with "sensitive".
25699func (s GetImportJobOutput) String() string {
25700	return awsutil.Prettify(s)
25701}
25702
25703// GoString returns the string representation.
25704//
25705// API parameter values that are decorated as "sensitive" in the API will not
25706// be included in the string output. The member name will be present, but the
25707// value will be replaced with "sensitive".
25708func (s GetImportJobOutput) GoString() string {
25709	return s.String()
25710}
25711
25712// SetImportJobResponse sets the ImportJobResponse field's value.
25713func (s *GetImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *GetImportJobOutput {
25714	s.ImportJobResponse = v
25715	return s
25716}
25717
25718type GetImportJobsInput struct {
25719	_ struct{} `type:"structure" nopayload:"true"`
25720
25721	// ApplicationId is a required field
25722	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25723
25724	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
25725
25726	Token *string `location:"querystring" locationName:"token" type:"string"`
25727}
25728
25729// String returns the string representation.
25730//
25731// API parameter values that are decorated as "sensitive" in the API will not
25732// be included in the string output. The member name will be present, but the
25733// value will be replaced with "sensitive".
25734func (s GetImportJobsInput) String() string {
25735	return awsutil.Prettify(s)
25736}
25737
25738// GoString returns the string representation.
25739//
25740// API parameter values that are decorated as "sensitive" in the API will not
25741// be included in the string output. The member name will be present, but the
25742// value will be replaced with "sensitive".
25743func (s GetImportJobsInput) GoString() string {
25744	return s.String()
25745}
25746
25747// Validate inspects the fields of the type to determine if they are valid.
25748func (s *GetImportJobsInput) Validate() error {
25749	invalidParams := request.ErrInvalidParams{Context: "GetImportJobsInput"}
25750	if s.ApplicationId == nil {
25751		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25752	}
25753	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25754		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25755	}
25756
25757	if invalidParams.Len() > 0 {
25758		return invalidParams
25759	}
25760	return nil
25761}
25762
25763// SetApplicationId sets the ApplicationId field's value.
25764func (s *GetImportJobsInput) SetApplicationId(v string) *GetImportJobsInput {
25765	s.ApplicationId = &v
25766	return s
25767}
25768
25769// SetPageSize sets the PageSize field's value.
25770func (s *GetImportJobsInput) SetPageSize(v string) *GetImportJobsInput {
25771	s.PageSize = &v
25772	return s
25773}
25774
25775// SetToken sets the Token field's value.
25776func (s *GetImportJobsInput) SetToken(v string) *GetImportJobsInput {
25777	s.Token = &v
25778	return s
25779}
25780
25781type GetImportJobsOutput struct {
25782	_ struct{} `type:"structure" payload:"ImportJobsResponse"`
25783
25784	// Provides information about the status and settings of all the import jobs
25785	// that are associated with an application or segment. An import job is a job
25786	// that imports endpoint definitions from one or more files.
25787	//
25788	// ImportJobsResponse is a required field
25789	ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"`
25790}
25791
25792// String returns the string representation.
25793//
25794// API parameter values that are decorated as "sensitive" in the API will not
25795// be included in the string output. The member name will be present, but the
25796// value will be replaced with "sensitive".
25797func (s GetImportJobsOutput) String() string {
25798	return awsutil.Prettify(s)
25799}
25800
25801// GoString returns the string representation.
25802//
25803// API parameter values that are decorated as "sensitive" in the API will not
25804// be included in the string output. The member name will be present, but the
25805// value will be replaced with "sensitive".
25806func (s GetImportJobsOutput) GoString() string {
25807	return s.String()
25808}
25809
25810// SetImportJobsResponse sets the ImportJobsResponse field's value.
25811func (s *GetImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetImportJobsOutput {
25812	s.ImportJobsResponse = v
25813	return s
25814}
25815
25816type GetInAppMessagesInput struct {
25817	_ struct{} `type:"structure" nopayload:"true"`
25818
25819	// ApplicationId is a required field
25820	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25821
25822	// EndpointId is a required field
25823	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
25824}
25825
25826// String returns the string representation.
25827//
25828// API parameter values that are decorated as "sensitive" in the API will not
25829// be included in the string output. The member name will be present, but the
25830// value will be replaced with "sensitive".
25831func (s GetInAppMessagesInput) String() string {
25832	return awsutil.Prettify(s)
25833}
25834
25835// GoString returns the string representation.
25836//
25837// API parameter values that are decorated as "sensitive" in the API will not
25838// be included in the string output. The member name will be present, but the
25839// value will be replaced with "sensitive".
25840func (s GetInAppMessagesInput) GoString() string {
25841	return s.String()
25842}
25843
25844// Validate inspects the fields of the type to determine if they are valid.
25845func (s *GetInAppMessagesInput) Validate() error {
25846	invalidParams := request.ErrInvalidParams{Context: "GetInAppMessagesInput"}
25847	if s.ApplicationId == nil {
25848		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25849	}
25850	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25851		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25852	}
25853	if s.EndpointId == nil {
25854		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
25855	}
25856	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
25857		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
25858	}
25859
25860	if invalidParams.Len() > 0 {
25861		return invalidParams
25862	}
25863	return nil
25864}
25865
25866// SetApplicationId sets the ApplicationId field's value.
25867func (s *GetInAppMessagesInput) SetApplicationId(v string) *GetInAppMessagesInput {
25868	s.ApplicationId = &v
25869	return s
25870}
25871
25872// SetEndpointId sets the EndpointId field's value.
25873func (s *GetInAppMessagesInput) SetEndpointId(v string) *GetInAppMessagesInput {
25874	s.EndpointId = &v
25875	return s
25876}
25877
25878type GetInAppMessagesOutput struct {
25879	_ struct{} `type:"structure" payload:"InAppMessagesResponse"`
25880
25881	// Get in-app messages response object.
25882	//
25883	// InAppMessagesResponse is a required field
25884	InAppMessagesResponse *InAppMessagesResponse `type:"structure" required:"true"`
25885}
25886
25887// String returns the string representation.
25888//
25889// API parameter values that are decorated as "sensitive" in the API will not
25890// be included in the string output. The member name will be present, but the
25891// value will be replaced with "sensitive".
25892func (s GetInAppMessagesOutput) String() string {
25893	return awsutil.Prettify(s)
25894}
25895
25896// GoString returns the string representation.
25897//
25898// API parameter values that are decorated as "sensitive" in the API will not
25899// be included in the string output. The member name will be present, but the
25900// value will be replaced with "sensitive".
25901func (s GetInAppMessagesOutput) GoString() string {
25902	return s.String()
25903}
25904
25905// SetInAppMessagesResponse sets the InAppMessagesResponse field's value.
25906func (s *GetInAppMessagesOutput) SetInAppMessagesResponse(v *InAppMessagesResponse) *GetInAppMessagesOutput {
25907	s.InAppMessagesResponse = v
25908	return s
25909}
25910
25911type GetInAppTemplateInput struct {
25912	_ struct{} `type:"structure" nopayload:"true"`
25913
25914	// TemplateName is a required field
25915	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
25916
25917	Version *string `location:"querystring" locationName:"version" type:"string"`
25918}
25919
25920// String returns the string representation.
25921//
25922// API parameter values that are decorated as "sensitive" in the API will not
25923// be included in the string output. The member name will be present, but the
25924// value will be replaced with "sensitive".
25925func (s GetInAppTemplateInput) String() string {
25926	return awsutil.Prettify(s)
25927}
25928
25929// GoString returns the string representation.
25930//
25931// API parameter values that are decorated as "sensitive" in the API will not
25932// be included in the string output. The member name will be present, but the
25933// value will be replaced with "sensitive".
25934func (s GetInAppTemplateInput) GoString() string {
25935	return s.String()
25936}
25937
25938// Validate inspects the fields of the type to determine if they are valid.
25939func (s *GetInAppTemplateInput) Validate() error {
25940	invalidParams := request.ErrInvalidParams{Context: "GetInAppTemplateInput"}
25941	if s.TemplateName == nil {
25942		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
25943	}
25944	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
25945		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
25946	}
25947
25948	if invalidParams.Len() > 0 {
25949		return invalidParams
25950	}
25951	return nil
25952}
25953
25954// SetTemplateName sets the TemplateName field's value.
25955func (s *GetInAppTemplateInput) SetTemplateName(v string) *GetInAppTemplateInput {
25956	s.TemplateName = &v
25957	return s
25958}
25959
25960// SetVersion sets the Version field's value.
25961func (s *GetInAppTemplateInput) SetVersion(v string) *GetInAppTemplateInput {
25962	s.Version = &v
25963	return s
25964}
25965
25966type GetInAppTemplateOutput struct {
25967	_ struct{} `type:"structure" payload:"InAppTemplateResponse"`
25968
25969	// In-App Template Response.
25970	//
25971	// InAppTemplateResponse is a required field
25972	InAppTemplateResponse *InAppTemplateResponse `type:"structure" required:"true"`
25973}
25974
25975// String returns the string representation.
25976//
25977// API parameter values that are decorated as "sensitive" in the API will not
25978// be included in the string output. The member name will be present, but the
25979// value will be replaced with "sensitive".
25980func (s GetInAppTemplateOutput) String() string {
25981	return awsutil.Prettify(s)
25982}
25983
25984// GoString returns the string representation.
25985//
25986// API parameter values that are decorated as "sensitive" in the API will not
25987// be included in the string output. The member name will be present, but the
25988// value will be replaced with "sensitive".
25989func (s GetInAppTemplateOutput) GoString() string {
25990	return s.String()
25991}
25992
25993// SetInAppTemplateResponse sets the InAppTemplateResponse field's value.
25994func (s *GetInAppTemplateOutput) SetInAppTemplateResponse(v *InAppTemplateResponse) *GetInAppTemplateOutput {
25995	s.InAppTemplateResponse = v
25996	return s
25997}
25998
25999type GetJourneyDateRangeKpiInput struct {
26000	_ struct{} `type:"structure" nopayload:"true"`
26001
26002	// ApplicationId is a required field
26003	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
26004
26005	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
26006
26007	// JourneyId is a required field
26008	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
26009
26010	// KpiName is a required field
26011	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
26012
26013	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
26014
26015	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
26016
26017	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
26018}
26019
26020// String returns the string representation.
26021//
26022// API parameter values that are decorated as "sensitive" in the API will not
26023// be included in the string output. The member name will be present, but the
26024// value will be replaced with "sensitive".
26025func (s GetJourneyDateRangeKpiInput) String() string {
26026	return awsutil.Prettify(s)
26027}
26028
26029// GoString returns the string representation.
26030//
26031// API parameter values that are decorated as "sensitive" in the API will not
26032// be included in the string output. The member name will be present, but the
26033// value will be replaced with "sensitive".
26034func (s GetJourneyDateRangeKpiInput) GoString() string {
26035	return s.String()
26036}
26037
26038// Validate inspects the fields of the type to determine if they are valid.
26039func (s *GetJourneyDateRangeKpiInput) Validate() error {
26040	invalidParams := request.ErrInvalidParams{Context: "GetJourneyDateRangeKpiInput"}
26041	if s.ApplicationId == nil {
26042		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
26043	}
26044	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
26045		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
26046	}
26047	if s.JourneyId == nil {
26048		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
26049	}
26050	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
26051		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
26052	}
26053	if s.KpiName == nil {
26054		invalidParams.Add(request.NewErrParamRequired("KpiName"))
26055	}
26056	if s.KpiName != nil && len(*s.KpiName) < 1 {
26057		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
26058	}
26059
26060	if invalidParams.Len() > 0 {
26061		return invalidParams
26062	}
26063	return nil
26064}
26065
26066// SetApplicationId sets the ApplicationId field's value.
26067func (s *GetJourneyDateRangeKpiInput) SetApplicationId(v string) *GetJourneyDateRangeKpiInput {
26068	s.ApplicationId = &v
26069	return s
26070}
26071
26072// SetEndTime sets the EndTime field's value.
26073func (s *GetJourneyDateRangeKpiInput) SetEndTime(v time.Time) *GetJourneyDateRangeKpiInput {
26074	s.EndTime = &v
26075	return s
26076}
26077
26078// SetJourneyId sets the JourneyId field's value.
26079func (s *GetJourneyDateRangeKpiInput) SetJourneyId(v string) *GetJourneyDateRangeKpiInput {
26080	s.JourneyId = &v
26081	return s
26082}
26083
26084// SetKpiName sets the KpiName field's value.
26085func (s *GetJourneyDateRangeKpiInput) SetKpiName(v string) *GetJourneyDateRangeKpiInput {
26086	s.KpiName = &v
26087	return s
26088}
26089
26090// SetNextToken sets the NextToken field's value.
26091func (s *GetJourneyDateRangeKpiInput) SetNextToken(v string) *GetJourneyDateRangeKpiInput {
26092	s.NextToken = &v
26093	return s
26094}
26095
26096// SetPageSize sets the PageSize field's value.
26097func (s *GetJourneyDateRangeKpiInput) SetPageSize(v string) *GetJourneyDateRangeKpiInput {
26098	s.PageSize = &v
26099	return s
26100}
26101
26102// SetStartTime sets the StartTime field's value.
26103func (s *GetJourneyDateRangeKpiInput) SetStartTime(v time.Time) *GetJourneyDateRangeKpiInput {
26104	s.StartTime = &v
26105	return s
26106}
26107
26108type GetJourneyDateRangeKpiOutput struct {
26109	_ struct{} `type:"structure" payload:"JourneyDateRangeKpiResponse"`
26110
26111	// Provides the results of a query that retrieved the data for a standard engagement
26112	// metric that applies to a journey, and provides information about that query.
26113	//
26114	// JourneyDateRangeKpiResponse is a required field
26115	JourneyDateRangeKpiResponse *JourneyDateRangeKpiResponse `type:"structure" required:"true"`
26116}
26117
26118// String returns the string representation.
26119//
26120// API parameter values that are decorated as "sensitive" in the API will not
26121// be included in the string output. The member name will be present, but the
26122// value will be replaced with "sensitive".
26123func (s GetJourneyDateRangeKpiOutput) String() string {
26124	return awsutil.Prettify(s)
26125}
26126
26127// GoString returns the string representation.
26128//
26129// API parameter values that are decorated as "sensitive" in the API will not
26130// be included in the string output. The member name will be present, but the
26131// value will be replaced with "sensitive".
26132func (s GetJourneyDateRangeKpiOutput) GoString() string {
26133	return s.String()
26134}
26135
26136// SetJourneyDateRangeKpiResponse sets the JourneyDateRangeKpiResponse field's value.
26137func (s *GetJourneyDateRangeKpiOutput) SetJourneyDateRangeKpiResponse(v *JourneyDateRangeKpiResponse) *GetJourneyDateRangeKpiOutput {
26138	s.JourneyDateRangeKpiResponse = v
26139	return s
26140}
26141
26142type GetJourneyExecutionActivityMetricsInput struct {
26143	_ struct{} `type:"structure" nopayload:"true"`
26144
26145	// ApplicationId is a required field
26146	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
26147
26148	// JourneyActivityId is a required field
26149	JourneyActivityId *string `location:"uri" locationName:"journey-activity-id" type:"string" required:"true"`
26150
26151	// JourneyId is a required field
26152	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
26153
26154	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
26155
26156	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
26157}
26158
26159// String returns the string representation.
26160//
26161// API parameter values that are decorated as "sensitive" in the API will not
26162// be included in the string output. The member name will be present, but the
26163// value will be replaced with "sensitive".
26164func (s GetJourneyExecutionActivityMetricsInput) String() string {
26165	return awsutil.Prettify(s)
26166}
26167
26168// GoString returns the string representation.
26169//
26170// API parameter values that are decorated as "sensitive" in the API will not
26171// be included in the string output. The member name will be present, but the
26172// value will be replaced with "sensitive".
26173func (s GetJourneyExecutionActivityMetricsInput) GoString() string {
26174	return s.String()
26175}
26176
26177// Validate inspects the fields of the type to determine if they are valid.
26178func (s *GetJourneyExecutionActivityMetricsInput) Validate() error {
26179	invalidParams := request.ErrInvalidParams{Context: "GetJourneyExecutionActivityMetricsInput"}
26180	if s.ApplicationId == nil {
26181		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
26182	}
26183	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
26184		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
26185	}
26186	if s.JourneyActivityId == nil {
26187		invalidParams.Add(request.NewErrParamRequired("JourneyActivityId"))
26188	}
26189	if s.JourneyActivityId != nil && len(*s.JourneyActivityId) < 1 {
26190		invalidParams.Add(request.NewErrParamMinLen("JourneyActivityId", 1))
26191	}
26192	if s.JourneyId == nil {
26193		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
26194	}
26195	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
26196		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
26197	}
26198
26199	if invalidParams.Len() > 0 {
26200		return invalidParams
26201	}
26202	return nil
26203}
26204
26205// SetApplicationId sets the ApplicationId field's value.
26206func (s *GetJourneyExecutionActivityMetricsInput) SetApplicationId(v string) *GetJourneyExecutionActivityMetricsInput {
26207	s.ApplicationId = &v
26208	return s
26209}
26210
26211// SetJourneyActivityId sets the JourneyActivityId field's value.
26212func (s *GetJourneyExecutionActivityMetricsInput) SetJourneyActivityId(v string) *GetJourneyExecutionActivityMetricsInput {
26213	s.JourneyActivityId = &v
26214	return s
26215}
26216
26217// SetJourneyId sets the JourneyId field's value.
26218func (s *GetJourneyExecutionActivityMetricsInput) SetJourneyId(v string) *GetJourneyExecutionActivityMetricsInput {
26219	s.JourneyId = &v
26220	return s
26221}
26222
26223// SetNextToken sets the NextToken field's value.
26224func (s *GetJourneyExecutionActivityMetricsInput) SetNextToken(v string) *GetJourneyExecutionActivityMetricsInput {
26225	s.NextToken = &v
26226	return s
26227}
26228
26229// SetPageSize sets the PageSize field's value.
26230func (s *GetJourneyExecutionActivityMetricsInput) SetPageSize(v string) *GetJourneyExecutionActivityMetricsInput {
26231	s.PageSize = &v
26232	return s
26233}
26234
26235type GetJourneyExecutionActivityMetricsOutput struct {
26236	_ struct{} `type:"structure" payload:"JourneyExecutionActivityMetricsResponse"`
26237
26238	// Provides the results of a query that retrieved the data for a standard execution
26239	// metric that applies to a journey activity, and provides information about
26240	// that query.
26241	//
26242	// JourneyExecutionActivityMetricsResponse is a required field
26243	JourneyExecutionActivityMetricsResponse *JourneyExecutionActivityMetricsResponse `type:"structure" required:"true"`
26244}
26245
26246// String returns the string representation.
26247//
26248// API parameter values that are decorated as "sensitive" in the API will not
26249// be included in the string output. The member name will be present, but the
26250// value will be replaced with "sensitive".
26251func (s GetJourneyExecutionActivityMetricsOutput) String() string {
26252	return awsutil.Prettify(s)
26253}
26254
26255// GoString returns the string representation.
26256//
26257// API parameter values that are decorated as "sensitive" in the API will not
26258// be included in the string output. The member name will be present, but the
26259// value will be replaced with "sensitive".
26260func (s GetJourneyExecutionActivityMetricsOutput) GoString() string {
26261	return s.String()
26262}
26263
26264// SetJourneyExecutionActivityMetricsResponse sets the JourneyExecutionActivityMetricsResponse field's value.
26265func (s *GetJourneyExecutionActivityMetricsOutput) SetJourneyExecutionActivityMetricsResponse(v *JourneyExecutionActivityMetricsResponse) *GetJourneyExecutionActivityMetricsOutput {
26266	s.JourneyExecutionActivityMetricsResponse = v
26267	return s
26268}
26269
26270type GetJourneyExecutionMetricsInput struct {
26271	_ struct{} `type:"structure" nopayload:"true"`
26272
26273	// ApplicationId is a required field
26274	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
26275
26276	// JourneyId is a required field
26277	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
26278
26279	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
26280
26281	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
26282}
26283
26284// String returns the string representation.
26285//
26286// API parameter values that are decorated as "sensitive" in the API will not
26287// be included in the string output. The member name will be present, but the
26288// value will be replaced with "sensitive".
26289func (s GetJourneyExecutionMetricsInput) String() string {
26290	return awsutil.Prettify(s)
26291}
26292
26293// GoString returns the string representation.
26294//
26295// API parameter values that are decorated as "sensitive" in the API will not
26296// be included in the string output. The member name will be present, but the
26297// value will be replaced with "sensitive".
26298func (s GetJourneyExecutionMetricsInput) GoString() string {
26299	return s.String()
26300}
26301
26302// Validate inspects the fields of the type to determine if they are valid.
26303func (s *GetJourneyExecutionMetricsInput) Validate() error {
26304	invalidParams := request.ErrInvalidParams{Context: "GetJourneyExecutionMetricsInput"}
26305	if s.ApplicationId == nil {
26306		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
26307	}
26308	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
26309		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
26310	}
26311	if s.JourneyId == nil {
26312		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
26313	}
26314	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
26315		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
26316	}
26317
26318	if invalidParams.Len() > 0 {
26319		return invalidParams
26320	}
26321	return nil
26322}
26323
26324// SetApplicationId sets the ApplicationId field's value.
26325func (s *GetJourneyExecutionMetricsInput) SetApplicationId(v string) *GetJourneyExecutionMetricsInput {
26326	s.ApplicationId = &v
26327	return s
26328}
26329
26330// SetJourneyId sets the JourneyId field's value.
26331func (s *GetJourneyExecutionMetricsInput) SetJourneyId(v string) *GetJourneyExecutionMetricsInput {
26332	s.JourneyId = &v
26333	return s
26334}
26335
26336// SetNextToken sets the NextToken field's value.
26337func (s *GetJourneyExecutionMetricsInput) SetNextToken(v string) *GetJourneyExecutionMetricsInput {
26338	s.NextToken = &v
26339	return s
26340}
26341
26342// SetPageSize sets the PageSize field's value.
26343func (s *GetJourneyExecutionMetricsInput) SetPageSize(v string) *GetJourneyExecutionMetricsInput {
26344	s.PageSize = &v
26345	return s
26346}
26347
26348type GetJourneyExecutionMetricsOutput struct {
26349	_ struct{} `type:"structure" payload:"JourneyExecutionMetricsResponse"`
26350
26351	// Provides the results of a query that retrieved the data for a standard execution
26352	// metric that applies to a journey, and provides information about that query.
26353	//
26354	// JourneyExecutionMetricsResponse is a required field
26355	JourneyExecutionMetricsResponse *JourneyExecutionMetricsResponse `type:"structure" required:"true"`
26356}
26357
26358// String returns the string representation.
26359//
26360// API parameter values that are decorated as "sensitive" in the API will not
26361// be included in the string output. The member name will be present, but the
26362// value will be replaced with "sensitive".
26363func (s GetJourneyExecutionMetricsOutput) String() string {
26364	return awsutil.Prettify(s)
26365}
26366
26367// GoString returns the string representation.
26368//
26369// API parameter values that are decorated as "sensitive" in the API will not
26370// be included in the string output. The member name will be present, but the
26371// value will be replaced with "sensitive".
26372func (s GetJourneyExecutionMetricsOutput) GoString() string {
26373	return s.String()
26374}
26375
26376// SetJourneyExecutionMetricsResponse sets the JourneyExecutionMetricsResponse field's value.
26377func (s *GetJourneyExecutionMetricsOutput) SetJourneyExecutionMetricsResponse(v *JourneyExecutionMetricsResponse) *GetJourneyExecutionMetricsOutput {
26378	s.JourneyExecutionMetricsResponse = v
26379	return s
26380}
26381
26382type GetJourneyInput struct {
26383	_ struct{} `type:"structure" nopayload:"true"`
26384
26385	// ApplicationId is a required field
26386	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
26387
26388	// JourneyId is a required field
26389	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
26390}
26391
26392// String returns the string representation.
26393//
26394// API parameter values that are decorated as "sensitive" in the API will not
26395// be included in the string output. The member name will be present, but the
26396// value will be replaced with "sensitive".
26397func (s GetJourneyInput) String() string {
26398	return awsutil.Prettify(s)
26399}
26400
26401// GoString returns the string representation.
26402//
26403// API parameter values that are decorated as "sensitive" in the API will not
26404// be included in the string output. The member name will be present, but the
26405// value will be replaced with "sensitive".
26406func (s GetJourneyInput) GoString() string {
26407	return s.String()
26408}
26409
26410// Validate inspects the fields of the type to determine if they are valid.
26411func (s *GetJourneyInput) Validate() error {
26412	invalidParams := request.ErrInvalidParams{Context: "GetJourneyInput"}
26413	if s.ApplicationId == nil {
26414		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
26415	}
26416	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
26417		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
26418	}
26419	if s.JourneyId == nil {
26420		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
26421	}
26422	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
26423		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
26424	}
26425
26426	if invalidParams.Len() > 0 {
26427		return invalidParams
26428	}
26429	return nil
26430}
26431
26432// SetApplicationId sets the ApplicationId field's value.
26433func (s *GetJourneyInput) SetApplicationId(v string) *GetJourneyInput {
26434	s.ApplicationId = &v
26435	return s
26436}
26437
26438// SetJourneyId sets the JourneyId field's value.
26439func (s *GetJourneyInput) SetJourneyId(v string) *GetJourneyInput {
26440	s.JourneyId = &v
26441	return s
26442}
26443
26444type GetJourneyOutput struct {
26445	_ struct{} `type:"structure" payload:"JourneyResponse"`
26446
26447	// Provides information about the status, configuration, and other settings
26448	// for a journey.
26449	//
26450	// JourneyResponse is a required field
26451	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
26452}
26453
26454// String returns the string representation.
26455//
26456// API parameter values that are decorated as "sensitive" in the API will not
26457// be included in the string output. The member name will be present, but the
26458// value will be replaced with "sensitive".
26459func (s GetJourneyOutput) String() string {
26460	return awsutil.Prettify(s)
26461}
26462
26463// GoString returns the string representation.
26464//
26465// API parameter values that are decorated as "sensitive" in the API will not
26466// be included in the string output. The member name will be present, but the
26467// value will be replaced with "sensitive".
26468func (s GetJourneyOutput) GoString() string {
26469	return s.String()
26470}
26471
26472// SetJourneyResponse sets the JourneyResponse field's value.
26473func (s *GetJourneyOutput) SetJourneyResponse(v *JourneyResponse) *GetJourneyOutput {
26474	s.JourneyResponse = v
26475	return s
26476}
26477
26478type GetPushTemplateInput struct {
26479	_ struct{} `type:"structure" nopayload:"true"`
26480
26481	// TemplateName is a required field
26482	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
26483
26484	Version *string `location:"querystring" locationName:"version" type:"string"`
26485}
26486
26487// String returns the string representation.
26488//
26489// API parameter values that are decorated as "sensitive" in the API will not
26490// be included in the string output. The member name will be present, but the
26491// value will be replaced with "sensitive".
26492func (s GetPushTemplateInput) String() string {
26493	return awsutil.Prettify(s)
26494}
26495
26496// GoString returns the string representation.
26497//
26498// API parameter values that are decorated as "sensitive" in the API will not
26499// be included in the string output. The member name will be present, but the
26500// value will be replaced with "sensitive".
26501func (s GetPushTemplateInput) GoString() string {
26502	return s.String()
26503}
26504
26505// Validate inspects the fields of the type to determine if they are valid.
26506func (s *GetPushTemplateInput) Validate() error {
26507	invalidParams := request.ErrInvalidParams{Context: "GetPushTemplateInput"}
26508	if s.TemplateName == nil {
26509		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
26510	}
26511	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
26512		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
26513	}
26514
26515	if invalidParams.Len() > 0 {
26516		return invalidParams
26517	}
26518	return nil
26519}
26520
26521// SetTemplateName sets the TemplateName field's value.
26522func (s *GetPushTemplateInput) SetTemplateName(v string) *GetPushTemplateInput {
26523	s.TemplateName = &v
26524	return s
26525}
26526
26527// SetVersion sets the Version field's value.
26528func (s *GetPushTemplateInput) SetVersion(v string) *GetPushTemplateInput {
26529	s.Version = &v
26530	return s
26531}
26532
26533type GetPushTemplateOutput struct {
26534	_ struct{} `type:"structure" payload:"PushNotificationTemplateResponse"`
26535
26536	// Provides information about the content and settings for a message template
26537	// that can be used in messages that are sent through a push notification channel.
26538	//
26539	// PushNotificationTemplateResponse is a required field
26540	PushNotificationTemplateResponse *PushNotificationTemplateResponse `type:"structure" required:"true"`
26541}
26542
26543// String returns the string representation.
26544//
26545// API parameter values that are decorated as "sensitive" in the API will not
26546// be included in the string output. The member name will be present, but the
26547// value will be replaced with "sensitive".
26548func (s GetPushTemplateOutput) String() string {
26549	return awsutil.Prettify(s)
26550}
26551
26552// GoString returns the string representation.
26553//
26554// API parameter values that are decorated as "sensitive" in the API will not
26555// be included in the string output. The member name will be present, but the
26556// value will be replaced with "sensitive".
26557func (s GetPushTemplateOutput) GoString() string {
26558	return s.String()
26559}
26560
26561// SetPushNotificationTemplateResponse sets the PushNotificationTemplateResponse field's value.
26562func (s *GetPushTemplateOutput) SetPushNotificationTemplateResponse(v *PushNotificationTemplateResponse) *GetPushTemplateOutput {
26563	s.PushNotificationTemplateResponse = v
26564	return s
26565}
26566
26567type GetRecommenderConfigurationInput struct {
26568	_ struct{} `type:"structure" nopayload:"true"`
26569
26570	// RecommenderId is a required field
26571	RecommenderId *string `location:"uri" locationName:"recommender-id" type:"string" required:"true"`
26572}
26573
26574// String returns the string representation.
26575//
26576// API parameter values that are decorated as "sensitive" in the API will not
26577// be included in the string output. The member name will be present, but the
26578// value will be replaced with "sensitive".
26579func (s GetRecommenderConfigurationInput) String() string {
26580	return awsutil.Prettify(s)
26581}
26582
26583// GoString returns the string representation.
26584//
26585// API parameter values that are decorated as "sensitive" in the API will not
26586// be included in the string output. The member name will be present, but the
26587// value will be replaced with "sensitive".
26588func (s GetRecommenderConfigurationInput) GoString() string {
26589	return s.String()
26590}
26591
26592// Validate inspects the fields of the type to determine if they are valid.
26593func (s *GetRecommenderConfigurationInput) Validate() error {
26594	invalidParams := request.ErrInvalidParams{Context: "GetRecommenderConfigurationInput"}
26595	if s.RecommenderId == nil {
26596		invalidParams.Add(request.NewErrParamRequired("RecommenderId"))
26597	}
26598	if s.RecommenderId != nil && len(*s.RecommenderId) < 1 {
26599		invalidParams.Add(request.NewErrParamMinLen("RecommenderId", 1))
26600	}
26601
26602	if invalidParams.Len() > 0 {
26603		return invalidParams
26604	}
26605	return nil
26606}
26607
26608// SetRecommenderId sets the RecommenderId field's value.
26609func (s *GetRecommenderConfigurationInput) SetRecommenderId(v string) *GetRecommenderConfigurationInput {
26610	s.RecommenderId = &v
26611	return s
26612}
26613
26614type GetRecommenderConfigurationOutput struct {
26615	_ struct{} `type:"structure" payload:"RecommenderConfigurationResponse"`
26616
26617	// Provides information about Amazon Pinpoint configuration settings for retrieving
26618	// and processing data from a recommender model.
26619	//
26620	// RecommenderConfigurationResponse is a required field
26621	RecommenderConfigurationResponse *RecommenderConfigurationResponse `type:"structure" required:"true"`
26622}
26623
26624// String returns the string representation.
26625//
26626// API parameter values that are decorated as "sensitive" in the API will not
26627// be included in the string output. The member name will be present, but the
26628// value will be replaced with "sensitive".
26629func (s GetRecommenderConfigurationOutput) String() string {
26630	return awsutil.Prettify(s)
26631}
26632
26633// GoString returns the string representation.
26634//
26635// API parameter values that are decorated as "sensitive" in the API will not
26636// be included in the string output. The member name will be present, but the
26637// value will be replaced with "sensitive".
26638func (s GetRecommenderConfigurationOutput) GoString() string {
26639	return s.String()
26640}
26641
26642// SetRecommenderConfigurationResponse sets the RecommenderConfigurationResponse field's value.
26643func (s *GetRecommenderConfigurationOutput) SetRecommenderConfigurationResponse(v *RecommenderConfigurationResponse) *GetRecommenderConfigurationOutput {
26644	s.RecommenderConfigurationResponse = v
26645	return s
26646}
26647
26648type GetRecommenderConfigurationsInput struct {
26649	_ struct{} `type:"structure" nopayload:"true"`
26650
26651	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
26652
26653	Token *string `location:"querystring" locationName:"token" type:"string"`
26654}
26655
26656// String returns the string representation.
26657//
26658// API parameter values that are decorated as "sensitive" in the API will not
26659// be included in the string output. The member name will be present, but the
26660// value will be replaced with "sensitive".
26661func (s GetRecommenderConfigurationsInput) String() string {
26662	return awsutil.Prettify(s)
26663}
26664
26665// GoString returns the string representation.
26666//
26667// API parameter values that are decorated as "sensitive" in the API will not
26668// be included in the string output. The member name will be present, but the
26669// value will be replaced with "sensitive".
26670func (s GetRecommenderConfigurationsInput) GoString() string {
26671	return s.String()
26672}
26673
26674// SetPageSize sets the PageSize field's value.
26675func (s *GetRecommenderConfigurationsInput) SetPageSize(v string) *GetRecommenderConfigurationsInput {
26676	s.PageSize = &v
26677	return s
26678}
26679
26680// SetToken sets the Token field's value.
26681func (s *GetRecommenderConfigurationsInput) SetToken(v string) *GetRecommenderConfigurationsInput {
26682	s.Token = &v
26683	return s
26684}
26685
26686type GetRecommenderConfigurationsOutput struct {
26687	_ struct{} `type:"structure" payload:"ListRecommenderConfigurationsResponse"`
26688
26689	// Provides information about all the recommender model configurations that
26690	// are associated with your Amazon Pinpoint account.
26691	//
26692	// ListRecommenderConfigurationsResponse is a required field
26693	ListRecommenderConfigurationsResponse *ListRecommenderConfigurationsResponse `type:"structure" required:"true"`
26694}
26695
26696// String returns the string representation.
26697//
26698// API parameter values that are decorated as "sensitive" in the API will not
26699// be included in the string output. The member name will be present, but the
26700// value will be replaced with "sensitive".
26701func (s GetRecommenderConfigurationsOutput) String() string {
26702	return awsutil.Prettify(s)
26703}
26704
26705// GoString returns the string representation.
26706//
26707// API parameter values that are decorated as "sensitive" in the API will not
26708// be included in the string output. The member name will be present, but the
26709// value will be replaced with "sensitive".
26710func (s GetRecommenderConfigurationsOutput) GoString() string {
26711	return s.String()
26712}
26713
26714// SetListRecommenderConfigurationsResponse sets the ListRecommenderConfigurationsResponse field's value.
26715func (s *GetRecommenderConfigurationsOutput) SetListRecommenderConfigurationsResponse(v *ListRecommenderConfigurationsResponse) *GetRecommenderConfigurationsOutput {
26716	s.ListRecommenderConfigurationsResponse = v
26717	return s
26718}
26719
26720type GetSegmentExportJobsInput struct {
26721	_ struct{} `type:"structure" nopayload:"true"`
26722
26723	// ApplicationId is a required field
26724	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
26725
26726	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
26727
26728	// SegmentId is a required field
26729	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
26730
26731	Token *string `location:"querystring" locationName:"token" type:"string"`
26732}
26733
26734// String returns the string representation.
26735//
26736// API parameter values that are decorated as "sensitive" in the API will not
26737// be included in the string output. The member name will be present, but the
26738// value will be replaced with "sensitive".
26739func (s GetSegmentExportJobsInput) String() string {
26740	return awsutil.Prettify(s)
26741}
26742
26743// GoString returns the string representation.
26744//
26745// API parameter values that are decorated as "sensitive" in the API will not
26746// be included in the string output. The member name will be present, but the
26747// value will be replaced with "sensitive".
26748func (s GetSegmentExportJobsInput) GoString() string {
26749	return s.String()
26750}
26751
26752// Validate inspects the fields of the type to determine if they are valid.
26753func (s *GetSegmentExportJobsInput) Validate() error {
26754	invalidParams := request.ErrInvalidParams{Context: "GetSegmentExportJobsInput"}
26755	if s.ApplicationId == nil {
26756		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
26757	}
26758	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
26759		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
26760	}
26761	if s.SegmentId == nil {
26762		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
26763	}
26764	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
26765		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
26766	}
26767
26768	if invalidParams.Len() > 0 {
26769		return invalidParams
26770	}
26771	return nil
26772}
26773
26774// SetApplicationId sets the ApplicationId field's value.
26775func (s *GetSegmentExportJobsInput) SetApplicationId(v string) *GetSegmentExportJobsInput {
26776	s.ApplicationId = &v
26777	return s
26778}
26779
26780// SetPageSize sets the PageSize field's value.
26781func (s *GetSegmentExportJobsInput) SetPageSize(v string) *GetSegmentExportJobsInput {
26782	s.PageSize = &v
26783	return s
26784}
26785
26786// SetSegmentId sets the SegmentId field's value.
26787func (s *GetSegmentExportJobsInput) SetSegmentId(v string) *GetSegmentExportJobsInput {
26788	s.SegmentId = &v
26789	return s
26790}
26791
26792// SetToken sets the Token field's value.
26793func (s *GetSegmentExportJobsInput) SetToken(v string) *GetSegmentExportJobsInput {
26794	s.Token = &v
26795	return s
26796}
26797
26798type GetSegmentExportJobsOutput struct {
26799	_ struct{} `type:"structure" payload:"ExportJobsResponse"`
26800
26801	// Provides information about all the export jobs that are associated with an
26802	// application or segment. An export job is a job that exports endpoint definitions
26803	// to a file.
26804	//
26805	// ExportJobsResponse is a required field
26806	ExportJobsResponse *ExportJobsResponse `type:"structure" required:"true"`
26807}
26808
26809// String returns the string representation.
26810//
26811// API parameter values that are decorated as "sensitive" in the API will not
26812// be included in the string output. The member name will be present, but the
26813// value will be replaced with "sensitive".
26814func (s GetSegmentExportJobsOutput) String() string {
26815	return awsutil.Prettify(s)
26816}
26817
26818// GoString returns the string representation.
26819//
26820// API parameter values that are decorated as "sensitive" in the API will not
26821// be included in the string output. The member name will be present, but the
26822// value will be replaced with "sensitive".
26823func (s GetSegmentExportJobsOutput) GoString() string {
26824	return s.String()
26825}
26826
26827// SetExportJobsResponse sets the ExportJobsResponse field's value.
26828func (s *GetSegmentExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetSegmentExportJobsOutput {
26829	s.ExportJobsResponse = v
26830	return s
26831}
26832
26833type GetSegmentImportJobsInput struct {
26834	_ struct{} `type:"structure" nopayload:"true"`
26835
26836	// ApplicationId is a required field
26837	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
26838
26839	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
26840
26841	// SegmentId is a required field
26842	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
26843
26844	Token *string `location:"querystring" locationName:"token" type:"string"`
26845}
26846
26847// String returns the string representation.
26848//
26849// API parameter values that are decorated as "sensitive" in the API will not
26850// be included in the string output. The member name will be present, but the
26851// value will be replaced with "sensitive".
26852func (s GetSegmentImportJobsInput) String() string {
26853	return awsutil.Prettify(s)
26854}
26855
26856// GoString returns the string representation.
26857//
26858// API parameter values that are decorated as "sensitive" in the API will not
26859// be included in the string output. The member name will be present, but the
26860// value will be replaced with "sensitive".
26861func (s GetSegmentImportJobsInput) GoString() string {
26862	return s.String()
26863}
26864
26865// Validate inspects the fields of the type to determine if they are valid.
26866func (s *GetSegmentImportJobsInput) Validate() error {
26867	invalidParams := request.ErrInvalidParams{Context: "GetSegmentImportJobsInput"}
26868	if s.ApplicationId == nil {
26869		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
26870	}
26871	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
26872		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
26873	}
26874	if s.SegmentId == nil {
26875		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
26876	}
26877	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
26878		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
26879	}
26880
26881	if invalidParams.Len() > 0 {
26882		return invalidParams
26883	}
26884	return nil
26885}
26886
26887// SetApplicationId sets the ApplicationId field's value.
26888func (s *GetSegmentImportJobsInput) SetApplicationId(v string) *GetSegmentImportJobsInput {
26889	s.ApplicationId = &v
26890	return s
26891}
26892
26893// SetPageSize sets the PageSize field's value.
26894func (s *GetSegmentImportJobsInput) SetPageSize(v string) *GetSegmentImportJobsInput {
26895	s.PageSize = &v
26896	return s
26897}
26898
26899// SetSegmentId sets the SegmentId field's value.
26900func (s *GetSegmentImportJobsInput) SetSegmentId(v string) *GetSegmentImportJobsInput {
26901	s.SegmentId = &v
26902	return s
26903}
26904
26905// SetToken sets the Token field's value.
26906func (s *GetSegmentImportJobsInput) SetToken(v string) *GetSegmentImportJobsInput {
26907	s.Token = &v
26908	return s
26909}
26910
26911type GetSegmentImportJobsOutput struct {
26912	_ struct{} `type:"structure" payload:"ImportJobsResponse"`
26913
26914	// Provides information about the status and settings of all the import jobs
26915	// that are associated with an application or segment. An import job is a job
26916	// that imports endpoint definitions from one or more files.
26917	//
26918	// ImportJobsResponse is a required field
26919	ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"`
26920}
26921
26922// String returns the string representation.
26923//
26924// API parameter values that are decorated as "sensitive" in the API will not
26925// be included in the string output. The member name will be present, but the
26926// value will be replaced with "sensitive".
26927func (s GetSegmentImportJobsOutput) String() string {
26928	return awsutil.Prettify(s)
26929}
26930
26931// GoString returns the string representation.
26932//
26933// API parameter values that are decorated as "sensitive" in the API will not
26934// be included in the string output. The member name will be present, but the
26935// value will be replaced with "sensitive".
26936func (s GetSegmentImportJobsOutput) GoString() string {
26937	return s.String()
26938}
26939
26940// SetImportJobsResponse sets the ImportJobsResponse field's value.
26941func (s *GetSegmentImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetSegmentImportJobsOutput {
26942	s.ImportJobsResponse = v
26943	return s
26944}
26945
26946type GetSegmentInput struct {
26947	_ struct{} `type:"structure" nopayload:"true"`
26948
26949	// ApplicationId is a required field
26950	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
26951
26952	// SegmentId is a required field
26953	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
26954}
26955
26956// String returns the string representation.
26957//
26958// API parameter values that are decorated as "sensitive" in the API will not
26959// be included in the string output. The member name will be present, but the
26960// value will be replaced with "sensitive".
26961func (s GetSegmentInput) String() string {
26962	return awsutil.Prettify(s)
26963}
26964
26965// GoString returns the string representation.
26966//
26967// API parameter values that are decorated as "sensitive" in the API will not
26968// be included in the string output. The member name will be present, but the
26969// value will be replaced with "sensitive".
26970func (s GetSegmentInput) GoString() string {
26971	return s.String()
26972}
26973
26974// Validate inspects the fields of the type to determine if they are valid.
26975func (s *GetSegmentInput) Validate() error {
26976	invalidParams := request.ErrInvalidParams{Context: "GetSegmentInput"}
26977	if s.ApplicationId == nil {
26978		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
26979	}
26980	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
26981		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
26982	}
26983	if s.SegmentId == nil {
26984		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
26985	}
26986	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
26987		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
26988	}
26989
26990	if invalidParams.Len() > 0 {
26991		return invalidParams
26992	}
26993	return nil
26994}
26995
26996// SetApplicationId sets the ApplicationId field's value.
26997func (s *GetSegmentInput) SetApplicationId(v string) *GetSegmentInput {
26998	s.ApplicationId = &v
26999	return s
27000}
27001
27002// SetSegmentId sets the SegmentId field's value.
27003func (s *GetSegmentInput) SetSegmentId(v string) *GetSegmentInput {
27004	s.SegmentId = &v
27005	return s
27006}
27007
27008type GetSegmentOutput struct {
27009	_ struct{} `type:"structure" payload:"SegmentResponse"`
27010
27011	// Provides information about the configuration, dimension, and other settings
27012	// for a segment.
27013	//
27014	// SegmentResponse is a required field
27015	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
27016}
27017
27018// String returns the string representation.
27019//
27020// API parameter values that are decorated as "sensitive" in the API will not
27021// be included in the string output. The member name will be present, but the
27022// value will be replaced with "sensitive".
27023func (s GetSegmentOutput) String() string {
27024	return awsutil.Prettify(s)
27025}
27026
27027// GoString returns the string representation.
27028//
27029// API parameter values that are decorated as "sensitive" in the API will not
27030// be included in the string output. The member name will be present, but the
27031// value will be replaced with "sensitive".
27032func (s GetSegmentOutput) GoString() string {
27033	return s.String()
27034}
27035
27036// SetSegmentResponse sets the SegmentResponse field's value.
27037func (s *GetSegmentOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentOutput {
27038	s.SegmentResponse = v
27039	return s
27040}
27041
27042type GetSegmentVersionInput struct {
27043	_ struct{} `type:"structure" nopayload:"true"`
27044
27045	// ApplicationId is a required field
27046	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
27047
27048	// SegmentId is a required field
27049	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
27050
27051	// Version is a required field
27052	Version *string `location:"uri" locationName:"version" type:"string" required:"true"`
27053}
27054
27055// String returns the string representation.
27056//
27057// API parameter values that are decorated as "sensitive" in the API will not
27058// be included in the string output. The member name will be present, but the
27059// value will be replaced with "sensitive".
27060func (s GetSegmentVersionInput) String() string {
27061	return awsutil.Prettify(s)
27062}
27063
27064// GoString returns the string representation.
27065//
27066// API parameter values that are decorated as "sensitive" in the API will not
27067// be included in the string output. The member name will be present, but the
27068// value will be replaced with "sensitive".
27069func (s GetSegmentVersionInput) GoString() string {
27070	return s.String()
27071}
27072
27073// Validate inspects the fields of the type to determine if they are valid.
27074func (s *GetSegmentVersionInput) Validate() error {
27075	invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionInput"}
27076	if s.ApplicationId == nil {
27077		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
27078	}
27079	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
27080		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
27081	}
27082	if s.SegmentId == nil {
27083		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
27084	}
27085	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
27086		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
27087	}
27088	if s.Version == nil {
27089		invalidParams.Add(request.NewErrParamRequired("Version"))
27090	}
27091	if s.Version != nil && len(*s.Version) < 1 {
27092		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
27093	}
27094
27095	if invalidParams.Len() > 0 {
27096		return invalidParams
27097	}
27098	return nil
27099}
27100
27101// SetApplicationId sets the ApplicationId field's value.
27102func (s *GetSegmentVersionInput) SetApplicationId(v string) *GetSegmentVersionInput {
27103	s.ApplicationId = &v
27104	return s
27105}
27106
27107// SetSegmentId sets the SegmentId field's value.
27108func (s *GetSegmentVersionInput) SetSegmentId(v string) *GetSegmentVersionInput {
27109	s.SegmentId = &v
27110	return s
27111}
27112
27113// SetVersion sets the Version field's value.
27114func (s *GetSegmentVersionInput) SetVersion(v string) *GetSegmentVersionInput {
27115	s.Version = &v
27116	return s
27117}
27118
27119type GetSegmentVersionOutput struct {
27120	_ struct{} `type:"structure" payload:"SegmentResponse"`
27121
27122	// Provides information about the configuration, dimension, and other settings
27123	// for a segment.
27124	//
27125	// SegmentResponse is a required field
27126	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
27127}
27128
27129// String returns the string representation.
27130//
27131// API parameter values that are decorated as "sensitive" in the API will not
27132// be included in the string output. The member name will be present, but the
27133// value will be replaced with "sensitive".
27134func (s GetSegmentVersionOutput) String() string {
27135	return awsutil.Prettify(s)
27136}
27137
27138// GoString returns the string representation.
27139//
27140// API parameter values that are decorated as "sensitive" in the API will not
27141// be included in the string output. The member name will be present, but the
27142// value will be replaced with "sensitive".
27143func (s GetSegmentVersionOutput) GoString() string {
27144	return s.String()
27145}
27146
27147// SetSegmentResponse sets the SegmentResponse field's value.
27148func (s *GetSegmentVersionOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentVersionOutput {
27149	s.SegmentResponse = v
27150	return s
27151}
27152
27153type GetSegmentVersionsInput struct {
27154	_ struct{} `type:"structure" nopayload:"true"`
27155
27156	// ApplicationId is a required field
27157	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
27158
27159	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
27160
27161	// SegmentId is a required field
27162	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
27163
27164	Token *string `location:"querystring" locationName:"token" type:"string"`
27165}
27166
27167// String returns the string representation.
27168//
27169// API parameter values that are decorated as "sensitive" in the API will not
27170// be included in the string output. The member name will be present, but the
27171// value will be replaced with "sensitive".
27172func (s GetSegmentVersionsInput) String() string {
27173	return awsutil.Prettify(s)
27174}
27175
27176// GoString returns the string representation.
27177//
27178// API parameter values that are decorated as "sensitive" in the API will not
27179// be included in the string output. The member name will be present, but the
27180// value will be replaced with "sensitive".
27181func (s GetSegmentVersionsInput) GoString() string {
27182	return s.String()
27183}
27184
27185// Validate inspects the fields of the type to determine if they are valid.
27186func (s *GetSegmentVersionsInput) Validate() error {
27187	invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionsInput"}
27188	if s.ApplicationId == nil {
27189		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
27190	}
27191	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
27192		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
27193	}
27194	if s.SegmentId == nil {
27195		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
27196	}
27197	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
27198		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
27199	}
27200
27201	if invalidParams.Len() > 0 {
27202		return invalidParams
27203	}
27204	return nil
27205}
27206
27207// SetApplicationId sets the ApplicationId field's value.
27208func (s *GetSegmentVersionsInput) SetApplicationId(v string) *GetSegmentVersionsInput {
27209	s.ApplicationId = &v
27210	return s
27211}
27212
27213// SetPageSize sets the PageSize field's value.
27214func (s *GetSegmentVersionsInput) SetPageSize(v string) *GetSegmentVersionsInput {
27215	s.PageSize = &v
27216	return s
27217}
27218
27219// SetSegmentId sets the SegmentId field's value.
27220func (s *GetSegmentVersionsInput) SetSegmentId(v string) *GetSegmentVersionsInput {
27221	s.SegmentId = &v
27222	return s
27223}
27224
27225// SetToken sets the Token field's value.
27226func (s *GetSegmentVersionsInput) SetToken(v string) *GetSegmentVersionsInput {
27227	s.Token = &v
27228	return s
27229}
27230
27231type GetSegmentVersionsOutput struct {
27232	_ struct{} `type:"structure" payload:"SegmentsResponse"`
27233
27234	// Provides information about all the segments that are associated with an application.
27235	//
27236	// SegmentsResponse is a required field
27237	SegmentsResponse *SegmentsResponse `type:"structure" required:"true"`
27238}
27239
27240// String returns the string representation.
27241//
27242// API parameter values that are decorated as "sensitive" in the API will not
27243// be included in the string output. The member name will be present, but the
27244// value will be replaced with "sensitive".
27245func (s GetSegmentVersionsOutput) String() string {
27246	return awsutil.Prettify(s)
27247}
27248
27249// GoString returns the string representation.
27250//
27251// API parameter values that are decorated as "sensitive" in the API will not
27252// be included in the string output. The member name will be present, but the
27253// value will be replaced with "sensitive".
27254func (s GetSegmentVersionsOutput) GoString() string {
27255	return s.String()
27256}
27257
27258// SetSegmentsResponse sets the SegmentsResponse field's value.
27259func (s *GetSegmentVersionsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentVersionsOutput {
27260	s.SegmentsResponse = v
27261	return s
27262}
27263
27264type GetSegmentsInput struct {
27265	_ struct{} `type:"structure" nopayload:"true"`
27266
27267	// ApplicationId is a required field
27268	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
27269
27270	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
27271
27272	Token *string `location:"querystring" locationName:"token" type:"string"`
27273}
27274
27275// String returns the string representation.
27276//
27277// API parameter values that are decorated as "sensitive" in the API will not
27278// be included in the string output. The member name will be present, but the
27279// value will be replaced with "sensitive".
27280func (s GetSegmentsInput) String() string {
27281	return awsutil.Prettify(s)
27282}
27283
27284// GoString returns the string representation.
27285//
27286// API parameter values that are decorated as "sensitive" in the API will not
27287// be included in the string output. The member name will be present, but the
27288// value will be replaced with "sensitive".
27289func (s GetSegmentsInput) GoString() string {
27290	return s.String()
27291}
27292
27293// Validate inspects the fields of the type to determine if they are valid.
27294func (s *GetSegmentsInput) Validate() error {
27295	invalidParams := request.ErrInvalidParams{Context: "GetSegmentsInput"}
27296	if s.ApplicationId == nil {
27297		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
27298	}
27299	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
27300		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
27301	}
27302
27303	if invalidParams.Len() > 0 {
27304		return invalidParams
27305	}
27306	return nil
27307}
27308
27309// SetApplicationId sets the ApplicationId field's value.
27310func (s *GetSegmentsInput) SetApplicationId(v string) *GetSegmentsInput {
27311	s.ApplicationId = &v
27312	return s
27313}
27314
27315// SetPageSize sets the PageSize field's value.
27316func (s *GetSegmentsInput) SetPageSize(v string) *GetSegmentsInput {
27317	s.PageSize = &v
27318	return s
27319}
27320
27321// SetToken sets the Token field's value.
27322func (s *GetSegmentsInput) SetToken(v string) *GetSegmentsInput {
27323	s.Token = &v
27324	return s
27325}
27326
27327type GetSegmentsOutput struct {
27328	_ struct{} `type:"structure" payload:"SegmentsResponse"`
27329
27330	// Provides information about all the segments that are associated with an application.
27331	//
27332	// SegmentsResponse is a required field
27333	SegmentsResponse *SegmentsResponse `type:"structure" required:"true"`
27334}
27335
27336// String returns the string representation.
27337//
27338// API parameter values that are decorated as "sensitive" in the API will not
27339// be included in the string output. The member name will be present, but the
27340// value will be replaced with "sensitive".
27341func (s GetSegmentsOutput) String() string {
27342	return awsutil.Prettify(s)
27343}
27344
27345// GoString returns the string representation.
27346//
27347// API parameter values that are decorated as "sensitive" in the API will not
27348// be included in the string output. The member name will be present, but the
27349// value will be replaced with "sensitive".
27350func (s GetSegmentsOutput) GoString() string {
27351	return s.String()
27352}
27353
27354// SetSegmentsResponse sets the SegmentsResponse field's value.
27355func (s *GetSegmentsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentsOutput {
27356	s.SegmentsResponse = v
27357	return s
27358}
27359
27360type GetSmsChannelInput struct {
27361	_ struct{} `type:"structure" nopayload:"true"`
27362
27363	// ApplicationId is a required field
27364	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
27365}
27366
27367// String returns the string representation.
27368//
27369// API parameter values that are decorated as "sensitive" in the API will not
27370// be included in the string output. The member name will be present, but the
27371// value will be replaced with "sensitive".
27372func (s GetSmsChannelInput) String() string {
27373	return awsutil.Prettify(s)
27374}
27375
27376// GoString returns the string representation.
27377//
27378// API parameter values that are decorated as "sensitive" in the API will not
27379// be included in the string output. The member name will be present, but the
27380// value will be replaced with "sensitive".
27381func (s GetSmsChannelInput) GoString() string {
27382	return s.String()
27383}
27384
27385// Validate inspects the fields of the type to determine if they are valid.
27386func (s *GetSmsChannelInput) Validate() error {
27387	invalidParams := request.ErrInvalidParams{Context: "GetSmsChannelInput"}
27388	if s.ApplicationId == nil {
27389		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
27390	}
27391	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
27392		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
27393	}
27394
27395	if invalidParams.Len() > 0 {
27396		return invalidParams
27397	}
27398	return nil
27399}
27400
27401// SetApplicationId sets the ApplicationId field's value.
27402func (s *GetSmsChannelInput) SetApplicationId(v string) *GetSmsChannelInput {
27403	s.ApplicationId = &v
27404	return s
27405}
27406
27407type GetSmsChannelOutput struct {
27408	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
27409
27410	// Provides information about the status and settings of the SMS channel for
27411	// an application.
27412	//
27413	// SMSChannelResponse is a required field
27414	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
27415}
27416
27417// String returns the string representation.
27418//
27419// API parameter values that are decorated as "sensitive" in the API will not
27420// be included in the string output. The member name will be present, but the
27421// value will be replaced with "sensitive".
27422func (s GetSmsChannelOutput) String() string {
27423	return awsutil.Prettify(s)
27424}
27425
27426// GoString returns the string representation.
27427//
27428// API parameter values that are decorated as "sensitive" in the API will not
27429// be included in the string output. The member name will be present, but the
27430// value will be replaced with "sensitive".
27431func (s GetSmsChannelOutput) GoString() string {
27432	return s.String()
27433}
27434
27435// SetSMSChannelResponse sets the SMSChannelResponse field's value.
27436func (s *GetSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *GetSmsChannelOutput {
27437	s.SMSChannelResponse = v
27438	return s
27439}
27440
27441type GetSmsTemplateInput struct {
27442	_ struct{} `type:"structure" nopayload:"true"`
27443
27444	// TemplateName is a required field
27445	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
27446
27447	Version *string `location:"querystring" locationName:"version" type:"string"`
27448}
27449
27450// String returns the string representation.
27451//
27452// API parameter values that are decorated as "sensitive" in the API will not
27453// be included in the string output. The member name will be present, but the
27454// value will be replaced with "sensitive".
27455func (s GetSmsTemplateInput) String() string {
27456	return awsutil.Prettify(s)
27457}
27458
27459// GoString returns the string representation.
27460//
27461// API parameter values that are decorated as "sensitive" in the API will not
27462// be included in the string output. The member name will be present, but the
27463// value will be replaced with "sensitive".
27464func (s GetSmsTemplateInput) GoString() string {
27465	return s.String()
27466}
27467
27468// Validate inspects the fields of the type to determine if they are valid.
27469func (s *GetSmsTemplateInput) Validate() error {
27470	invalidParams := request.ErrInvalidParams{Context: "GetSmsTemplateInput"}
27471	if s.TemplateName == nil {
27472		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
27473	}
27474	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
27475		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
27476	}
27477
27478	if invalidParams.Len() > 0 {
27479		return invalidParams
27480	}
27481	return nil
27482}
27483
27484// SetTemplateName sets the TemplateName field's value.
27485func (s *GetSmsTemplateInput) SetTemplateName(v string) *GetSmsTemplateInput {
27486	s.TemplateName = &v
27487	return s
27488}
27489
27490// SetVersion sets the Version field's value.
27491func (s *GetSmsTemplateInput) SetVersion(v string) *GetSmsTemplateInput {
27492	s.Version = &v
27493	return s
27494}
27495
27496type GetSmsTemplateOutput struct {
27497	_ struct{} `type:"structure" payload:"SMSTemplateResponse"`
27498
27499	// Provides information about the content and settings for a message template
27500	// that can be used in text messages that are sent through the SMS channel.
27501	//
27502	// SMSTemplateResponse is a required field
27503	SMSTemplateResponse *SMSTemplateResponse `type:"structure" required:"true"`
27504}
27505
27506// String returns the string representation.
27507//
27508// API parameter values that are decorated as "sensitive" in the API will not
27509// be included in the string output. The member name will be present, but the
27510// value will be replaced with "sensitive".
27511func (s GetSmsTemplateOutput) String() string {
27512	return awsutil.Prettify(s)
27513}
27514
27515// GoString returns the string representation.
27516//
27517// API parameter values that are decorated as "sensitive" in the API will not
27518// be included in the string output. The member name will be present, but the
27519// value will be replaced with "sensitive".
27520func (s GetSmsTemplateOutput) GoString() string {
27521	return s.String()
27522}
27523
27524// SetSMSTemplateResponse sets the SMSTemplateResponse field's value.
27525func (s *GetSmsTemplateOutput) SetSMSTemplateResponse(v *SMSTemplateResponse) *GetSmsTemplateOutput {
27526	s.SMSTemplateResponse = v
27527	return s
27528}
27529
27530type GetUserEndpointsInput struct {
27531	_ struct{} `type:"structure" nopayload:"true"`
27532
27533	// ApplicationId is a required field
27534	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
27535
27536	// UserId is a required field
27537	UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"`
27538}
27539
27540// String returns the string representation.
27541//
27542// API parameter values that are decorated as "sensitive" in the API will not
27543// be included in the string output. The member name will be present, but the
27544// value will be replaced with "sensitive".
27545func (s GetUserEndpointsInput) String() string {
27546	return awsutil.Prettify(s)
27547}
27548
27549// GoString returns the string representation.
27550//
27551// API parameter values that are decorated as "sensitive" in the API will not
27552// be included in the string output. The member name will be present, but the
27553// value will be replaced with "sensitive".
27554func (s GetUserEndpointsInput) GoString() string {
27555	return s.String()
27556}
27557
27558// Validate inspects the fields of the type to determine if they are valid.
27559func (s *GetUserEndpointsInput) Validate() error {
27560	invalidParams := request.ErrInvalidParams{Context: "GetUserEndpointsInput"}
27561	if s.ApplicationId == nil {
27562		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
27563	}
27564	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
27565		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
27566	}
27567	if s.UserId == nil {
27568		invalidParams.Add(request.NewErrParamRequired("UserId"))
27569	}
27570	if s.UserId != nil && len(*s.UserId) < 1 {
27571		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
27572	}
27573
27574	if invalidParams.Len() > 0 {
27575		return invalidParams
27576	}
27577	return nil
27578}
27579
27580// SetApplicationId sets the ApplicationId field's value.
27581func (s *GetUserEndpointsInput) SetApplicationId(v string) *GetUserEndpointsInput {
27582	s.ApplicationId = &v
27583	return s
27584}
27585
27586// SetUserId sets the UserId field's value.
27587func (s *GetUserEndpointsInput) SetUserId(v string) *GetUserEndpointsInput {
27588	s.UserId = &v
27589	return s
27590}
27591
27592type GetUserEndpointsOutput struct {
27593	_ struct{} `type:"structure" payload:"EndpointsResponse"`
27594
27595	// Provides information about all the endpoints that are associated with a user
27596	// ID.
27597	//
27598	// EndpointsResponse is a required field
27599	EndpointsResponse *EndpointsResponse `type:"structure" required:"true"`
27600}
27601
27602// String returns the string representation.
27603//
27604// API parameter values that are decorated as "sensitive" in the API will not
27605// be included in the string output. The member name will be present, but the
27606// value will be replaced with "sensitive".
27607func (s GetUserEndpointsOutput) String() string {
27608	return awsutil.Prettify(s)
27609}
27610
27611// GoString returns the string representation.
27612//
27613// API parameter values that are decorated as "sensitive" in the API will not
27614// be included in the string output. The member name will be present, but the
27615// value will be replaced with "sensitive".
27616func (s GetUserEndpointsOutput) GoString() string {
27617	return s.String()
27618}
27619
27620// SetEndpointsResponse sets the EndpointsResponse field's value.
27621func (s *GetUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *GetUserEndpointsOutput {
27622	s.EndpointsResponse = v
27623	return s
27624}
27625
27626type GetVoiceChannelInput struct {
27627	_ struct{} `type:"structure" nopayload:"true"`
27628
27629	// ApplicationId is a required field
27630	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
27631}
27632
27633// String returns the string representation.
27634//
27635// API parameter values that are decorated as "sensitive" in the API will not
27636// be included in the string output. The member name will be present, but the
27637// value will be replaced with "sensitive".
27638func (s GetVoiceChannelInput) String() string {
27639	return awsutil.Prettify(s)
27640}
27641
27642// GoString returns the string representation.
27643//
27644// API parameter values that are decorated as "sensitive" in the API will not
27645// be included in the string output. The member name will be present, but the
27646// value will be replaced with "sensitive".
27647func (s GetVoiceChannelInput) GoString() string {
27648	return s.String()
27649}
27650
27651// Validate inspects the fields of the type to determine if they are valid.
27652func (s *GetVoiceChannelInput) Validate() error {
27653	invalidParams := request.ErrInvalidParams{Context: "GetVoiceChannelInput"}
27654	if s.ApplicationId == nil {
27655		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
27656	}
27657	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
27658		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
27659	}
27660
27661	if invalidParams.Len() > 0 {
27662		return invalidParams
27663	}
27664	return nil
27665}
27666
27667// SetApplicationId sets the ApplicationId field's value.
27668func (s *GetVoiceChannelInput) SetApplicationId(v string) *GetVoiceChannelInput {
27669	s.ApplicationId = &v
27670	return s
27671}
27672
27673type GetVoiceChannelOutput struct {
27674	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
27675
27676	// Provides information about the status and settings of the voice channel for
27677	// an application.
27678	//
27679	// VoiceChannelResponse is a required field
27680	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
27681}
27682
27683// String returns the string representation.
27684//
27685// API parameter values that are decorated as "sensitive" in the API will not
27686// be included in the string output. The member name will be present, but the
27687// value will be replaced with "sensitive".
27688func (s GetVoiceChannelOutput) String() string {
27689	return awsutil.Prettify(s)
27690}
27691
27692// GoString returns the string representation.
27693//
27694// API parameter values that are decorated as "sensitive" in the API will not
27695// be included in the string output. The member name will be present, but the
27696// value will be replaced with "sensitive".
27697func (s GetVoiceChannelOutput) GoString() string {
27698	return s.String()
27699}
27700
27701// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
27702func (s *GetVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *GetVoiceChannelOutput {
27703	s.VoiceChannelResponse = v
27704	return s
27705}
27706
27707type GetVoiceTemplateInput struct {
27708	_ struct{} `type:"structure" nopayload:"true"`
27709
27710	// TemplateName is a required field
27711	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
27712
27713	Version *string `location:"querystring" locationName:"version" type:"string"`
27714}
27715
27716// String returns the string representation.
27717//
27718// API parameter values that are decorated as "sensitive" in the API will not
27719// be included in the string output. The member name will be present, but the
27720// value will be replaced with "sensitive".
27721func (s GetVoiceTemplateInput) String() string {
27722	return awsutil.Prettify(s)
27723}
27724
27725// GoString returns the string representation.
27726//
27727// API parameter values that are decorated as "sensitive" in the API will not
27728// be included in the string output. The member name will be present, but the
27729// value will be replaced with "sensitive".
27730func (s GetVoiceTemplateInput) GoString() string {
27731	return s.String()
27732}
27733
27734// Validate inspects the fields of the type to determine if they are valid.
27735func (s *GetVoiceTemplateInput) Validate() error {
27736	invalidParams := request.ErrInvalidParams{Context: "GetVoiceTemplateInput"}
27737	if s.TemplateName == nil {
27738		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
27739	}
27740	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
27741		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
27742	}
27743
27744	if invalidParams.Len() > 0 {
27745		return invalidParams
27746	}
27747	return nil
27748}
27749
27750// SetTemplateName sets the TemplateName field's value.
27751func (s *GetVoiceTemplateInput) SetTemplateName(v string) *GetVoiceTemplateInput {
27752	s.TemplateName = &v
27753	return s
27754}
27755
27756// SetVersion sets the Version field's value.
27757func (s *GetVoiceTemplateInput) SetVersion(v string) *GetVoiceTemplateInput {
27758	s.Version = &v
27759	return s
27760}
27761
27762type GetVoiceTemplateOutput struct {
27763	_ struct{} `type:"structure" payload:"VoiceTemplateResponse"`
27764
27765	// Provides information about the content and settings for a message template
27766	// that can be used in messages that are sent through the voice channel.
27767	//
27768	// VoiceTemplateResponse is a required field
27769	VoiceTemplateResponse *VoiceTemplateResponse `type:"structure" required:"true"`
27770}
27771
27772// String returns the string representation.
27773//
27774// API parameter values that are decorated as "sensitive" in the API will not
27775// be included in the string output. The member name will be present, but the
27776// value will be replaced with "sensitive".
27777func (s GetVoiceTemplateOutput) String() string {
27778	return awsutil.Prettify(s)
27779}
27780
27781// GoString returns the string representation.
27782//
27783// API parameter values that are decorated as "sensitive" in the API will not
27784// be included in the string output. The member name will be present, but the
27785// value will be replaced with "sensitive".
27786func (s GetVoiceTemplateOutput) GoString() string {
27787	return s.String()
27788}
27789
27790// SetVoiceTemplateResponse sets the VoiceTemplateResponse field's value.
27791func (s *GetVoiceTemplateOutput) SetVoiceTemplateResponse(v *VoiceTemplateResponse) *GetVoiceTemplateOutput {
27792	s.VoiceTemplateResponse = v
27793	return s
27794}
27795
27796// Specifies the settings for a holdout activity in a journey. This type of
27797// activity stops a journey for a specified percentage of participants.
27798type HoldoutActivity struct {
27799	_ struct{} `type:"structure"`
27800
27801	// The unique identifier for the next activity to perform, after performing
27802	// the holdout activity.
27803	NextActivity *string `type:"string"`
27804
27805	// The percentage of participants who shouldn't continue the journey.
27806	//
27807	// To determine which participants are held out, Amazon Pinpoint applies a probability-based
27808	// algorithm to the percentage that you specify. Therefore, the actual percentage
27809	// of participants who are held out may not be equal to the percentage that
27810	// you specify.
27811	//
27812	// Percentage is a required field
27813	Percentage *int64 `type:"integer" required:"true"`
27814}
27815
27816// String returns the string representation.
27817//
27818// API parameter values that are decorated as "sensitive" in the API will not
27819// be included in the string output. The member name will be present, but the
27820// value will be replaced with "sensitive".
27821func (s HoldoutActivity) String() string {
27822	return awsutil.Prettify(s)
27823}
27824
27825// GoString returns the string representation.
27826//
27827// API parameter values that are decorated as "sensitive" in the API will not
27828// be included in the string output. The member name will be present, but the
27829// value will be replaced with "sensitive".
27830func (s HoldoutActivity) GoString() string {
27831	return s.String()
27832}
27833
27834// Validate inspects the fields of the type to determine if they are valid.
27835func (s *HoldoutActivity) Validate() error {
27836	invalidParams := request.ErrInvalidParams{Context: "HoldoutActivity"}
27837	if s.Percentage == nil {
27838		invalidParams.Add(request.NewErrParamRequired("Percentage"))
27839	}
27840
27841	if invalidParams.Len() > 0 {
27842		return invalidParams
27843	}
27844	return nil
27845}
27846
27847// SetNextActivity sets the NextActivity field's value.
27848func (s *HoldoutActivity) SetNextActivity(v string) *HoldoutActivity {
27849	s.NextActivity = &v
27850	return s
27851}
27852
27853// SetPercentage sets the Percentage field's value.
27854func (s *HoldoutActivity) SetPercentage(v int64) *HoldoutActivity {
27855	s.Percentage = &v
27856	return s
27857}
27858
27859// Specifies the settings for a job that imports endpoint definitions from an
27860// Amazon Simple Storage Service (Amazon S3) bucket.
27861type ImportJobRequest struct {
27862	_ struct{} `type:"structure"`
27863
27864	// Specifies whether to create a segment that contains the endpoints, when the
27865	// endpoint definitions are imported.
27866	DefineSegment *bool `type:"boolean"`
27867
27868	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
27869	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
27870	// an IAM role when importing endpoint definitions, but we removed this requirement.
27871	// We don't recommend use of external IDs for IAM roles that are assumed by
27872	// Amazon Pinpoint.
27873	ExternalId *string `type:"string"`
27874
27875	// The format of the files that contain the endpoint definitions to import.
27876	// Valid values are: CSV, for comma-separated values format; and, JSON, for
27877	// newline-delimited JSON format. If the Amazon S3 location stores multiple
27878	// files that use different formats, Amazon Pinpoint imports data only from
27879	// the files that use the specified format.
27880	//
27881	// Format is a required field
27882	Format *string `type:"string" required:"true" enum:"Format"`
27883
27884	// Specifies whether to register the endpoints with Amazon Pinpoint, when the
27885	// endpoint definitions are imported.
27886	RegisterEndpoints *bool `type:"boolean"`
27887
27888	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
27889	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
27890	// to import endpoint definitions from.
27891	//
27892	// RoleArn is a required field
27893	RoleArn *string `type:"string" required:"true"`
27894
27895	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains
27896	// the endpoint definitions to import. This location can be a folder or a single
27897	// file. If the location is a folder, Amazon Pinpoint imports endpoint definitions
27898	// from the files in this location, including any subfolders that the folder
27899	// contains.
27900	//
27901	// The URL should be in the following format: s3://bucket-name/folder-name/file-name.
27902	// The location can end with the key for an individual object or a prefix that
27903	// qualifies multiple objects.
27904	//
27905	// S3Url is a required field
27906	S3Url *string `type:"string" required:"true"`
27907
27908	// The identifier for the segment to update or add the imported endpoint definitions
27909	// to, if the import job is meant to update an existing segment.
27910	SegmentId *string `type:"string"`
27911
27912	// A custom name for the segment that's created by the import job, if the value
27913	// of the DefineSegment property is true.
27914	SegmentName *string `type:"string"`
27915}
27916
27917// String returns the string representation.
27918//
27919// API parameter values that are decorated as "sensitive" in the API will not
27920// be included in the string output. The member name will be present, but the
27921// value will be replaced with "sensitive".
27922func (s ImportJobRequest) String() string {
27923	return awsutil.Prettify(s)
27924}
27925
27926// GoString returns the string representation.
27927//
27928// API parameter values that are decorated as "sensitive" in the API will not
27929// be included in the string output. The member name will be present, but the
27930// value will be replaced with "sensitive".
27931func (s ImportJobRequest) GoString() string {
27932	return s.String()
27933}
27934
27935// Validate inspects the fields of the type to determine if they are valid.
27936func (s *ImportJobRequest) Validate() error {
27937	invalidParams := request.ErrInvalidParams{Context: "ImportJobRequest"}
27938	if s.Format == nil {
27939		invalidParams.Add(request.NewErrParamRequired("Format"))
27940	}
27941	if s.RoleArn == nil {
27942		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
27943	}
27944	if s.S3Url == nil {
27945		invalidParams.Add(request.NewErrParamRequired("S3Url"))
27946	}
27947
27948	if invalidParams.Len() > 0 {
27949		return invalidParams
27950	}
27951	return nil
27952}
27953
27954// SetDefineSegment sets the DefineSegment field's value.
27955func (s *ImportJobRequest) SetDefineSegment(v bool) *ImportJobRequest {
27956	s.DefineSegment = &v
27957	return s
27958}
27959
27960// SetExternalId sets the ExternalId field's value.
27961func (s *ImportJobRequest) SetExternalId(v string) *ImportJobRequest {
27962	s.ExternalId = &v
27963	return s
27964}
27965
27966// SetFormat sets the Format field's value.
27967func (s *ImportJobRequest) SetFormat(v string) *ImportJobRequest {
27968	s.Format = &v
27969	return s
27970}
27971
27972// SetRegisterEndpoints sets the RegisterEndpoints field's value.
27973func (s *ImportJobRequest) SetRegisterEndpoints(v bool) *ImportJobRequest {
27974	s.RegisterEndpoints = &v
27975	return s
27976}
27977
27978// SetRoleArn sets the RoleArn field's value.
27979func (s *ImportJobRequest) SetRoleArn(v string) *ImportJobRequest {
27980	s.RoleArn = &v
27981	return s
27982}
27983
27984// SetS3Url sets the S3Url field's value.
27985func (s *ImportJobRequest) SetS3Url(v string) *ImportJobRequest {
27986	s.S3Url = &v
27987	return s
27988}
27989
27990// SetSegmentId sets the SegmentId field's value.
27991func (s *ImportJobRequest) SetSegmentId(v string) *ImportJobRequest {
27992	s.SegmentId = &v
27993	return s
27994}
27995
27996// SetSegmentName sets the SegmentName field's value.
27997func (s *ImportJobRequest) SetSegmentName(v string) *ImportJobRequest {
27998	s.SegmentName = &v
27999	return s
28000}
28001
28002// Provides information about the resource settings for a job that imports endpoint
28003// definitions from one or more files. The files can be stored in an Amazon
28004// Simple Storage Service (Amazon S3) bucket or uploaded directly from a computer
28005// by using the Amazon Pinpoint console.
28006type ImportJobResource struct {
28007	_ struct{} `type:"structure"`
28008
28009	// Specifies whether the import job creates a segment that contains the endpoints,
28010	// when the endpoint definitions are imported.
28011	DefineSegment *bool `type:"boolean"`
28012
28013	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
28014	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
28015	// an IAM role when importing endpoint definitions, but we removed this requirement.
28016	// We don't recommend use of external IDs for IAM roles that are assumed by
28017	// Amazon Pinpoint.
28018	ExternalId *string `type:"string"`
28019
28020	// The format of the files that contain the endpoint definitions to import.
28021	// Valid values are: CSV, for comma-separated values format; and, JSON, for
28022	// newline-delimited JSON format.
28023	//
28024	// If the files are stored in an Amazon S3 location and that location contains
28025	// multiple files that use different formats, Amazon Pinpoint imports data only
28026	// from the files that use the specified format.
28027	//
28028	// Format is a required field
28029	Format *string `type:"string" required:"true" enum:"Format"`
28030
28031	// Specifies whether the import job registers the endpoints with Amazon Pinpoint,
28032	// when the endpoint definitions are imported.
28033	RegisterEndpoints *bool `type:"boolean"`
28034
28035	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
28036	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
28037	// to import endpoint definitions from.
28038	//
28039	// RoleArn is a required field
28040	RoleArn *string `type:"string" required:"true"`
28041
28042	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains
28043	// the endpoint definitions to import. This location can be a folder or a single
28044	// file. If the location is a folder, Amazon Pinpoint imports endpoint definitions
28045	// from the files in this location, including any subfolders that the folder
28046	// contains.
28047	//
28048	// The URL should be in the following format: s3://bucket-name/folder-name/file-name.
28049	// The location can end with the key for an individual object or a prefix that
28050	// qualifies multiple objects.
28051	//
28052	// S3Url is a required field
28053	S3Url *string `type:"string" required:"true"`
28054
28055	// The identifier for the segment that the import job updates or adds endpoint
28056	// definitions to, if the import job updates an existing segment.
28057	SegmentId *string `type:"string"`
28058
28059	// The custom name for the segment that's created by the import job, if the
28060	// value of the DefineSegment property is true.
28061	SegmentName *string `type:"string"`
28062}
28063
28064// String returns the string representation.
28065//
28066// API parameter values that are decorated as "sensitive" in the API will not
28067// be included in the string output. The member name will be present, but the
28068// value will be replaced with "sensitive".
28069func (s ImportJobResource) String() string {
28070	return awsutil.Prettify(s)
28071}
28072
28073// GoString returns the string representation.
28074//
28075// API parameter values that are decorated as "sensitive" in the API will not
28076// be included in the string output. The member name will be present, but the
28077// value will be replaced with "sensitive".
28078func (s ImportJobResource) GoString() string {
28079	return s.String()
28080}
28081
28082// SetDefineSegment sets the DefineSegment field's value.
28083func (s *ImportJobResource) SetDefineSegment(v bool) *ImportJobResource {
28084	s.DefineSegment = &v
28085	return s
28086}
28087
28088// SetExternalId sets the ExternalId field's value.
28089func (s *ImportJobResource) SetExternalId(v string) *ImportJobResource {
28090	s.ExternalId = &v
28091	return s
28092}
28093
28094// SetFormat sets the Format field's value.
28095func (s *ImportJobResource) SetFormat(v string) *ImportJobResource {
28096	s.Format = &v
28097	return s
28098}
28099
28100// SetRegisterEndpoints sets the RegisterEndpoints field's value.
28101func (s *ImportJobResource) SetRegisterEndpoints(v bool) *ImportJobResource {
28102	s.RegisterEndpoints = &v
28103	return s
28104}
28105
28106// SetRoleArn sets the RoleArn field's value.
28107func (s *ImportJobResource) SetRoleArn(v string) *ImportJobResource {
28108	s.RoleArn = &v
28109	return s
28110}
28111
28112// SetS3Url sets the S3Url field's value.
28113func (s *ImportJobResource) SetS3Url(v string) *ImportJobResource {
28114	s.S3Url = &v
28115	return s
28116}
28117
28118// SetSegmentId sets the SegmentId field's value.
28119func (s *ImportJobResource) SetSegmentId(v string) *ImportJobResource {
28120	s.SegmentId = &v
28121	return s
28122}
28123
28124// SetSegmentName sets the SegmentName field's value.
28125func (s *ImportJobResource) SetSegmentName(v string) *ImportJobResource {
28126	s.SegmentName = &v
28127	return s
28128}
28129
28130// Provides information about the status and settings of a job that imports
28131// endpoint definitions from one or more files. The files can be stored in an
28132// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
28133// a computer by using the Amazon Pinpoint console.
28134type ImportJobResponse struct {
28135	_ struct{} `type:"structure"`
28136
28137	// The unique identifier for the application that's associated with the import
28138	// job.
28139	//
28140	// ApplicationId is a required field
28141	ApplicationId *string `type:"string" required:"true"`
28142
28143	// The number of pieces that were processed successfully (completed) by the
28144	// import job, as of the time of the request.
28145	CompletedPieces *int64 `type:"integer"`
28146
28147	// The date, in ISO 8601 format, when the import job was completed.
28148	CompletionDate *string `type:"string"`
28149
28150	// The date, in ISO 8601 format, when the import job was created.
28151	//
28152	// CreationDate is a required field
28153	CreationDate *string `type:"string" required:"true"`
28154
28155	// The resource settings that apply to the import job.
28156	//
28157	// Definition is a required field
28158	Definition *ImportJobResource `type:"structure" required:"true"`
28159
28160	// The number of pieces that weren't processed successfully (failed) by the
28161	// import job, as of the time of the request.
28162	FailedPieces *int64 `type:"integer"`
28163
28164	// An array of entries, one for each of the first 100 entries that weren't processed
28165	// successfully (failed) by the import job, if any.
28166	Failures []*string `type:"list"`
28167
28168	// The unique identifier for the import job.
28169	//
28170	// Id is a required field
28171	Id *string `type:"string" required:"true"`
28172
28173	// The status of the import job. The job status is FAILED if Amazon Pinpoint
28174	// wasn't able to process one or more pieces in the job.
28175	//
28176	// JobStatus is a required field
28177	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
28178
28179	// The total number of endpoint definitions that weren't processed successfully
28180	// (failed) by the import job, typically because an error, such as a syntax
28181	// error, occurred.
28182	TotalFailures *int64 `type:"integer"`
28183
28184	// The total number of pieces that must be processed to complete the import
28185	// job. Each piece consists of an approximately equal portion of the endpoint
28186	// definitions that are part of the import job.
28187	TotalPieces *int64 `type:"integer"`
28188
28189	// The total number of endpoint definitions that were processed by the import
28190	// job.
28191	TotalProcessed *int64 `type:"integer"`
28192
28193	// The job type. This value is IMPORT for import jobs.
28194	//
28195	// Type is a required field
28196	Type *string `type:"string" required:"true"`
28197}
28198
28199// String returns the string representation.
28200//
28201// API parameter values that are decorated as "sensitive" in the API will not
28202// be included in the string output. The member name will be present, but the
28203// value will be replaced with "sensitive".
28204func (s ImportJobResponse) String() string {
28205	return awsutil.Prettify(s)
28206}
28207
28208// GoString returns the string representation.
28209//
28210// API parameter values that are decorated as "sensitive" in the API will not
28211// be included in the string output. The member name will be present, but the
28212// value will be replaced with "sensitive".
28213func (s ImportJobResponse) GoString() string {
28214	return s.String()
28215}
28216
28217// SetApplicationId sets the ApplicationId field's value.
28218func (s *ImportJobResponse) SetApplicationId(v string) *ImportJobResponse {
28219	s.ApplicationId = &v
28220	return s
28221}
28222
28223// SetCompletedPieces sets the CompletedPieces field's value.
28224func (s *ImportJobResponse) SetCompletedPieces(v int64) *ImportJobResponse {
28225	s.CompletedPieces = &v
28226	return s
28227}
28228
28229// SetCompletionDate sets the CompletionDate field's value.
28230func (s *ImportJobResponse) SetCompletionDate(v string) *ImportJobResponse {
28231	s.CompletionDate = &v
28232	return s
28233}
28234
28235// SetCreationDate sets the CreationDate field's value.
28236func (s *ImportJobResponse) SetCreationDate(v string) *ImportJobResponse {
28237	s.CreationDate = &v
28238	return s
28239}
28240
28241// SetDefinition sets the Definition field's value.
28242func (s *ImportJobResponse) SetDefinition(v *ImportJobResource) *ImportJobResponse {
28243	s.Definition = v
28244	return s
28245}
28246
28247// SetFailedPieces sets the FailedPieces field's value.
28248func (s *ImportJobResponse) SetFailedPieces(v int64) *ImportJobResponse {
28249	s.FailedPieces = &v
28250	return s
28251}
28252
28253// SetFailures sets the Failures field's value.
28254func (s *ImportJobResponse) SetFailures(v []*string) *ImportJobResponse {
28255	s.Failures = v
28256	return s
28257}
28258
28259// SetId sets the Id field's value.
28260func (s *ImportJobResponse) SetId(v string) *ImportJobResponse {
28261	s.Id = &v
28262	return s
28263}
28264
28265// SetJobStatus sets the JobStatus field's value.
28266func (s *ImportJobResponse) SetJobStatus(v string) *ImportJobResponse {
28267	s.JobStatus = &v
28268	return s
28269}
28270
28271// SetTotalFailures sets the TotalFailures field's value.
28272func (s *ImportJobResponse) SetTotalFailures(v int64) *ImportJobResponse {
28273	s.TotalFailures = &v
28274	return s
28275}
28276
28277// SetTotalPieces sets the TotalPieces field's value.
28278func (s *ImportJobResponse) SetTotalPieces(v int64) *ImportJobResponse {
28279	s.TotalPieces = &v
28280	return s
28281}
28282
28283// SetTotalProcessed sets the TotalProcessed field's value.
28284func (s *ImportJobResponse) SetTotalProcessed(v int64) *ImportJobResponse {
28285	s.TotalProcessed = &v
28286	return s
28287}
28288
28289// SetType sets the Type field's value.
28290func (s *ImportJobResponse) SetType(v string) *ImportJobResponse {
28291	s.Type = &v
28292	return s
28293}
28294
28295// Provides information about the status and settings of all the import jobs
28296// that are associated with an application or segment. An import job is a job
28297// that imports endpoint definitions from one or more files.
28298type ImportJobsResponse struct {
28299	_ struct{} `type:"structure"`
28300
28301	// An array of responses, one for each import job that's associated with the
28302	// application (Import Jobs resource) or segment (Segment Import Jobs resource).
28303	//
28304	// Item is a required field
28305	Item []*ImportJobResponse `type:"list" required:"true"`
28306
28307	// The string to use in a subsequent request to get the next page of results
28308	// in a paginated response. This value is null if there are no additional pages.
28309	NextToken *string `type:"string"`
28310}
28311
28312// String returns the string representation.
28313//
28314// API parameter values that are decorated as "sensitive" in the API will not
28315// be included in the string output. The member name will be present, but the
28316// value will be replaced with "sensitive".
28317func (s ImportJobsResponse) String() string {
28318	return awsutil.Prettify(s)
28319}
28320
28321// GoString returns the string representation.
28322//
28323// API parameter values that are decorated as "sensitive" in the API will not
28324// be included in the string output. The member name will be present, but the
28325// value will be replaced with "sensitive".
28326func (s ImportJobsResponse) GoString() string {
28327	return s.String()
28328}
28329
28330// SetItem sets the Item field's value.
28331func (s *ImportJobsResponse) SetItem(v []*ImportJobResponse) *ImportJobsResponse {
28332	s.Item = v
28333	return s
28334}
28335
28336// SetNextToken sets the NextToken field's value.
28337func (s *ImportJobsResponse) SetNextToken(v string) *ImportJobsResponse {
28338	s.NextToken = &v
28339	return s
28340}
28341
28342type InAppCampaignSchedule struct {
28343	_ struct{} `type:"structure"`
28344
28345	// The scheduled time after which the in-app message should not be shown. Timestamp
28346	// is in ISO 8601 format.
28347	EndDate *string `type:"string"`
28348
28349	// The event filter the SDK has to use to show the in-app message in the application.
28350	EventFilter *CampaignEventFilter `type:"structure"`
28351
28352	// Time during which the in-app message should not be shown to the user.
28353	QuietTime *QuietTime `type:"structure"`
28354}
28355
28356// String returns the string representation.
28357//
28358// API parameter values that are decorated as "sensitive" in the API will not
28359// be included in the string output. The member name will be present, but the
28360// value will be replaced with "sensitive".
28361func (s InAppCampaignSchedule) String() string {
28362	return awsutil.Prettify(s)
28363}
28364
28365// GoString returns the string representation.
28366//
28367// API parameter values that are decorated as "sensitive" in the API will not
28368// be included in the string output. The member name will be present, but the
28369// value will be replaced with "sensitive".
28370func (s InAppCampaignSchedule) GoString() string {
28371	return s.String()
28372}
28373
28374// SetEndDate sets the EndDate field's value.
28375func (s *InAppCampaignSchedule) SetEndDate(v string) *InAppCampaignSchedule {
28376	s.EndDate = &v
28377	return s
28378}
28379
28380// SetEventFilter sets the EventFilter field's value.
28381func (s *InAppCampaignSchedule) SetEventFilter(v *CampaignEventFilter) *InAppCampaignSchedule {
28382	s.EventFilter = v
28383	return s
28384}
28385
28386// SetQuietTime sets the QuietTime field's value.
28387func (s *InAppCampaignSchedule) SetQuietTime(v *QuietTime) *InAppCampaignSchedule {
28388	s.QuietTime = v
28389	return s
28390}
28391
28392// Provides all fields required for building an in-app message.
28393type InAppMessage struct {
28394	_ struct{} `type:"structure"`
28395
28396	// In-app message content.
28397	Content []*InAppMessageContent `type:"list"`
28398
28399	// Custom config to be sent to SDK.
28400	CustomConfig map[string]*string `type:"map"`
28401
28402	// The layout of the message.
28403	Layout *string `type:"string" enum:"Layout"`
28404}
28405
28406// String returns the string representation.
28407//
28408// API parameter values that are decorated as "sensitive" in the API will not
28409// be included in the string output. The member name will be present, but the
28410// value will be replaced with "sensitive".
28411func (s InAppMessage) String() string {
28412	return awsutil.Prettify(s)
28413}
28414
28415// GoString returns the string representation.
28416//
28417// API parameter values that are decorated as "sensitive" in the API will not
28418// be included in the string output. The member name will be present, but the
28419// value will be replaced with "sensitive".
28420func (s InAppMessage) GoString() string {
28421	return s.String()
28422}
28423
28424// SetContent sets the Content field's value.
28425func (s *InAppMessage) SetContent(v []*InAppMessageContent) *InAppMessage {
28426	s.Content = v
28427	return s
28428}
28429
28430// SetCustomConfig sets the CustomConfig field's value.
28431func (s *InAppMessage) SetCustomConfig(v map[string]*string) *InAppMessage {
28432	s.CustomConfig = v
28433	return s
28434}
28435
28436// SetLayout sets the Layout field's value.
28437func (s *InAppMessage) SetLayout(v string) *InAppMessage {
28438	s.Layout = &v
28439	return s
28440}
28441
28442// Text config for Message Body.
28443type InAppMessageBodyConfig struct {
28444	_ struct{} `type:"structure"`
28445
28446	// The alignment of the text. Valid values: LEFT, CENTER, RIGHT.
28447	//
28448	// Alignment is a required field
28449	Alignment *string `type:"string" required:"true" enum:"Alignment"`
28450
28451	// Message Body.
28452	//
28453	// Body is a required field
28454	Body *string `type:"string" required:"true"`
28455
28456	// The text color.
28457	//
28458	// TextColor is a required field
28459	TextColor *string `type:"string" required:"true"`
28460}
28461
28462// String returns the string representation.
28463//
28464// API parameter values that are decorated as "sensitive" in the API will not
28465// be included in the string output. The member name will be present, but the
28466// value will be replaced with "sensitive".
28467func (s InAppMessageBodyConfig) String() string {
28468	return awsutil.Prettify(s)
28469}
28470
28471// GoString returns the string representation.
28472//
28473// API parameter values that are decorated as "sensitive" in the API will not
28474// be included in the string output. The member name will be present, but the
28475// value will be replaced with "sensitive".
28476func (s InAppMessageBodyConfig) GoString() string {
28477	return s.String()
28478}
28479
28480// Validate inspects the fields of the type to determine if they are valid.
28481func (s *InAppMessageBodyConfig) Validate() error {
28482	invalidParams := request.ErrInvalidParams{Context: "InAppMessageBodyConfig"}
28483	if s.Alignment == nil {
28484		invalidParams.Add(request.NewErrParamRequired("Alignment"))
28485	}
28486	if s.Body == nil {
28487		invalidParams.Add(request.NewErrParamRequired("Body"))
28488	}
28489	if s.TextColor == nil {
28490		invalidParams.Add(request.NewErrParamRequired("TextColor"))
28491	}
28492
28493	if invalidParams.Len() > 0 {
28494		return invalidParams
28495	}
28496	return nil
28497}
28498
28499// SetAlignment sets the Alignment field's value.
28500func (s *InAppMessageBodyConfig) SetAlignment(v string) *InAppMessageBodyConfig {
28501	s.Alignment = &v
28502	return s
28503}
28504
28505// SetBody sets the Body field's value.
28506func (s *InAppMessageBodyConfig) SetBody(v string) *InAppMessageBodyConfig {
28507	s.Body = &v
28508	return s
28509}
28510
28511// SetTextColor sets the TextColor field's value.
28512func (s *InAppMessageBodyConfig) SetTextColor(v string) *InAppMessageBodyConfig {
28513	s.TextColor = &v
28514	return s
28515}
28516
28517// Button Config for an in-app message.
28518type InAppMessageButton struct {
28519	_ struct{} `type:"structure"`
28520
28521	// Default button content.
28522	Android *OverrideButtonConfiguration `type:"structure"`
28523
28524	// Default button content.
28525	DefaultConfig *DefaultButtonConfiguration `type:"structure"`
28526
28527	// Default button content.
28528	IOS *OverrideButtonConfiguration `type:"structure"`
28529
28530	// Default button content.
28531	Web *OverrideButtonConfiguration `type:"structure"`
28532}
28533
28534// String returns the string representation.
28535//
28536// API parameter values that are decorated as "sensitive" in the API will not
28537// be included in the string output. The member name will be present, but the
28538// value will be replaced with "sensitive".
28539func (s InAppMessageButton) String() string {
28540	return awsutil.Prettify(s)
28541}
28542
28543// GoString returns the string representation.
28544//
28545// API parameter values that are decorated as "sensitive" in the API will not
28546// be included in the string output. The member name will be present, but the
28547// value will be replaced with "sensitive".
28548func (s InAppMessageButton) GoString() string {
28549	return s.String()
28550}
28551
28552// Validate inspects the fields of the type to determine if they are valid.
28553func (s *InAppMessageButton) Validate() error {
28554	invalidParams := request.ErrInvalidParams{Context: "InAppMessageButton"}
28555	if s.Android != nil {
28556		if err := s.Android.Validate(); err != nil {
28557			invalidParams.AddNested("Android", err.(request.ErrInvalidParams))
28558		}
28559	}
28560	if s.DefaultConfig != nil {
28561		if err := s.DefaultConfig.Validate(); err != nil {
28562			invalidParams.AddNested("DefaultConfig", err.(request.ErrInvalidParams))
28563		}
28564	}
28565	if s.IOS != nil {
28566		if err := s.IOS.Validate(); err != nil {
28567			invalidParams.AddNested("IOS", err.(request.ErrInvalidParams))
28568		}
28569	}
28570	if s.Web != nil {
28571		if err := s.Web.Validate(); err != nil {
28572			invalidParams.AddNested("Web", err.(request.ErrInvalidParams))
28573		}
28574	}
28575
28576	if invalidParams.Len() > 0 {
28577		return invalidParams
28578	}
28579	return nil
28580}
28581
28582// SetAndroid sets the Android field's value.
28583func (s *InAppMessageButton) SetAndroid(v *OverrideButtonConfiguration) *InAppMessageButton {
28584	s.Android = v
28585	return s
28586}
28587
28588// SetDefaultConfig sets the DefaultConfig field's value.
28589func (s *InAppMessageButton) SetDefaultConfig(v *DefaultButtonConfiguration) *InAppMessageButton {
28590	s.DefaultConfig = v
28591	return s
28592}
28593
28594// SetIOS sets the IOS field's value.
28595func (s *InAppMessageButton) SetIOS(v *OverrideButtonConfiguration) *InAppMessageButton {
28596	s.IOS = v
28597	return s
28598}
28599
28600// SetWeb sets the Web field's value.
28601func (s *InAppMessageButton) SetWeb(v *OverrideButtonConfiguration) *InAppMessageButton {
28602	s.Web = v
28603	return s
28604}
28605
28606type InAppMessageCampaign struct {
28607	_ struct{} `type:"structure"`
28608
28609	// Campaign id of the corresponding campaign.
28610	CampaignId *string `type:"string"`
28611
28612	// Daily cap which controls the number of times any in-app messages can be shown
28613	// to the endpoint during a day.
28614	DailyCap *int64 `type:"integer"`
28615
28616	// In-app message content with all fields required for rendering an in-app message.
28617	InAppMessage *InAppMessage `type:"structure"`
28618
28619	// Priority of the in-app message.
28620	Priority *int64 `type:"integer"`
28621
28622	// Schedule of the campaign.
28623	Schedule *InAppCampaignSchedule `type:"structure"`
28624
28625	// Session cap which controls the number of times an in-app message can be shown
28626	// to the endpoint during an application session.
28627	SessionCap *int64 `type:"integer"`
28628
28629	// Total cap which controls the number of times an in-app message can be shown
28630	// to the endpoint.
28631	TotalCap *int64 `type:"integer"`
28632
28633	// Treatment id of the campaign.
28634	TreatmentId *string `type:"string"`
28635}
28636
28637// String returns the string representation.
28638//
28639// API parameter values that are decorated as "sensitive" in the API will not
28640// be included in the string output. The member name will be present, but the
28641// value will be replaced with "sensitive".
28642func (s InAppMessageCampaign) String() string {
28643	return awsutil.Prettify(s)
28644}
28645
28646// GoString returns the string representation.
28647//
28648// API parameter values that are decorated as "sensitive" in the API will not
28649// be included in the string output. The member name will be present, but the
28650// value will be replaced with "sensitive".
28651func (s InAppMessageCampaign) GoString() string {
28652	return s.String()
28653}
28654
28655// SetCampaignId sets the CampaignId field's value.
28656func (s *InAppMessageCampaign) SetCampaignId(v string) *InAppMessageCampaign {
28657	s.CampaignId = &v
28658	return s
28659}
28660
28661// SetDailyCap sets the DailyCap field's value.
28662func (s *InAppMessageCampaign) SetDailyCap(v int64) *InAppMessageCampaign {
28663	s.DailyCap = &v
28664	return s
28665}
28666
28667// SetInAppMessage sets the InAppMessage field's value.
28668func (s *InAppMessageCampaign) SetInAppMessage(v *InAppMessage) *InAppMessageCampaign {
28669	s.InAppMessage = v
28670	return s
28671}
28672
28673// SetPriority sets the Priority field's value.
28674func (s *InAppMessageCampaign) SetPriority(v int64) *InAppMessageCampaign {
28675	s.Priority = &v
28676	return s
28677}
28678
28679// SetSchedule sets the Schedule field's value.
28680func (s *InAppMessageCampaign) SetSchedule(v *InAppCampaignSchedule) *InAppMessageCampaign {
28681	s.Schedule = v
28682	return s
28683}
28684
28685// SetSessionCap sets the SessionCap field's value.
28686func (s *InAppMessageCampaign) SetSessionCap(v int64) *InAppMessageCampaign {
28687	s.SessionCap = &v
28688	return s
28689}
28690
28691// SetTotalCap sets the TotalCap field's value.
28692func (s *InAppMessageCampaign) SetTotalCap(v int64) *InAppMessageCampaign {
28693	s.TotalCap = &v
28694	return s
28695}
28696
28697// SetTreatmentId sets the TreatmentId field's value.
28698func (s *InAppMessageCampaign) SetTreatmentId(v string) *InAppMessageCampaign {
28699	s.TreatmentId = &v
28700	return s
28701}
28702
28703// The configuration for the message content.
28704type InAppMessageContent struct {
28705	_ struct{} `type:"structure"`
28706
28707	// The background color for the message.
28708	BackgroundColor *string `type:"string"`
28709
28710	// The configuration for the message body.
28711	BodyConfig *InAppMessageBodyConfig `type:"structure"`
28712
28713	// The configuration for the message header.
28714	HeaderConfig *InAppMessageHeaderConfig `type:"structure"`
28715
28716	// The image url for the background of message.
28717	ImageUrl *string `type:"string"`
28718
28719	// The first button inside the message.
28720	PrimaryBtn *InAppMessageButton `type:"structure"`
28721
28722	// The second button inside message.
28723	SecondaryBtn *InAppMessageButton `type:"structure"`
28724}
28725
28726// String returns the string representation.
28727//
28728// API parameter values that are decorated as "sensitive" in the API will not
28729// be included in the string output. The member name will be present, but the
28730// value will be replaced with "sensitive".
28731func (s InAppMessageContent) String() string {
28732	return awsutil.Prettify(s)
28733}
28734
28735// GoString returns the string representation.
28736//
28737// API parameter values that are decorated as "sensitive" in the API will not
28738// be included in the string output. The member name will be present, but the
28739// value will be replaced with "sensitive".
28740func (s InAppMessageContent) GoString() string {
28741	return s.String()
28742}
28743
28744// Validate inspects the fields of the type to determine if they are valid.
28745func (s *InAppMessageContent) Validate() error {
28746	invalidParams := request.ErrInvalidParams{Context: "InAppMessageContent"}
28747	if s.BodyConfig != nil {
28748		if err := s.BodyConfig.Validate(); err != nil {
28749			invalidParams.AddNested("BodyConfig", err.(request.ErrInvalidParams))
28750		}
28751	}
28752	if s.HeaderConfig != nil {
28753		if err := s.HeaderConfig.Validate(); err != nil {
28754			invalidParams.AddNested("HeaderConfig", err.(request.ErrInvalidParams))
28755		}
28756	}
28757	if s.PrimaryBtn != nil {
28758		if err := s.PrimaryBtn.Validate(); err != nil {
28759			invalidParams.AddNested("PrimaryBtn", err.(request.ErrInvalidParams))
28760		}
28761	}
28762	if s.SecondaryBtn != nil {
28763		if err := s.SecondaryBtn.Validate(); err != nil {
28764			invalidParams.AddNested("SecondaryBtn", err.(request.ErrInvalidParams))
28765		}
28766	}
28767
28768	if invalidParams.Len() > 0 {
28769		return invalidParams
28770	}
28771	return nil
28772}
28773
28774// SetBackgroundColor sets the BackgroundColor field's value.
28775func (s *InAppMessageContent) SetBackgroundColor(v string) *InAppMessageContent {
28776	s.BackgroundColor = &v
28777	return s
28778}
28779
28780// SetBodyConfig sets the BodyConfig field's value.
28781func (s *InAppMessageContent) SetBodyConfig(v *InAppMessageBodyConfig) *InAppMessageContent {
28782	s.BodyConfig = v
28783	return s
28784}
28785
28786// SetHeaderConfig sets the HeaderConfig field's value.
28787func (s *InAppMessageContent) SetHeaderConfig(v *InAppMessageHeaderConfig) *InAppMessageContent {
28788	s.HeaderConfig = v
28789	return s
28790}
28791
28792// SetImageUrl sets the ImageUrl field's value.
28793func (s *InAppMessageContent) SetImageUrl(v string) *InAppMessageContent {
28794	s.ImageUrl = &v
28795	return s
28796}
28797
28798// SetPrimaryBtn sets the PrimaryBtn field's value.
28799func (s *InAppMessageContent) SetPrimaryBtn(v *InAppMessageButton) *InAppMessageContent {
28800	s.PrimaryBtn = v
28801	return s
28802}
28803
28804// SetSecondaryBtn sets the SecondaryBtn field's value.
28805func (s *InAppMessageContent) SetSecondaryBtn(v *InAppMessageButton) *InAppMessageContent {
28806	s.SecondaryBtn = v
28807	return s
28808}
28809
28810// Text config for Message Header.
28811type InAppMessageHeaderConfig struct {
28812	_ struct{} `type:"structure"`
28813
28814	// The alignment of the text. Valid values: LEFT, CENTER, RIGHT.
28815	//
28816	// Alignment is a required field
28817	Alignment *string `type:"string" required:"true" enum:"Alignment"`
28818
28819	// Message Header.
28820	//
28821	// Header is a required field
28822	Header *string `type:"string" required:"true"`
28823
28824	// The text color.
28825	//
28826	// TextColor is a required field
28827	TextColor *string `type:"string" required:"true"`
28828}
28829
28830// String returns the string representation.
28831//
28832// API parameter values that are decorated as "sensitive" in the API will not
28833// be included in the string output. The member name will be present, but the
28834// value will be replaced with "sensitive".
28835func (s InAppMessageHeaderConfig) String() string {
28836	return awsutil.Prettify(s)
28837}
28838
28839// GoString returns the string representation.
28840//
28841// API parameter values that are decorated as "sensitive" in the API will not
28842// be included in the string output. The member name will be present, but the
28843// value will be replaced with "sensitive".
28844func (s InAppMessageHeaderConfig) GoString() string {
28845	return s.String()
28846}
28847
28848// Validate inspects the fields of the type to determine if they are valid.
28849func (s *InAppMessageHeaderConfig) Validate() error {
28850	invalidParams := request.ErrInvalidParams{Context: "InAppMessageHeaderConfig"}
28851	if s.Alignment == nil {
28852		invalidParams.Add(request.NewErrParamRequired("Alignment"))
28853	}
28854	if s.Header == nil {
28855		invalidParams.Add(request.NewErrParamRequired("Header"))
28856	}
28857	if s.TextColor == nil {
28858		invalidParams.Add(request.NewErrParamRequired("TextColor"))
28859	}
28860
28861	if invalidParams.Len() > 0 {
28862		return invalidParams
28863	}
28864	return nil
28865}
28866
28867// SetAlignment sets the Alignment field's value.
28868func (s *InAppMessageHeaderConfig) SetAlignment(v string) *InAppMessageHeaderConfig {
28869	s.Alignment = &v
28870	return s
28871}
28872
28873// SetHeader sets the Header field's value.
28874func (s *InAppMessageHeaderConfig) SetHeader(v string) *InAppMessageHeaderConfig {
28875	s.Header = &v
28876	return s
28877}
28878
28879// SetTextColor sets the TextColor field's value.
28880func (s *InAppMessageHeaderConfig) SetTextColor(v string) *InAppMessageHeaderConfig {
28881	s.TextColor = &v
28882	return s
28883}
28884
28885// Get in-app messages response object.
28886type InAppMessagesResponse struct {
28887	_ struct{} `type:"structure"`
28888
28889	// List of targeted in-app message campaigns.
28890	InAppMessageCampaigns []*InAppMessageCampaign `type:"list"`
28891}
28892
28893// String returns the string representation.
28894//
28895// API parameter values that are decorated as "sensitive" in the API will not
28896// be included in the string output. The member name will be present, but the
28897// value will be replaced with "sensitive".
28898func (s InAppMessagesResponse) String() string {
28899	return awsutil.Prettify(s)
28900}
28901
28902// GoString returns the string representation.
28903//
28904// API parameter values that are decorated as "sensitive" in the API will not
28905// be included in the string output. The member name will be present, but the
28906// value will be replaced with "sensitive".
28907func (s InAppMessagesResponse) GoString() string {
28908	return s.String()
28909}
28910
28911// SetInAppMessageCampaigns sets the InAppMessageCampaigns field's value.
28912func (s *InAppMessagesResponse) SetInAppMessageCampaigns(v []*InAppMessageCampaign) *InAppMessagesResponse {
28913	s.InAppMessageCampaigns = v
28914	return s
28915}
28916
28917// In-App Template Request.
28918type InAppTemplateRequest struct {
28919	_ struct{} `type:"structure"`
28920
28921	// The content of the message, can include up to 5 modals. Each modal must contain
28922	// a message, a header, and background color. ImageUrl and buttons are optional.
28923	Content []*InAppMessageContent `type:"list"`
28924
28925	// Custom config to be sent to client.
28926	CustomConfig map[string]*string `type:"map"`
28927
28928	// The layout of the message.
28929	Layout *string `type:"string" enum:"Layout"`
28930
28931	// A string-to-string map of key-value pairs that defines the tags to associate
28932	// with the message template. Each tag consists of a required tag key and an
28933	// associated tag value.
28934	Tags map[string]*string `locationName:"tags" type:"map"`
28935
28936	// The description of the template.
28937	TemplateDescription *string `type:"string"`
28938}
28939
28940// String returns the string representation.
28941//
28942// API parameter values that are decorated as "sensitive" in the API will not
28943// be included in the string output. The member name will be present, but the
28944// value will be replaced with "sensitive".
28945func (s InAppTemplateRequest) String() string {
28946	return awsutil.Prettify(s)
28947}
28948
28949// GoString returns the string representation.
28950//
28951// API parameter values that are decorated as "sensitive" in the API will not
28952// be included in the string output. The member name will be present, but the
28953// value will be replaced with "sensitive".
28954func (s InAppTemplateRequest) GoString() string {
28955	return s.String()
28956}
28957
28958// Validate inspects the fields of the type to determine if they are valid.
28959func (s *InAppTemplateRequest) Validate() error {
28960	invalidParams := request.ErrInvalidParams{Context: "InAppTemplateRequest"}
28961	if s.Content != nil {
28962		for i, v := range s.Content {
28963			if v == nil {
28964				continue
28965			}
28966			if err := v.Validate(); err != nil {
28967				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Content", i), err.(request.ErrInvalidParams))
28968			}
28969		}
28970	}
28971
28972	if invalidParams.Len() > 0 {
28973		return invalidParams
28974	}
28975	return nil
28976}
28977
28978// SetContent sets the Content field's value.
28979func (s *InAppTemplateRequest) SetContent(v []*InAppMessageContent) *InAppTemplateRequest {
28980	s.Content = v
28981	return s
28982}
28983
28984// SetCustomConfig sets the CustomConfig field's value.
28985func (s *InAppTemplateRequest) SetCustomConfig(v map[string]*string) *InAppTemplateRequest {
28986	s.CustomConfig = v
28987	return s
28988}
28989
28990// SetLayout sets the Layout field's value.
28991func (s *InAppTemplateRequest) SetLayout(v string) *InAppTemplateRequest {
28992	s.Layout = &v
28993	return s
28994}
28995
28996// SetTags sets the Tags field's value.
28997func (s *InAppTemplateRequest) SetTags(v map[string]*string) *InAppTemplateRequest {
28998	s.Tags = v
28999	return s
29000}
29001
29002// SetTemplateDescription sets the TemplateDescription field's value.
29003func (s *InAppTemplateRequest) SetTemplateDescription(v string) *InAppTemplateRequest {
29004	s.TemplateDescription = &v
29005	return s
29006}
29007
29008// In-App Template Response.
29009type InAppTemplateResponse struct {
29010	_ struct{} `type:"structure"`
29011
29012	// The resource arn of the template.
29013	Arn *string `type:"string"`
29014
29015	// The content of the message, can include up to 5 modals. Each modal must contain
29016	// a message, a header, and background color. ImageUrl and buttons are optional.
29017	Content []*InAppMessageContent `type:"list"`
29018
29019	// The creation date of the template.
29020	//
29021	// CreationDate is a required field
29022	CreationDate *string `type:"string" required:"true"`
29023
29024	// Custom config to be sent to client.
29025	CustomConfig map[string]*string `type:"map"`
29026
29027	// The last modified date of the template.
29028	//
29029	// LastModifiedDate is a required field
29030	LastModifiedDate *string `type:"string" required:"true"`
29031
29032	// The layout of the message.
29033	Layout *string `type:"string" enum:"Layout"`
29034
29035	// Tags map that contains arn and InternalId for API GW.
29036	Tags map[string]*string `locationName:"tags" type:"map"`
29037
29038	// The description of the template.
29039	TemplateDescription *string `type:"string"`
29040
29041	// The name of the template.
29042	//
29043	// TemplateName is a required field
29044	TemplateName *string `type:"string" required:"true"`
29045
29046	// The type of the template.
29047	//
29048	// TemplateType is a required field
29049	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
29050
29051	// The version id of the template.
29052	Version *string `type:"string"`
29053}
29054
29055// String returns the string representation.
29056//
29057// API parameter values that are decorated as "sensitive" in the API will not
29058// be included in the string output. The member name will be present, but the
29059// value will be replaced with "sensitive".
29060func (s InAppTemplateResponse) String() string {
29061	return awsutil.Prettify(s)
29062}
29063
29064// GoString returns the string representation.
29065//
29066// API parameter values that are decorated as "sensitive" in the API will not
29067// be included in the string output. The member name will be present, but the
29068// value will be replaced with "sensitive".
29069func (s InAppTemplateResponse) GoString() string {
29070	return s.String()
29071}
29072
29073// SetArn sets the Arn field's value.
29074func (s *InAppTemplateResponse) SetArn(v string) *InAppTemplateResponse {
29075	s.Arn = &v
29076	return s
29077}
29078
29079// SetContent sets the Content field's value.
29080func (s *InAppTemplateResponse) SetContent(v []*InAppMessageContent) *InAppTemplateResponse {
29081	s.Content = v
29082	return s
29083}
29084
29085// SetCreationDate sets the CreationDate field's value.
29086func (s *InAppTemplateResponse) SetCreationDate(v string) *InAppTemplateResponse {
29087	s.CreationDate = &v
29088	return s
29089}
29090
29091// SetCustomConfig sets the CustomConfig field's value.
29092func (s *InAppTemplateResponse) SetCustomConfig(v map[string]*string) *InAppTemplateResponse {
29093	s.CustomConfig = v
29094	return s
29095}
29096
29097// SetLastModifiedDate sets the LastModifiedDate field's value.
29098func (s *InAppTemplateResponse) SetLastModifiedDate(v string) *InAppTemplateResponse {
29099	s.LastModifiedDate = &v
29100	return s
29101}
29102
29103// SetLayout sets the Layout field's value.
29104func (s *InAppTemplateResponse) SetLayout(v string) *InAppTemplateResponse {
29105	s.Layout = &v
29106	return s
29107}
29108
29109// SetTags sets the Tags field's value.
29110func (s *InAppTemplateResponse) SetTags(v map[string]*string) *InAppTemplateResponse {
29111	s.Tags = v
29112	return s
29113}
29114
29115// SetTemplateDescription sets the TemplateDescription field's value.
29116func (s *InAppTemplateResponse) SetTemplateDescription(v string) *InAppTemplateResponse {
29117	s.TemplateDescription = &v
29118	return s
29119}
29120
29121// SetTemplateName sets the TemplateName field's value.
29122func (s *InAppTemplateResponse) SetTemplateName(v string) *InAppTemplateResponse {
29123	s.TemplateName = &v
29124	return s
29125}
29126
29127// SetTemplateType sets the TemplateType field's value.
29128func (s *InAppTemplateResponse) SetTemplateType(v string) *InAppTemplateResponse {
29129	s.TemplateType = &v
29130	return s
29131}
29132
29133// SetVersion sets the Version field's value.
29134func (s *InAppTemplateResponse) SetVersion(v string) *InAppTemplateResponse {
29135	s.Version = &v
29136	return s
29137}
29138
29139// Provides information about an API request or response.
29140type InternalServerErrorException struct {
29141	_            struct{}                  `type:"structure"`
29142	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
29143
29144	Message_ *string `locationName:"Message" type:"string"`
29145
29146	RequestID_ *string `locationName:"RequestID" type:"string"`
29147}
29148
29149// String returns the string representation.
29150//
29151// API parameter values that are decorated as "sensitive" in the API will not
29152// be included in the string output. The member name will be present, but the
29153// value will be replaced with "sensitive".
29154func (s InternalServerErrorException) String() string {
29155	return awsutil.Prettify(s)
29156}
29157
29158// GoString returns the string representation.
29159//
29160// API parameter values that are decorated as "sensitive" in the API will not
29161// be included in the string output. The member name will be present, but the
29162// value will be replaced with "sensitive".
29163func (s InternalServerErrorException) GoString() string {
29164	return s.String()
29165}
29166
29167func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
29168	return &InternalServerErrorException{
29169		RespMetadata: v,
29170	}
29171}
29172
29173// Code returns the exception type name.
29174func (s *InternalServerErrorException) Code() string {
29175	return "InternalServerErrorException"
29176}
29177
29178// Message returns the exception's message.
29179func (s *InternalServerErrorException) Message() string {
29180	if s.Message_ != nil {
29181		return *s.Message_
29182	}
29183	return ""
29184}
29185
29186// OrigErr always returns nil, satisfies awserr.Error interface.
29187func (s *InternalServerErrorException) OrigErr() error {
29188	return nil
29189}
29190
29191func (s *InternalServerErrorException) Error() string {
29192	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
29193}
29194
29195// Status code returns the HTTP status code for the request's response error.
29196func (s *InternalServerErrorException) StatusCode() int {
29197	return s.RespMetadata.StatusCode
29198}
29199
29200// RequestID returns the service's response RequestID for request.
29201func (s *InternalServerErrorException) RequestID() string {
29202	return s.RespMetadata.RequestID
29203}
29204
29205// Provides information about the results of a request to create or update an
29206// endpoint that's associated with an event.
29207type ItemResponse struct {
29208	_ struct{} `type:"structure"`
29209
29210	// The response that was received after the endpoint data was accepted.
29211	EndpointItemResponse *EndpointItemResponse `type:"structure"`
29212
29213	// A multipart response object that contains a key and a value for each event
29214	// in the request. In each object, the event ID is the key and an EventItemResponse
29215	// object is the value.
29216	EventsItemResponse map[string]*EventItemResponse `type:"map"`
29217}
29218
29219// String returns the string representation.
29220//
29221// API parameter values that are decorated as "sensitive" in the API will not
29222// be included in the string output. The member name will be present, but the
29223// value will be replaced with "sensitive".
29224func (s ItemResponse) String() string {
29225	return awsutil.Prettify(s)
29226}
29227
29228// GoString returns the string representation.
29229//
29230// API parameter values that are decorated as "sensitive" in the API will not
29231// be included in the string output. The member name will be present, but the
29232// value will be replaced with "sensitive".
29233func (s ItemResponse) GoString() string {
29234	return s.String()
29235}
29236
29237// SetEndpointItemResponse sets the EndpointItemResponse field's value.
29238func (s *ItemResponse) SetEndpointItemResponse(v *EndpointItemResponse) *ItemResponse {
29239	s.EndpointItemResponse = v
29240	return s
29241}
29242
29243// SetEventsItemResponse sets the EventsItemResponse field's value.
29244func (s *ItemResponse) SetEventsItemResponse(v map[string]*EventItemResponse) *ItemResponse {
29245	s.EventsItemResponse = v
29246	return s
29247}
29248
29249// The channel-specific configurations for the journey.
29250type JourneyChannelSettings struct {
29251	_ struct{} `type:"structure"`
29252
29253	// Amazon Resource Name (ARN) of the Connect Campaign.
29254	ConnectCampaignArn *string `type:"string"`
29255
29256	// IAM role ARN to be assumed when invoking Connect campaign execution APIs
29257	// for dialing.
29258	ConnectCampaignExecutionRoleArn *string `type:"string"`
29259}
29260
29261// String returns the string representation.
29262//
29263// API parameter values that are decorated as "sensitive" in the API will not
29264// be included in the string output. The member name will be present, but the
29265// value will be replaced with "sensitive".
29266func (s JourneyChannelSettings) String() string {
29267	return awsutil.Prettify(s)
29268}
29269
29270// GoString returns the string representation.
29271//
29272// API parameter values that are decorated as "sensitive" in the API will not
29273// be included in the string output. The member name will be present, but the
29274// value will be replaced with "sensitive".
29275func (s JourneyChannelSettings) GoString() string {
29276	return s.String()
29277}
29278
29279// SetConnectCampaignArn sets the ConnectCampaignArn field's value.
29280func (s *JourneyChannelSettings) SetConnectCampaignArn(v string) *JourneyChannelSettings {
29281	s.ConnectCampaignArn = &v
29282	return s
29283}
29284
29285// SetConnectCampaignExecutionRoleArn sets the ConnectCampaignExecutionRoleArn field's value.
29286func (s *JourneyChannelSettings) SetConnectCampaignExecutionRoleArn(v string) *JourneyChannelSettings {
29287	s.ConnectCampaignExecutionRoleArn = &v
29288	return s
29289}
29290
29291// Specifies the message content for a custom channel message that's sent to
29292// participants in a journey.
29293type JourneyCustomMessage struct {
29294	_ struct{} `type:"structure"`
29295
29296	// The message content that's passed to an AWS Lambda function or to a web hook.
29297	Data *string `type:"string"`
29298}
29299
29300// String returns the string representation.
29301//
29302// API parameter values that are decorated as "sensitive" in the API will not
29303// be included in the string output. The member name will be present, but the
29304// value will be replaced with "sensitive".
29305func (s JourneyCustomMessage) String() string {
29306	return awsutil.Prettify(s)
29307}
29308
29309// GoString returns the string representation.
29310//
29311// API parameter values that are decorated as "sensitive" in the API will not
29312// be included in the string output. The member name will be present, but the
29313// value will be replaced with "sensitive".
29314func (s JourneyCustomMessage) GoString() string {
29315	return s.String()
29316}
29317
29318// SetData sets the Data field's value.
29319func (s *JourneyCustomMessage) SetData(v string) *JourneyCustomMessage {
29320	s.Data = &v
29321	return s
29322}
29323
29324// Provides the results of a query that retrieved the data for a standard engagement
29325// metric that applies to a journey, and provides information about that query.
29326type JourneyDateRangeKpiResponse struct {
29327	_ struct{} `type:"structure"`
29328
29329	// The unique identifier for the application that the metric applies to.
29330	//
29331	// ApplicationId is a required field
29332	ApplicationId *string `type:"string" required:"true"`
29333
29334	// EndTime is a required field
29335	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
29336
29337	// The unique identifier for the journey that the metric applies to.
29338	//
29339	// JourneyId is a required field
29340	JourneyId *string `type:"string" required:"true"`
29341
29342	// The name of the metric, also referred to as a key performance indicator (KPI),
29343	// that the data was retrieved for. This value describes the associated metric
29344	// and consists of two or more terms, which are comprised of lowercase alphanumeric
29345	// characters, separated by a hyphen. For a list of possible values, see the
29346	// Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html).
29347	//
29348	// KpiName is a required field
29349	KpiName *string `type:"string" required:"true"`
29350
29351	// An array of objects that contains the results of the query. Each object contains
29352	// the value for the metric and metadata about that value.
29353	//
29354	// KpiResult is a required field
29355	KpiResult *BaseKpiResult `type:"structure" required:"true"`
29356
29357	// The string to use in a subsequent request to get the next page of results
29358	// in a paginated response. This value is null for the Journey Engagement Metrics
29359	// resource because the resource returns all results in a single page.
29360	NextToken *string `type:"string"`
29361
29362	// StartTime is a required field
29363	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
29364}
29365
29366// String returns the string representation.
29367//
29368// API parameter values that are decorated as "sensitive" in the API will not
29369// be included in the string output. The member name will be present, but the
29370// value will be replaced with "sensitive".
29371func (s JourneyDateRangeKpiResponse) String() string {
29372	return awsutil.Prettify(s)
29373}
29374
29375// GoString returns the string representation.
29376//
29377// API parameter values that are decorated as "sensitive" in the API will not
29378// be included in the string output. The member name will be present, but the
29379// value will be replaced with "sensitive".
29380func (s JourneyDateRangeKpiResponse) GoString() string {
29381	return s.String()
29382}
29383
29384// SetApplicationId sets the ApplicationId field's value.
29385func (s *JourneyDateRangeKpiResponse) SetApplicationId(v string) *JourneyDateRangeKpiResponse {
29386	s.ApplicationId = &v
29387	return s
29388}
29389
29390// SetEndTime sets the EndTime field's value.
29391func (s *JourneyDateRangeKpiResponse) SetEndTime(v time.Time) *JourneyDateRangeKpiResponse {
29392	s.EndTime = &v
29393	return s
29394}
29395
29396// SetJourneyId sets the JourneyId field's value.
29397func (s *JourneyDateRangeKpiResponse) SetJourneyId(v string) *JourneyDateRangeKpiResponse {
29398	s.JourneyId = &v
29399	return s
29400}
29401
29402// SetKpiName sets the KpiName field's value.
29403func (s *JourneyDateRangeKpiResponse) SetKpiName(v string) *JourneyDateRangeKpiResponse {
29404	s.KpiName = &v
29405	return s
29406}
29407
29408// SetKpiResult sets the KpiResult field's value.
29409func (s *JourneyDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *JourneyDateRangeKpiResponse {
29410	s.KpiResult = v
29411	return s
29412}
29413
29414// SetNextToken sets the NextToken field's value.
29415func (s *JourneyDateRangeKpiResponse) SetNextToken(v string) *JourneyDateRangeKpiResponse {
29416	s.NextToken = &v
29417	return s
29418}
29419
29420// SetStartTime sets the StartTime field's value.
29421func (s *JourneyDateRangeKpiResponse) SetStartTime(v time.Time) *JourneyDateRangeKpiResponse {
29422	s.StartTime = &v
29423	return s
29424}
29425
29426// Specifies the "From" address for an email message that's sent to participants
29427// in a journey.
29428type JourneyEmailMessage struct {
29429	_ struct{} `type:"structure"`
29430
29431	// The verified email address to send the email message from. The default address
29432	// is the FromAddress specified for the email channel for the application.
29433	FromAddress *string `type:"string"`
29434}
29435
29436// String returns the string representation.
29437//
29438// API parameter values that are decorated as "sensitive" in the API will not
29439// be included in the string output. The member name will be present, but the
29440// value will be replaced with "sensitive".
29441func (s JourneyEmailMessage) String() string {
29442	return awsutil.Prettify(s)
29443}
29444
29445// GoString returns the string representation.
29446//
29447// API parameter values that are decorated as "sensitive" in the API will not
29448// be included in the string output. The member name will be present, but the
29449// value will be replaced with "sensitive".
29450func (s JourneyEmailMessage) GoString() string {
29451	return s.String()
29452}
29453
29454// SetFromAddress sets the FromAddress field's value.
29455func (s *JourneyEmailMessage) SetFromAddress(v string) *JourneyEmailMessage {
29456	s.FromAddress = &v
29457	return s
29458}
29459
29460// Provides the results of a query that retrieved the data for a standard execution
29461// metric that applies to a journey activity, and provides information about
29462// that query.
29463type JourneyExecutionActivityMetricsResponse struct {
29464	_ struct{} `type:"structure"`
29465
29466	// The type of activity that the metric applies to. Possible values are:
29467	//
29468	//    * CONDITIONAL_SPLIT - For a yes/no split activity, which is an activity
29469	//    that sends participants down one of two paths in a journey.
29470	//
29471	//    * HOLDOUT - For a holdout activity, which is an activity that stops a
29472	//    journey for a specified percentage of participants.
29473	//
29474	//    * MESSAGE - For an email activity, which is an activity that sends an
29475	//    email message to participants.
29476	//
29477	//    * MULTI_CONDITIONAL_SPLIT - For a multivariate split activity, which is
29478	//    an activity that sends participants down one of as many as five paths
29479	//    in a journey.
29480	//
29481	//    * RANDOM_SPLIT - For a random split activity, which is an activity that
29482	//    sends specified percentages of participants down one of as many as five
29483	//    paths in a journey.
29484	//
29485	//    * WAIT - For a wait activity, which is an activity that waits for a certain
29486	//    amount of time or until a specific date and time before moving participants
29487	//    to the next activity in a journey.
29488	//
29489	// ActivityType is a required field
29490	ActivityType *string `type:"string" required:"true"`
29491
29492	// The unique identifier for the application that the metric applies to.
29493	//
29494	// ApplicationId is a required field
29495	ApplicationId *string `type:"string" required:"true"`
29496
29497	// The unique identifier for the activity that the metric applies to.
29498	//
29499	// JourneyActivityId is a required field
29500	JourneyActivityId *string `type:"string" required:"true"`
29501
29502	// The unique identifier for the journey that the metric applies to.
29503	//
29504	// JourneyId is a required field
29505	JourneyId *string `type:"string" required:"true"`
29506
29507	// The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
29508	// the execution status of the activity and updated the data for the metric.
29509	//
29510	// LastEvaluatedTime is a required field
29511	LastEvaluatedTime *string `type:"string" required:"true"`
29512
29513	// A JSON object that contains the results of the query. The results vary depending
29514	// on the type of activity (ActivityType). For information about the structure
29515	// and contents of the results, see the Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html).
29516	//
29517	// Metrics is a required field
29518	Metrics map[string]*string `type:"map" required:"true"`
29519}
29520
29521// String returns the string representation.
29522//
29523// API parameter values that are decorated as "sensitive" in the API will not
29524// be included in the string output. The member name will be present, but the
29525// value will be replaced with "sensitive".
29526func (s JourneyExecutionActivityMetricsResponse) String() string {
29527	return awsutil.Prettify(s)
29528}
29529
29530// GoString returns the string representation.
29531//
29532// API parameter values that are decorated as "sensitive" in the API will not
29533// be included in the string output. The member name will be present, but the
29534// value will be replaced with "sensitive".
29535func (s JourneyExecutionActivityMetricsResponse) GoString() string {
29536	return s.String()
29537}
29538
29539// SetActivityType sets the ActivityType field's value.
29540func (s *JourneyExecutionActivityMetricsResponse) SetActivityType(v string) *JourneyExecutionActivityMetricsResponse {
29541	s.ActivityType = &v
29542	return s
29543}
29544
29545// SetApplicationId sets the ApplicationId field's value.
29546func (s *JourneyExecutionActivityMetricsResponse) SetApplicationId(v string) *JourneyExecutionActivityMetricsResponse {
29547	s.ApplicationId = &v
29548	return s
29549}
29550
29551// SetJourneyActivityId sets the JourneyActivityId field's value.
29552func (s *JourneyExecutionActivityMetricsResponse) SetJourneyActivityId(v string) *JourneyExecutionActivityMetricsResponse {
29553	s.JourneyActivityId = &v
29554	return s
29555}
29556
29557// SetJourneyId sets the JourneyId field's value.
29558func (s *JourneyExecutionActivityMetricsResponse) SetJourneyId(v string) *JourneyExecutionActivityMetricsResponse {
29559	s.JourneyId = &v
29560	return s
29561}
29562
29563// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
29564func (s *JourneyExecutionActivityMetricsResponse) SetLastEvaluatedTime(v string) *JourneyExecutionActivityMetricsResponse {
29565	s.LastEvaluatedTime = &v
29566	return s
29567}
29568
29569// SetMetrics sets the Metrics field's value.
29570func (s *JourneyExecutionActivityMetricsResponse) SetMetrics(v map[string]*string) *JourneyExecutionActivityMetricsResponse {
29571	s.Metrics = v
29572	return s
29573}
29574
29575// Provides the results of a query that retrieved the data for a standard execution
29576// metric that applies to a journey, and provides information about that query.
29577type JourneyExecutionMetricsResponse struct {
29578	_ struct{} `type:"structure"`
29579
29580	// The unique identifier for the application that the metric applies to.
29581	//
29582	// ApplicationId is a required field
29583	ApplicationId *string `type:"string" required:"true"`
29584
29585	// The unique identifier for the journey that the metric applies to.
29586	//
29587	// JourneyId is a required field
29588	JourneyId *string `type:"string" required:"true"`
29589
29590	// The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
29591	// the journey and updated the data for the metric.
29592	//
29593	// LastEvaluatedTime is a required field
29594	LastEvaluatedTime *string `type:"string" required:"true"`
29595
29596	// A JSON object that contains the results of the query. For information about
29597	// the structure and contents of the results, see the Amazon Pinpoint Developer
29598	// Guide (https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html).
29599	//
29600	// Metrics is a required field
29601	Metrics map[string]*string `type:"map" required:"true"`
29602}
29603
29604// String returns the string representation.
29605//
29606// API parameter values that are decorated as "sensitive" in the API will not
29607// be included in the string output. The member name will be present, but the
29608// value will be replaced with "sensitive".
29609func (s JourneyExecutionMetricsResponse) String() string {
29610	return awsutil.Prettify(s)
29611}
29612
29613// GoString returns the string representation.
29614//
29615// API parameter values that are decorated as "sensitive" in the API will not
29616// be included in the string output. The member name will be present, but the
29617// value will be replaced with "sensitive".
29618func (s JourneyExecutionMetricsResponse) GoString() string {
29619	return s.String()
29620}
29621
29622// SetApplicationId sets the ApplicationId field's value.
29623func (s *JourneyExecutionMetricsResponse) SetApplicationId(v string) *JourneyExecutionMetricsResponse {
29624	s.ApplicationId = &v
29625	return s
29626}
29627
29628// SetJourneyId sets the JourneyId field's value.
29629func (s *JourneyExecutionMetricsResponse) SetJourneyId(v string) *JourneyExecutionMetricsResponse {
29630	s.JourneyId = &v
29631	return s
29632}
29633
29634// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
29635func (s *JourneyExecutionMetricsResponse) SetLastEvaluatedTime(v string) *JourneyExecutionMetricsResponse {
29636	s.LastEvaluatedTime = &v
29637	return s
29638}
29639
29640// SetMetrics sets the Metrics field's value.
29641func (s *JourneyExecutionMetricsResponse) SetMetrics(v map[string]*string) *JourneyExecutionMetricsResponse {
29642	s.Metrics = v
29643	return s
29644}
29645
29646// Specifies limits on the messages that a journey can send and the number of
29647// times participants can enter a journey.
29648type JourneyLimits struct {
29649	_ struct{} `type:"structure"`
29650
29651	// The maximum number of messages that the journey can send to a single participant
29652	// during a 24-hour period. The maximum value is 100.
29653	DailyCap *int64 `type:"integer"`
29654
29655	// The maximum number of times that a participant can enter the journey. The
29656	// maximum value is 100. To allow participants to enter the journey an unlimited
29657	// number of times, set this value to 0.
29658	EndpointReentryCap *int64 `type:"integer"`
29659
29660	EndpointReentryInterval *string `type:"string"`
29661
29662	// The maximum number of messages that the journey can send each second.
29663	MessagesPerSecond *int64 `type:"integer"`
29664}
29665
29666// String returns the string representation.
29667//
29668// API parameter values that are decorated as "sensitive" in the API will not
29669// be included in the string output. The member name will be present, but the
29670// value will be replaced with "sensitive".
29671func (s JourneyLimits) String() string {
29672	return awsutil.Prettify(s)
29673}
29674
29675// GoString returns the string representation.
29676//
29677// API parameter values that are decorated as "sensitive" in the API will not
29678// be included in the string output. The member name will be present, but the
29679// value will be replaced with "sensitive".
29680func (s JourneyLimits) GoString() string {
29681	return s.String()
29682}
29683
29684// SetDailyCap sets the DailyCap field's value.
29685func (s *JourneyLimits) SetDailyCap(v int64) *JourneyLimits {
29686	s.DailyCap = &v
29687	return s
29688}
29689
29690// SetEndpointReentryCap sets the EndpointReentryCap field's value.
29691func (s *JourneyLimits) SetEndpointReentryCap(v int64) *JourneyLimits {
29692	s.EndpointReentryCap = &v
29693	return s
29694}
29695
29696// SetEndpointReentryInterval sets the EndpointReentryInterval field's value.
29697func (s *JourneyLimits) SetEndpointReentryInterval(v string) *JourneyLimits {
29698	s.EndpointReentryInterval = &v
29699	return s
29700}
29701
29702// SetMessagesPerSecond sets the MessagesPerSecond field's value.
29703func (s *JourneyLimits) SetMessagesPerSecond(v int64) *JourneyLimits {
29704	s.MessagesPerSecond = &v
29705	return s
29706}
29707
29708// Specifies the message configuration for a push notification that's sent to
29709// participants in a journey.
29710type JourneyPushMessage struct {
29711	_ struct{} `type:"structure"`
29712
29713	// The number of seconds that the push notification service should keep the
29714	// message, if the service is unable to deliver the notification the first time.
29715	// This value is converted to an expiration value when it's sent to a push-notification
29716	// service. If this value is 0, the service treats the notification as if it
29717	// expires immediately and the service doesn't store or try to deliver the notification
29718	// again.
29719	//
29720	// This value doesn't apply to messages that are sent through the Amazon Device
29721	// Messaging (ADM) service.
29722	TimeToLive *string `type:"string"`
29723}
29724
29725// String returns the string representation.
29726//
29727// API parameter values that are decorated as "sensitive" in the API will not
29728// be included in the string output. The member name will be present, but the
29729// value will be replaced with "sensitive".
29730func (s JourneyPushMessage) String() string {
29731	return awsutil.Prettify(s)
29732}
29733
29734// GoString returns the string representation.
29735//
29736// API parameter values that are decorated as "sensitive" in the API will not
29737// be included in the string output. The member name will be present, but the
29738// value will be replaced with "sensitive".
29739func (s JourneyPushMessage) GoString() string {
29740	return s.String()
29741}
29742
29743// SetTimeToLive sets the TimeToLive field's value.
29744func (s *JourneyPushMessage) SetTimeToLive(v string) *JourneyPushMessage {
29745	s.TimeToLive = &v
29746	return s
29747}
29748
29749// Provides information about the status, configuration, and other settings
29750// for a journey.
29751type JourneyResponse struct {
29752	_ struct{} `type:"structure"`
29753
29754	// A map that contains a set of Activity objects, one object for each activity
29755	// in the journey. For each Activity object, the key is the unique identifier
29756	// (string) for an activity and the value is the settings for the activity.
29757	Activities map[string]*Activity `type:"map"`
29758
29759	// The unique identifier for the application that the journey applies to.
29760	//
29761	// ApplicationId is a required field
29762	ApplicationId *string `type:"string" required:"true"`
29763
29764	// The date, in ISO 8601 format, when the journey was created.
29765	CreationDate *string `type:"string"`
29766
29767	// The unique identifier for the journey.
29768	//
29769	// Id is a required field
29770	Id *string `type:"string" required:"true"`
29771
29772	// Amazon Resource Name (ARN) of the Connect Campaign.
29773	JourneyChannelSettings *JourneyChannelSettings `type:"structure"`
29774
29775	// The date, in ISO 8601 format, when the journey was last modified.
29776	LastModifiedDate *string `type:"string"`
29777
29778	// The messaging and entry limits for the journey.
29779	Limits *JourneyLimits `type:"structure"`
29780
29781	// Specifies whether the journey's scheduled start and end times use each participant's
29782	// local time. If this value is true, the schedule uses each participant's local
29783	// time.
29784	LocalTime *bool `type:"boolean"`
29785
29786	// The name of the journey.
29787	//
29788	// Name is a required field
29789	Name *string `type:"string" required:"true"`
29790
29791	// The quiet time settings for the journey. Quiet time is a specific time range
29792	// when a journey doesn't send messages to participants, if all the following
29793	// conditions are met:
29794	//
29795	//    * The EndpointDemographic.Timezone property of the endpoint for the participant
29796	//    is set to a valid value.
29797	//
29798	//    * The current time in the participant's time zone is later than or equal
29799	//    to the time specified by the QuietTime.Start property for the journey.
29800	//
29801	//    * The current time in the participant's time zone is earlier than or equal
29802	//    to the time specified by the QuietTime.End property for the journey.
29803	//
29804	// If any of the preceding conditions isn't met, the participant will receive
29805	// messages from the journey, even if quiet time is enabled.
29806	QuietTime *QuietTime `type:"structure"`
29807
29808	// The frequency with which Amazon Pinpoint evaluates segment and event data
29809	// for the journey, as a duration in ISO 8601 format.
29810	RefreshFrequency *string `type:"string"`
29811
29812	// The schedule settings for the journey.
29813	Schedule *JourneySchedule `type:"structure"`
29814
29815	// The unique identifier for the first activity in the journey.
29816	StartActivity *string `type:"string"`
29817
29818	// The segment that defines which users are participants in the journey.
29819	StartCondition *StartCondition `type:"structure"`
29820
29821	// The current status of the journey. Possible values are:
29822	//
29823	//    * DRAFT - The journey is being developed and hasn't been published yet.
29824	//
29825	//    * ACTIVE - The journey has been developed and published. Depending on
29826	//    the journey's schedule, the journey may currently be running or scheduled
29827	//    to start running at a later time. If a journey's status is ACTIVE, you
29828	//    can't add, change, or remove activities from it.
29829	//
29830	//    * PAUSED - The journey has been paused. Amazon Pinpoint continues to perform
29831	//    activities that are currently in progress, until those activities are
29832	//    complete.
29833	//
29834	//    * COMPLETED - The journey has been published and has finished running.
29835	//    All participants have entered the journey and no participants are waiting
29836	//    to complete the journey or any activities in the journey.
29837	//
29838	//    * CANCELLED - The journey has been stopped. If a journey's status is CANCELLED,
29839	//    you can't add, change, or remove activities or segment settings from the
29840	//    journey.
29841	//
29842	//    * CLOSED - The journey has been published and has started running. It
29843	//    may have also passed its scheduled end time, or passed its scheduled start
29844	//    time and a refresh frequency hasn't been specified for it. If a journey's
29845	//    status is CLOSED, you can't add participants to it, and no existing participants
29846	//    can enter the journey for the first time. However, any existing participants
29847	//    who are currently waiting to start an activity may continue the journey.
29848	State *string `type:"string" enum:"State"`
29849
29850	// This object is not used or supported.
29851	Tags map[string]*string `locationName:"tags" type:"map"`
29852}
29853
29854// String returns the string representation.
29855//
29856// API parameter values that are decorated as "sensitive" in the API will not
29857// be included in the string output. The member name will be present, but the
29858// value will be replaced with "sensitive".
29859func (s JourneyResponse) String() string {
29860	return awsutil.Prettify(s)
29861}
29862
29863// GoString returns the string representation.
29864//
29865// API parameter values that are decorated as "sensitive" in the API will not
29866// be included in the string output. The member name will be present, but the
29867// value will be replaced with "sensitive".
29868func (s JourneyResponse) GoString() string {
29869	return s.String()
29870}
29871
29872// SetActivities sets the Activities field's value.
29873func (s *JourneyResponse) SetActivities(v map[string]*Activity) *JourneyResponse {
29874	s.Activities = v
29875	return s
29876}
29877
29878// SetApplicationId sets the ApplicationId field's value.
29879func (s *JourneyResponse) SetApplicationId(v string) *JourneyResponse {
29880	s.ApplicationId = &v
29881	return s
29882}
29883
29884// SetCreationDate sets the CreationDate field's value.
29885func (s *JourneyResponse) SetCreationDate(v string) *JourneyResponse {
29886	s.CreationDate = &v
29887	return s
29888}
29889
29890// SetId sets the Id field's value.
29891func (s *JourneyResponse) SetId(v string) *JourneyResponse {
29892	s.Id = &v
29893	return s
29894}
29895
29896// SetJourneyChannelSettings sets the JourneyChannelSettings field's value.
29897func (s *JourneyResponse) SetJourneyChannelSettings(v *JourneyChannelSettings) *JourneyResponse {
29898	s.JourneyChannelSettings = v
29899	return s
29900}
29901
29902// SetLastModifiedDate sets the LastModifiedDate field's value.
29903func (s *JourneyResponse) SetLastModifiedDate(v string) *JourneyResponse {
29904	s.LastModifiedDate = &v
29905	return s
29906}
29907
29908// SetLimits sets the Limits field's value.
29909func (s *JourneyResponse) SetLimits(v *JourneyLimits) *JourneyResponse {
29910	s.Limits = v
29911	return s
29912}
29913
29914// SetLocalTime sets the LocalTime field's value.
29915func (s *JourneyResponse) SetLocalTime(v bool) *JourneyResponse {
29916	s.LocalTime = &v
29917	return s
29918}
29919
29920// SetName sets the Name field's value.
29921func (s *JourneyResponse) SetName(v string) *JourneyResponse {
29922	s.Name = &v
29923	return s
29924}
29925
29926// SetQuietTime sets the QuietTime field's value.
29927func (s *JourneyResponse) SetQuietTime(v *QuietTime) *JourneyResponse {
29928	s.QuietTime = v
29929	return s
29930}
29931
29932// SetRefreshFrequency sets the RefreshFrequency field's value.
29933func (s *JourneyResponse) SetRefreshFrequency(v string) *JourneyResponse {
29934	s.RefreshFrequency = &v
29935	return s
29936}
29937
29938// SetSchedule sets the Schedule field's value.
29939func (s *JourneyResponse) SetSchedule(v *JourneySchedule) *JourneyResponse {
29940	s.Schedule = v
29941	return s
29942}
29943
29944// SetStartActivity sets the StartActivity field's value.
29945func (s *JourneyResponse) SetStartActivity(v string) *JourneyResponse {
29946	s.StartActivity = &v
29947	return s
29948}
29949
29950// SetStartCondition sets the StartCondition field's value.
29951func (s *JourneyResponse) SetStartCondition(v *StartCondition) *JourneyResponse {
29952	s.StartCondition = v
29953	return s
29954}
29955
29956// SetState sets the State field's value.
29957func (s *JourneyResponse) SetState(v string) *JourneyResponse {
29958	s.State = &v
29959	return s
29960}
29961
29962// SetTags sets the Tags field's value.
29963func (s *JourneyResponse) SetTags(v map[string]*string) *JourneyResponse {
29964	s.Tags = v
29965	return s
29966}
29967
29968// Specifies the sender ID and message type for an SMS message that's sent to
29969// participants in a journey.
29970type JourneySMSMessage struct {
29971	_ struct{} `type:"structure"`
29972
29973	// The entity ID or Principal Entity (PE) id received from the regulatory body
29974	// for sending SMS in your country.
29975	EntityId *string `type:"string"`
29976
29977	// The SMS message type. Valid values are TRANSACTIONAL (for messages that are
29978	// critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL
29979	// (for messsages that aren't critical or time-sensitive, such as marketing
29980	// messages).
29981	MessageType *string `type:"string" enum:"MessageType"`
29982
29983	// The long code to send the SMS message from. This value should be one of the
29984	// dedicated long codes that's assigned to your AWS account. Although it isn't
29985	// required, we recommend that you specify the long code using an E.164 format
29986	// to ensure prompt and accurate delivery of the message. For example, +12065550100.
29987	OriginationNumber *string `type:"string"`
29988
29989	// The sender ID to display as the sender of the message on a recipient's device.
29990	// Support for sender IDs varies by country or region. For more information,
29991	// see Supported Countries and Regions (https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html)
29992	// in the Amazon Pinpoint User Guide.
29993	SenderId *string `type:"string"`
29994
29995	// The template ID received from the regulatory body for sending SMS in your
29996	// country.
29997	TemplateId *string `type:"string"`
29998}
29999
30000// String returns the string representation.
30001//
30002// API parameter values that are decorated as "sensitive" in the API will not
30003// be included in the string output. The member name will be present, but the
30004// value will be replaced with "sensitive".
30005func (s JourneySMSMessage) String() string {
30006	return awsutil.Prettify(s)
30007}
30008
30009// GoString returns the string representation.
30010//
30011// API parameter values that are decorated as "sensitive" in the API will not
30012// be included in the string output. The member name will be present, but the
30013// value will be replaced with "sensitive".
30014func (s JourneySMSMessage) GoString() string {
30015	return s.String()
30016}
30017
30018// SetEntityId sets the EntityId field's value.
30019func (s *JourneySMSMessage) SetEntityId(v string) *JourneySMSMessage {
30020	s.EntityId = &v
30021	return s
30022}
30023
30024// SetMessageType sets the MessageType field's value.
30025func (s *JourneySMSMessage) SetMessageType(v string) *JourneySMSMessage {
30026	s.MessageType = &v
30027	return s
30028}
30029
30030// SetOriginationNumber sets the OriginationNumber field's value.
30031func (s *JourneySMSMessage) SetOriginationNumber(v string) *JourneySMSMessage {
30032	s.OriginationNumber = &v
30033	return s
30034}
30035
30036// SetSenderId sets the SenderId field's value.
30037func (s *JourneySMSMessage) SetSenderId(v string) *JourneySMSMessage {
30038	s.SenderId = &v
30039	return s
30040}
30041
30042// SetTemplateId sets the TemplateId field's value.
30043func (s *JourneySMSMessage) SetTemplateId(v string) *JourneySMSMessage {
30044	s.TemplateId = &v
30045	return s
30046}
30047
30048// Specifies the schedule settings for a journey.
30049type JourneySchedule struct {
30050	_ struct{} `type:"structure"`
30051
30052	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
30053
30054	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
30055
30056	// The starting UTC offset for the journey schedule, if the value of the journey's
30057	// LocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03,
30058	// UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30,
30059	// UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11,
30060	// UTC+12, UTC+12:45, UTC+13, UTC+13:45, UTC-02, UTC-02:30, UTC-03, UTC-03:30,
30061	// UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-09:30, UTC-10, and UTC-11.
30062	Timezone *string `type:"string"`
30063}
30064
30065// String returns the string representation.
30066//
30067// API parameter values that are decorated as "sensitive" in the API will not
30068// be included in the string output. The member name will be present, but the
30069// value will be replaced with "sensitive".
30070func (s JourneySchedule) String() string {
30071	return awsutil.Prettify(s)
30072}
30073
30074// GoString returns the string representation.
30075//
30076// API parameter values that are decorated as "sensitive" in the API will not
30077// be included in the string output. The member name will be present, but the
30078// value will be replaced with "sensitive".
30079func (s JourneySchedule) GoString() string {
30080	return s.String()
30081}
30082
30083// SetEndTime sets the EndTime field's value.
30084func (s *JourneySchedule) SetEndTime(v time.Time) *JourneySchedule {
30085	s.EndTime = &v
30086	return s
30087}
30088
30089// SetStartTime sets the StartTime field's value.
30090func (s *JourneySchedule) SetStartTime(v time.Time) *JourneySchedule {
30091	s.StartTime = &v
30092	return s
30093}
30094
30095// SetTimezone sets the Timezone field's value.
30096func (s *JourneySchedule) SetTimezone(v string) *JourneySchedule {
30097	s.Timezone = &v
30098	return s
30099}
30100
30101// Changes the status of a journey.
30102type JourneyStateRequest struct {
30103	_ struct{} `type:"structure"`
30104
30105	// The status of the journey. Currently, Supported values are ACTIVE, PAUSED,
30106	// and CANCELLED
30107	//
30108	// If you cancel a journey, Amazon Pinpoint continues to perform activities
30109	// that are currently in progress, until those activities are complete. Amazon
30110	// Pinpoint also continues to collect and aggregate analytics data for those
30111	// activities, until they are complete, and any activities that were complete
30112	// when you cancelled the journey.
30113	//
30114	// After you cancel a journey, you can't add, change, or remove any activities
30115	// from the journey. In addition, Amazon Pinpoint stops evaluating the journey
30116	// and doesn't perform any activities that haven't started.
30117	//
30118	// When the journey is paused, Amazon Pinpoint continues to perform activities
30119	// that are currently in progress, until those activities are complete. Endpoints
30120	// will stop entering journeys when the journey is paused and will resume entering
30121	// the journey after the journey is resumed. For wait activities, wait time
30122	// is paused when the journey is paused. Currently, PAUSED only supports journeys
30123	// with a segment refresh interval.
30124	State *string `type:"string" enum:"State"`
30125}
30126
30127// String returns the string representation.
30128//
30129// API parameter values that are decorated as "sensitive" in the API will not
30130// be included in the string output. The member name will be present, but the
30131// value will be replaced with "sensitive".
30132func (s JourneyStateRequest) String() string {
30133	return awsutil.Prettify(s)
30134}
30135
30136// GoString returns the string representation.
30137//
30138// API parameter values that are decorated as "sensitive" in the API will not
30139// be included in the string output. The member name will be present, but the
30140// value will be replaced with "sensitive".
30141func (s JourneyStateRequest) GoString() string {
30142	return s.String()
30143}
30144
30145// SetState sets the State field's value.
30146func (s *JourneyStateRequest) SetState(v string) *JourneyStateRequest {
30147	s.State = &v
30148	return s
30149}
30150
30151// Provides information about the status, configuration, and other settings
30152// for all the journeys that are associated with an application.
30153type JourneysResponse struct {
30154	_ struct{} `type:"structure"`
30155
30156	// An array of responses, one for each journey that's associated with the application.
30157	//
30158	// Item is a required field
30159	Item []*JourneyResponse `type:"list" required:"true"`
30160
30161	// The string to use in a subsequent request to get the next page of results
30162	// in a paginated response. This value is null if there are no additional pages.
30163	NextToken *string `type:"string"`
30164}
30165
30166// String returns the string representation.
30167//
30168// API parameter values that are decorated as "sensitive" in the API will not
30169// be included in the string output. The member name will be present, but the
30170// value will be replaced with "sensitive".
30171func (s JourneysResponse) String() string {
30172	return awsutil.Prettify(s)
30173}
30174
30175// GoString returns the string representation.
30176//
30177// API parameter values that are decorated as "sensitive" in the API will not
30178// be included in the string output. The member name will be present, but the
30179// value will be replaced with "sensitive".
30180func (s JourneysResponse) GoString() string {
30181	return s.String()
30182}
30183
30184// SetItem sets the Item field's value.
30185func (s *JourneysResponse) SetItem(v []*JourneyResponse) *JourneysResponse {
30186	s.Item = v
30187	return s
30188}
30189
30190// SetNextToken sets the NextToken field's value.
30191func (s *JourneysResponse) SetNextToken(v string) *JourneysResponse {
30192	s.NextToken = &v
30193	return s
30194}
30195
30196type ListJourneysInput struct {
30197	_ struct{} `type:"structure" nopayload:"true"`
30198
30199	// ApplicationId is a required field
30200	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
30201
30202	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
30203
30204	Token *string `location:"querystring" locationName:"token" type:"string"`
30205}
30206
30207// String returns the string representation.
30208//
30209// API parameter values that are decorated as "sensitive" in the API will not
30210// be included in the string output. The member name will be present, but the
30211// value will be replaced with "sensitive".
30212func (s ListJourneysInput) String() string {
30213	return awsutil.Prettify(s)
30214}
30215
30216// GoString returns the string representation.
30217//
30218// API parameter values that are decorated as "sensitive" in the API will not
30219// be included in the string output. The member name will be present, but the
30220// value will be replaced with "sensitive".
30221func (s ListJourneysInput) GoString() string {
30222	return s.String()
30223}
30224
30225// Validate inspects the fields of the type to determine if they are valid.
30226func (s *ListJourneysInput) Validate() error {
30227	invalidParams := request.ErrInvalidParams{Context: "ListJourneysInput"}
30228	if s.ApplicationId == nil {
30229		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
30230	}
30231	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
30232		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
30233	}
30234
30235	if invalidParams.Len() > 0 {
30236		return invalidParams
30237	}
30238	return nil
30239}
30240
30241// SetApplicationId sets the ApplicationId field's value.
30242func (s *ListJourneysInput) SetApplicationId(v string) *ListJourneysInput {
30243	s.ApplicationId = &v
30244	return s
30245}
30246
30247// SetPageSize sets the PageSize field's value.
30248func (s *ListJourneysInput) SetPageSize(v string) *ListJourneysInput {
30249	s.PageSize = &v
30250	return s
30251}
30252
30253// SetToken sets the Token field's value.
30254func (s *ListJourneysInput) SetToken(v string) *ListJourneysInput {
30255	s.Token = &v
30256	return s
30257}
30258
30259type ListJourneysOutput struct {
30260	_ struct{} `type:"structure" payload:"JourneysResponse"`
30261
30262	// Provides information about the status, configuration, and other settings
30263	// for all the journeys that are associated with an application.
30264	//
30265	// JourneysResponse is a required field
30266	JourneysResponse *JourneysResponse `type:"structure" required:"true"`
30267}
30268
30269// String returns the string representation.
30270//
30271// API parameter values that are decorated as "sensitive" in the API will not
30272// be included in the string output. The member name will be present, but the
30273// value will be replaced with "sensitive".
30274func (s ListJourneysOutput) String() string {
30275	return awsutil.Prettify(s)
30276}
30277
30278// GoString returns the string representation.
30279//
30280// API parameter values that are decorated as "sensitive" in the API will not
30281// be included in the string output. The member name will be present, but the
30282// value will be replaced with "sensitive".
30283func (s ListJourneysOutput) GoString() string {
30284	return s.String()
30285}
30286
30287// SetJourneysResponse sets the JourneysResponse field's value.
30288func (s *ListJourneysOutput) SetJourneysResponse(v *JourneysResponse) *ListJourneysOutput {
30289	s.JourneysResponse = v
30290	return s
30291}
30292
30293// Provides information about all the recommender model configurations that
30294// are associated with your Amazon Pinpoint account.
30295type ListRecommenderConfigurationsResponse struct {
30296	_ struct{} `type:"structure"`
30297
30298	// An array of responses, one for each recommender model configuration that's
30299	// associated with your Amazon Pinpoint account.
30300	//
30301	// Item is a required field
30302	Item []*RecommenderConfigurationResponse `type:"list" required:"true"`
30303
30304	// The string to use in a subsequent request to get the next page of results
30305	// in a paginated response. This value is null if there are no additional pages.
30306	NextToken *string `type:"string"`
30307}
30308
30309// String returns the string representation.
30310//
30311// API parameter values that are decorated as "sensitive" in the API will not
30312// be included in the string output. The member name will be present, but the
30313// value will be replaced with "sensitive".
30314func (s ListRecommenderConfigurationsResponse) String() string {
30315	return awsutil.Prettify(s)
30316}
30317
30318// GoString returns the string representation.
30319//
30320// API parameter values that are decorated as "sensitive" in the API will not
30321// be included in the string output. The member name will be present, but the
30322// value will be replaced with "sensitive".
30323func (s ListRecommenderConfigurationsResponse) GoString() string {
30324	return s.String()
30325}
30326
30327// SetItem sets the Item field's value.
30328func (s *ListRecommenderConfigurationsResponse) SetItem(v []*RecommenderConfigurationResponse) *ListRecommenderConfigurationsResponse {
30329	s.Item = v
30330	return s
30331}
30332
30333// SetNextToken sets the NextToken field's value.
30334func (s *ListRecommenderConfigurationsResponse) SetNextToken(v string) *ListRecommenderConfigurationsResponse {
30335	s.NextToken = &v
30336	return s
30337}
30338
30339type ListTagsForResourceInput struct {
30340	_ struct{} `type:"structure" nopayload:"true"`
30341
30342	// ResourceArn is a required field
30343	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
30344}
30345
30346// String returns the string representation.
30347//
30348// API parameter values that are decorated as "sensitive" in the API will not
30349// be included in the string output. The member name will be present, but the
30350// value will be replaced with "sensitive".
30351func (s ListTagsForResourceInput) String() string {
30352	return awsutil.Prettify(s)
30353}
30354
30355// GoString returns the string representation.
30356//
30357// API parameter values that are decorated as "sensitive" in the API will not
30358// be included in the string output. The member name will be present, but the
30359// value will be replaced with "sensitive".
30360func (s ListTagsForResourceInput) GoString() string {
30361	return s.String()
30362}
30363
30364// Validate inspects the fields of the type to determine if they are valid.
30365func (s *ListTagsForResourceInput) Validate() error {
30366	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
30367	if s.ResourceArn == nil {
30368		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
30369	}
30370	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
30371		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
30372	}
30373
30374	if invalidParams.Len() > 0 {
30375		return invalidParams
30376	}
30377	return nil
30378}
30379
30380// SetResourceArn sets the ResourceArn field's value.
30381func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
30382	s.ResourceArn = &v
30383	return s
30384}
30385
30386type ListTagsForResourceOutput struct {
30387	_ struct{} `type:"structure" payload:"TagsModel"`
30388
30389	// Specifies the tags (keys and values) for an application, campaign, message
30390	// template, or segment.
30391	//
30392	// TagsModel is a required field
30393	TagsModel *TagsModel `type:"structure" required:"true"`
30394}
30395
30396// String returns the string representation.
30397//
30398// API parameter values that are decorated as "sensitive" in the API will not
30399// be included in the string output. The member name will be present, but the
30400// value will be replaced with "sensitive".
30401func (s ListTagsForResourceOutput) String() string {
30402	return awsutil.Prettify(s)
30403}
30404
30405// GoString returns the string representation.
30406//
30407// API parameter values that are decorated as "sensitive" in the API will not
30408// be included in the string output. The member name will be present, but the
30409// value will be replaced with "sensitive".
30410func (s ListTagsForResourceOutput) GoString() string {
30411	return s.String()
30412}
30413
30414// SetTagsModel sets the TagsModel field's value.
30415func (s *ListTagsForResourceOutput) SetTagsModel(v *TagsModel) *ListTagsForResourceOutput {
30416	s.TagsModel = v
30417	return s
30418}
30419
30420type ListTemplateVersionsInput struct {
30421	_ struct{} `type:"structure" nopayload:"true"`
30422
30423	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
30424
30425	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
30426
30427	// TemplateName is a required field
30428	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
30429
30430	// TemplateType is a required field
30431	TemplateType *string `location:"uri" locationName:"template-type" type:"string" required:"true"`
30432}
30433
30434// String returns the string representation.
30435//
30436// API parameter values that are decorated as "sensitive" in the API will not
30437// be included in the string output. The member name will be present, but the
30438// value will be replaced with "sensitive".
30439func (s ListTemplateVersionsInput) String() string {
30440	return awsutil.Prettify(s)
30441}
30442
30443// GoString returns the string representation.
30444//
30445// API parameter values that are decorated as "sensitive" in the API will not
30446// be included in the string output. The member name will be present, but the
30447// value will be replaced with "sensitive".
30448func (s ListTemplateVersionsInput) GoString() string {
30449	return s.String()
30450}
30451
30452// Validate inspects the fields of the type to determine if they are valid.
30453func (s *ListTemplateVersionsInput) Validate() error {
30454	invalidParams := request.ErrInvalidParams{Context: "ListTemplateVersionsInput"}
30455	if s.TemplateName == nil {
30456		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
30457	}
30458	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
30459		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
30460	}
30461	if s.TemplateType == nil {
30462		invalidParams.Add(request.NewErrParamRequired("TemplateType"))
30463	}
30464	if s.TemplateType != nil && len(*s.TemplateType) < 1 {
30465		invalidParams.Add(request.NewErrParamMinLen("TemplateType", 1))
30466	}
30467
30468	if invalidParams.Len() > 0 {
30469		return invalidParams
30470	}
30471	return nil
30472}
30473
30474// SetNextToken sets the NextToken field's value.
30475func (s *ListTemplateVersionsInput) SetNextToken(v string) *ListTemplateVersionsInput {
30476	s.NextToken = &v
30477	return s
30478}
30479
30480// SetPageSize sets the PageSize field's value.
30481func (s *ListTemplateVersionsInput) SetPageSize(v string) *ListTemplateVersionsInput {
30482	s.PageSize = &v
30483	return s
30484}
30485
30486// SetTemplateName sets the TemplateName field's value.
30487func (s *ListTemplateVersionsInput) SetTemplateName(v string) *ListTemplateVersionsInput {
30488	s.TemplateName = &v
30489	return s
30490}
30491
30492// SetTemplateType sets the TemplateType field's value.
30493func (s *ListTemplateVersionsInput) SetTemplateType(v string) *ListTemplateVersionsInput {
30494	s.TemplateType = &v
30495	return s
30496}
30497
30498type ListTemplateVersionsOutput struct {
30499	_ struct{} `type:"structure" payload:"TemplateVersionsResponse"`
30500
30501	// Provides information about all the versions of a specific message template.
30502	//
30503	// TemplateVersionsResponse is a required field
30504	TemplateVersionsResponse *TemplateVersionsResponse `type:"structure" required:"true"`
30505}
30506
30507// String returns the string representation.
30508//
30509// API parameter values that are decorated as "sensitive" in the API will not
30510// be included in the string output. The member name will be present, but the
30511// value will be replaced with "sensitive".
30512func (s ListTemplateVersionsOutput) String() string {
30513	return awsutil.Prettify(s)
30514}
30515
30516// GoString returns the string representation.
30517//
30518// API parameter values that are decorated as "sensitive" in the API will not
30519// be included in the string output. The member name will be present, but the
30520// value will be replaced with "sensitive".
30521func (s ListTemplateVersionsOutput) GoString() string {
30522	return s.String()
30523}
30524
30525// SetTemplateVersionsResponse sets the TemplateVersionsResponse field's value.
30526func (s *ListTemplateVersionsOutput) SetTemplateVersionsResponse(v *TemplateVersionsResponse) *ListTemplateVersionsOutput {
30527	s.TemplateVersionsResponse = v
30528	return s
30529}
30530
30531type ListTemplatesInput struct {
30532	_ struct{} `type:"structure" nopayload:"true"`
30533
30534	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
30535
30536	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
30537
30538	Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
30539
30540	TemplateType *string `location:"querystring" locationName:"template-type" type:"string"`
30541}
30542
30543// String returns the string representation.
30544//
30545// API parameter values that are decorated as "sensitive" in the API will not
30546// be included in the string output. The member name will be present, but the
30547// value will be replaced with "sensitive".
30548func (s ListTemplatesInput) String() string {
30549	return awsutil.Prettify(s)
30550}
30551
30552// GoString returns the string representation.
30553//
30554// API parameter values that are decorated as "sensitive" in the API will not
30555// be included in the string output. The member name will be present, but the
30556// value will be replaced with "sensitive".
30557func (s ListTemplatesInput) GoString() string {
30558	return s.String()
30559}
30560
30561// SetNextToken sets the NextToken field's value.
30562func (s *ListTemplatesInput) SetNextToken(v string) *ListTemplatesInput {
30563	s.NextToken = &v
30564	return s
30565}
30566
30567// SetPageSize sets the PageSize field's value.
30568func (s *ListTemplatesInput) SetPageSize(v string) *ListTemplatesInput {
30569	s.PageSize = &v
30570	return s
30571}
30572
30573// SetPrefix sets the Prefix field's value.
30574func (s *ListTemplatesInput) SetPrefix(v string) *ListTemplatesInput {
30575	s.Prefix = &v
30576	return s
30577}
30578
30579// SetTemplateType sets the TemplateType field's value.
30580func (s *ListTemplatesInput) SetTemplateType(v string) *ListTemplatesInput {
30581	s.TemplateType = &v
30582	return s
30583}
30584
30585type ListTemplatesOutput struct {
30586	_ struct{} `type:"structure" payload:"TemplatesResponse"`
30587
30588	// Provides information about all the message templates that are associated
30589	// with your Amazon Pinpoint account.
30590	//
30591	// TemplatesResponse is a required field
30592	TemplatesResponse *TemplatesResponse `type:"structure" required:"true"`
30593}
30594
30595// String returns the string representation.
30596//
30597// API parameter values that are decorated as "sensitive" in the API will not
30598// be included in the string output. The member name will be present, but the
30599// value will be replaced with "sensitive".
30600func (s ListTemplatesOutput) String() string {
30601	return awsutil.Prettify(s)
30602}
30603
30604// GoString returns the string representation.
30605//
30606// API parameter values that are decorated as "sensitive" in the API will not
30607// be included in the string output. The member name will be present, but the
30608// value will be replaced with "sensitive".
30609func (s ListTemplatesOutput) GoString() string {
30610	return s.String()
30611}
30612
30613// SetTemplatesResponse sets the TemplatesResponse field's value.
30614func (s *ListTemplatesOutput) SetTemplatesResponse(v *TemplatesResponse) *ListTemplatesOutput {
30615	s.TemplatesResponse = v
30616	return s
30617}
30618
30619// Specifies the content and settings for a push notification that's sent to
30620// recipients of a campaign.
30621type Message struct {
30622	_ struct{} `type:"structure"`
30623
30624	// The action to occur if a recipient taps the push notification. Valid values
30625	// are:
30626	//
30627	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
30628	//    sent to the background. This is the default action.
30629	//
30630	//    * DEEP_LINK - Your app opens and displays a designated user interface
30631	//    in the app. This setting uses the deep-linking features of iOS and Android.
30632	//
30633	//    * URL - The default mobile browser on the recipient's device opens and
30634	//    loads the web page at a URL that you specify.
30635	Action *string `type:"string" enum:"Action"`
30636
30637	// The body of the notification message. The maximum number of characters is
30638	// 200.
30639	Body *string `type:"string"`
30640
30641	// The URL of the image to display as the push-notification icon, such as the
30642	// icon for the app.
30643	ImageIconUrl *string `type:"string"`
30644
30645	// The URL of the image to display as the small, push-notification icon, such
30646	// as a small version of the icon for the app.
30647	ImageSmallIconUrl *string `type:"string"`
30648
30649	// The URL of an image to display in the push notification.
30650	ImageUrl *string `type:"string"`
30651
30652	// The JSON payload to use for a silent push notification.
30653	JsonBody *string `type:"string"`
30654
30655	// The URL of the image or video to display in the push notification.
30656	MediaUrl *string `type:"string"`
30657
30658	// The raw, JSON-formatted string to use as the payload for the notification
30659	// message. If specified, this value overrides all other content for the message.
30660	RawContent *string `type:"string"`
30661
30662	// Specifies whether the notification is a silent push notification, which is
30663	// a push notification that doesn't display on a recipient's device. Silent
30664	// push notifications can be used for cases such as updating an app's configuration,
30665	// displaying messages in an in-app message center, or supporting phone home
30666	// functionality.
30667	SilentPush *bool `type:"boolean"`
30668
30669	// The number of seconds that the push-notification service should keep the
30670	// message, if the service is unable to deliver the notification the first time.
30671	// This value is converted to an expiration value when it's sent to a push-notification
30672	// service. If this value is 0, the service treats the notification as if it
30673	// expires immediately and the service doesn't store or try to deliver the notification
30674	// again.
30675	//
30676	// This value doesn't apply to messages that are sent through the Amazon Device
30677	// Messaging (ADM) service.
30678	TimeToLive *int64 `type:"integer"`
30679
30680	// The title to display above the notification message on a recipient's device.
30681	Title *string `type:"string"`
30682
30683	// The URL to open in a recipient's default mobile browser, if a recipient taps
30684	// the push notification and the value of the Action property is URL.
30685	Url *string `type:"string"`
30686}
30687
30688// String returns the string representation.
30689//
30690// API parameter values that are decorated as "sensitive" in the API will not
30691// be included in the string output. The member name will be present, but the
30692// value will be replaced with "sensitive".
30693func (s Message) String() string {
30694	return awsutil.Prettify(s)
30695}
30696
30697// GoString returns the string representation.
30698//
30699// API parameter values that are decorated as "sensitive" in the API will not
30700// be included in the string output. The member name will be present, but the
30701// value will be replaced with "sensitive".
30702func (s Message) GoString() string {
30703	return s.String()
30704}
30705
30706// SetAction sets the Action field's value.
30707func (s *Message) SetAction(v string) *Message {
30708	s.Action = &v
30709	return s
30710}
30711
30712// SetBody sets the Body field's value.
30713func (s *Message) SetBody(v string) *Message {
30714	s.Body = &v
30715	return s
30716}
30717
30718// SetImageIconUrl sets the ImageIconUrl field's value.
30719func (s *Message) SetImageIconUrl(v string) *Message {
30720	s.ImageIconUrl = &v
30721	return s
30722}
30723
30724// SetImageSmallIconUrl sets the ImageSmallIconUrl field's value.
30725func (s *Message) SetImageSmallIconUrl(v string) *Message {
30726	s.ImageSmallIconUrl = &v
30727	return s
30728}
30729
30730// SetImageUrl sets the ImageUrl field's value.
30731func (s *Message) SetImageUrl(v string) *Message {
30732	s.ImageUrl = &v
30733	return s
30734}
30735
30736// SetJsonBody sets the JsonBody field's value.
30737func (s *Message) SetJsonBody(v string) *Message {
30738	s.JsonBody = &v
30739	return s
30740}
30741
30742// SetMediaUrl sets the MediaUrl field's value.
30743func (s *Message) SetMediaUrl(v string) *Message {
30744	s.MediaUrl = &v
30745	return s
30746}
30747
30748// SetRawContent sets the RawContent field's value.
30749func (s *Message) SetRawContent(v string) *Message {
30750	s.RawContent = &v
30751	return s
30752}
30753
30754// SetSilentPush sets the SilentPush field's value.
30755func (s *Message) SetSilentPush(v bool) *Message {
30756	s.SilentPush = &v
30757	return s
30758}
30759
30760// SetTimeToLive sets the TimeToLive field's value.
30761func (s *Message) SetTimeToLive(v int64) *Message {
30762	s.TimeToLive = &v
30763	return s
30764}
30765
30766// SetTitle sets the Title field's value.
30767func (s *Message) SetTitle(v string) *Message {
30768	s.Title = &v
30769	return s
30770}
30771
30772// SetUrl sets the Url field's value.
30773func (s *Message) SetUrl(v string) *Message {
30774	s.Url = &v
30775	return s
30776}
30777
30778// Provides information about an API request or response.
30779type MessageBody struct {
30780	_ struct{} `type:"structure"`
30781
30782	// The message that's returned from the API.
30783	Message *string `type:"string"`
30784
30785	// The unique identifier for the request or response.
30786	RequestID *string `type:"string"`
30787}
30788
30789// String returns the string representation.
30790//
30791// API parameter values that are decorated as "sensitive" in the API will not
30792// be included in the string output. The member name will be present, but the
30793// value will be replaced with "sensitive".
30794func (s MessageBody) String() string {
30795	return awsutil.Prettify(s)
30796}
30797
30798// GoString returns the string representation.
30799//
30800// API parameter values that are decorated as "sensitive" in the API will not
30801// be included in the string output. The member name will be present, but the
30802// value will be replaced with "sensitive".
30803func (s MessageBody) GoString() string {
30804	return s.String()
30805}
30806
30807// SetMessage sets the Message field's value.
30808func (s *MessageBody) SetMessage(v string) *MessageBody {
30809	s.Message = &v
30810	return s
30811}
30812
30813// SetRequestID sets the RequestID field's value.
30814func (s *MessageBody) SetRequestID(v string) *MessageBody {
30815	s.RequestID = &v
30816	return s
30817}
30818
30819// Specifies the message configuration settings for a campaign.
30820type MessageConfiguration struct {
30821	_ struct{} `type:"structure"`
30822
30823	// The message that the campaign sends through the ADM (Amazon Device Messaging)
30824	// channel. If specified, this message overrides the default message.
30825	ADMMessage *Message `type:"structure"`
30826
30827	// The message that the campaign sends through the APNs (Apple Push Notification
30828	// service) channel. If specified, this message overrides the default message.
30829	APNSMessage *Message `type:"structure"`
30830
30831	// The message that the campaign sends through the Baidu (Baidu Cloud Push)
30832	// channel. If specified, this message overrides the default message.
30833	BaiduMessage *Message `type:"structure"`
30834
30835	// The message that the campaign sends through a custom channel, as specified
30836	// by the delivery configuration (CustomDeliveryConfiguration) settings for
30837	// the campaign. If specified, this message overrides the default message.
30838	CustomMessage *CampaignCustomMessage `type:"structure"`
30839
30840	// The default message that the campaign sends through all the channels that
30841	// are configured for the campaign.
30842	DefaultMessage *Message `type:"structure"`
30843
30844	// The message that the campaign sends through the email channel. If specified,
30845	// this message overrides the default message.
30846	EmailMessage *CampaignEmailMessage `type:"structure"`
30847
30848	// The message that the campaign sends through the GCM channel, which enables
30849	// Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging
30850	// (FCM), formerly Google Cloud Messaging (GCM), service. If specified, this
30851	// message overrides the default message.
30852	GCMMessage *Message `type:"structure"`
30853
30854	// The in-app message configuration.
30855	InAppMessage *CampaignInAppMessage `type:"structure"`
30856
30857	// The message that the campaign sends through the SMS channel. If specified,
30858	// this message overrides the default message.
30859	SMSMessage *CampaignSmsMessage `type:"structure"`
30860}
30861
30862// String returns the string representation.
30863//
30864// API parameter values that are decorated as "sensitive" in the API will not
30865// be included in the string output. The member name will be present, but the
30866// value will be replaced with "sensitive".
30867func (s MessageConfiguration) String() string {
30868	return awsutil.Prettify(s)
30869}
30870
30871// GoString returns the string representation.
30872//
30873// API parameter values that are decorated as "sensitive" in the API will not
30874// be included in the string output. The member name will be present, but the
30875// value will be replaced with "sensitive".
30876func (s MessageConfiguration) GoString() string {
30877	return s.String()
30878}
30879
30880// Validate inspects the fields of the type to determine if they are valid.
30881func (s *MessageConfiguration) Validate() error {
30882	invalidParams := request.ErrInvalidParams{Context: "MessageConfiguration"}
30883	if s.InAppMessage != nil {
30884		if err := s.InAppMessage.Validate(); err != nil {
30885			invalidParams.AddNested("InAppMessage", err.(request.ErrInvalidParams))
30886		}
30887	}
30888
30889	if invalidParams.Len() > 0 {
30890		return invalidParams
30891	}
30892	return nil
30893}
30894
30895// SetADMMessage sets the ADMMessage field's value.
30896func (s *MessageConfiguration) SetADMMessage(v *Message) *MessageConfiguration {
30897	s.ADMMessage = v
30898	return s
30899}
30900
30901// SetAPNSMessage sets the APNSMessage field's value.
30902func (s *MessageConfiguration) SetAPNSMessage(v *Message) *MessageConfiguration {
30903	s.APNSMessage = v
30904	return s
30905}
30906
30907// SetBaiduMessage sets the BaiduMessage field's value.
30908func (s *MessageConfiguration) SetBaiduMessage(v *Message) *MessageConfiguration {
30909	s.BaiduMessage = v
30910	return s
30911}
30912
30913// SetCustomMessage sets the CustomMessage field's value.
30914func (s *MessageConfiguration) SetCustomMessage(v *CampaignCustomMessage) *MessageConfiguration {
30915	s.CustomMessage = v
30916	return s
30917}
30918
30919// SetDefaultMessage sets the DefaultMessage field's value.
30920func (s *MessageConfiguration) SetDefaultMessage(v *Message) *MessageConfiguration {
30921	s.DefaultMessage = v
30922	return s
30923}
30924
30925// SetEmailMessage sets the EmailMessage field's value.
30926func (s *MessageConfiguration) SetEmailMessage(v *CampaignEmailMessage) *MessageConfiguration {
30927	s.EmailMessage = v
30928	return s
30929}
30930
30931// SetGCMMessage sets the GCMMessage field's value.
30932func (s *MessageConfiguration) SetGCMMessage(v *Message) *MessageConfiguration {
30933	s.GCMMessage = v
30934	return s
30935}
30936
30937// SetInAppMessage sets the InAppMessage field's value.
30938func (s *MessageConfiguration) SetInAppMessage(v *CampaignInAppMessage) *MessageConfiguration {
30939	s.InAppMessage = v
30940	return s
30941}
30942
30943// SetSMSMessage sets the SMSMessage field's value.
30944func (s *MessageConfiguration) SetSMSMessage(v *CampaignSmsMessage) *MessageConfiguration {
30945	s.SMSMessage = v
30946	return s
30947}
30948
30949// Specifies the configuration and other settings for a message.
30950type MessageRequest struct {
30951	_ struct{} `type:"structure"`
30952
30953	// A map of key-value pairs, where each key is an address and each value is
30954	// an AddressConfiguration (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-addressconfiguration)
30955	// object. An address can be a push notification token, a phone number, or an
30956	// email address. You can use an AddressConfiguration (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-addressconfiguration)
30957	// object to tailor the message for an address by specifying settings such as
30958	// content overrides and message variables.
30959	Addresses map[string]*AddressConfiguration `type:"map"`
30960
30961	// A map of custom attributes to attach to the message. For a push notification,
30962	// this payload is added to the data.pinpoint object. For an email or text message,
30963	// this payload is added to email/SMS delivery receipt event attributes.
30964	Context map[string]*string `type:"map"`
30965
30966	// A map of key-value pairs, where each key is an endpoint ID and each value
30967	// is an EndpointSendConfiguration (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-endpointsendconfiguration)
30968	// object. You can use an EndpointSendConfiguration (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-endpointsendconfiguration)
30969	// object to tailor the message for an endpoint by specifying settings such
30970	// as content overrides and message variables.
30971	Endpoints map[string]*EndpointSendConfiguration `type:"map"`
30972
30973	// The settings and content for the default message and any default messages
30974	// that you defined for specific channels.
30975	//
30976	// MessageConfiguration is a required field
30977	MessageConfiguration *DirectMessageConfiguration `type:"structure" required:"true"`
30978
30979	// The message template to use for the message.
30980	TemplateConfiguration *TemplateConfiguration `type:"structure"`
30981
30982	// The unique identifier for tracing the message. This identifier is visible
30983	// to message recipients.
30984	TraceId *string `type:"string"`
30985}
30986
30987// String returns the string representation.
30988//
30989// API parameter values that are decorated as "sensitive" in the API will not
30990// be included in the string output. The member name will be present, but the
30991// value will be replaced with "sensitive".
30992func (s MessageRequest) String() string {
30993	return awsutil.Prettify(s)
30994}
30995
30996// GoString returns the string representation.
30997//
30998// API parameter values that are decorated as "sensitive" in the API will not
30999// be included in the string output. The member name will be present, but the
31000// value will be replaced with "sensitive".
31001func (s MessageRequest) GoString() string {
31002	return s.String()
31003}
31004
31005// Validate inspects the fields of the type to determine if they are valid.
31006func (s *MessageRequest) Validate() error {
31007	invalidParams := request.ErrInvalidParams{Context: "MessageRequest"}
31008	if s.MessageConfiguration == nil {
31009		invalidParams.Add(request.NewErrParamRequired("MessageConfiguration"))
31010	}
31011
31012	if invalidParams.Len() > 0 {
31013		return invalidParams
31014	}
31015	return nil
31016}
31017
31018// SetAddresses sets the Addresses field's value.
31019func (s *MessageRequest) SetAddresses(v map[string]*AddressConfiguration) *MessageRequest {
31020	s.Addresses = v
31021	return s
31022}
31023
31024// SetContext sets the Context field's value.
31025func (s *MessageRequest) SetContext(v map[string]*string) *MessageRequest {
31026	s.Context = v
31027	return s
31028}
31029
31030// SetEndpoints sets the Endpoints field's value.
31031func (s *MessageRequest) SetEndpoints(v map[string]*EndpointSendConfiguration) *MessageRequest {
31032	s.Endpoints = v
31033	return s
31034}
31035
31036// SetMessageConfiguration sets the MessageConfiguration field's value.
31037func (s *MessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) *MessageRequest {
31038	s.MessageConfiguration = v
31039	return s
31040}
31041
31042// SetTemplateConfiguration sets the TemplateConfiguration field's value.
31043func (s *MessageRequest) SetTemplateConfiguration(v *TemplateConfiguration) *MessageRequest {
31044	s.TemplateConfiguration = v
31045	return s
31046}
31047
31048// SetTraceId sets the TraceId field's value.
31049func (s *MessageRequest) SetTraceId(v string) *MessageRequest {
31050	s.TraceId = &v
31051	return s
31052}
31053
31054// Provides information about the results of a request to send a message to
31055// an endpoint address.
31056type MessageResponse struct {
31057	_ struct{} `type:"structure"`
31058
31059	// The unique identifier for the application that was used to send the message.
31060	//
31061	// ApplicationId is a required field
31062	ApplicationId *string `type:"string" required:"true"`
31063
31064	// A map that contains a multipart response for each address that the message
31065	// was sent to. In the map, the endpoint ID is the key and the result is the
31066	// value.
31067	EndpointResult map[string]*EndpointMessageResult `type:"map"`
31068
31069	// The identifier for the original request that the message was delivered for.
31070	RequestId *string `type:"string"`
31071
31072	// A map that contains a multipart response for each address (email address,
31073	// phone number, or push notification token) that the message was sent to. In
31074	// the map, the address is the key and the result is the value.
31075	Result map[string]*MessageResult `type:"map"`
31076}
31077
31078// String returns the string representation.
31079//
31080// API parameter values that are decorated as "sensitive" in the API will not
31081// be included in the string output. The member name will be present, but the
31082// value will be replaced with "sensitive".
31083func (s MessageResponse) String() string {
31084	return awsutil.Prettify(s)
31085}
31086
31087// GoString returns the string representation.
31088//
31089// API parameter values that are decorated as "sensitive" in the API will not
31090// be included in the string output. The member name will be present, but the
31091// value will be replaced with "sensitive".
31092func (s MessageResponse) GoString() string {
31093	return s.String()
31094}
31095
31096// SetApplicationId sets the ApplicationId field's value.
31097func (s *MessageResponse) SetApplicationId(v string) *MessageResponse {
31098	s.ApplicationId = &v
31099	return s
31100}
31101
31102// SetEndpointResult sets the EndpointResult field's value.
31103func (s *MessageResponse) SetEndpointResult(v map[string]*EndpointMessageResult) *MessageResponse {
31104	s.EndpointResult = v
31105	return s
31106}
31107
31108// SetRequestId sets the RequestId field's value.
31109func (s *MessageResponse) SetRequestId(v string) *MessageResponse {
31110	s.RequestId = &v
31111	return s
31112}
31113
31114// SetResult sets the Result field's value.
31115func (s *MessageResponse) SetResult(v map[string]*MessageResult) *MessageResponse {
31116	s.Result = v
31117	return s
31118}
31119
31120// Provides information about the results of sending a message directly to an
31121// endpoint address.
31122type MessageResult struct {
31123	_ struct{} `type:"structure"`
31124
31125	// The delivery status of the message. Possible values are:
31126	//
31127	//    * DUPLICATE - The endpoint address is a duplicate of another endpoint
31128	//    address. Amazon Pinpoint won't attempt to send the message again.
31129	//
31130	//    * OPT_OUT - The user who's associated with the endpoint address has opted
31131	//    out of receiving messages from you. Amazon Pinpoint won't attempt to send
31132	//    the message again.
31133	//
31134	//    * PERMANENT_FAILURE - An error occurred when delivering the message to
31135	//    the endpoint address. Amazon Pinpoint won't attempt to send the message
31136	//    again.
31137	//
31138	//    * SUCCESSFUL - The message was successfully delivered to the endpoint
31139	//    address.
31140	//
31141	//    * TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't
31142	//    attempt to send the message again.
31143	//
31144	//    * THROTTLED - Amazon Pinpoint throttled the operation to send the message
31145	//    to the endpoint address.
31146	//
31147	//    * TIMEOUT - The message couldn't be sent within the timeout period.
31148	//
31149	//    * UNKNOWN_FAILURE - An unknown error occurred.
31150	//
31151	// DeliveryStatus is a required field
31152	DeliveryStatus *string `type:"string" required:"true" enum:"DeliveryStatus"`
31153
31154	// The unique identifier for the message that was sent.
31155	MessageId *string `type:"string"`
31156
31157	// The downstream service status code for delivering the message.
31158	//
31159	// StatusCode is a required field
31160	StatusCode *int64 `type:"integer" required:"true"`
31161
31162	// The status message for delivering the message.
31163	StatusMessage *string `type:"string"`
31164
31165	// For push notifications that are sent through the GCM channel, specifies whether
31166	// the endpoint's device registration token was updated as part of delivering
31167	// the message.
31168	UpdatedToken *string `type:"string"`
31169}
31170
31171// String returns the string representation.
31172//
31173// API parameter values that are decorated as "sensitive" in the API will not
31174// be included in the string output. The member name will be present, but the
31175// value will be replaced with "sensitive".
31176func (s MessageResult) String() string {
31177	return awsutil.Prettify(s)
31178}
31179
31180// GoString returns the string representation.
31181//
31182// API parameter values that are decorated as "sensitive" in the API will not
31183// be included in the string output. The member name will be present, but the
31184// value will be replaced with "sensitive".
31185func (s MessageResult) GoString() string {
31186	return s.String()
31187}
31188
31189// SetDeliveryStatus sets the DeliveryStatus field's value.
31190func (s *MessageResult) SetDeliveryStatus(v string) *MessageResult {
31191	s.DeliveryStatus = &v
31192	return s
31193}
31194
31195// SetMessageId sets the MessageId field's value.
31196func (s *MessageResult) SetMessageId(v string) *MessageResult {
31197	s.MessageId = &v
31198	return s
31199}
31200
31201// SetStatusCode sets the StatusCode field's value.
31202func (s *MessageResult) SetStatusCode(v int64) *MessageResult {
31203	s.StatusCode = &v
31204	return s
31205}
31206
31207// SetStatusMessage sets the StatusMessage field's value.
31208func (s *MessageResult) SetStatusMessage(v string) *MessageResult {
31209	s.StatusMessage = &v
31210	return s
31211}
31212
31213// SetUpdatedToken sets the UpdatedToken field's value.
31214func (s *MessageResult) SetUpdatedToken(v string) *MessageResult {
31215	s.UpdatedToken = &v
31216	return s
31217}
31218
31219// Provides information about an API request or response.
31220type MethodNotAllowedException struct {
31221	_            struct{}                  `type:"structure"`
31222	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
31223
31224	Message_ *string `locationName:"Message" type:"string"`
31225
31226	RequestID_ *string `locationName:"RequestID" type:"string"`
31227}
31228
31229// String returns the string representation.
31230//
31231// API parameter values that are decorated as "sensitive" in the API will not
31232// be included in the string output. The member name will be present, but the
31233// value will be replaced with "sensitive".
31234func (s MethodNotAllowedException) String() string {
31235	return awsutil.Prettify(s)
31236}
31237
31238// GoString returns the string representation.
31239//
31240// API parameter values that are decorated as "sensitive" in the API will not
31241// be included in the string output. The member name will be present, but the
31242// value will be replaced with "sensitive".
31243func (s MethodNotAllowedException) GoString() string {
31244	return s.String()
31245}
31246
31247func newErrorMethodNotAllowedException(v protocol.ResponseMetadata) error {
31248	return &MethodNotAllowedException{
31249		RespMetadata: v,
31250	}
31251}
31252
31253// Code returns the exception type name.
31254func (s *MethodNotAllowedException) Code() string {
31255	return "MethodNotAllowedException"
31256}
31257
31258// Message returns the exception's message.
31259func (s *MethodNotAllowedException) Message() string {
31260	if s.Message_ != nil {
31261		return *s.Message_
31262	}
31263	return ""
31264}
31265
31266// OrigErr always returns nil, satisfies awserr.Error interface.
31267func (s *MethodNotAllowedException) OrigErr() error {
31268	return nil
31269}
31270
31271func (s *MethodNotAllowedException) Error() string {
31272	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
31273}
31274
31275// Status code returns the HTTP status code for the request's response error.
31276func (s *MethodNotAllowedException) StatusCode() int {
31277	return s.RespMetadata.StatusCode
31278}
31279
31280// RequestID returns the service's response RequestID for request.
31281func (s *MethodNotAllowedException) RequestID() string {
31282	return s.RespMetadata.RequestID
31283}
31284
31285// Specifies metric-based criteria for including or excluding endpoints from
31286// a segment. These criteria derive from custom metrics that you define for
31287// endpoints.
31288type MetricDimension struct {
31289	_ struct{} `type:"structure"`
31290
31291	// The operator to use when comparing metric values. Valid values are: GREATER_THAN,
31292	// LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, and EQUAL.
31293	//
31294	// ComparisonOperator is a required field
31295	ComparisonOperator *string `type:"string" required:"true"`
31296
31297	// The value to compare.
31298	//
31299	// Value is a required field
31300	Value *float64 `type:"double" required:"true"`
31301}
31302
31303// String returns the string representation.
31304//
31305// API parameter values that are decorated as "sensitive" in the API will not
31306// be included in the string output. The member name will be present, but the
31307// value will be replaced with "sensitive".
31308func (s MetricDimension) String() string {
31309	return awsutil.Prettify(s)
31310}
31311
31312// GoString returns the string representation.
31313//
31314// API parameter values that are decorated as "sensitive" in the API will not
31315// be included in the string output. The member name will be present, but the
31316// value will be replaced with "sensitive".
31317func (s MetricDimension) GoString() string {
31318	return s.String()
31319}
31320
31321// Validate inspects the fields of the type to determine if they are valid.
31322func (s *MetricDimension) Validate() error {
31323	invalidParams := request.ErrInvalidParams{Context: "MetricDimension"}
31324	if s.ComparisonOperator == nil {
31325		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
31326	}
31327	if s.Value == nil {
31328		invalidParams.Add(request.NewErrParamRequired("Value"))
31329	}
31330
31331	if invalidParams.Len() > 0 {
31332		return invalidParams
31333	}
31334	return nil
31335}
31336
31337// SetComparisonOperator sets the ComparisonOperator field's value.
31338func (s *MetricDimension) SetComparisonOperator(v string) *MetricDimension {
31339	s.ComparisonOperator = &v
31340	return s
31341}
31342
31343// SetValue sets the Value field's value.
31344func (s *MetricDimension) SetValue(v float64) *MetricDimension {
31345	s.Value = &v
31346	return s
31347}
31348
31349// Specifies a condition to evaluate for an activity path in a journey.
31350type MultiConditionalBranch struct {
31351	_ struct{} `type:"structure"`
31352
31353	// The condition to evaluate for the activity path.
31354	Condition *SimpleCondition `type:"structure"`
31355
31356	// The unique identifier for the next activity to perform, after completing
31357	// the activity for the path.
31358	NextActivity *string `type:"string"`
31359}
31360
31361// String returns the string representation.
31362//
31363// API parameter values that are decorated as "sensitive" in the API will not
31364// be included in the string output. The member name will be present, but the
31365// value will be replaced with "sensitive".
31366func (s MultiConditionalBranch) String() string {
31367	return awsutil.Prettify(s)
31368}
31369
31370// GoString returns the string representation.
31371//
31372// API parameter values that are decorated as "sensitive" in the API will not
31373// be included in the string output. The member name will be present, but the
31374// value will be replaced with "sensitive".
31375func (s MultiConditionalBranch) GoString() string {
31376	return s.String()
31377}
31378
31379// Validate inspects the fields of the type to determine if they are valid.
31380func (s *MultiConditionalBranch) Validate() error {
31381	invalidParams := request.ErrInvalidParams{Context: "MultiConditionalBranch"}
31382	if s.Condition != nil {
31383		if err := s.Condition.Validate(); err != nil {
31384			invalidParams.AddNested("Condition", err.(request.ErrInvalidParams))
31385		}
31386	}
31387
31388	if invalidParams.Len() > 0 {
31389		return invalidParams
31390	}
31391	return nil
31392}
31393
31394// SetCondition sets the Condition field's value.
31395func (s *MultiConditionalBranch) SetCondition(v *SimpleCondition) *MultiConditionalBranch {
31396	s.Condition = v
31397	return s
31398}
31399
31400// SetNextActivity sets the NextActivity field's value.
31401func (s *MultiConditionalBranch) SetNextActivity(v string) *MultiConditionalBranch {
31402	s.NextActivity = &v
31403	return s
31404}
31405
31406// Specifies the settings for a multivariate split activity in a journey. This
31407// type of activity sends participants down one of as many as five paths (including
31408// a default Else path) in a journey, based on conditions that you specify.
31409//
31410// To create multivariate split activities that send participants down different
31411// paths based on push notification events (such as Open or Received events),
31412// your mobile app has to specify the User ID and Endpoint ID values. For more
31413// information, see Integrating Amazon Pinpoint with your application (https://docs.aws.amazon.com/pinpoint/latest/developerguide/integrate.html)
31414// in the Amazon Pinpoint Developer Guide.
31415type MultiConditionalSplitActivity struct {
31416	_ struct{} `type:"structure"`
31417
31418	// The paths for the activity, including the conditions for entering each path
31419	// and the activity to perform for each path.
31420	Branches []*MultiConditionalBranch `type:"list"`
31421
31422	// The unique identifier for the activity to perform for participants who don't
31423	// meet any of the conditions specified for other paths in the activity.
31424	DefaultActivity *string `type:"string"`
31425
31426	// The amount of time to wait or the date and time when Amazon Pinpoint determines
31427	// whether the conditions are met.
31428	EvaluationWaitTime *WaitTime `type:"structure"`
31429}
31430
31431// String returns the string representation.
31432//
31433// API parameter values that are decorated as "sensitive" in the API will not
31434// be included in the string output. The member name will be present, but the
31435// value will be replaced with "sensitive".
31436func (s MultiConditionalSplitActivity) String() string {
31437	return awsutil.Prettify(s)
31438}
31439
31440// GoString returns the string representation.
31441//
31442// API parameter values that are decorated as "sensitive" in the API will not
31443// be included in the string output. The member name will be present, but the
31444// value will be replaced with "sensitive".
31445func (s MultiConditionalSplitActivity) GoString() string {
31446	return s.String()
31447}
31448
31449// Validate inspects the fields of the type to determine if they are valid.
31450func (s *MultiConditionalSplitActivity) Validate() error {
31451	invalidParams := request.ErrInvalidParams{Context: "MultiConditionalSplitActivity"}
31452	if s.Branches != nil {
31453		for i, v := range s.Branches {
31454			if v == nil {
31455				continue
31456			}
31457			if err := v.Validate(); err != nil {
31458				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Branches", i), err.(request.ErrInvalidParams))
31459			}
31460		}
31461	}
31462
31463	if invalidParams.Len() > 0 {
31464		return invalidParams
31465	}
31466	return nil
31467}
31468
31469// SetBranches sets the Branches field's value.
31470func (s *MultiConditionalSplitActivity) SetBranches(v []*MultiConditionalBranch) *MultiConditionalSplitActivity {
31471	s.Branches = v
31472	return s
31473}
31474
31475// SetDefaultActivity sets the DefaultActivity field's value.
31476func (s *MultiConditionalSplitActivity) SetDefaultActivity(v string) *MultiConditionalSplitActivity {
31477	s.DefaultActivity = &v
31478	return s
31479}
31480
31481// SetEvaluationWaitTime sets the EvaluationWaitTime field's value.
31482func (s *MultiConditionalSplitActivity) SetEvaluationWaitTime(v *WaitTime) *MultiConditionalSplitActivity {
31483	s.EvaluationWaitTime = v
31484	return s
31485}
31486
31487// Provides information about an API request or response.
31488type NotFoundException struct {
31489	_            struct{}                  `type:"structure"`
31490	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
31491
31492	Message_ *string `locationName:"Message" type:"string"`
31493
31494	RequestID_ *string `locationName:"RequestID" type:"string"`
31495}
31496
31497// String returns the string representation.
31498//
31499// API parameter values that are decorated as "sensitive" in the API will not
31500// be included in the string output. The member name will be present, but the
31501// value will be replaced with "sensitive".
31502func (s NotFoundException) String() string {
31503	return awsutil.Prettify(s)
31504}
31505
31506// GoString returns the string representation.
31507//
31508// API parameter values that are decorated as "sensitive" in the API will not
31509// be included in the string output. The member name will be present, but the
31510// value will be replaced with "sensitive".
31511func (s NotFoundException) GoString() string {
31512	return s.String()
31513}
31514
31515func newErrorNotFoundException(v protocol.ResponseMetadata) error {
31516	return &NotFoundException{
31517		RespMetadata: v,
31518	}
31519}
31520
31521// Code returns the exception type name.
31522func (s *NotFoundException) Code() string {
31523	return "NotFoundException"
31524}
31525
31526// Message returns the exception's message.
31527func (s *NotFoundException) Message() string {
31528	if s.Message_ != nil {
31529		return *s.Message_
31530	}
31531	return ""
31532}
31533
31534// OrigErr always returns nil, satisfies awserr.Error interface.
31535func (s *NotFoundException) OrigErr() error {
31536	return nil
31537}
31538
31539func (s *NotFoundException) Error() string {
31540	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
31541}
31542
31543// Status code returns the HTTP status code for the request's response error.
31544func (s *NotFoundException) StatusCode() int {
31545	return s.RespMetadata.StatusCode
31546}
31547
31548// RequestID returns the service's response RequestID for request.
31549func (s *NotFoundException) RequestID() string {
31550	return s.RespMetadata.RequestID
31551}
31552
31553// Specifies a phone number to validate and retrieve information about.
31554type NumberValidateRequest struct {
31555	_ struct{} `type:"structure"`
31556
31557	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
31558	// region where the phone number was originally registered.
31559	IsoCountryCode *string `type:"string"`
31560
31561	// The phone number to retrieve information about. The phone number that you
31562	// provide should include a valid numeric country code. Otherwise, the operation
31563	// might result in an error.
31564	PhoneNumber *string `type:"string"`
31565}
31566
31567// String returns the string representation.
31568//
31569// API parameter values that are decorated as "sensitive" in the API will not
31570// be included in the string output. The member name will be present, but the
31571// value will be replaced with "sensitive".
31572func (s NumberValidateRequest) String() string {
31573	return awsutil.Prettify(s)
31574}
31575
31576// GoString returns the string representation.
31577//
31578// API parameter values that are decorated as "sensitive" in the API will not
31579// be included in the string output. The member name will be present, but the
31580// value will be replaced with "sensitive".
31581func (s NumberValidateRequest) GoString() string {
31582	return s.String()
31583}
31584
31585// SetIsoCountryCode sets the IsoCountryCode field's value.
31586func (s *NumberValidateRequest) SetIsoCountryCode(v string) *NumberValidateRequest {
31587	s.IsoCountryCode = &v
31588	return s
31589}
31590
31591// SetPhoneNumber sets the PhoneNumber field's value.
31592func (s *NumberValidateRequest) SetPhoneNumber(v string) *NumberValidateRequest {
31593	s.PhoneNumber = &v
31594	return s
31595}
31596
31597// Provides information about a phone number.
31598type NumberValidateResponse struct {
31599	_ struct{} `type:"structure"`
31600
31601	// The carrier or service provider that the phone number is currently registered
31602	// with. In some countries and regions, this value may be the carrier or service
31603	// provider that the phone number was originally registered with.
31604	Carrier *string `type:"string"`
31605
31606	// The name of the city where the phone number was originally registered.
31607	City *string `type:"string"`
31608
31609	// The cleansed phone number, in E.164 format, for the location where the phone
31610	// number was originally registered.
31611	CleansedPhoneNumberE164 *string `type:"string"`
31612
31613	// The cleansed phone number, in the format for the location where the phone
31614	// number was originally registered.
31615	CleansedPhoneNumberNational *string `type:"string"`
31616
31617	// The name of the country or region where the phone number was originally registered.
31618	Country *string `type:"string"`
31619
31620	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
31621	// region where the phone number was originally registered.
31622	CountryCodeIso2 *string `type:"string"`
31623
31624	// The numeric code for the country or region where the phone number was originally
31625	// registered.
31626	CountryCodeNumeric *string `type:"string"`
31627
31628	// The name of the county where the phone number was originally registered.
31629	County *string `type:"string"`
31630
31631	// The two-character code, in ISO 3166-1 alpha-2 format, that was sent in the
31632	// request body.
31633	OriginalCountryCodeIso2 *string `type:"string"`
31634
31635	// The phone number that was sent in the request body.
31636	OriginalPhoneNumber *string `type:"string"`
31637
31638	// The description of the phone type. Valid values are: MOBILE, LANDLINE, VOIP,
31639	// INVALID, PREPAID, and OTHER.
31640	PhoneType *string `type:"string"`
31641
31642	// The phone type, represented by an integer. Valid values are: 0 (mobile),
31643	// 1 (landline), 2 (VoIP), 3 (invalid), 4 (other), and 5 (prepaid).
31644	PhoneTypeCode *int64 `type:"integer"`
31645
31646	// The time zone for the location where the phone number was originally registered.
31647	Timezone *string `type:"string"`
31648
31649	// The postal or ZIP code for the location where the phone number was originally
31650	// registered.
31651	ZipCode *string `type:"string"`
31652}
31653
31654// String returns the string representation.
31655//
31656// API parameter values that are decorated as "sensitive" in the API will not
31657// be included in the string output. The member name will be present, but the
31658// value will be replaced with "sensitive".
31659func (s NumberValidateResponse) String() string {
31660	return awsutil.Prettify(s)
31661}
31662
31663// GoString returns the string representation.
31664//
31665// API parameter values that are decorated as "sensitive" in the API will not
31666// be included in the string output. The member name will be present, but the
31667// value will be replaced with "sensitive".
31668func (s NumberValidateResponse) GoString() string {
31669	return s.String()
31670}
31671
31672// SetCarrier sets the Carrier field's value.
31673func (s *NumberValidateResponse) SetCarrier(v string) *NumberValidateResponse {
31674	s.Carrier = &v
31675	return s
31676}
31677
31678// SetCity sets the City field's value.
31679func (s *NumberValidateResponse) SetCity(v string) *NumberValidateResponse {
31680	s.City = &v
31681	return s
31682}
31683
31684// SetCleansedPhoneNumberE164 sets the CleansedPhoneNumberE164 field's value.
31685func (s *NumberValidateResponse) SetCleansedPhoneNumberE164(v string) *NumberValidateResponse {
31686	s.CleansedPhoneNumberE164 = &v
31687	return s
31688}
31689
31690// SetCleansedPhoneNumberNational sets the CleansedPhoneNumberNational field's value.
31691func (s *NumberValidateResponse) SetCleansedPhoneNumberNational(v string) *NumberValidateResponse {
31692	s.CleansedPhoneNumberNational = &v
31693	return s
31694}
31695
31696// SetCountry sets the Country field's value.
31697func (s *NumberValidateResponse) SetCountry(v string) *NumberValidateResponse {
31698	s.Country = &v
31699	return s
31700}
31701
31702// SetCountryCodeIso2 sets the CountryCodeIso2 field's value.
31703func (s *NumberValidateResponse) SetCountryCodeIso2(v string) *NumberValidateResponse {
31704	s.CountryCodeIso2 = &v
31705	return s
31706}
31707
31708// SetCountryCodeNumeric sets the CountryCodeNumeric field's value.
31709func (s *NumberValidateResponse) SetCountryCodeNumeric(v string) *NumberValidateResponse {
31710	s.CountryCodeNumeric = &v
31711	return s
31712}
31713
31714// SetCounty sets the County field's value.
31715func (s *NumberValidateResponse) SetCounty(v string) *NumberValidateResponse {
31716	s.County = &v
31717	return s
31718}
31719
31720// SetOriginalCountryCodeIso2 sets the OriginalCountryCodeIso2 field's value.
31721func (s *NumberValidateResponse) SetOriginalCountryCodeIso2(v string) *NumberValidateResponse {
31722	s.OriginalCountryCodeIso2 = &v
31723	return s
31724}
31725
31726// SetOriginalPhoneNumber sets the OriginalPhoneNumber field's value.
31727func (s *NumberValidateResponse) SetOriginalPhoneNumber(v string) *NumberValidateResponse {
31728	s.OriginalPhoneNumber = &v
31729	return s
31730}
31731
31732// SetPhoneType sets the PhoneType field's value.
31733func (s *NumberValidateResponse) SetPhoneType(v string) *NumberValidateResponse {
31734	s.PhoneType = &v
31735	return s
31736}
31737
31738// SetPhoneTypeCode sets the PhoneTypeCode field's value.
31739func (s *NumberValidateResponse) SetPhoneTypeCode(v int64) *NumberValidateResponse {
31740	s.PhoneTypeCode = &v
31741	return s
31742}
31743
31744// SetTimezone sets the Timezone field's value.
31745func (s *NumberValidateResponse) SetTimezone(v string) *NumberValidateResponse {
31746	s.Timezone = &v
31747	return s
31748}
31749
31750// SetZipCode sets the ZipCode field's value.
31751func (s *NumberValidateResponse) SetZipCode(v string) *NumberValidateResponse {
31752	s.ZipCode = &v
31753	return s
31754}
31755
31756// Override button configuration.
31757type OverrideButtonConfiguration struct {
31758	_ struct{} `type:"structure"`
31759
31760	// Action triggered by the button.
31761	//
31762	// ButtonAction is a required field
31763	ButtonAction *string `type:"string" required:"true" enum:"ButtonAction"`
31764
31765	// Button destination.
31766	Link *string `type:"string"`
31767}
31768
31769// String returns the string representation.
31770//
31771// API parameter values that are decorated as "sensitive" in the API will not
31772// be included in the string output. The member name will be present, but the
31773// value will be replaced with "sensitive".
31774func (s OverrideButtonConfiguration) String() string {
31775	return awsutil.Prettify(s)
31776}
31777
31778// GoString returns the string representation.
31779//
31780// API parameter values that are decorated as "sensitive" in the API will not
31781// be included in the string output. The member name will be present, but the
31782// value will be replaced with "sensitive".
31783func (s OverrideButtonConfiguration) GoString() string {
31784	return s.String()
31785}
31786
31787// Validate inspects the fields of the type to determine if they are valid.
31788func (s *OverrideButtonConfiguration) Validate() error {
31789	invalidParams := request.ErrInvalidParams{Context: "OverrideButtonConfiguration"}
31790	if s.ButtonAction == nil {
31791		invalidParams.Add(request.NewErrParamRequired("ButtonAction"))
31792	}
31793
31794	if invalidParams.Len() > 0 {
31795		return invalidParams
31796	}
31797	return nil
31798}
31799
31800// SetButtonAction sets the ButtonAction field's value.
31801func (s *OverrideButtonConfiguration) SetButtonAction(v string) *OverrideButtonConfiguration {
31802	s.ButtonAction = &v
31803	return s
31804}
31805
31806// SetLink sets the Link field's value.
31807func (s *OverrideButtonConfiguration) SetLink(v string) *OverrideButtonConfiguration {
31808	s.Link = &v
31809	return s
31810}
31811
31812// Provides information about an API request or response.
31813type PayloadTooLargeException struct {
31814	_            struct{}                  `type:"structure"`
31815	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
31816
31817	Message_ *string `locationName:"Message" type:"string"`
31818
31819	RequestID_ *string `locationName:"RequestID" type:"string"`
31820}
31821
31822// String returns the string representation.
31823//
31824// API parameter values that are decorated as "sensitive" in the API will not
31825// be included in the string output. The member name will be present, but the
31826// value will be replaced with "sensitive".
31827func (s PayloadTooLargeException) String() string {
31828	return awsutil.Prettify(s)
31829}
31830
31831// GoString returns the string representation.
31832//
31833// API parameter values that are decorated as "sensitive" in the API will not
31834// be included in the string output. The member name will be present, but the
31835// value will be replaced with "sensitive".
31836func (s PayloadTooLargeException) GoString() string {
31837	return s.String()
31838}
31839
31840func newErrorPayloadTooLargeException(v protocol.ResponseMetadata) error {
31841	return &PayloadTooLargeException{
31842		RespMetadata: v,
31843	}
31844}
31845
31846// Code returns the exception type name.
31847func (s *PayloadTooLargeException) Code() string {
31848	return "PayloadTooLargeException"
31849}
31850
31851// Message returns the exception's message.
31852func (s *PayloadTooLargeException) Message() string {
31853	if s.Message_ != nil {
31854		return *s.Message_
31855	}
31856	return ""
31857}
31858
31859// OrigErr always returns nil, satisfies awserr.Error interface.
31860func (s *PayloadTooLargeException) OrigErr() error {
31861	return nil
31862}
31863
31864func (s *PayloadTooLargeException) Error() string {
31865	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
31866}
31867
31868// Status code returns the HTTP status code for the request's response error.
31869func (s *PayloadTooLargeException) StatusCode() int {
31870	return s.RespMetadata.StatusCode
31871}
31872
31873// RequestID returns the service's response RequestID for request.
31874func (s *PayloadTooLargeException) RequestID() string {
31875	return s.RespMetadata.RequestID
31876}
31877
31878type PhoneNumberValidateInput struct {
31879	_ struct{} `type:"structure" payload:"NumberValidateRequest"`
31880
31881	// Specifies a phone number to validate and retrieve information about.
31882	//
31883	// NumberValidateRequest is a required field
31884	NumberValidateRequest *NumberValidateRequest `type:"structure" required:"true"`
31885}
31886
31887// String returns the string representation.
31888//
31889// API parameter values that are decorated as "sensitive" in the API will not
31890// be included in the string output. The member name will be present, but the
31891// value will be replaced with "sensitive".
31892func (s PhoneNumberValidateInput) String() string {
31893	return awsutil.Prettify(s)
31894}
31895
31896// GoString returns the string representation.
31897//
31898// API parameter values that are decorated as "sensitive" in the API will not
31899// be included in the string output. The member name will be present, but the
31900// value will be replaced with "sensitive".
31901func (s PhoneNumberValidateInput) GoString() string {
31902	return s.String()
31903}
31904
31905// Validate inspects the fields of the type to determine if they are valid.
31906func (s *PhoneNumberValidateInput) Validate() error {
31907	invalidParams := request.ErrInvalidParams{Context: "PhoneNumberValidateInput"}
31908	if s.NumberValidateRequest == nil {
31909		invalidParams.Add(request.NewErrParamRequired("NumberValidateRequest"))
31910	}
31911
31912	if invalidParams.Len() > 0 {
31913		return invalidParams
31914	}
31915	return nil
31916}
31917
31918// SetNumberValidateRequest sets the NumberValidateRequest field's value.
31919func (s *PhoneNumberValidateInput) SetNumberValidateRequest(v *NumberValidateRequest) *PhoneNumberValidateInput {
31920	s.NumberValidateRequest = v
31921	return s
31922}
31923
31924type PhoneNumberValidateOutput struct {
31925	_ struct{} `type:"structure" payload:"NumberValidateResponse"`
31926
31927	// Provides information about a phone number.
31928	//
31929	// NumberValidateResponse is a required field
31930	NumberValidateResponse *NumberValidateResponse `type:"structure" required:"true"`
31931}
31932
31933// String returns the string representation.
31934//
31935// API parameter values that are decorated as "sensitive" in the API will not
31936// be included in the string output. The member name will be present, but the
31937// value will be replaced with "sensitive".
31938func (s PhoneNumberValidateOutput) String() string {
31939	return awsutil.Prettify(s)
31940}
31941
31942// GoString returns the string representation.
31943//
31944// API parameter values that are decorated as "sensitive" in the API will not
31945// be included in the string output. The member name will be present, but the
31946// value will be replaced with "sensitive".
31947func (s PhoneNumberValidateOutput) GoString() string {
31948	return s.String()
31949}
31950
31951// SetNumberValidateResponse sets the NumberValidateResponse field's value.
31952func (s *PhoneNumberValidateOutput) SetNumberValidateResponse(v *NumberValidateResponse) *PhoneNumberValidateOutput {
31953	s.NumberValidateResponse = v
31954	return s
31955}
31956
31957// Specifies the properties and attributes of an endpoint that's associated
31958// with an event.
31959type PublicEndpoint struct {
31960	_ struct{} `type:"structure"`
31961
31962	// The unique identifier for the recipient, such as a device token, email address,
31963	// or mobile phone number.
31964	Address *string `type:"string"`
31965
31966	// One or more custom attributes that describe the endpoint by associating a
31967	// name with an array of values. You can use these attributes as filter criteria
31968	// when you create segments.
31969	Attributes map[string][]*string `type:"map"`
31970
31971	// The channel that's used when sending messages or push notifications to the
31972	// endpoint.
31973	ChannelType *string `type:"string" enum:"ChannelType"`
31974
31975	// The demographic information for the endpoint, such as the time zone and platform.
31976	Demographic *EndpointDemographic `type:"structure"`
31977
31978	// The date and time, in ISO 8601 format, when the endpoint was last updated.
31979	EffectiveDate *string `type:"string"`
31980
31981	// Specifies whether to send messages or push notifications to the endpoint.
31982	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
31983	// messages aren’t sent to the endpoint.
31984	//
31985	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
31986	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
31987	// this value to INACTIVE if you update another endpoint that has the same address
31988	// specified by the Address property.
31989	EndpointStatus *string `type:"string"`
31990
31991	// The geographic information for the endpoint.
31992	Location *EndpointLocation `type:"structure"`
31993
31994	// One or more custom metrics that your app reports to Amazon Pinpoint for the
31995	// endpoint.
31996	Metrics map[string]*float64 `type:"map"`
31997
31998	// Specifies whether the user who's associated with the endpoint has opted out
31999	// of receiving messages and push notifications from you. Possible values are:
32000	// ALL, the user has opted out and doesn't want to receive any messages or push
32001	// notifications; and, NONE, the user hasn't opted out and wants to receive
32002	// all messages and push notifications.
32003	OptOut *string `type:"string"`
32004
32005	// A unique identifier that's generated each time the endpoint is updated.
32006	RequestId *string `type:"string"`
32007
32008	// One or more custom user attributes that your app reports to Amazon Pinpoint
32009	// for the user who's associated with the endpoint.
32010	User *EndpointUser `type:"structure"`
32011}
32012
32013// String returns the string representation.
32014//
32015// API parameter values that are decorated as "sensitive" in the API will not
32016// be included in the string output. The member name will be present, but the
32017// value will be replaced with "sensitive".
32018func (s PublicEndpoint) String() string {
32019	return awsutil.Prettify(s)
32020}
32021
32022// GoString returns the string representation.
32023//
32024// API parameter values that are decorated as "sensitive" in the API will not
32025// be included in the string output. The member name will be present, but the
32026// value will be replaced with "sensitive".
32027func (s PublicEndpoint) GoString() string {
32028	return s.String()
32029}
32030
32031// SetAddress sets the Address field's value.
32032func (s *PublicEndpoint) SetAddress(v string) *PublicEndpoint {
32033	s.Address = &v
32034	return s
32035}
32036
32037// SetAttributes sets the Attributes field's value.
32038func (s *PublicEndpoint) SetAttributes(v map[string][]*string) *PublicEndpoint {
32039	s.Attributes = v
32040	return s
32041}
32042
32043// SetChannelType sets the ChannelType field's value.
32044func (s *PublicEndpoint) SetChannelType(v string) *PublicEndpoint {
32045	s.ChannelType = &v
32046	return s
32047}
32048
32049// SetDemographic sets the Demographic field's value.
32050func (s *PublicEndpoint) SetDemographic(v *EndpointDemographic) *PublicEndpoint {
32051	s.Demographic = v
32052	return s
32053}
32054
32055// SetEffectiveDate sets the EffectiveDate field's value.
32056func (s *PublicEndpoint) SetEffectiveDate(v string) *PublicEndpoint {
32057	s.EffectiveDate = &v
32058	return s
32059}
32060
32061// SetEndpointStatus sets the EndpointStatus field's value.
32062func (s *PublicEndpoint) SetEndpointStatus(v string) *PublicEndpoint {
32063	s.EndpointStatus = &v
32064	return s
32065}
32066
32067// SetLocation sets the Location field's value.
32068func (s *PublicEndpoint) SetLocation(v *EndpointLocation) *PublicEndpoint {
32069	s.Location = v
32070	return s
32071}
32072
32073// SetMetrics sets the Metrics field's value.
32074func (s *PublicEndpoint) SetMetrics(v map[string]*float64) *PublicEndpoint {
32075	s.Metrics = v
32076	return s
32077}
32078
32079// SetOptOut sets the OptOut field's value.
32080func (s *PublicEndpoint) SetOptOut(v string) *PublicEndpoint {
32081	s.OptOut = &v
32082	return s
32083}
32084
32085// SetRequestId sets the RequestId field's value.
32086func (s *PublicEndpoint) SetRequestId(v string) *PublicEndpoint {
32087	s.RequestId = &v
32088	return s
32089}
32090
32091// SetUser sets the User field's value.
32092func (s *PublicEndpoint) SetUser(v *EndpointUser) *PublicEndpoint {
32093	s.User = v
32094	return s
32095}
32096
32097// Specifies the settings for a push notification activity in a journey. This
32098// type of activity sends a push notification to participants.
32099type PushMessageActivity struct {
32100	_ struct{} `type:"structure"`
32101
32102	// Specifies the time to live (TTL) value for push notifications that are sent
32103	// to participants in a journey.
32104	MessageConfig *JourneyPushMessage `type:"structure"`
32105
32106	// The unique identifier for the next activity to perform, after the message
32107	// is sent.
32108	NextActivity *string `type:"string"`
32109
32110	// The name of the push notification template to use for the message. If specified,
32111	// this value must match the name of an existing message template.
32112	TemplateName *string `type:"string"`
32113
32114	// The unique identifier for the version of the push notification template to
32115	// use for the message. If specified, this value must match the identifier for
32116	// an existing template version. To retrieve a list of versions and version
32117	// identifiers for a template, use the Template Versions resource.
32118	//
32119	// If you don't specify a value for this property, Amazon Pinpoint uses the
32120	// active version of the template. The active version is typically the version
32121	// of a template that's been most recently reviewed and approved for use, depending
32122	// on your workflow. It isn't necessarily the latest version of a template.
32123	TemplateVersion *string `type:"string"`
32124}
32125
32126// String returns the string representation.
32127//
32128// API parameter values that are decorated as "sensitive" in the API will not
32129// be included in the string output. The member name will be present, but the
32130// value will be replaced with "sensitive".
32131func (s PushMessageActivity) String() string {
32132	return awsutil.Prettify(s)
32133}
32134
32135// GoString returns the string representation.
32136//
32137// API parameter values that are decorated as "sensitive" in the API will not
32138// be included in the string output. The member name will be present, but the
32139// value will be replaced with "sensitive".
32140func (s PushMessageActivity) GoString() string {
32141	return s.String()
32142}
32143
32144// SetMessageConfig sets the MessageConfig field's value.
32145func (s *PushMessageActivity) SetMessageConfig(v *JourneyPushMessage) *PushMessageActivity {
32146	s.MessageConfig = v
32147	return s
32148}
32149
32150// SetNextActivity sets the NextActivity field's value.
32151func (s *PushMessageActivity) SetNextActivity(v string) *PushMessageActivity {
32152	s.NextActivity = &v
32153	return s
32154}
32155
32156// SetTemplateName sets the TemplateName field's value.
32157func (s *PushMessageActivity) SetTemplateName(v string) *PushMessageActivity {
32158	s.TemplateName = &v
32159	return s
32160}
32161
32162// SetTemplateVersion sets the TemplateVersion field's value.
32163func (s *PushMessageActivity) SetTemplateVersion(v string) *PushMessageActivity {
32164	s.TemplateVersion = &v
32165	return s
32166}
32167
32168// Specifies the content and settings for a message template that can be used
32169// in messages that are sent through a push notification channel.
32170type PushNotificationTemplateRequest struct {
32171	_ struct{} `type:"structure"`
32172
32173	// The message template to use for the ADM (Amazon Device Messaging) channel.
32174	// This message template overrides the default template for push notification
32175	// channels (DefaultPushNotificationTemplate).
32176	ADM *AndroidPushNotificationTemplate `type:"structure"`
32177
32178	// The message template to use for the APNs (Apple Push Notification service)
32179	// channel. This message template overrides the default template for push notification
32180	// channels (DefaultPushNotificationTemplate).
32181	APNS *APNSPushNotificationTemplate `type:"structure"`
32182
32183	// The message template to use for the Baidu (Baidu Cloud Push) channel. This
32184	// message template overrides the default template for push notification channels
32185	// (DefaultPushNotificationTemplate).
32186	Baidu *AndroidPushNotificationTemplate `type:"structure"`
32187
32188	// The default message template to use for push notification channels.
32189	Default *DefaultPushNotificationTemplate `type:"structure"`
32190
32191	// A JSON object that specifies the default values to use for message variables
32192	// in the message template. This object is a set of key-value pairs. Each key
32193	// defines a message variable in the template. The corresponding value defines
32194	// the default value for that variable. When you create a message that's based
32195	// on the template, you can override these defaults with message-specific and
32196	// address-specific variables and values.
32197	DefaultSubstitutions *string `type:"string"`
32198
32199	// The message template to use for the GCM channel, which is used to send notifications
32200	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
32201	// (GCM), service. This message template overrides the default template for
32202	// push notification channels (DefaultPushNotificationTemplate).
32203	GCM *AndroidPushNotificationTemplate `type:"structure"`
32204
32205	// The unique identifier for the recommender model to use for the message template.
32206	// Amazon Pinpoint uses this value to determine how to retrieve and process
32207	// data from a recommender model when it sends messages that use the template,
32208	// if the template contains message variables for recommendation data.
32209	RecommenderId *string `type:"string"`
32210
32211	// A string-to-string map of key-value pairs that defines the tags to associate
32212	// with the message template. Each tag consists of a required tag key and an
32213	// associated tag value.
32214	Tags map[string]*string `locationName:"tags" type:"map"`
32215
32216	// A custom description of the message template.
32217	TemplateDescription *string `type:"string"`
32218}
32219
32220// String returns the string representation.
32221//
32222// API parameter values that are decorated as "sensitive" in the API will not
32223// be included in the string output. The member name will be present, but the
32224// value will be replaced with "sensitive".
32225func (s PushNotificationTemplateRequest) String() string {
32226	return awsutil.Prettify(s)
32227}
32228
32229// GoString returns the string representation.
32230//
32231// API parameter values that are decorated as "sensitive" in the API will not
32232// be included in the string output. The member name will be present, but the
32233// value will be replaced with "sensitive".
32234func (s PushNotificationTemplateRequest) GoString() string {
32235	return s.String()
32236}
32237
32238// SetADM sets the ADM field's value.
32239func (s *PushNotificationTemplateRequest) SetADM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
32240	s.ADM = v
32241	return s
32242}
32243
32244// SetAPNS sets the APNS field's value.
32245func (s *PushNotificationTemplateRequest) SetAPNS(v *APNSPushNotificationTemplate) *PushNotificationTemplateRequest {
32246	s.APNS = v
32247	return s
32248}
32249
32250// SetBaidu sets the Baidu field's value.
32251func (s *PushNotificationTemplateRequest) SetBaidu(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
32252	s.Baidu = v
32253	return s
32254}
32255
32256// SetDefault sets the Default field's value.
32257func (s *PushNotificationTemplateRequest) SetDefault(v *DefaultPushNotificationTemplate) *PushNotificationTemplateRequest {
32258	s.Default = v
32259	return s
32260}
32261
32262// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
32263func (s *PushNotificationTemplateRequest) SetDefaultSubstitutions(v string) *PushNotificationTemplateRequest {
32264	s.DefaultSubstitutions = &v
32265	return s
32266}
32267
32268// SetGCM sets the GCM field's value.
32269func (s *PushNotificationTemplateRequest) SetGCM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
32270	s.GCM = v
32271	return s
32272}
32273
32274// SetRecommenderId sets the RecommenderId field's value.
32275func (s *PushNotificationTemplateRequest) SetRecommenderId(v string) *PushNotificationTemplateRequest {
32276	s.RecommenderId = &v
32277	return s
32278}
32279
32280// SetTags sets the Tags field's value.
32281func (s *PushNotificationTemplateRequest) SetTags(v map[string]*string) *PushNotificationTemplateRequest {
32282	s.Tags = v
32283	return s
32284}
32285
32286// SetTemplateDescription sets the TemplateDescription field's value.
32287func (s *PushNotificationTemplateRequest) SetTemplateDescription(v string) *PushNotificationTemplateRequest {
32288	s.TemplateDescription = &v
32289	return s
32290}
32291
32292// Provides information about the content and settings for a message template
32293// that can be used in messages that are sent through a push notification channel.
32294type PushNotificationTemplateResponse struct {
32295	_ struct{} `type:"structure"`
32296
32297	// The message template that's used for the ADM (Amazon Device Messaging) channel.
32298	// This message template overrides the default template for push notification
32299	// channels (DefaultPushNotificationTemplate).
32300	ADM *AndroidPushNotificationTemplate `type:"structure"`
32301
32302	// The message template that's used for the APNs (Apple Push Notification service)
32303	// channel. This message template overrides the default template for push notification
32304	// channels (DefaultPushNotificationTemplate).
32305	APNS *APNSPushNotificationTemplate `type:"structure"`
32306
32307	// The Amazon Resource Name (ARN) of the message template.
32308	Arn *string `type:"string"`
32309
32310	// The message template that's used for the Baidu (Baidu Cloud Push) channel.
32311	// This message template overrides the default template for push notification
32312	// channels (DefaultPushNotificationTemplate).
32313	Baidu *AndroidPushNotificationTemplate `type:"structure"`
32314
32315	// The date, in ISO 8601 format, when the message template was created.
32316	//
32317	// CreationDate is a required field
32318	CreationDate *string `type:"string" required:"true"`
32319
32320	// The default message template that's used for push notification channels.
32321	Default *DefaultPushNotificationTemplate `type:"structure"`
32322
32323	// The JSON object that specifies the default values that are used for message
32324	// variables in the message template. This object is a set of key-value pairs.
32325	// Each key defines a message variable in the template. The corresponding value
32326	// defines the default value for that variable.
32327	DefaultSubstitutions *string `type:"string"`
32328
32329	// The message template that's used for the GCM channel, which is used to send
32330	// notifications through the Firebase Cloud Messaging (FCM), formerly Google
32331	// Cloud Messaging (GCM), service. This message template overrides the default
32332	// template for push notification channels (DefaultPushNotificationTemplate).
32333	GCM *AndroidPushNotificationTemplate `type:"structure"`
32334
32335	// The date, in ISO 8601 format, when the message template was last modified.
32336	//
32337	// LastModifiedDate is a required field
32338	LastModifiedDate *string `type:"string" required:"true"`
32339
32340	// The unique identifier for the recommender model that's used by the message
32341	// template.
32342	RecommenderId *string `type:"string"`
32343
32344	// A string-to-string map of key-value pairs that identifies the tags that are
32345	// associated with the message template. Each tag consists of a required tag
32346	// key and an associated tag value.
32347	Tags map[string]*string `locationName:"tags" type:"map"`
32348
32349	// The custom description of the message template.
32350	TemplateDescription *string `type:"string"`
32351
32352	// The name of the message template.
32353	//
32354	// TemplateName is a required field
32355	TemplateName *string `type:"string" required:"true"`
32356
32357	// The type of channel that the message template is designed for. For a push
32358	// notification template, this value is PUSH.
32359	//
32360	// TemplateType is a required field
32361	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
32362
32363	// The unique identifier, as an integer, for the active version of the message
32364	// template, or the version of the template that you specified by using the
32365	// version parameter in your request.
32366	Version *string `type:"string"`
32367}
32368
32369// String returns the string representation.
32370//
32371// API parameter values that are decorated as "sensitive" in the API will not
32372// be included in the string output. The member name will be present, but the
32373// value will be replaced with "sensitive".
32374func (s PushNotificationTemplateResponse) String() string {
32375	return awsutil.Prettify(s)
32376}
32377
32378// GoString returns the string representation.
32379//
32380// API parameter values that are decorated as "sensitive" in the API will not
32381// be included in the string output. The member name will be present, but the
32382// value will be replaced with "sensitive".
32383func (s PushNotificationTemplateResponse) GoString() string {
32384	return s.String()
32385}
32386
32387// SetADM sets the ADM field's value.
32388func (s *PushNotificationTemplateResponse) SetADM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
32389	s.ADM = v
32390	return s
32391}
32392
32393// SetAPNS sets the APNS field's value.
32394func (s *PushNotificationTemplateResponse) SetAPNS(v *APNSPushNotificationTemplate) *PushNotificationTemplateResponse {
32395	s.APNS = v
32396	return s
32397}
32398
32399// SetArn sets the Arn field's value.
32400func (s *PushNotificationTemplateResponse) SetArn(v string) *PushNotificationTemplateResponse {
32401	s.Arn = &v
32402	return s
32403}
32404
32405// SetBaidu sets the Baidu field's value.
32406func (s *PushNotificationTemplateResponse) SetBaidu(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
32407	s.Baidu = v
32408	return s
32409}
32410
32411// SetCreationDate sets the CreationDate field's value.
32412func (s *PushNotificationTemplateResponse) SetCreationDate(v string) *PushNotificationTemplateResponse {
32413	s.CreationDate = &v
32414	return s
32415}
32416
32417// SetDefault sets the Default field's value.
32418func (s *PushNotificationTemplateResponse) SetDefault(v *DefaultPushNotificationTemplate) *PushNotificationTemplateResponse {
32419	s.Default = v
32420	return s
32421}
32422
32423// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
32424func (s *PushNotificationTemplateResponse) SetDefaultSubstitutions(v string) *PushNotificationTemplateResponse {
32425	s.DefaultSubstitutions = &v
32426	return s
32427}
32428
32429// SetGCM sets the GCM field's value.
32430func (s *PushNotificationTemplateResponse) SetGCM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
32431	s.GCM = v
32432	return s
32433}
32434
32435// SetLastModifiedDate sets the LastModifiedDate field's value.
32436func (s *PushNotificationTemplateResponse) SetLastModifiedDate(v string) *PushNotificationTemplateResponse {
32437	s.LastModifiedDate = &v
32438	return s
32439}
32440
32441// SetRecommenderId sets the RecommenderId field's value.
32442func (s *PushNotificationTemplateResponse) SetRecommenderId(v string) *PushNotificationTemplateResponse {
32443	s.RecommenderId = &v
32444	return s
32445}
32446
32447// SetTags sets the Tags field's value.
32448func (s *PushNotificationTemplateResponse) SetTags(v map[string]*string) *PushNotificationTemplateResponse {
32449	s.Tags = v
32450	return s
32451}
32452
32453// SetTemplateDescription sets the TemplateDescription field's value.
32454func (s *PushNotificationTemplateResponse) SetTemplateDescription(v string) *PushNotificationTemplateResponse {
32455	s.TemplateDescription = &v
32456	return s
32457}
32458
32459// SetTemplateName sets the TemplateName field's value.
32460func (s *PushNotificationTemplateResponse) SetTemplateName(v string) *PushNotificationTemplateResponse {
32461	s.TemplateName = &v
32462	return s
32463}
32464
32465// SetTemplateType sets the TemplateType field's value.
32466func (s *PushNotificationTemplateResponse) SetTemplateType(v string) *PushNotificationTemplateResponse {
32467	s.TemplateType = &v
32468	return s
32469}
32470
32471// SetVersion sets the Version field's value.
32472func (s *PushNotificationTemplateResponse) SetVersion(v string) *PushNotificationTemplateResponse {
32473	s.Version = &v
32474	return s
32475}
32476
32477type PutEventStreamInput struct {
32478	_ struct{} `type:"structure" payload:"WriteEventStream"`
32479
32480	// ApplicationId is a required field
32481	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32482
32483	// Specifies the Amazon Resource Name (ARN) of an event stream to publish events
32484	// to and the AWS Identity and Access Management (IAM) role to use when publishing
32485	// those events.
32486	//
32487	// WriteEventStream is a required field
32488	WriteEventStream *WriteEventStream `type:"structure" required:"true"`
32489}
32490
32491// String returns the string representation.
32492//
32493// API parameter values that are decorated as "sensitive" in the API will not
32494// be included in the string output. The member name will be present, but the
32495// value will be replaced with "sensitive".
32496func (s PutEventStreamInput) String() string {
32497	return awsutil.Prettify(s)
32498}
32499
32500// GoString returns the string representation.
32501//
32502// API parameter values that are decorated as "sensitive" in the API will not
32503// be included in the string output. The member name will be present, but the
32504// value will be replaced with "sensitive".
32505func (s PutEventStreamInput) GoString() string {
32506	return s.String()
32507}
32508
32509// Validate inspects the fields of the type to determine if they are valid.
32510func (s *PutEventStreamInput) Validate() error {
32511	invalidParams := request.ErrInvalidParams{Context: "PutEventStreamInput"}
32512	if s.ApplicationId == nil {
32513		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32514	}
32515	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32516		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32517	}
32518	if s.WriteEventStream == nil {
32519		invalidParams.Add(request.NewErrParamRequired("WriteEventStream"))
32520	}
32521	if s.WriteEventStream != nil {
32522		if err := s.WriteEventStream.Validate(); err != nil {
32523			invalidParams.AddNested("WriteEventStream", err.(request.ErrInvalidParams))
32524		}
32525	}
32526
32527	if invalidParams.Len() > 0 {
32528		return invalidParams
32529	}
32530	return nil
32531}
32532
32533// SetApplicationId sets the ApplicationId field's value.
32534func (s *PutEventStreamInput) SetApplicationId(v string) *PutEventStreamInput {
32535	s.ApplicationId = &v
32536	return s
32537}
32538
32539// SetWriteEventStream sets the WriteEventStream field's value.
32540func (s *PutEventStreamInput) SetWriteEventStream(v *WriteEventStream) *PutEventStreamInput {
32541	s.WriteEventStream = v
32542	return s
32543}
32544
32545type PutEventStreamOutput struct {
32546	_ struct{} `type:"structure" payload:"EventStream"`
32547
32548	// Specifies settings for publishing event data to an Amazon Kinesis data stream
32549	// or an Amazon Kinesis Data Firehose delivery stream.
32550	//
32551	// EventStream is a required field
32552	EventStream *EventStream `type:"structure" required:"true"`
32553}
32554
32555// String returns the string representation.
32556//
32557// API parameter values that are decorated as "sensitive" in the API will not
32558// be included in the string output. The member name will be present, but the
32559// value will be replaced with "sensitive".
32560func (s PutEventStreamOutput) String() string {
32561	return awsutil.Prettify(s)
32562}
32563
32564// GoString returns the string representation.
32565//
32566// API parameter values that are decorated as "sensitive" in the API will not
32567// be included in the string output. The member name will be present, but the
32568// value will be replaced with "sensitive".
32569func (s PutEventStreamOutput) GoString() string {
32570	return s.String()
32571}
32572
32573// SetEventStream sets the EventStream field's value.
32574func (s *PutEventStreamOutput) SetEventStream(v *EventStream) *PutEventStreamOutput {
32575	s.EventStream = v
32576	return s
32577}
32578
32579type PutEventsInput struct {
32580	_ struct{} `type:"structure" payload:"EventsRequest"`
32581
32582	// ApplicationId is a required field
32583	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
32584
32585	// Specifies a batch of events to process.
32586	//
32587	// EventsRequest is a required field
32588	EventsRequest *EventsRequest `type:"structure" required:"true"`
32589}
32590
32591// String returns the string representation.
32592//
32593// API parameter values that are decorated as "sensitive" in the API will not
32594// be included in the string output. The member name will be present, but the
32595// value will be replaced with "sensitive".
32596func (s PutEventsInput) String() string {
32597	return awsutil.Prettify(s)
32598}
32599
32600// GoString returns the string representation.
32601//
32602// API parameter values that are decorated as "sensitive" in the API will not
32603// be included in the string output. The member name will be present, but the
32604// value will be replaced with "sensitive".
32605func (s PutEventsInput) GoString() string {
32606	return s.String()
32607}
32608
32609// Validate inspects the fields of the type to determine if they are valid.
32610func (s *PutEventsInput) Validate() error {
32611	invalidParams := request.ErrInvalidParams{Context: "PutEventsInput"}
32612	if s.ApplicationId == nil {
32613		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
32614	}
32615	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
32616		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
32617	}
32618	if s.EventsRequest == nil {
32619		invalidParams.Add(request.NewErrParamRequired("EventsRequest"))
32620	}
32621	if s.EventsRequest != nil {
32622		if err := s.EventsRequest.Validate(); err != nil {
32623			invalidParams.AddNested("EventsRequest", err.(request.ErrInvalidParams))
32624		}
32625	}
32626
32627	if invalidParams.Len() > 0 {
32628		return invalidParams
32629	}
32630	return nil
32631}
32632
32633// SetApplicationId sets the ApplicationId field's value.
32634func (s *PutEventsInput) SetApplicationId(v string) *PutEventsInput {
32635	s.ApplicationId = &v
32636	return s
32637}
32638
32639// SetEventsRequest sets the EventsRequest field's value.
32640func (s *PutEventsInput) SetEventsRequest(v *EventsRequest) *PutEventsInput {
32641	s.EventsRequest = v
32642	return s
32643}
32644
32645type PutEventsOutput struct {
32646	_ struct{} `type:"structure" payload:"EventsResponse"`
32647
32648	// Provides information about endpoints and the events that they're associated
32649	// with.
32650	//
32651	// EventsResponse is a required field
32652	EventsResponse *EventsResponse `type:"structure" required:"true"`
32653}
32654
32655// String returns the string representation.
32656//
32657// API parameter values that are decorated as "sensitive" in the API will not
32658// be included in the string output. The member name will be present, but the
32659// value will be replaced with "sensitive".
32660func (s PutEventsOutput) String() string {
32661	return awsutil.Prettify(s)
32662}
32663
32664// GoString returns the string representation.
32665//
32666// API parameter values that are decorated as "sensitive" in the API will not
32667// be included in the string output. The member name will be present, but the
32668// value will be replaced with "sensitive".
32669func (s PutEventsOutput) GoString() string {
32670	return s.String()
32671}
32672
32673// SetEventsResponse sets the EventsResponse field's value.
32674func (s *PutEventsOutput) SetEventsResponse(v *EventsResponse) *PutEventsOutput {
32675	s.EventsResponse = v
32676	return s
32677}
32678
32679// Specifies the start and end times that define a time range when messages
32680// aren't sent to endpoints.
32681type QuietTime struct {
32682	_ struct{} `type:"structure"`
32683
32684	// The specific time when quiet time ends. This value has to use 24-hour notation
32685	// and be in HH:MM format, where HH is the hour (with a leading zero, if applicable)
32686	// and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30
32687	// to represent 2:30 PM.
32688	End *string `type:"string"`
32689
32690	// The specific time when quiet time begins. This value has to use 24-hour notation
32691	// and be in HH:MM format, where HH is the hour (with a leading zero, if applicable)
32692	// and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30
32693	// to represent 2:30 PM.
32694	Start *string `type:"string"`
32695}
32696
32697// String returns the string representation.
32698//
32699// API parameter values that are decorated as "sensitive" in the API will not
32700// be included in the string output. The member name will be present, but the
32701// value will be replaced with "sensitive".
32702func (s QuietTime) String() string {
32703	return awsutil.Prettify(s)
32704}
32705
32706// GoString returns the string representation.
32707//
32708// API parameter values that are decorated as "sensitive" in the API will not
32709// be included in the string output. The member name will be present, but the
32710// value will be replaced with "sensitive".
32711func (s QuietTime) GoString() string {
32712	return s.String()
32713}
32714
32715// SetEnd sets the End field's value.
32716func (s *QuietTime) SetEnd(v string) *QuietTime {
32717	s.End = &v
32718	return s
32719}
32720
32721// SetStart sets the Start field's value.
32722func (s *QuietTime) SetStart(v string) *QuietTime {
32723	s.Start = &v
32724	return s
32725}
32726
32727// Specifies the settings for a random split activity in a journey. This type
32728// of activity randomly sends specified percentages of participants down one
32729// of as many as five paths in a journey, based on conditions that you specify.
32730type RandomSplitActivity struct {
32731	_ struct{} `type:"structure"`
32732
32733	// The paths for the activity, including the percentage of participants to enter
32734	// each path and the activity to perform for each path.
32735	Branches []*RandomSplitEntry `type:"list"`
32736}
32737
32738// String returns the string representation.
32739//
32740// API parameter values that are decorated as "sensitive" in the API will not
32741// be included in the string output. The member name will be present, but the
32742// value will be replaced with "sensitive".
32743func (s RandomSplitActivity) String() string {
32744	return awsutil.Prettify(s)
32745}
32746
32747// GoString returns the string representation.
32748//
32749// API parameter values that are decorated as "sensitive" in the API will not
32750// be included in the string output. The member name will be present, but the
32751// value will be replaced with "sensitive".
32752func (s RandomSplitActivity) GoString() string {
32753	return s.String()
32754}
32755
32756// SetBranches sets the Branches field's value.
32757func (s *RandomSplitActivity) SetBranches(v []*RandomSplitEntry) *RandomSplitActivity {
32758	s.Branches = v
32759	return s
32760}
32761
32762// Specifies the settings for a path in a random split activity in a journey.
32763type RandomSplitEntry struct {
32764	_ struct{} `type:"structure"`
32765
32766	// The unique identifier for the next activity to perform, after completing
32767	// the activity for the path.
32768	NextActivity *string `type:"string"`
32769
32770	// The percentage of participants to send down the activity path.
32771	//
32772	// To determine which participants are sent down each path, Amazon Pinpoint
32773	// applies a probability-based algorithm to the percentages that you specify
32774	// for the paths. Therefore, the actual percentage of participants who are sent
32775	// down a path may not be equal to the percentage that you specify.
32776	Percentage *int64 `type:"integer"`
32777}
32778
32779// String returns the string representation.
32780//
32781// API parameter values that are decorated as "sensitive" in the API will not
32782// be included in the string output. The member name will be present, but the
32783// value will be replaced with "sensitive".
32784func (s RandomSplitEntry) String() string {
32785	return awsutil.Prettify(s)
32786}
32787
32788// GoString returns the string representation.
32789//
32790// API parameter values that are decorated as "sensitive" in the API will not
32791// be included in the string output. The member name will be present, but the
32792// value will be replaced with "sensitive".
32793func (s RandomSplitEntry) GoString() string {
32794	return s.String()
32795}
32796
32797// SetNextActivity sets the NextActivity field's value.
32798func (s *RandomSplitEntry) SetNextActivity(v string) *RandomSplitEntry {
32799	s.NextActivity = &v
32800	return s
32801}
32802
32803// SetPercentage sets the Percentage field's value.
32804func (s *RandomSplitEntry) SetPercentage(v int64) *RandomSplitEntry {
32805	s.Percentage = &v
32806	return s
32807}
32808
32809// Specifies the contents of an email message, represented as a raw MIME message.
32810type RawEmail struct {
32811	_ struct{} `type:"structure"`
32812
32813	// Data is automatically base64 encoded/decoded by the SDK.
32814	Data []byte `type:"blob"`
32815}
32816
32817// String returns the string representation.
32818//
32819// API parameter values that are decorated as "sensitive" in the API will not
32820// be included in the string output. The member name will be present, but the
32821// value will be replaced with "sensitive".
32822func (s RawEmail) String() string {
32823	return awsutil.Prettify(s)
32824}
32825
32826// GoString returns the string representation.
32827//
32828// API parameter values that are decorated as "sensitive" in the API will not
32829// be included in the string output. The member name will be present, but the
32830// value will be replaced with "sensitive".
32831func (s RawEmail) GoString() string {
32832	return s.String()
32833}
32834
32835// SetData sets the Data field's value.
32836func (s *RawEmail) SetData(v []byte) *RawEmail {
32837	s.Data = v
32838	return s
32839}
32840
32841// Specifies criteria for including or excluding endpoints from a segment based
32842// on how recently an endpoint was active.
32843type RecencyDimension struct {
32844	_ struct{} `type:"structure"`
32845
32846	// The duration to use when determining whether an endpoint is active or inactive.
32847	//
32848	// Duration is a required field
32849	Duration *string `type:"string" required:"true" enum:"Duration"`
32850
32851	// The type of recency dimension to use for the segment. Valid values are: ACTIVE,
32852	// endpoints that were active within the specified duration are included in
32853	// the segment; and, INACTIVE, endpoints that weren't active within the specified
32854	// duration are included in the segment.
32855	//
32856	// RecencyType is a required field
32857	RecencyType *string `type:"string" required:"true" enum:"RecencyType"`
32858}
32859
32860// String returns the string representation.
32861//
32862// API parameter values that are decorated as "sensitive" in the API will not
32863// be included in the string output. The member name will be present, but the
32864// value will be replaced with "sensitive".
32865func (s RecencyDimension) String() string {
32866	return awsutil.Prettify(s)
32867}
32868
32869// GoString returns the string representation.
32870//
32871// API parameter values that are decorated as "sensitive" in the API will not
32872// be included in the string output. The member name will be present, but the
32873// value will be replaced with "sensitive".
32874func (s RecencyDimension) GoString() string {
32875	return s.String()
32876}
32877
32878// Validate inspects the fields of the type to determine if they are valid.
32879func (s *RecencyDimension) Validate() error {
32880	invalidParams := request.ErrInvalidParams{Context: "RecencyDimension"}
32881	if s.Duration == nil {
32882		invalidParams.Add(request.NewErrParamRequired("Duration"))
32883	}
32884	if s.RecencyType == nil {
32885		invalidParams.Add(request.NewErrParamRequired("RecencyType"))
32886	}
32887
32888	if invalidParams.Len() > 0 {
32889		return invalidParams
32890	}
32891	return nil
32892}
32893
32894// SetDuration sets the Duration field's value.
32895func (s *RecencyDimension) SetDuration(v string) *RecencyDimension {
32896	s.Duration = &v
32897	return s
32898}
32899
32900// SetRecencyType sets the RecencyType field's value.
32901func (s *RecencyDimension) SetRecencyType(v string) *RecencyDimension {
32902	s.RecencyType = &v
32903	return s
32904}
32905
32906// Provides information about Amazon Pinpoint configuration settings for retrieving
32907// and processing data from a recommender model.
32908type RecommenderConfigurationResponse struct {
32909	_ struct{} `type:"structure"`
32910
32911	// A map that defines 1-10 custom endpoint or user attributes, depending on
32912	// the value for the RecommendationProviderIdType property. Each of these attributes
32913	// temporarily stores a recommended item that's retrieved from the recommender
32914	// model and sent to an AWS Lambda function for additional processing. Each
32915	// attribute can be used as a message variable in a message template.
32916	//
32917	// This value is null if the configuration doesn't invoke an AWS Lambda function
32918	// (RecommendationTransformerUri) to perform additional processing of recommendation
32919	// data.
32920	Attributes map[string]*string `type:"map"`
32921
32922	// The date, in extended ISO 8601 format, when the configuration was created
32923	// for the recommender model.
32924	//
32925	// CreationDate is a required field
32926	CreationDate *string `type:"string" required:"true"`
32927
32928	// The custom description of the configuration for the recommender model.
32929	Description *string `type:"string"`
32930
32931	// The unique identifier for the recommender model configuration.
32932	//
32933	// Id is a required field
32934	Id *string `type:"string" required:"true"`
32935
32936	// The date, in extended ISO 8601 format, when the configuration for the recommender
32937	// model was last modified.
32938	//
32939	// LastModifiedDate is a required field
32940	LastModifiedDate *string `type:"string" required:"true"`
32941
32942	// The custom name of the configuration for the recommender model.
32943	Name *string `type:"string"`
32944
32945	// The type of Amazon Pinpoint ID that's associated with unique user IDs in
32946	// the recommender model. This value enables the model to use attribute and
32947	// event data that’s specific to a particular endpoint or user in an Amazon
32948	// Pinpoint application. Possible values are:
32949	//
32950	//    * PINPOINT_ENDPOINT_ID - Each user in the model is associated with a particular
32951	//    endpoint in Amazon Pinpoint. The data is correlated based on endpoint
32952	//    IDs in Amazon Pinpoint. This is the default value.
32953	//
32954	//    * PINPOINT_USER_ID - Each user in the model is associated with a particular
32955	//    user and endpoint in Amazon Pinpoint. The data is correlated based on
32956	//    user IDs in Amazon Pinpoint. If this value is specified, an endpoint definition
32957	//    in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint
32958	//    ID. Otherwise, messages won’t be sent to the user's endpoint.
32959	RecommendationProviderIdType *string `type:"string"`
32960
32961	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
32962	// (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data
32963	// from the recommender model.
32964	//
32965	// RecommendationProviderRoleArn is a required field
32966	RecommendationProviderRoleArn *string `type:"string" required:"true"`
32967
32968	// The Amazon Resource Name (ARN) of the recommender model that Amazon Pinpoint
32969	// retrieves the recommendation data from. This value is the ARN of an Amazon
32970	// Personalize campaign.
32971	//
32972	// RecommendationProviderUri is a required field
32973	RecommendationProviderUri *string `type:"string" required:"true"`
32974
32975	// The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
32976	// Pinpoint invokes to perform additional processing of recommendation data
32977	// that it retrieves from the recommender model.
32978	RecommendationTransformerUri *string `type:"string"`
32979
32980	// The custom display name for the standard endpoint or user attribute (RecommendationItems)
32981	// that temporarily stores recommended items for each endpoint or user, depending
32982	// on the value for the RecommendationProviderIdType property. This name appears
32983	// in the Attribute finder of the template editor on the Amazon Pinpoint console.
32984	//
32985	// This value is null if the configuration doesn't invoke an AWS Lambda function
32986	// (RecommendationTransformerUri) to perform additional processing of recommendation
32987	// data.
32988	RecommendationsDisplayName *string `type:"string"`
32989
32990	// The number of recommended items that are retrieved from the model for each
32991	// endpoint or user, depending on the value for the RecommendationProviderIdType
32992	// property. This number determines how many recommended items are available
32993	// for use in message variables.
32994	RecommendationsPerMessage *int64 `type:"integer"`
32995}
32996
32997// String returns the string representation.
32998//
32999// API parameter values that are decorated as "sensitive" in the API will not
33000// be included in the string output. The member name will be present, but the
33001// value will be replaced with "sensitive".
33002func (s RecommenderConfigurationResponse) String() string {
33003	return awsutil.Prettify(s)
33004}
33005
33006// GoString returns the string representation.
33007//
33008// API parameter values that are decorated as "sensitive" in the API will not
33009// be included in the string output. The member name will be present, but the
33010// value will be replaced with "sensitive".
33011func (s RecommenderConfigurationResponse) GoString() string {
33012	return s.String()
33013}
33014
33015// SetAttributes sets the Attributes field's value.
33016func (s *RecommenderConfigurationResponse) SetAttributes(v map[string]*string) *RecommenderConfigurationResponse {
33017	s.Attributes = v
33018	return s
33019}
33020
33021// SetCreationDate sets the CreationDate field's value.
33022func (s *RecommenderConfigurationResponse) SetCreationDate(v string) *RecommenderConfigurationResponse {
33023	s.CreationDate = &v
33024	return s
33025}
33026
33027// SetDescription sets the Description field's value.
33028func (s *RecommenderConfigurationResponse) SetDescription(v string) *RecommenderConfigurationResponse {
33029	s.Description = &v
33030	return s
33031}
33032
33033// SetId sets the Id field's value.
33034func (s *RecommenderConfigurationResponse) SetId(v string) *RecommenderConfigurationResponse {
33035	s.Id = &v
33036	return s
33037}
33038
33039// SetLastModifiedDate sets the LastModifiedDate field's value.
33040func (s *RecommenderConfigurationResponse) SetLastModifiedDate(v string) *RecommenderConfigurationResponse {
33041	s.LastModifiedDate = &v
33042	return s
33043}
33044
33045// SetName sets the Name field's value.
33046func (s *RecommenderConfigurationResponse) SetName(v string) *RecommenderConfigurationResponse {
33047	s.Name = &v
33048	return s
33049}
33050
33051// SetRecommendationProviderIdType sets the RecommendationProviderIdType field's value.
33052func (s *RecommenderConfigurationResponse) SetRecommendationProviderIdType(v string) *RecommenderConfigurationResponse {
33053	s.RecommendationProviderIdType = &v
33054	return s
33055}
33056
33057// SetRecommendationProviderRoleArn sets the RecommendationProviderRoleArn field's value.
33058func (s *RecommenderConfigurationResponse) SetRecommendationProviderRoleArn(v string) *RecommenderConfigurationResponse {
33059	s.RecommendationProviderRoleArn = &v
33060	return s
33061}
33062
33063// SetRecommendationProviderUri sets the RecommendationProviderUri field's value.
33064func (s *RecommenderConfigurationResponse) SetRecommendationProviderUri(v string) *RecommenderConfigurationResponse {
33065	s.RecommendationProviderUri = &v
33066	return s
33067}
33068
33069// SetRecommendationTransformerUri sets the RecommendationTransformerUri field's value.
33070func (s *RecommenderConfigurationResponse) SetRecommendationTransformerUri(v string) *RecommenderConfigurationResponse {
33071	s.RecommendationTransformerUri = &v
33072	return s
33073}
33074
33075// SetRecommendationsDisplayName sets the RecommendationsDisplayName field's value.
33076func (s *RecommenderConfigurationResponse) SetRecommendationsDisplayName(v string) *RecommenderConfigurationResponse {
33077	s.RecommendationsDisplayName = &v
33078	return s
33079}
33080
33081// SetRecommendationsPerMessage sets the RecommendationsPerMessage field's value.
33082func (s *RecommenderConfigurationResponse) SetRecommendationsPerMessage(v int64) *RecommenderConfigurationResponse {
33083	s.RecommendationsPerMessage = &v
33084	return s
33085}
33086
33087type RemoveAttributesInput struct {
33088	_ struct{} `type:"structure" payload:"UpdateAttributesRequest"`
33089
33090	// ApplicationId is a required field
33091	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
33092
33093	// AttributeType is a required field
33094	AttributeType *string `location:"uri" locationName:"attribute-type" type:"string" required:"true"`
33095
33096	// Specifies one or more attributes to remove from all the endpoints that are
33097	// associated with an application.
33098	//
33099	// UpdateAttributesRequest is a required field
33100	UpdateAttributesRequest *UpdateAttributesRequest `type:"structure" required:"true"`
33101}
33102
33103// String returns the string representation.
33104//
33105// API parameter values that are decorated as "sensitive" in the API will not
33106// be included in the string output. The member name will be present, but the
33107// value will be replaced with "sensitive".
33108func (s RemoveAttributesInput) String() string {
33109	return awsutil.Prettify(s)
33110}
33111
33112// GoString returns the string representation.
33113//
33114// API parameter values that are decorated as "sensitive" in the API will not
33115// be included in the string output. The member name will be present, but the
33116// value will be replaced with "sensitive".
33117func (s RemoveAttributesInput) GoString() string {
33118	return s.String()
33119}
33120
33121// Validate inspects the fields of the type to determine if they are valid.
33122func (s *RemoveAttributesInput) Validate() error {
33123	invalidParams := request.ErrInvalidParams{Context: "RemoveAttributesInput"}
33124	if s.ApplicationId == nil {
33125		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
33126	}
33127	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
33128		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
33129	}
33130	if s.AttributeType == nil {
33131		invalidParams.Add(request.NewErrParamRequired("AttributeType"))
33132	}
33133	if s.AttributeType != nil && len(*s.AttributeType) < 1 {
33134		invalidParams.Add(request.NewErrParamMinLen("AttributeType", 1))
33135	}
33136	if s.UpdateAttributesRequest == nil {
33137		invalidParams.Add(request.NewErrParamRequired("UpdateAttributesRequest"))
33138	}
33139
33140	if invalidParams.Len() > 0 {
33141		return invalidParams
33142	}
33143	return nil
33144}
33145
33146// SetApplicationId sets the ApplicationId field's value.
33147func (s *RemoveAttributesInput) SetApplicationId(v string) *RemoveAttributesInput {
33148	s.ApplicationId = &v
33149	return s
33150}
33151
33152// SetAttributeType sets the AttributeType field's value.
33153func (s *RemoveAttributesInput) SetAttributeType(v string) *RemoveAttributesInput {
33154	s.AttributeType = &v
33155	return s
33156}
33157
33158// SetUpdateAttributesRequest sets the UpdateAttributesRequest field's value.
33159func (s *RemoveAttributesInput) SetUpdateAttributesRequest(v *UpdateAttributesRequest) *RemoveAttributesInput {
33160	s.UpdateAttributesRequest = v
33161	return s
33162}
33163
33164type RemoveAttributesOutput struct {
33165	_ struct{} `type:"structure" payload:"AttributesResource"`
33166
33167	// Provides information about the type and the names of attributes that were
33168	// removed from all the endpoints that are associated with an application.
33169	//
33170	// AttributesResource is a required field
33171	AttributesResource *AttributesResource `type:"structure" required:"true"`
33172}
33173
33174// String returns the string representation.
33175//
33176// API parameter values that are decorated as "sensitive" in the API will not
33177// be included in the string output. The member name will be present, but the
33178// value will be replaced with "sensitive".
33179func (s RemoveAttributesOutput) String() string {
33180	return awsutil.Prettify(s)
33181}
33182
33183// GoString returns the string representation.
33184//
33185// API parameter values that are decorated as "sensitive" in the API will not
33186// be included in the string output. The member name will be present, but the
33187// value will be replaced with "sensitive".
33188func (s RemoveAttributesOutput) GoString() string {
33189	return s.String()
33190}
33191
33192// SetAttributesResource sets the AttributesResource field's value.
33193func (s *RemoveAttributesOutput) SetAttributesResource(v *AttributesResource) *RemoveAttributesOutput {
33194	s.AttributesResource = v
33195	return s
33196}
33197
33198// Provides the results of a query that retrieved the data for a standard metric
33199// that applies to an application, campaign, or journey.
33200type ResultRow struct {
33201	_ struct{} `type:"structure"`
33202
33203	// An array of objects that defines the field and field values that were used
33204	// to group data in a result set that contains multiple results. This value
33205	// is null if the data in a result set isn’t grouped.
33206	//
33207	// GroupedBys is a required field
33208	GroupedBys []*ResultRowValue `type:"list" required:"true"`
33209
33210	// An array of objects that provides pre-aggregated values for a standard metric
33211	// that applies to an application, campaign, or journey.
33212	//
33213	// Values is a required field
33214	Values []*ResultRowValue `type:"list" required:"true"`
33215}
33216
33217// String returns the string representation.
33218//
33219// API parameter values that are decorated as "sensitive" in the API will not
33220// be included in the string output. The member name will be present, but the
33221// value will be replaced with "sensitive".
33222func (s ResultRow) String() string {
33223	return awsutil.Prettify(s)
33224}
33225
33226// GoString returns the string representation.
33227//
33228// API parameter values that are decorated as "sensitive" in the API will not
33229// be included in the string output. The member name will be present, but the
33230// value will be replaced with "sensitive".
33231func (s ResultRow) GoString() string {
33232	return s.String()
33233}
33234
33235// SetGroupedBys sets the GroupedBys field's value.
33236func (s *ResultRow) SetGroupedBys(v []*ResultRowValue) *ResultRow {
33237	s.GroupedBys = v
33238	return s
33239}
33240
33241// SetValues sets the Values field's value.
33242func (s *ResultRow) SetValues(v []*ResultRowValue) *ResultRow {
33243	s.Values = v
33244	return s
33245}
33246
33247// Provides a single value and metadata about that value as part of an array
33248// of query results for a standard metric that applies to an application, campaign,
33249// or journey.
33250type ResultRowValue struct {
33251	_ struct{} `type:"structure"`
33252
33253	// The friendly name of the metric whose value is specified by the Value property.
33254	//
33255	// Key is a required field
33256	Key *string `type:"string" required:"true"`
33257
33258	// The data type of the value specified by the Value property.
33259	//
33260	// Type is a required field
33261	Type *string `type:"string" required:"true"`
33262
33263	// In a Values object, the value for the metric that the query retrieved data
33264	// for. In a GroupedBys object, the value for the field that was used to group
33265	// data in a result set that contains multiple results (Values objects).
33266	//
33267	// Value is a required field
33268	Value *string `type:"string" required:"true"`
33269}
33270
33271// String returns the string representation.
33272//
33273// API parameter values that are decorated as "sensitive" in the API will not
33274// be included in the string output. The member name will be present, but the
33275// value will be replaced with "sensitive".
33276func (s ResultRowValue) String() string {
33277	return awsutil.Prettify(s)
33278}
33279
33280// GoString returns the string representation.
33281//
33282// API parameter values that are decorated as "sensitive" in the API will not
33283// be included in the string output. The member name will be present, but the
33284// value will be replaced with "sensitive".
33285func (s ResultRowValue) GoString() string {
33286	return s.String()
33287}
33288
33289// SetKey sets the Key field's value.
33290func (s *ResultRowValue) SetKey(v string) *ResultRowValue {
33291	s.Key = &v
33292	return s
33293}
33294
33295// SetType sets the Type field's value.
33296func (s *ResultRowValue) SetType(v string) *ResultRowValue {
33297	s.Type = &v
33298	return s
33299}
33300
33301// SetValue sets the Value field's value.
33302func (s *ResultRowValue) SetValue(v string) *ResultRowValue {
33303	s.Value = &v
33304	return s
33305}
33306
33307// Specifies the status and settings of the SMS channel for an application.
33308type SMSChannelRequest struct {
33309	_ struct{} `type:"structure"`
33310
33311	// Specifies whether to enable the SMS channel for the application.
33312	Enabled *bool `type:"boolean"`
33313
33314	// The identity that you want to display on recipients' devices when they receive
33315	// messages from the SMS channel.
33316	SenderId *string `type:"string"`
33317
33318	// The registered short code that you want to use when you send messages through
33319	// the SMS channel.
33320	ShortCode *string `type:"string"`
33321}
33322
33323// String returns the string representation.
33324//
33325// API parameter values that are decorated as "sensitive" in the API will not
33326// be included in the string output. The member name will be present, but the
33327// value will be replaced with "sensitive".
33328func (s SMSChannelRequest) String() string {
33329	return awsutil.Prettify(s)
33330}
33331
33332// GoString returns the string representation.
33333//
33334// API parameter values that are decorated as "sensitive" in the API will not
33335// be included in the string output. The member name will be present, but the
33336// value will be replaced with "sensitive".
33337func (s SMSChannelRequest) GoString() string {
33338	return s.String()
33339}
33340
33341// SetEnabled sets the Enabled field's value.
33342func (s *SMSChannelRequest) SetEnabled(v bool) *SMSChannelRequest {
33343	s.Enabled = &v
33344	return s
33345}
33346
33347// SetSenderId sets the SenderId field's value.
33348func (s *SMSChannelRequest) SetSenderId(v string) *SMSChannelRequest {
33349	s.SenderId = &v
33350	return s
33351}
33352
33353// SetShortCode sets the ShortCode field's value.
33354func (s *SMSChannelRequest) SetShortCode(v string) *SMSChannelRequest {
33355	s.ShortCode = &v
33356	return s
33357}
33358
33359// Provides information about the status and settings of the SMS channel for
33360// an application.
33361type SMSChannelResponse struct {
33362	_ struct{} `type:"structure"`
33363
33364	// The unique identifier for the application that the SMS channel applies to.
33365	ApplicationId *string `type:"string"`
33366
33367	// The date and time, in ISO 8601 format, when the SMS channel was enabled.
33368	CreationDate *string `type:"string"`
33369
33370	// Specifies whether the SMS channel is enabled for the application.
33371	Enabled *bool `type:"boolean"`
33372
33373	// (Not used) This property is retained only for backward compatibility.
33374	HasCredential *bool `type:"boolean"`
33375
33376	// (Deprecated) An identifier for the SMS channel. This property is retained
33377	// only for backward compatibility.
33378	Id *string `type:"string"`
33379
33380	// Specifies whether the SMS channel is archived.
33381	IsArchived *bool `type:"boolean"`
33382
33383	// The user who last modified the SMS channel.
33384	LastModifiedBy *string `type:"string"`
33385
33386	// The date and time, in ISO 8601 format, when the SMS channel was last modified.
33387	LastModifiedDate *string `type:"string"`
33388
33389	// The type of messaging or notification platform for the channel. For the SMS
33390	// channel, this value is SMS.
33391	//
33392	// Platform is a required field
33393	Platform *string `type:"string" required:"true"`
33394
33395	// The maximum number of promotional messages that you can send through the
33396	// SMS channel each second.
33397	PromotionalMessagesPerSecond *int64 `type:"integer"`
33398
33399	// The identity that displays on recipients' devices when they receive messages
33400	// from the SMS channel.
33401	SenderId *string `type:"string"`
33402
33403	// The registered short code to use when you send messages through the SMS channel.
33404	ShortCode *string `type:"string"`
33405
33406	// The maximum number of transactional messages that you can send through the
33407	// SMS channel each second.
33408	TransactionalMessagesPerSecond *int64 `type:"integer"`
33409
33410	// The current version of the SMS channel.
33411	Version *int64 `type:"integer"`
33412}
33413
33414// String returns the string representation.
33415//
33416// API parameter values that are decorated as "sensitive" in the API will not
33417// be included in the string output. The member name will be present, but the
33418// value will be replaced with "sensitive".
33419func (s SMSChannelResponse) String() string {
33420	return awsutil.Prettify(s)
33421}
33422
33423// GoString returns the string representation.
33424//
33425// API parameter values that are decorated as "sensitive" in the API will not
33426// be included in the string output. The member name will be present, but the
33427// value will be replaced with "sensitive".
33428func (s SMSChannelResponse) GoString() string {
33429	return s.String()
33430}
33431
33432// SetApplicationId sets the ApplicationId field's value.
33433func (s *SMSChannelResponse) SetApplicationId(v string) *SMSChannelResponse {
33434	s.ApplicationId = &v
33435	return s
33436}
33437
33438// SetCreationDate sets the CreationDate field's value.
33439func (s *SMSChannelResponse) SetCreationDate(v string) *SMSChannelResponse {
33440	s.CreationDate = &v
33441	return s
33442}
33443
33444// SetEnabled sets the Enabled field's value.
33445func (s *SMSChannelResponse) SetEnabled(v bool) *SMSChannelResponse {
33446	s.Enabled = &v
33447	return s
33448}
33449
33450// SetHasCredential sets the HasCredential field's value.
33451func (s *SMSChannelResponse) SetHasCredential(v bool) *SMSChannelResponse {
33452	s.HasCredential = &v
33453	return s
33454}
33455
33456// SetId sets the Id field's value.
33457func (s *SMSChannelResponse) SetId(v string) *SMSChannelResponse {
33458	s.Id = &v
33459	return s
33460}
33461
33462// SetIsArchived sets the IsArchived field's value.
33463func (s *SMSChannelResponse) SetIsArchived(v bool) *SMSChannelResponse {
33464	s.IsArchived = &v
33465	return s
33466}
33467
33468// SetLastModifiedBy sets the LastModifiedBy field's value.
33469func (s *SMSChannelResponse) SetLastModifiedBy(v string) *SMSChannelResponse {
33470	s.LastModifiedBy = &v
33471	return s
33472}
33473
33474// SetLastModifiedDate sets the LastModifiedDate field's value.
33475func (s *SMSChannelResponse) SetLastModifiedDate(v string) *SMSChannelResponse {
33476	s.LastModifiedDate = &v
33477	return s
33478}
33479
33480// SetPlatform sets the Platform field's value.
33481func (s *SMSChannelResponse) SetPlatform(v string) *SMSChannelResponse {
33482	s.Platform = &v
33483	return s
33484}
33485
33486// SetPromotionalMessagesPerSecond sets the PromotionalMessagesPerSecond field's value.
33487func (s *SMSChannelResponse) SetPromotionalMessagesPerSecond(v int64) *SMSChannelResponse {
33488	s.PromotionalMessagesPerSecond = &v
33489	return s
33490}
33491
33492// SetSenderId sets the SenderId field's value.
33493func (s *SMSChannelResponse) SetSenderId(v string) *SMSChannelResponse {
33494	s.SenderId = &v
33495	return s
33496}
33497
33498// SetShortCode sets the ShortCode field's value.
33499func (s *SMSChannelResponse) SetShortCode(v string) *SMSChannelResponse {
33500	s.ShortCode = &v
33501	return s
33502}
33503
33504// SetTransactionalMessagesPerSecond sets the TransactionalMessagesPerSecond field's value.
33505func (s *SMSChannelResponse) SetTransactionalMessagesPerSecond(v int64) *SMSChannelResponse {
33506	s.TransactionalMessagesPerSecond = &v
33507	return s
33508}
33509
33510// SetVersion sets the Version field's value.
33511func (s *SMSChannelResponse) SetVersion(v int64) *SMSChannelResponse {
33512	s.Version = &v
33513	return s
33514}
33515
33516// Specifies the default settings for a one-time SMS message that's sent directly
33517// to an endpoint.
33518type SMSMessage struct {
33519	_ struct{} `type:"structure"`
33520
33521	// The body of the SMS message.
33522	Body *string `type:"string"`
33523
33524	// The entity ID or Principal Entity (PE) id received from the regulatory body
33525	// for sending SMS in your country.
33526	EntityId *string `type:"string"`
33527
33528	// The SMS program name that you provided to AWS Support when you requested
33529	// your dedicated number.
33530	Keyword *string `type:"string"`
33531
33532	// This field is reserved for future use.
33533	MediaUrl *string `type:"string"`
33534
33535	// The SMS message type. Valid values are TRANSACTIONAL (for messages that are
33536	// critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL
33537	// (for messsages that aren't critical or time-sensitive, such as marketing
33538	// messages).
33539	MessageType *string `type:"string" enum:"MessageType"`
33540
33541	// The number to send the SMS message from. This value should be one of the
33542	// dedicated long or short codes that's assigned to your AWS account. If you
33543	// don't specify a long or short code, Amazon Pinpoint assigns a random long
33544	// code to the SMS message and sends the message from that code.
33545	OriginationNumber *string `type:"string"`
33546
33547	// The sender ID to display as the sender of the message on a recipient's device.
33548	// Support for sender IDs varies by country or region.
33549	SenderId *string `type:"string"`
33550
33551	// The message variables to use in the SMS message. You can override the default
33552	// variables with individual address variables.
33553	Substitutions map[string][]*string `type:"map"`
33554
33555	// The template ID received from the regulatory body for sending SMS in your
33556	// country.
33557	TemplateId *string `type:"string"`
33558}
33559
33560// String returns the string representation.
33561//
33562// API parameter values that are decorated as "sensitive" in the API will not
33563// be included in the string output. The member name will be present, but the
33564// value will be replaced with "sensitive".
33565func (s SMSMessage) String() string {
33566	return awsutil.Prettify(s)
33567}
33568
33569// GoString returns the string representation.
33570//
33571// API parameter values that are decorated as "sensitive" in the API will not
33572// be included in the string output. The member name will be present, but the
33573// value will be replaced with "sensitive".
33574func (s SMSMessage) GoString() string {
33575	return s.String()
33576}
33577
33578// SetBody sets the Body field's value.
33579func (s *SMSMessage) SetBody(v string) *SMSMessage {
33580	s.Body = &v
33581	return s
33582}
33583
33584// SetEntityId sets the EntityId field's value.
33585func (s *SMSMessage) SetEntityId(v string) *SMSMessage {
33586	s.EntityId = &v
33587	return s
33588}
33589
33590// SetKeyword sets the Keyword field's value.
33591func (s *SMSMessage) SetKeyword(v string) *SMSMessage {
33592	s.Keyword = &v
33593	return s
33594}
33595
33596// SetMediaUrl sets the MediaUrl field's value.
33597func (s *SMSMessage) SetMediaUrl(v string) *SMSMessage {
33598	s.MediaUrl = &v
33599	return s
33600}
33601
33602// SetMessageType sets the MessageType field's value.
33603func (s *SMSMessage) SetMessageType(v string) *SMSMessage {
33604	s.MessageType = &v
33605	return s
33606}
33607
33608// SetOriginationNumber sets the OriginationNumber field's value.
33609func (s *SMSMessage) SetOriginationNumber(v string) *SMSMessage {
33610	s.OriginationNumber = &v
33611	return s
33612}
33613
33614// SetSenderId sets the SenderId field's value.
33615func (s *SMSMessage) SetSenderId(v string) *SMSMessage {
33616	s.SenderId = &v
33617	return s
33618}
33619
33620// SetSubstitutions sets the Substitutions field's value.
33621func (s *SMSMessage) SetSubstitutions(v map[string][]*string) *SMSMessage {
33622	s.Substitutions = v
33623	return s
33624}
33625
33626// SetTemplateId sets the TemplateId field's value.
33627func (s *SMSMessage) SetTemplateId(v string) *SMSMessage {
33628	s.TemplateId = &v
33629	return s
33630}
33631
33632// Specifies the settings for an SMS activity in a journey. This type of activity
33633// sends a text message to participants.
33634type SMSMessageActivity struct {
33635	_ struct{} `type:"structure"`
33636
33637	// Specifies the sender ID and message type for an SMS message that's sent to
33638	// participants in a journey.
33639	MessageConfig *JourneySMSMessage `type:"structure"`
33640
33641	// The unique identifier for the next activity to perform, after the message
33642	// is sent.
33643	NextActivity *string `type:"string"`
33644
33645	// The name of the SMS message template to use for the message. If specified,
33646	// this value must match the name of an existing message template.
33647	TemplateName *string `type:"string"`
33648
33649	// The unique identifier for the version of the SMS template to use for the
33650	// message. If specified, this value must match the identifier for an existing
33651	// template version. To retrieve a list of versions and version identifiers
33652	// for a template, use the Template Versions resource.
33653	//
33654	// If you don't specify a value for this property, Amazon Pinpoint uses the
33655	// active version of the template. The active version is typically the version
33656	// of a template that's been most recently reviewed and approved for use, depending
33657	// on your workflow. It isn't necessarily the latest version of a template.
33658	TemplateVersion *string `type:"string"`
33659}
33660
33661// String returns the string representation.
33662//
33663// API parameter values that are decorated as "sensitive" in the API will not
33664// be included in the string output. The member name will be present, but the
33665// value will be replaced with "sensitive".
33666func (s SMSMessageActivity) String() string {
33667	return awsutil.Prettify(s)
33668}
33669
33670// GoString returns the string representation.
33671//
33672// API parameter values that are decorated as "sensitive" in the API will not
33673// be included in the string output. The member name will be present, but the
33674// value will be replaced with "sensitive".
33675func (s SMSMessageActivity) GoString() string {
33676	return s.String()
33677}
33678
33679// SetMessageConfig sets the MessageConfig field's value.
33680func (s *SMSMessageActivity) SetMessageConfig(v *JourneySMSMessage) *SMSMessageActivity {
33681	s.MessageConfig = v
33682	return s
33683}
33684
33685// SetNextActivity sets the NextActivity field's value.
33686func (s *SMSMessageActivity) SetNextActivity(v string) *SMSMessageActivity {
33687	s.NextActivity = &v
33688	return s
33689}
33690
33691// SetTemplateName sets the TemplateName field's value.
33692func (s *SMSMessageActivity) SetTemplateName(v string) *SMSMessageActivity {
33693	s.TemplateName = &v
33694	return s
33695}
33696
33697// SetTemplateVersion sets the TemplateVersion field's value.
33698func (s *SMSMessageActivity) SetTemplateVersion(v string) *SMSMessageActivity {
33699	s.TemplateVersion = &v
33700	return s
33701}
33702
33703// Specifies the content and settings for a message template that can be used
33704// in text messages that are sent through the SMS channel.
33705type SMSTemplateRequest struct {
33706	_ struct{} `type:"structure"`
33707
33708	// The message body to use in text messages that are based on the message template.
33709	Body *string `type:"string"`
33710
33711	// A JSON object that specifies the default values to use for message variables
33712	// in the message template. This object is a set of key-value pairs. Each key
33713	// defines a message variable in the template. The corresponding value defines
33714	// the default value for that variable. When you create a message that's based
33715	// on the template, you can override these defaults with message-specific and
33716	// address-specific variables and values.
33717	DefaultSubstitutions *string `type:"string"`
33718
33719	// The unique identifier for the recommender model to use for the message template.
33720	// Amazon Pinpoint uses this value to determine how to retrieve and process
33721	// data from a recommender model when it sends messages that use the template,
33722	// if the template contains message variables for recommendation data.
33723	RecommenderId *string `type:"string"`
33724
33725	// A string-to-string map of key-value pairs that defines the tags to associate
33726	// with the message template. Each tag consists of a required tag key and an
33727	// associated tag value.
33728	Tags map[string]*string `locationName:"tags" type:"map"`
33729
33730	// A custom description of the message template.
33731	TemplateDescription *string `type:"string"`
33732}
33733
33734// String returns the string representation.
33735//
33736// API parameter values that are decorated as "sensitive" in the API will not
33737// be included in the string output. The member name will be present, but the
33738// value will be replaced with "sensitive".
33739func (s SMSTemplateRequest) String() string {
33740	return awsutil.Prettify(s)
33741}
33742
33743// GoString returns the string representation.
33744//
33745// API parameter values that are decorated as "sensitive" in the API will not
33746// be included in the string output. The member name will be present, but the
33747// value will be replaced with "sensitive".
33748func (s SMSTemplateRequest) GoString() string {
33749	return s.String()
33750}
33751
33752// SetBody sets the Body field's value.
33753func (s *SMSTemplateRequest) SetBody(v string) *SMSTemplateRequest {
33754	s.Body = &v
33755	return s
33756}
33757
33758// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
33759func (s *SMSTemplateRequest) SetDefaultSubstitutions(v string) *SMSTemplateRequest {
33760	s.DefaultSubstitutions = &v
33761	return s
33762}
33763
33764// SetRecommenderId sets the RecommenderId field's value.
33765func (s *SMSTemplateRequest) SetRecommenderId(v string) *SMSTemplateRequest {
33766	s.RecommenderId = &v
33767	return s
33768}
33769
33770// SetTags sets the Tags field's value.
33771func (s *SMSTemplateRequest) SetTags(v map[string]*string) *SMSTemplateRequest {
33772	s.Tags = v
33773	return s
33774}
33775
33776// SetTemplateDescription sets the TemplateDescription field's value.
33777func (s *SMSTemplateRequest) SetTemplateDescription(v string) *SMSTemplateRequest {
33778	s.TemplateDescription = &v
33779	return s
33780}
33781
33782// Provides information about the content and settings for a message template
33783// that can be used in text messages that are sent through the SMS channel.
33784type SMSTemplateResponse struct {
33785	_ struct{} `type:"structure"`
33786
33787	// The Amazon Resource Name (ARN) of the message template.
33788	Arn *string `type:"string"`
33789
33790	// The message body that's used in text messages that are based on the message
33791	// template.
33792	Body *string `type:"string"`
33793
33794	// The date, in ISO 8601 format, when the message template was created.
33795	//
33796	// CreationDate is a required field
33797	CreationDate *string `type:"string" required:"true"`
33798
33799	// The JSON object that specifies the default values that are used for message
33800	// variables in the message template. This object is a set of key-value pairs.
33801	// Each key defines a message variable in the template. The corresponding value
33802	// defines the default value for that variable.
33803	DefaultSubstitutions *string `type:"string"`
33804
33805	// The date, in ISO 8601 format, when the message template was last modified.
33806	//
33807	// LastModifiedDate is a required field
33808	LastModifiedDate *string `type:"string" required:"true"`
33809
33810	// The unique identifier for the recommender model that's used by the message
33811	// template.
33812	RecommenderId *string `type:"string"`
33813
33814	// A string-to-string map of key-value pairs that identifies the tags that are
33815	// associated with the message template. Each tag consists of a required tag
33816	// key and an associated tag value.
33817	Tags map[string]*string `locationName:"tags" type:"map"`
33818
33819	// The custom description of the message template.
33820	TemplateDescription *string `type:"string"`
33821
33822	// The name of the message template.
33823	//
33824	// TemplateName is a required field
33825	TemplateName *string `type:"string" required:"true"`
33826
33827	// The type of channel that the message template is designed for. For an SMS
33828	// template, this value is SMS.
33829	//
33830	// TemplateType is a required field
33831	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
33832
33833	// The unique identifier, as an integer, for the active version of the message
33834	// template, or the version of the template that you specified by using the
33835	// version parameter in your request.
33836	Version *string `type:"string"`
33837}
33838
33839// String returns the string representation.
33840//
33841// API parameter values that are decorated as "sensitive" in the API will not
33842// be included in the string output. The member name will be present, but the
33843// value will be replaced with "sensitive".
33844func (s SMSTemplateResponse) String() string {
33845	return awsutil.Prettify(s)
33846}
33847
33848// GoString returns the string representation.
33849//
33850// API parameter values that are decorated as "sensitive" in the API will not
33851// be included in the string output. The member name will be present, but the
33852// value will be replaced with "sensitive".
33853func (s SMSTemplateResponse) GoString() string {
33854	return s.String()
33855}
33856
33857// SetArn sets the Arn field's value.
33858func (s *SMSTemplateResponse) SetArn(v string) *SMSTemplateResponse {
33859	s.Arn = &v
33860	return s
33861}
33862
33863// SetBody sets the Body field's value.
33864func (s *SMSTemplateResponse) SetBody(v string) *SMSTemplateResponse {
33865	s.Body = &v
33866	return s
33867}
33868
33869// SetCreationDate sets the CreationDate field's value.
33870func (s *SMSTemplateResponse) SetCreationDate(v string) *SMSTemplateResponse {
33871	s.CreationDate = &v
33872	return s
33873}
33874
33875// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
33876func (s *SMSTemplateResponse) SetDefaultSubstitutions(v string) *SMSTemplateResponse {
33877	s.DefaultSubstitutions = &v
33878	return s
33879}
33880
33881// SetLastModifiedDate sets the LastModifiedDate field's value.
33882func (s *SMSTemplateResponse) SetLastModifiedDate(v string) *SMSTemplateResponse {
33883	s.LastModifiedDate = &v
33884	return s
33885}
33886
33887// SetRecommenderId sets the RecommenderId field's value.
33888func (s *SMSTemplateResponse) SetRecommenderId(v string) *SMSTemplateResponse {
33889	s.RecommenderId = &v
33890	return s
33891}
33892
33893// SetTags sets the Tags field's value.
33894func (s *SMSTemplateResponse) SetTags(v map[string]*string) *SMSTemplateResponse {
33895	s.Tags = v
33896	return s
33897}
33898
33899// SetTemplateDescription sets the TemplateDescription field's value.
33900func (s *SMSTemplateResponse) SetTemplateDescription(v string) *SMSTemplateResponse {
33901	s.TemplateDescription = &v
33902	return s
33903}
33904
33905// SetTemplateName sets the TemplateName field's value.
33906func (s *SMSTemplateResponse) SetTemplateName(v string) *SMSTemplateResponse {
33907	s.TemplateName = &v
33908	return s
33909}
33910
33911// SetTemplateType sets the TemplateType field's value.
33912func (s *SMSTemplateResponse) SetTemplateType(v string) *SMSTemplateResponse {
33913	s.TemplateType = &v
33914	return s
33915}
33916
33917// SetVersion sets the Version field's value.
33918func (s *SMSTemplateResponse) SetVersion(v string) *SMSTemplateResponse {
33919	s.Version = &v
33920	return s
33921}
33922
33923// Specifies the schedule settings for a campaign.
33924type Schedule struct {
33925	_ struct{} `type:"structure"`
33926
33927	// The scheduled time, in ISO 8601 format, when the campaign ended or will end.
33928	EndTime *string `type:"string"`
33929
33930	// The type of event that causes the campaign to be sent, if the value of the
33931	// Frequency property is EVENT.
33932	EventFilter *CampaignEventFilter `type:"structure"`
33933
33934	// Specifies how often the campaign is sent or whether the campaign is sent
33935	// in response to a specific event.
33936	Frequency *string `type:"string" enum:"Frequency"`
33937
33938	// Specifies whether the start and end times for the campaign schedule use each
33939	// recipient's local time. To base the schedule on each recipient's local time,
33940	// set this value to true.
33941	IsLocalTime *bool `type:"boolean"`
33942
33943	// The default quiet time for the campaign. Quiet time is a specific time range
33944	// when a campaign doesn't send messages to endpoints, if all the following
33945	// conditions are met:
33946	//
33947	//    * The EndpointDemographic.Timezone property of the endpoint is set to
33948	//    a valid value.
33949	//
33950	//    * The current time in the endpoint's time zone is later than or equal
33951	//    to the time specified by the QuietTime.Start property for the campaign.
33952	//
33953	//    * The current time in the endpoint's time zone is earlier than or equal
33954	//    to the time specified by the QuietTime.End property for the campaign.
33955	//
33956	// If any of the preceding conditions isn't met, the endpoint will receive messages
33957	// from the campaign, even if quiet time is enabled.
33958	QuietTime *QuietTime `type:"structure"`
33959
33960	// The scheduled time when the campaign began or will begin. Valid values are:
33961	// IMMEDIATE, to start the campaign immediately; or, a specific time in ISO
33962	// 8601 format.
33963	//
33964	// StartTime is a required field
33965	StartTime *string `type:"string" required:"true"`
33966
33967	// The starting UTC offset for the campaign schedule, if the value of the IsLocalTime
33968	// property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, UTC+03:30,
33969	// UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30, UTC+07,
33970	// UTC+08, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02,
33971	// UTC-03, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.
33972	Timezone *string `type:"string"`
33973}
33974
33975// String returns the string representation.
33976//
33977// API parameter values that are decorated as "sensitive" in the API will not
33978// be included in the string output. The member name will be present, but the
33979// value will be replaced with "sensitive".
33980func (s Schedule) String() string {
33981	return awsutil.Prettify(s)
33982}
33983
33984// GoString returns the string representation.
33985//
33986// API parameter values that are decorated as "sensitive" in the API will not
33987// be included in the string output. The member name will be present, but the
33988// value will be replaced with "sensitive".
33989func (s Schedule) GoString() string {
33990	return s.String()
33991}
33992
33993// Validate inspects the fields of the type to determine if they are valid.
33994func (s *Schedule) Validate() error {
33995	invalidParams := request.ErrInvalidParams{Context: "Schedule"}
33996	if s.StartTime == nil {
33997		invalidParams.Add(request.NewErrParamRequired("StartTime"))
33998	}
33999	if s.EventFilter != nil {
34000		if err := s.EventFilter.Validate(); err != nil {
34001			invalidParams.AddNested("EventFilter", err.(request.ErrInvalidParams))
34002		}
34003	}
34004
34005	if invalidParams.Len() > 0 {
34006		return invalidParams
34007	}
34008	return nil
34009}
34010
34011// SetEndTime sets the EndTime field's value.
34012func (s *Schedule) SetEndTime(v string) *Schedule {
34013	s.EndTime = &v
34014	return s
34015}
34016
34017// SetEventFilter sets the EventFilter field's value.
34018func (s *Schedule) SetEventFilter(v *CampaignEventFilter) *Schedule {
34019	s.EventFilter = v
34020	return s
34021}
34022
34023// SetFrequency sets the Frequency field's value.
34024func (s *Schedule) SetFrequency(v string) *Schedule {
34025	s.Frequency = &v
34026	return s
34027}
34028
34029// SetIsLocalTime sets the IsLocalTime field's value.
34030func (s *Schedule) SetIsLocalTime(v bool) *Schedule {
34031	s.IsLocalTime = &v
34032	return s
34033}
34034
34035// SetQuietTime sets the QuietTime field's value.
34036func (s *Schedule) SetQuietTime(v *QuietTime) *Schedule {
34037	s.QuietTime = v
34038	return s
34039}
34040
34041// SetStartTime sets the StartTime field's value.
34042func (s *Schedule) SetStartTime(v string) *Schedule {
34043	s.StartTime = &v
34044	return s
34045}
34046
34047// SetTimezone sets the Timezone field's value.
34048func (s *Schedule) SetTimezone(v string) *Schedule {
34049	s.Timezone = &v
34050	return s
34051}
34052
34053// Specifies dimension settings for including or excluding endpoints from a
34054// segment based on how recently an endpoint was active.
34055type SegmentBehaviors struct {
34056	_ struct{} `type:"structure"`
34057
34058	// The dimension settings that are based on how recently an endpoint was active.
34059	Recency *RecencyDimension `type:"structure"`
34060}
34061
34062// String returns the string representation.
34063//
34064// API parameter values that are decorated as "sensitive" in the API will not
34065// be included in the string output. The member name will be present, but the
34066// value will be replaced with "sensitive".
34067func (s SegmentBehaviors) String() string {
34068	return awsutil.Prettify(s)
34069}
34070
34071// GoString returns the string representation.
34072//
34073// API parameter values that are decorated as "sensitive" in the API will not
34074// be included in the string output. The member name will be present, but the
34075// value will be replaced with "sensitive".
34076func (s SegmentBehaviors) GoString() string {
34077	return s.String()
34078}
34079
34080// Validate inspects the fields of the type to determine if they are valid.
34081func (s *SegmentBehaviors) Validate() error {
34082	invalidParams := request.ErrInvalidParams{Context: "SegmentBehaviors"}
34083	if s.Recency != nil {
34084		if err := s.Recency.Validate(); err != nil {
34085			invalidParams.AddNested("Recency", err.(request.ErrInvalidParams))
34086		}
34087	}
34088
34089	if invalidParams.Len() > 0 {
34090		return invalidParams
34091	}
34092	return nil
34093}
34094
34095// SetRecency sets the Recency field's value.
34096func (s *SegmentBehaviors) SetRecency(v *RecencyDimension) *SegmentBehaviors {
34097	s.Recency = v
34098	return s
34099}
34100
34101// Specifies a segment to associate with an activity in a journey.
34102type SegmentCondition struct {
34103	_ struct{} `type:"structure"`
34104
34105	// The unique identifier for the segment to associate with the activity.
34106	//
34107	// SegmentId is a required field
34108	SegmentId *string `type:"string" required:"true"`
34109}
34110
34111// String returns the string representation.
34112//
34113// API parameter values that are decorated as "sensitive" in the API will not
34114// be included in the string output. The member name will be present, but the
34115// value will be replaced with "sensitive".
34116func (s SegmentCondition) String() string {
34117	return awsutil.Prettify(s)
34118}
34119
34120// GoString returns the string representation.
34121//
34122// API parameter values that are decorated as "sensitive" in the API will not
34123// be included in the string output. The member name will be present, but the
34124// value will be replaced with "sensitive".
34125func (s SegmentCondition) GoString() string {
34126	return s.String()
34127}
34128
34129// Validate inspects the fields of the type to determine if they are valid.
34130func (s *SegmentCondition) Validate() error {
34131	invalidParams := request.ErrInvalidParams{Context: "SegmentCondition"}
34132	if s.SegmentId == nil {
34133		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
34134	}
34135
34136	if invalidParams.Len() > 0 {
34137		return invalidParams
34138	}
34139	return nil
34140}
34141
34142// SetSegmentId sets the SegmentId field's value.
34143func (s *SegmentCondition) SetSegmentId(v string) *SegmentCondition {
34144	s.SegmentId = &v
34145	return s
34146}
34147
34148// Specifies demographic-based dimension settings for including or excluding
34149// endpoints from a segment. These settings derive from characteristics of endpoint
34150// devices, such as platform, make, and model.
34151type SegmentDemographics struct {
34152	_ struct{} `type:"structure"`
34153
34154	// The app version criteria for the segment.
34155	AppVersion *SetDimension `type:"structure"`
34156
34157	// The channel criteria for the segment.
34158	Channel *SetDimension `type:"structure"`
34159
34160	// The device type criteria for the segment.
34161	DeviceType *SetDimension `type:"structure"`
34162
34163	// The device make criteria for the segment.
34164	Make *SetDimension `type:"structure"`
34165
34166	// The device model criteria for the segment.
34167	Model *SetDimension `type:"structure"`
34168
34169	// The device platform criteria for the segment.
34170	Platform *SetDimension `type:"structure"`
34171}
34172
34173// String returns the string representation.
34174//
34175// API parameter values that are decorated as "sensitive" in the API will not
34176// be included in the string output. The member name will be present, but the
34177// value will be replaced with "sensitive".
34178func (s SegmentDemographics) String() string {
34179	return awsutil.Prettify(s)
34180}
34181
34182// GoString returns the string representation.
34183//
34184// API parameter values that are decorated as "sensitive" in the API will not
34185// be included in the string output. The member name will be present, but the
34186// value will be replaced with "sensitive".
34187func (s SegmentDemographics) GoString() string {
34188	return s.String()
34189}
34190
34191// Validate inspects the fields of the type to determine if they are valid.
34192func (s *SegmentDemographics) Validate() error {
34193	invalidParams := request.ErrInvalidParams{Context: "SegmentDemographics"}
34194	if s.AppVersion != nil {
34195		if err := s.AppVersion.Validate(); err != nil {
34196			invalidParams.AddNested("AppVersion", err.(request.ErrInvalidParams))
34197		}
34198	}
34199	if s.Channel != nil {
34200		if err := s.Channel.Validate(); err != nil {
34201			invalidParams.AddNested("Channel", err.(request.ErrInvalidParams))
34202		}
34203	}
34204	if s.DeviceType != nil {
34205		if err := s.DeviceType.Validate(); err != nil {
34206			invalidParams.AddNested("DeviceType", err.(request.ErrInvalidParams))
34207		}
34208	}
34209	if s.Make != nil {
34210		if err := s.Make.Validate(); err != nil {
34211			invalidParams.AddNested("Make", err.(request.ErrInvalidParams))
34212		}
34213	}
34214	if s.Model != nil {
34215		if err := s.Model.Validate(); err != nil {
34216			invalidParams.AddNested("Model", err.(request.ErrInvalidParams))
34217		}
34218	}
34219	if s.Platform != nil {
34220		if err := s.Platform.Validate(); err != nil {
34221			invalidParams.AddNested("Platform", err.(request.ErrInvalidParams))
34222		}
34223	}
34224
34225	if invalidParams.Len() > 0 {
34226		return invalidParams
34227	}
34228	return nil
34229}
34230
34231// SetAppVersion sets the AppVersion field's value.
34232func (s *SegmentDemographics) SetAppVersion(v *SetDimension) *SegmentDemographics {
34233	s.AppVersion = v
34234	return s
34235}
34236
34237// SetChannel sets the Channel field's value.
34238func (s *SegmentDemographics) SetChannel(v *SetDimension) *SegmentDemographics {
34239	s.Channel = v
34240	return s
34241}
34242
34243// SetDeviceType sets the DeviceType field's value.
34244func (s *SegmentDemographics) SetDeviceType(v *SetDimension) *SegmentDemographics {
34245	s.DeviceType = v
34246	return s
34247}
34248
34249// SetMake sets the Make field's value.
34250func (s *SegmentDemographics) SetMake(v *SetDimension) *SegmentDemographics {
34251	s.Make = v
34252	return s
34253}
34254
34255// SetModel sets the Model field's value.
34256func (s *SegmentDemographics) SetModel(v *SetDimension) *SegmentDemographics {
34257	s.Model = v
34258	return s
34259}
34260
34261// SetPlatform sets the Platform field's value.
34262func (s *SegmentDemographics) SetPlatform(v *SetDimension) *SegmentDemographics {
34263	s.Platform = v
34264	return s
34265}
34266
34267// Specifies the dimension settings for a segment.
34268type SegmentDimensions struct {
34269	_ struct{} `type:"structure"`
34270
34271	// One or more custom attributes to use as criteria for the segment.
34272	Attributes map[string]*AttributeDimension `type:"map"`
34273
34274	// The behavior-based criteria, such as how recently users have used your app,
34275	// for the segment.
34276	Behavior *SegmentBehaviors `type:"structure"`
34277
34278	// The demographic-based criteria, such as device platform, for the segment.
34279	Demographic *SegmentDemographics `type:"structure"`
34280
34281	// The location-based criteria, such as region or GPS coordinates, for the segment.
34282	Location *SegmentLocation `type:"structure"`
34283
34284	// One or more custom metrics to use as criteria for the segment.
34285	Metrics map[string]*MetricDimension `type:"map"`
34286
34287	// One or more custom user attributes to use as criteria for the segment.
34288	UserAttributes map[string]*AttributeDimension `type:"map"`
34289}
34290
34291// String returns the string representation.
34292//
34293// API parameter values that are decorated as "sensitive" in the API will not
34294// be included in the string output. The member name will be present, but the
34295// value will be replaced with "sensitive".
34296func (s SegmentDimensions) String() string {
34297	return awsutil.Prettify(s)
34298}
34299
34300// GoString returns the string representation.
34301//
34302// API parameter values that are decorated as "sensitive" in the API will not
34303// be included in the string output. The member name will be present, but the
34304// value will be replaced with "sensitive".
34305func (s SegmentDimensions) GoString() string {
34306	return s.String()
34307}
34308
34309// Validate inspects the fields of the type to determine if they are valid.
34310func (s *SegmentDimensions) Validate() error {
34311	invalidParams := request.ErrInvalidParams{Context: "SegmentDimensions"}
34312	if s.Attributes != nil {
34313		for i, v := range s.Attributes {
34314			if v == nil {
34315				continue
34316			}
34317			if err := v.Validate(); err != nil {
34318				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
34319			}
34320		}
34321	}
34322	if s.Behavior != nil {
34323		if err := s.Behavior.Validate(); err != nil {
34324			invalidParams.AddNested("Behavior", err.(request.ErrInvalidParams))
34325		}
34326	}
34327	if s.Demographic != nil {
34328		if err := s.Demographic.Validate(); err != nil {
34329			invalidParams.AddNested("Demographic", err.(request.ErrInvalidParams))
34330		}
34331	}
34332	if s.Location != nil {
34333		if err := s.Location.Validate(); err != nil {
34334			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
34335		}
34336	}
34337	if s.Metrics != nil {
34338		for i, v := range s.Metrics {
34339			if v == nil {
34340				continue
34341			}
34342			if err := v.Validate(); err != nil {
34343				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams))
34344			}
34345		}
34346	}
34347	if s.UserAttributes != nil {
34348		for i, v := range s.UserAttributes {
34349			if v == nil {
34350				continue
34351			}
34352			if err := v.Validate(); err != nil {
34353				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAttributes", i), err.(request.ErrInvalidParams))
34354			}
34355		}
34356	}
34357
34358	if invalidParams.Len() > 0 {
34359		return invalidParams
34360	}
34361	return nil
34362}
34363
34364// SetAttributes sets the Attributes field's value.
34365func (s *SegmentDimensions) SetAttributes(v map[string]*AttributeDimension) *SegmentDimensions {
34366	s.Attributes = v
34367	return s
34368}
34369
34370// SetBehavior sets the Behavior field's value.
34371func (s *SegmentDimensions) SetBehavior(v *SegmentBehaviors) *SegmentDimensions {
34372	s.Behavior = v
34373	return s
34374}
34375
34376// SetDemographic sets the Demographic field's value.
34377func (s *SegmentDimensions) SetDemographic(v *SegmentDemographics) *SegmentDimensions {
34378	s.Demographic = v
34379	return s
34380}
34381
34382// SetLocation sets the Location field's value.
34383func (s *SegmentDimensions) SetLocation(v *SegmentLocation) *SegmentDimensions {
34384	s.Location = v
34385	return s
34386}
34387
34388// SetMetrics sets the Metrics field's value.
34389func (s *SegmentDimensions) SetMetrics(v map[string]*MetricDimension) *SegmentDimensions {
34390	s.Metrics = v
34391	return s
34392}
34393
34394// SetUserAttributes sets the UserAttributes field's value.
34395func (s *SegmentDimensions) SetUserAttributes(v map[string]*AttributeDimension) *SegmentDimensions {
34396	s.UserAttributes = v
34397	return s
34398}
34399
34400// Specifies the base segments and dimensions for a segment, and the relationships
34401// between these base segments and dimensions.
34402type SegmentGroup struct {
34403	_ struct{} `type:"structure"`
34404
34405	// An array that defines the dimensions for the segment.
34406	Dimensions []*SegmentDimensions `type:"list"`
34407
34408	// The base segment to build the segment on. A base segment, also referred to
34409	// as a source segment, defines the initial population of endpoints for a segment.
34410	// When you add dimensions to a segment, Amazon Pinpoint filters the base segment
34411	// by using the dimensions that you specify.
34412	//
34413	// You can specify more than one dimensional segment or only one imported segment.
34414	// If you specify an imported segment, the Amazon Pinpoint console displays
34415	// a segment size estimate that indicates the size of the imported segment without
34416	// any filters applied to it.
34417	SourceSegments []*SegmentReference `type:"list"`
34418
34419	// Specifies how to handle multiple base segments for the segment. For example,
34420	// if you specify three base segments for the segment, whether the resulting
34421	// segment is based on all, any, or none of the base segments.
34422	SourceType *string `type:"string" enum:"SourceType"`
34423
34424	// Specifies how to handle multiple dimensions for the segment. For example,
34425	// if you specify three dimensions for the segment, whether the resulting segment
34426	// includes endpoints that match all, any, or none of the dimensions.
34427	Type *string `type:"string" enum:"Type"`
34428}
34429
34430// String returns the string representation.
34431//
34432// API parameter values that are decorated as "sensitive" in the API will not
34433// be included in the string output. The member name will be present, but the
34434// value will be replaced with "sensitive".
34435func (s SegmentGroup) String() string {
34436	return awsutil.Prettify(s)
34437}
34438
34439// GoString returns the string representation.
34440//
34441// API parameter values that are decorated as "sensitive" in the API will not
34442// be included in the string output. The member name will be present, but the
34443// value will be replaced with "sensitive".
34444func (s SegmentGroup) GoString() string {
34445	return s.String()
34446}
34447
34448// Validate inspects the fields of the type to determine if they are valid.
34449func (s *SegmentGroup) Validate() error {
34450	invalidParams := request.ErrInvalidParams{Context: "SegmentGroup"}
34451	if s.Dimensions != nil {
34452		for i, v := range s.Dimensions {
34453			if v == nil {
34454				continue
34455			}
34456			if err := v.Validate(); err != nil {
34457				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
34458			}
34459		}
34460	}
34461	if s.SourceSegments != nil {
34462		for i, v := range s.SourceSegments {
34463			if v == nil {
34464				continue
34465			}
34466			if err := v.Validate(); err != nil {
34467				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SourceSegments", i), err.(request.ErrInvalidParams))
34468			}
34469		}
34470	}
34471
34472	if invalidParams.Len() > 0 {
34473		return invalidParams
34474	}
34475	return nil
34476}
34477
34478// SetDimensions sets the Dimensions field's value.
34479func (s *SegmentGroup) SetDimensions(v []*SegmentDimensions) *SegmentGroup {
34480	s.Dimensions = v
34481	return s
34482}
34483
34484// SetSourceSegments sets the SourceSegments field's value.
34485func (s *SegmentGroup) SetSourceSegments(v []*SegmentReference) *SegmentGroup {
34486	s.SourceSegments = v
34487	return s
34488}
34489
34490// SetSourceType sets the SourceType field's value.
34491func (s *SegmentGroup) SetSourceType(v string) *SegmentGroup {
34492	s.SourceType = &v
34493	return s
34494}
34495
34496// SetType sets the Type field's value.
34497func (s *SegmentGroup) SetType(v string) *SegmentGroup {
34498	s.Type = &v
34499	return s
34500}
34501
34502// Specifies the settings that define the relationships between segment groups
34503// for a segment.
34504type SegmentGroupList struct {
34505	_ struct{} `type:"structure"`
34506
34507	// An array that defines the set of segment criteria to evaluate when handling
34508	// segment groups for the segment.
34509	Groups []*SegmentGroup `type:"list"`
34510
34511	// Specifies how to handle multiple segment groups for the segment. For example,
34512	// if the segment includes three segment groups, whether the resulting segment
34513	// includes endpoints that match all, any, or none of the segment groups.
34514	Include *string `type:"string" enum:"Include"`
34515}
34516
34517// String returns the string representation.
34518//
34519// API parameter values that are decorated as "sensitive" in the API will not
34520// be included in the string output. The member name will be present, but the
34521// value will be replaced with "sensitive".
34522func (s SegmentGroupList) String() string {
34523	return awsutil.Prettify(s)
34524}
34525
34526// GoString returns the string representation.
34527//
34528// API parameter values that are decorated as "sensitive" in the API will not
34529// be included in the string output. The member name will be present, but the
34530// value will be replaced with "sensitive".
34531func (s SegmentGroupList) GoString() string {
34532	return s.String()
34533}
34534
34535// Validate inspects the fields of the type to determine if they are valid.
34536func (s *SegmentGroupList) Validate() error {
34537	invalidParams := request.ErrInvalidParams{Context: "SegmentGroupList"}
34538	if s.Groups != nil {
34539		for i, v := range s.Groups {
34540			if v == nil {
34541				continue
34542			}
34543			if err := v.Validate(); err != nil {
34544				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Groups", i), err.(request.ErrInvalidParams))
34545			}
34546		}
34547	}
34548
34549	if invalidParams.Len() > 0 {
34550		return invalidParams
34551	}
34552	return nil
34553}
34554
34555// SetGroups sets the Groups field's value.
34556func (s *SegmentGroupList) SetGroups(v []*SegmentGroup) *SegmentGroupList {
34557	s.Groups = v
34558	return s
34559}
34560
34561// SetInclude sets the Include field's value.
34562func (s *SegmentGroupList) SetInclude(v string) *SegmentGroupList {
34563	s.Include = &v
34564	return s
34565}
34566
34567// Provides information about the import job that created a segment. An import
34568// job is a job that creates a user segment by importing endpoint definitions.
34569type SegmentImportResource struct {
34570	_ struct{} `type:"structure"`
34571
34572	// The number of channel types in the endpoint definitions that were imported
34573	// to create the segment.
34574	ChannelCounts map[string]*int64 `type:"map"`
34575
34576	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
34577	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
34578	// an IAM role when importing endpoint definitions, but we removed this requirement.
34579	// We don't recommend use of external IDs for IAM roles that are assumed by
34580	// Amazon Pinpoint.
34581	//
34582	// ExternalId is a required field
34583	ExternalId *string `type:"string" required:"true"`
34584
34585	// The format of the files that were imported to create the segment. Valid values
34586	// are: CSV, for comma-separated values format; and, JSON, for newline-delimited
34587	// JSON format.
34588	//
34589	// Format is a required field
34590	Format *string `type:"string" required:"true" enum:"Format"`
34591
34592	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
34593	// (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location
34594	// to import endpoint definitions from.
34595	//
34596	// RoleArn is a required field
34597	RoleArn *string `type:"string" required:"true"`
34598
34599	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that the
34600	// endpoint definitions were imported from to create the segment.
34601	//
34602	// S3Url is a required field
34603	S3Url *string `type:"string" required:"true"`
34604
34605	// The number of endpoint definitions that were imported successfully to create
34606	// the segment.
34607	//
34608	// Size is a required field
34609	Size *int64 `type:"integer" required:"true"`
34610}
34611
34612// String returns the string representation.
34613//
34614// API parameter values that are decorated as "sensitive" in the API will not
34615// be included in the string output. The member name will be present, but the
34616// value will be replaced with "sensitive".
34617func (s SegmentImportResource) String() string {
34618	return awsutil.Prettify(s)
34619}
34620
34621// GoString returns the string representation.
34622//
34623// API parameter values that are decorated as "sensitive" in the API will not
34624// be included in the string output. The member name will be present, but the
34625// value will be replaced with "sensitive".
34626func (s SegmentImportResource) GoString() string {
34627	return s.String()
34628}
34629
34630// SetChannelCounts sets the ChannelCounts field's value.
34631func (s *SegmentImportResource) SetChannelCounts(v map[string]*int64) *SegmentImportResource {
34632	s.ChannelCounts = v
34633	return s
34634}
34635
34636// SetExternalId sets the ExternalId field's value.
34637func (s *SegmentImportResource) SetExternalId(v string) *SegmentImportResource {
34638	s.ExternalId = &v
34639	return s
34640}
34641
34642// SetFormat sets the Format field's value.
34643func (s *SegmentImportResource) SetFormat(v string) *SegmentImportResource {
34644	s.Format = &v
34645	return s
34646}
34647
34648// SetRoleArn sets the RoleArn field's value.
34649func (s *SegmentImportResource) SetRoleArn(v string) *SegmentImportResource {
34650	s.RoleArn = &v
34651	return s
34652}
34653
34654// SetS3Url sets the S3Url field's value.
34655func (s *SegmentImportResource) SetS3Url(v string) *SegmentImportResource {
34656	s.S3Url = &v
34657	return s
34658}
34659
34660// SetSize sets the Size field's value.
34661func (s *SegmentImportResource) SetSize(v int64) *SegmentImportResource {
34662	s.Size = &v
34663	return s
34664}
34665
34666// Specifies geographical dimension settings for a segment.
34667type SegmentLocation struct {
34668	_ struct{} `type:"structure"`
34669
34670	// The country or region code, in ISO 3166-1 alpha-2 format, for the segment.
34671	Country *SetDimension `type:"structure"`
34672
34673	// The GPS location and range for the segment.
34674	GPSPoint *GPSPointDimension `type:"structure"`
34675}
34676
34677// String returns the string representation.
34678//
34679// API parameter values that are decorated as "sensitive" in the API will not
34680// be included in the string output. The member name will be present, but the
34681// value will be replaced with "sensitive".
34682func (s SegmentLocation) String() string {
34683	return awsutil.Prettify(s)
34684}
34685
34686// GoString returns the string representation.
34687//
34688// API parameter values that are decorated as "sensitive" in the API will not
34689// be included in the string output. The member name will be present, but the
34690// value will be replaced with "sensitive".
34691func (s SegmentLocation) GoString() string {
34692	return s.String()
34693}
34694
34695// Validate inspects the fields of the type to determine if they are valid.
34696func (s *SegmentLocation) Validate() error {
34697	invalidParams := request.ErrInvalidParams{Context: "SegmentLocation"}
34698	if s.Country != nil {
34699		if err := s.Country.Validate(); err != nil {
34700			invalidParams.AddNested("Country", err.(request.ErrInvalidParams))
34701		}
34702	}
34703	if s.GPSPoint != nil {
34704		if err := s.GPSPoint.Validate(); err != nil {
34705			invalidParams.AddNested("GPSPoint", err.(request.ErrInvalidParams))
34706		}
34707	}
34708
34709	if invalidParams.Len() > 0 {
34710		return invalidParams
34711	}
34712	return nil
34713}
34714
34715// SetCountry sets the Country field's value.
34716func (s *SegmentLocation) SetCountry(v *SetDimension) *SegmentLocation {
34717	s.Country = v
34718	return s
34719}
34720
34721// SetGPSPoint sets the GPSPoint field's value.
34722func (s *SegmentLocation) SetGPSPoint(v *GPSPointDimension) *SegmentLocation {
34723	s.GPSPoint = v
34724	return s
34725}
34726
34727// Specifies the segment identifier and version of a segment.
34728type SegmentReference struct {
34729	_ struct{} `type:"structure"`
34730
34731	// The unique identifier for the segment.
34732	//
34733	// Id is a required field
34734	Id *string `type:"string" required:"true"`
34735
34736	// The version number of the segment.
34737	Version *int64 `type:"integer"`
34738}
34739
34740// String returns the string representation.
34741//
34742// API parameter values that are decorated as "sensitive" in the API will not
34743// be included in the string output. The member name will be present, but the
34744// value will be replaced with "sensitive".
34745func (s SegmentReference) String() string {
34746	return awsutil.Prettify(s)
34747}
34748
34749// GoString returns the string representation.
34750//
34751// API parameter values that are decorated as "sensitive" in the API will not
34752// be included in the string output. The member name will be present, but the
34753// value will be replaced with "sensitive".
34754func (s SegmentReference) GoString() string {
34755	return s.String()
34756}
34757
34758// Validate inspects the fields of the type to determine if they are valid.
34759func (s *SegmentReference) Validate() error {
34760	invalidParams := request.ErrInvalidParams{Context: "SegmentReference"}
34761	if s.Id == nil {
34762		invalidParams.Add(request.NewErrParamRequired("Id"))
34763	}
34764
34765	if invalidParams.Len() > 0 {
34766		return invalidParams
34767	}
34768	return nil
34769}
34770
34771// SetId sets the Id field's value.
34772func (s *SegmentReference) SetId(v string) *SegmentReference {
34773	s.Id = &v
34774	return s
34775}
34776
34777// SetVersion sets the Version field's value.
34778func (s *SegmentReference) SetVersion(v int64) *SegmentReference {
34779	s.Version = &v
34780	return s
34781}
34782
34783// Provides information about the configuration, dimension, and other settings
34784// for a segment.
34785type SegmentResponse struct {
34786	_ struct{} `type:"structure"`
34787
34788	// The unique identifier for the application that the segment is associated
34789	// with.
34790	//
34791	// ApplicationId is a required field
34792	ApplicationId *string `type:"string" required:"true"`
34793
34794	// The Amazon Resource Name (ARN) of the segment.
34795	//
34796	// Arn is a required field
34797	Arn *string `type:"string" required:"true"`
34798
34799	// The date and time when the segment was created.
34800	//
34801	// CreationDate is a required field
34802	CreationDate *string `type:"string" required:"true"`
34803
34804	// The dimension settings for the segment.
34805	Dimensions *SegmentDimensions `type:"structure"`
34806
34807	// The unique identifier for the segment.
34808	//
34809	// Id is a required field
34810	Id *string `type:"string" required:"true"`
34811
34812	// The settings for the import job that's associated with the segment.
34813	ImportDefinition *SegmentImportResource `type:"structure"`
34814
34815	// The date and time when the segment was last modified.
34816	LastModifiedDate *string `type:"string"`
34817
34818	// The name of the segment.
34819	Name *string `type:"string"`
34820
34821	// A list of one or more segment groups that apply to the segment. Each segment
34822	// group consists of zero or more base segments and the dimensions that are
34823	// applied to those base segments.
34824	SegmentGroups *SegmentGroupList `type:"structure"`
34825
34826	// The segment type. Valid values are:
34827	//
34828	//    * DIMENSIONAL - A dynamic segment, which is a segment that uses selection
34829	//    criteria that you specify and is based on endpoint data that's reported
34830	//    by your app. Dynamic segments can change over time.
34831	//
34832	//    * IMPORT - A static segment, which is a segment that uses selection criteria
34833	//    that you specify and is based on endpoint definitions that you import
34834	//    from a file. Imported segments are static; they don't change over time.
34835	//
34836	// SegmentType is a required field
34837	SegmentType *string `type:"string" required:"true" enum:"SegmentType"`
34838
34839	// A string-to-string map of key-value pairs that identifies the tags that are
34840	// associated with the segment. Each tag consists of a required tag key and
34841	// an associated tag value.
34842	Tags map[string]*string `locationName:"tags" type:"map"`
34843
34844	// The version number of the segment.
34845	Version *int64 `type:"integer"`
34846}
34847
34848// String returns the string representation.
34849//
34850// API parameter values that are decorated as "sensitive" in the API will not
34851// be included in the string output. The member name will be present, but the
34852// value will be replaced with "sensitive".
34853func (s SegmentResponse) String() string {
34854	return awsutil.Prettify(s)
34855}
34856
34857// GoString returns the string representation.
34858//
34859// API parameter values that are decorated as "sensitive" in the API will not
34860// be included in the string output. The member name will be present, but the
34861// value will be replaced with "sensitive".
34862func (s SegmentResponse) GoString() string {
34863	return s.String()
34864}
34865
34866// SetApplicationId sets the ApplicationId field's value.
34867func (s *SegmentResponse) SetApplicationId(v string) *SegmentResponse {
34868	s.ApplicationId = &v
34869	return s
34870}
34871
34872// SetArn sets the Arn field's value.
34873func (s *SegmentResponse) SetArn(v string) *SegmentResponse {
34874	s.Arn = &v
34875	return s
34876}
34877
34878// SetCreationDate sets the CreationDate field's value.
34879func (s *SegmentResponse) SetCreationDate(v string) *SegmentResponse {
34880	s.CreationDate = &v
34881	return s
34882}
34883
34884// SetDimensions sets the Dimensions field's value.
34885func (s *SegmentResponse) SetDimensions(v *SegmentDimensions) *SegmentResponse {
34886	s.Dimensions = v
34887	return s
34888}
34889
34890// SetId sets the Id field's value.
34891func (s *SegmentResponse) SetId(v string) *SegmentResponse {
34892	s.Id = &v
34893	return s
34894}
34895
34896// SetImportDefinition sets the ImportDefinition field's value.
34897func (s *SegmentResponse) SetImportDefinition(v *SegmentImportResource) *SegmentResponse {
34898	s.ImportDefinition = v
34899	return s
34900}
34901
34902// SetLastModifiedDate sets the LastModifiedDate field's value.
34903func (s *SegmentResponse) SetLastModifiedDate(v string) *SegmentResponse {
34904	s.LastModifiedDate = &v
34905	return s
34906}
34907
34908// SetName sets the Name field's value.
34909func (s *SegmentResponse) SetName(v string) *SegmentResponse {
34910	s.Name = &v
34911	return s
34912}
34913
34914// SetSegmentGroups sets the SegmentGroups field's value.
34915func (s *SegmentResponse) SetSegmentGroups(v *SegmentGroupList) *SegmentResponse {
34916	s.SegmentGroups = v
34917	return s
34918}
34919
34920// SetSegmentType sets the SegmentType field's value.
34921func (s *SegmentResponse) SetSegmentType(v string) *SegmentResponse {
34922	s.SegmentType = &v
34923	return s
34924}
34925
34926// SetTags sets the Tags field's value.
34927func (s *SegmentResponse) SetTags(v map[string]*string) *SegmentResponse {
34928	s.Tags = v
34929	return s
34930}
34931
34932// SetVersion sets the Version field's value.
34933func (s *SegmentResponse) SetVersion(v int64) *SegmentResponse {
34934	s.Version = &v
34935	return s
34936}
34937
34938// Provides information about all the segments that are associated with an application.
34939type SegmentsResponse struct {
34940	_ struct{} `type:"structure"`
34941
34942	// An array of responses, one for each segment that's associated with the application
34943	// (Segments resource) or each version of a segment that's associated with the
34944	// application (Segment Versions resource).
34945	//
34946	// Item is a required field
34947	Item []*SegmentResponse `type:"list" required:"true"`
34948
34949	// The string to use in a subsequent request to get the next page of results
34950	// in a paginated response. This value is null if there are no additional pages.
34951	NextToken *string `type:"string"`
34952}
34953
34954// String returns the string representation.
34955//
34956// API parameter values that are decorated as "sensitive" in the API will not
34957// be included in the string output. The member name will be present, but the
34958// value will be replaced with "sensitive".
34959func (s SegmentsResponse) String() string {
34960	return awsutil.Prettify(s)
34961}
34962
34963// GoString returns the string representation.
34964//
34965// API parameter values that are decorated as "sensitive" in the API will not
34966// be included in the string output. The member name will be present, but the
34967// value will be replaced with "sensitive".
34968func (s SegmentsResponse) GoString() string {
34969	return s.String()
34970}
34971
34972// SetItem sets the Item field's value.
34973func (s *SegmentsResponse) SetItem(v []*SegmentResponse) *SegmentsResponse {
34974	s.Item = v
34975	return s
34976}
34977
34978// SetNextToken sets the NextToken field's value.
34979func (s *SegmentsResponse) SetNextToken(v string) *SegmentsResponse {
34980	s.NextToken = &v
34981	return s
34982}
34983
34984type SendMessagesInput struct {
34985	_ struct{} `type:"structure" payload:"MessageRequest"`
34986
34987	// ApplicationId is a required field
34988	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
34989
34990	// Specifies the configuration and other settings for a message.
34991	//
34992	// MessageRequest is a required field
34993	MessageRequest *MessageRequest `type:"structure" required:"true"`
34994}
34995
34996// String returns the string representation.
34997//
34998// API parameter values that are decorated as "sensitive" in the API will not
34999// be included in the string output. The member name will be present, but the
35000// value will be replaced with "sensitive".
35001func (s SendMessagesInput) String() string {
35002	return awsutil.Prettify(s)
35003}
35004
35005// GoString returns the string representation.
35006//
35007// API parameter values that are decorated as "sensitive" in the API will not
35008// be included in the string output. The member name will be present, but the
35009// value will be replaced with "sensitive".
35010func (s SendMessagesInput) GoString() string {
35011	return s.String()
35012}
35013
35014// Validate inspects the fields of the type to determine if they are valid.
35015func (s *SendMessagesInput) Validate() error {
35016	invalidParams := request.ErrInvalidParams{Context: "SendMessagesInput"}
35017	if s.ApplicationId == nil {
35018		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
35019	}
35020	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
35021		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
35022	}
35023	if s.MessageRequest == nil {
35024		invalidParams.Add(request.NewErrParamRequired("MessageRequest"))
35025	}
35026	if s.MessageRequest != nil {
35027		if err := s.MessageRequest.Validate(); err != nil {
35028			invalidParams.AddNested("MessageRequest", err.(request.ErrInvalidParams))
35029		}
35030	}
35031
35032	if invalidParams.Len() > 0 {
35033		return invalidParams
35034	}
35035	return nil
35036}
35037
35038// SetApplicationId sets the ApplicationId field's value.
35039func (s *SendMessagesInput) SetApplicationId(v string) *SendMessagesInput {
35040	s.ApplicationId = &v
35041	return s
35042}
35043
35044// SetMessageRequest sets the MessageRequest field's value.
35045func (s *SendMessagesInput) SetMessageRequest(v *MessageRequest) *SendMessagesInput {
35046	s.MessageRequest = v
35047	return s
35048}
35049
35050type SendMessagesOutput struct {
35051	_ struct{} `type:"structure" payload:"MessageResponse"`
35052
35053	// Provides information about the results of a request to send a message to
35054	// an endpoint address.
35055	//
35056	// MessageResponse is a required field
35057	MessageResponse *MessageResponse `type:"structure" required:"true"`
35058}
35059
35060// String returns the string representation.
35061//
35062// API parameter values that are decorated as "sensitive" in the API will not
35063// be included in the string output. The member name will be present, but the
35064// value will be replaced with "sensitive".
35065func (s SendMessagesOutput) String() string {
35066	return awsutil.Prettify(s)
35067}
35068
35069// GoString returns the string representation.
35070//
35071// API parameter values that are decorated as "sensitive" in the API will not
35072// be included in the string output. The member name will be present, but the
35073// value will be replaced with "sensitive".
35074func (s SendMessagesOutput) GoString() string {
35075	return s.String()
35076}
35077
35078// SetMessageResponse sets the MessageResponse field's value.
35079func (s *SendMessagesOutput) SetMessageResponse(v *MessageResponse) *SendMessagesOutput {
35080	s.MessageResponse = v
35081	return s
35082}
35083
35084// Specifies the configuration and other settings for a message to send to all
35085// the endpoints that are associated with a list of users.
35086type SendUsersMessageRequest struct {
35087	_ struct{} `type:"structure"`
35088
35089	// A map of custom attribute-value pairs. For a push notification, Amazon Pinpoint
35090	// adds these attributes to the data.pinpoint object in the body of the notification
35091	// payload. Amazon Pinpoint also provides these attributes in the events that
35092	// it generates for users-messages deliveries.
35093	Context map[string]*string `type:"map"`
35094
35095	// The settings and content for the default message and any default messages
35096	// that you defined for specific channels.
35097	//
35098	// MessageConfiguration is a required field
35099	MessageConfiguration *DirectMessageConfiguration `type:"structure" required:"true"`
35100
35101	// The message template to use for the message.
35102	TemplateConfiguration *TemplateConfiguration `type:"structure"`
35103
35104	// The unique identifier for tracing the message. This identifier is visible
35105	// to message recipients.
35106	TraceId *string `type:"string"`
35107
35108	// A map that associates user IDs with EndpointSendConfiguration (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-endpointsendconfiguration)
35109	// objects. You can use an EndpointSendConfiguration (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-endpointsendconfiguration)
35110	// object to tailor the message for a user by specifying settings such as content
35111	// overrides and message variables.
35112	//
35113	// Users is a required field
35114	Users map[string]*EndpointSendConfiguration `type:"map" required:"true"`
35115}
35116
35117// String returns the string representation.
35118//
35119// API parameter values that are decorated as "sensitive" in the API will not
35120// be included in the string output. The member name will be present, but the
35121// value will be replaced with "sensitive".
35122func (s SendUsersMessageRequest) String() string {
35123	return awsutil.Prettify(s)
35124}
35125
35126// GoString returns the string representation.
35127//
35128// API parameter values that are decorated as "sensitive" in the API will not
35129// be included in the string output. The member name will be present, but the
35130// value will be replaced with "sensitive".
35131func (s SendUsersMessageRequest) GoString() string {
35132	return s.String()
35133}
35134
35135// Validate inspects the fields of the type to determine if they are valid.
35136func (s *SendUsersMessageRequest) Validate() error {
35137	invalidParams := request.ErrInvalidParams{Context: "SendUsersMessageRequest"}
35138	if s.MessageConfiguration == nil {
35139		invalidParams.Add(request.NewErrParamRequired("MessageConfiguration"))
35140	}
35141	if s.Users == nil {
35142		invalidParams.Add(request.NewErrParamRequired("Users"))
35143	}
35144
35145	if invalidParams.Len() > 0 {
35146		return invalidParams
35147	}
35148	return nil
35149}
35150
35151// SetContext sets the Context field's value.
35152func (s *SendUsersMessageRequest) SetContext(v map[string]*string) *SendUsersMessageRequest {
35153	s.Context = v
35154	return s
35155}
35156
35157// SetMessageConfiguration sets the MessageConfiguration field's value.
35158func (s *SendUsersMessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) *SendUsersMessageRequest {
35159	s.MessageConfiguration = v
35160	return s
35161}
35162
35163// SetTemplateConfiguration sets the TemplateConfiguration field's value.
35164func (s *SendUsersMessageRequest) SetTemplateConfiguration(v *TemplateConfiguration) *SendUsersMessageRequest {
35165	s.TemplateConfiguration = v
35166	return s
35167}
35168
35169// SetTraceId sets the TraceId field's value.
35170func (s *SendUsersMessageRequest) SetTraceId(v string) *SendUsersMessageRequest {
35171	s.TraceId = &v
35172	return s
35173}
35174
35175// SetUsers sets the Users field's value.
35176func (s *SendUsersMessageRequest) SetUsers(v map[string]*EndpointSendConfiguration) *SendUsersMessageRequest {
35177	s.Users = v
35178	return s
35179}
35180
35181// Provides information about which users and endpoints a message was sent to.
35182type SendUsersMessageResponse struct {
35183	_ struct{} `type:"structure"`
35184
35185	// The unique identifier for the application that was used to send the message.
35186	//
35187	// ApplicationId is a required field
35188	ApplicationId *string `type:"string" required:"true"`
35189
35190	// The unique identifier that was assigned to the message request.
35191	RequestId *string `type:"string"`
35192
35193	// An object that indicates which endpoints the message was sent to, for each
35194	// user. The object lists user IDs and, for each user ID, provides the endpoint
35195	// IDs that the message was sent to. For each endpoint ID, it provides an EndpointMessageResult
35196	// object.
35197	Result map[string]map[string]*EndpointMessageResult `type:"map"`
35198}
35199
35200// String returns the string representation.
35201//
35202// API parameter values that are decorated as "sensitive" in the API will not
35203// be included in the string output. The member name will be present, but the
35204// value will be replaced with "sensitive".
35205func (s SendUsersMessageResponse) String() string {
35206	return awsutil.Prettify(s)
35207}
35208
35209// GoString returns the string representation.
35210//
35211// API parameter values that are decorated as "sensitive" in the API will not
35212// be included in the string output. The member name will be present, but the
35213// value will be replaced with "sensitive".
35214func (s SendUsersMessageResponse) GoString() string {
35215	return s.String()
35216}
35217
35218// SetApplicationId sets the ApplicationId field's value.
35219func (s *SendUsersMessageResponse) SetApplicationId(v string) *SendUsersMessageResponse {
35220	s.ApplicationId = &v
35221	return s
35222}
35223
35224// SetRequestId sets the RequestId field's value.
35225func (s *SendUsersMessageResponse) SetRequestId(v string) *SendUsersMessageResponse {
35226	s.RequestId = &v
35227	return s
35228}
35229
35230// SetResult sets the Result field's value.
35231func (s *SendUsersMessageResponse) SetResult(v map[string]map[string]*EndpointMessageResult) *SendUsersMessageResponse {
35232	s.Result = v
35233	return s
35234}
35235
35236type SendUsersMessagesInput struct {
35237	_ struct{} `type:"structure" payload:"SendUsersMessageRequest"`
35238
35239	// ApplicationId is a required field
35240	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
35241
35242	// Specifies the configuration and other settings for a message to send to all
35243	// the endpoints that are associated with a list of users.
35244	//
35245	// SendUsersMessageRequest is a required field
35246	SendUsersMessageRequest *SendUsersMessageRequest `type:"structure" required:"true"`
35247}
35248
35249// String returns the string representation.
35250//
35251// API parameter values that are decorated as "sensitive" in the API will not
35252// be included in the string output. The member name will be present, but the
35253// value will be replaced with "sensitive".
35254func (s SendUsersMessagesInput) String() string {
35255	return awsutil.Prettify(s)
35256}
35257
35258// GoString returns the string representation.
35259//
35260// API parameter values that are decorated as "sensitive" in the API will not
35261// be included in the string output. The member name will be present, but the
35262// value will be replaced with "sensitive".
35263func (s SendUsersMessagesInput) GoString() string {
35264	return s.String()
35265}
35266
35267// Validate inspects the fields of the type to determine if they are valid.
35268func (s *SendUsersMessagesInput) Validate() error {
35269	invalidParams := request.ErrInvalidParams{Context: "SendUsersMessagesInput"}
35270	if s.ApplicationId == nil {
35271		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
35272	}
35273	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
35274		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
35275	}
35276	if s.SendUsersMessageRequest == nil {
35277		invalidParams.Add(request.NewErrParamRequired("SendUsersMessageRequest"))
35278	}
35279	if s.SendUsersMessageRequest != nil {
35280		if err := s.SendUsersMessageRequest.Validate(); err != nil {
35281			invalidParams.AddNested("SendUsersMessageRequest", err.(request.ErrInvalidParams))
35282		}
35283	}
35284
35285	if invalidParams.Len() > 0 {
35286		return invalidParams
35287	}
35288	return nil
35289}
35290
35291// SetApplicationId sets the ApplicationId field's value.
35292func (s *SendUsersMessagesInput) SetApplicationId(v string) *SendUsersMessagesInput {
35293	s.ApplicationId = &v
35294	return s
35295}
35296
35297// SetSendUsersMessageRequest sets the SendUsersMessageRequest field's value.
35298func (s *SendUsersMessagesInput) SetSendUsersMessageRequest(v *SendUsersMessageRequest) *SendUsersMessagesInput {
35299	s.SendUsersMessageRequest = v
35300	return s
35301}
35302
35303type SendUsersMessagesOutput struct {
35304	_ struct{} `type:"structure" payload:"SendUsersMessageResponse"`
35305
35306	// Provides information about which users and endpoints a message was sent to.
35307	//
35308	// SendUsersMessageResponse is a required field
35309	SendUsersMessageResponse *SendUsersMessageResponse `type:"structure" required:"true"`
35310}
35311
35312// String returns the string representation.
35313//
35314// API parameter values that are decorated as "sensitive" in the API will not
35315// be included in the string output. The member name will be present, but the
35316// value will be replaced with "sensitive".
35317func (s SendUsersMessagesOutput) String() string {
35318	return awsutil.Prettify(s)
35319}
35320
35321// GoString returns the string representation.
35322//
35323// API parameter values that are decorated as "sensitive" in the API will not
35324// be included in the string output. The member name will be present, but the
35325// value will be replaced with "sensitive".
35326func (s SendUsersMessagesOutput) GoString() string {
35327	return s.String()
35328}
35329
35330// SetSendUsersMessageResponse sets the SendUsersMessageResponse field's value.
35331func (s *SendUsersMessagesOutput) SetSendUsersMessageResponse(v *SendUsersMessageResponse) *SendUsersMessagesOutput {
35332	s.SendUsersMessageResponse = v
35333	return s
35334}
35335
35336// Provides information about a session.
35337type Session struct {
35338	_ struct{} `type:"structure"`
35339
35340	// The duration of the session, in milliseconds.
35341	Duration *int64 `type:"integer"`
35342
35343	// The unique identifier for the session.
35344	//
35345	// Id is a required field
35346	Id *string `type:"string" required:"true"`
35347
35348	// The date and time when the session began.
35349	//
35350	// StartTimestamp is a required field
35351	StartTimestamp *string `type:"string" required:"true"`
35352
35353	// The date and time when the session ended.
35354	StopTimestamp *string `type:"string"`
35355}
35356
35357// String returns the string representation.
35358//
35359// API parameter values that are decorated as "sensitive" in the API will not
35360// be included in the string output. The member name will be present, but the
35361// value will be replaced with "sensitive".
35362func (s Session) String() string {
35363	return awsutil.Prettify(s)
35364}
35365
35366// GoString returns the string representation.
35367//
35368// API parameter values that are decorated as "sensitive" in the API will not
35369// be included in the string output. The member name will be present, but the
35370// value will be replaced with "sensitive".
35371func (s Session) GoString() string {
35372	return s.String()
35373}
35374
35375// Validate inspects the fields of the type to determine if they are valid.
35376func (s *Session) Validate() error {
35377	invalidParams := request.ErrInvalidParams{Context: "Session"}
35378	if s.Id == nil {
35379		invalidParams.Add(request.NewErrParamRequired("Id"))
35380	}
35381	if s.StartTimestamp == nil {
35382		invalidParams.Add(request.NewErrParamRequired("StartTimestamp"))
35383	}
35384
35385	if invalidParams.Len() > 0 {
35386		return invalidParams
35387	}
35388	return nil
35389}
35390
35391// SetDuration sets the Duration field's value.
35392func (s *Session) SetDuration(v int64) *Session {
35393	s.Duration = &v
35394	return s
35395}
35396
35397// SetId sets the Id field's value.
35398func (s *Session) SetId(v string) *Session {
35399	s.Id = &v
35400	return s
35401}
35402
35403// SetStartTimestamp sets the StartTimestamp field's value.
35404func (s *Session) SetStartTimestamp(v string) *Session {
35405	s.StartTimestamp = &v
35406	return s
35407}
35408
35409// SetStopTimestamp sets the StopTimestamp field's value.
35410func (s *Session) SetStopTimestamp(v string) *Session {
35411	s.StopTimestamp = &v
35412	return s
35413}
35414
35415// Specifies the dimension type and values for a segment dimension.
35416type SetDimension struct {
35417	_ struct{} `type:"structure"`
35418
35419	// The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints
35420	// that match the criteria are included in the segment; and, EXCLUSIVE, endpoints
35421	// that match the criteria are excluded from the segment.
35422	DimensionType *string `type:"string" enum:"DimensionType"`
35423
35424	// The criteria values to use for the segment dimension. Depending on the value
35425	// of the DimensionType property, endpoints are included or excluded from the
35426	// segment if their values match the criteria values.
35427	//
35428	// Values is a required field
35429	Values []*string `type:"list" required:"true"`
35430}
35431
35432// String returns the string representation.
35433//
35434// API parameter values that are decorated as "sensitive" in the API will not
35435// be included in the string output. The member name will be present, but the
35436// value will be replaced with "sensitive".
35437func (s SetDimension) String() string {
35438	return awsutil.Prettify(s)
35439}
35440
35441// GoString returns the string representation.
35442//
35443// API parameter values that are decorated as "sensitive" in the API will not
35444// be included in the string output. The member name will be present, but the
35445// value will be replaced with "sensitive".
35446func (s SetDimension) GoString() string {
35447	return s.String()
35448}
35449
35450// Validate inspects the fields of the type to determine if they are valid.
35451func (s *SetDimension) Validate() error {
35452	invalidParams := request.ErrInvalidParams{Context: "SetDimension"}
35453	if s.Values == nil {
35454		invalidParams.Add(request.NewErrParamRequired("Values"))
35455	}
35456
35457	if invalidParams.Len() > 0 {
35458		return invalidParams
35459	}
35460	return nil
35461}
35462
35463// SetDimensionType sets the DimensionType field's value.
35464func (s *SetDimension) SetDimensionType(v string) *SetDimension {
35465	s.DimensionType = &v
35466	return s
35467}
35468
35469// SetValues sets the Values field's value.
35470func (s *SetDimension) SetValues(v []*string) *SetDimension {
35471	s.Values = v
35472	return s
35473}
35474
35475// Specifies a condition to evaluate for an activity in a journey.
35476type SimpleCondition struct {
35477	_ struct{} `type:"structure"`
35478
35479	// The dimension settings for the event that's associated with the activity.
35480	EventCondition *EventCondition `type:"structure"`
35481
35482	// The segment that's associated with the activity.
35483	SegmentCondition *SegmentCondition `type:"structure"`
35484
35485	// The dimension settings for the segment that's associated with the activity.
35486	SegmentDimensions *SegmentDimensions `locationName:"segmentDimensions" type:"structure"`
35487}
35488
35489// String returns the string representation.
35490//
35491// API parameter values that are decorated as "sensitive" in the API will not
35492// be included in the string output. The member name will be present, but the
35493// value will be replaced with "sensitive".
35494func (s SimpleCondition) String() string {
35495	return awsutil.Prettify(s)
35496}
35497
35498// GoString returns the string representation.
35499//
35500// API parameter values that are decorated as "sensitive" in the API will not
35501// be included in the string output. The member name will be present, but the
35502// value will be replaced with "sensitive".
35503func (s SimpleCondition) GoString() string {
35504	return s.String()
35505}
35506
35507// Validate inspects the fields of the type to determine if they are valid.
35508func (s *SimpleCondition) Validate() error {
35509	invalidParams := request.ErrInvalidParams{Context: "SimpleCondition"}
35510	if s.EventCondition != nil {
35511		if err := s.EventCondition.Validate(); err != nil {
35512			invalidParams.AddNested("EventCondition", err.(request.ErrInvalidParams))
35513		}
35514	}
35515	if s.SegmentCondition != nil {
35516		if err := s.SegmentCondition.Validate(); err != nil {
35517			invalidParams.AddNested("SegmentCondition", err.(request.ErrInvalidParams))
35518		}
35519	}
35520	if s.SegmentDimensions != nil {
35521		if err := s.SegmentDimensions.Validate(); err != nil {
35522			invalidParams.AddNested("SegmentDimensions", err.(request.ErrInvalidParams))
35523		}
35524	}
35525
35526	if invalidParams.Len() > 0 {
35527		return invalidParams
35528	}
35529	return nil
35530}
35531
35532// SetEventCondition sets the EventCondition field's value.
35533func (s *SimpleCondition) SetEventCondition(v *EventCondition) *SimpleCondition {
35534	s.EventCondition = v
35535	return s
35536}
35537
35538// SetSegmentCondition sets the SegmentCondition field's value.
35539func (s *SimpleCondition) SetSegmentCondition(v *SegmentCondition) *SimpleCondition {
35540	s.SegmentCondition = v
35541	return s
35542}
35543
35544// SetSegmentDimensions sets the SegmentDimensions field's value.
35545func (s *SimpleCondition) SetSegmentDimensions(v *SegmentDimensions) *SimpleCondition {
35546	s.SegmentDimensions = v
35547	return s
35548}
35549
35550// Specifies the contents of an email message, composed of a subject, a text
35551// part, and an HTML part.
35552type SimpleEmail struct {
35553	_ struct{} `type:"structure"`
35554
35555	// The body of the email message, in HTML format. We recommend using HTML format
35556	// for email clients that render HTML content. You can include links, formatted
35557	// text, and more in an HTML message.
35558	HtmlPart *SimpleEmailPart `type:"structure"`
35559
35560	// The subject line, or title, of the email.
35561	Subject *SimpleEmailPart `type:"structure"`
35562
35563	// The body of the email message, in plain text format. We recommend using plain
35564	// text format for email clients that don't render HTML content and clients
35565	// that are connected to high-latency networks, such as mobile devices.
35566	TextPart *SimpleEmailPart `type:"structure"`
35567}
35568
35569// String returns the string representation.
35570//
35571// API parameter values that are decorated as "sensitive" in the API will not
35572// be included in the string output. The member name will be present, but the
35573// value will be replaced with "sensitive".
35574func (s SimpleEmail) String() string {
35575	return awsutil.Prettify(s)
35576}
35577
35578// GoString returns the string representation.
35579//
35580// API parameter values that are decorated as "sensitive" in the API will not
35581// be included in the string output. The member name will be present, but the
35582// value will be replaced with "sensitive".
35583func (s SimpleEmail) GoString() string {
35584	return s.String()
35585}
35586
35587// SetHtmlPart sets the HtmlPart field's value.
35588func (s *SimpleEmail) SetHtmlPart(v *SimpleEmailPart) *SimpleEmail {
35589	s.HtmlPart = v
35590	return s
35591}
35592
35593// SetSubject sets the Subject field's value.
35594func (s *SimpleEmail) SetSubject(v *SimpleEmailPart) *SimpleEmail {
35595	s.Subject = v
35596	return s
35597}
35598
35599// SetTextPart sets the TextPart field's value.
35600func (s *SimpleEmail) SetTextPart(v *SimpleEmailPart) *SimpleEmail {
35601	s.TextPart = v
35602	return s
35603}
35604
35605// Specifies the subject or body of an email message, represented as textual
35606// email data and the applicable character set.
35607type SimpleEmailPart struct {
35608	_ struct{} `type:"structure"`
35609
35610	// The applicable character set for the message content.
35611	Charset *string `type:"string"`
35612
35613	// The textual data of the message content.
35614	Data *string `type:"string"`
35615}
35616
35617// String returns the string representation.
35618//
35619// API parameter values that are decorated as "sensitive" in the API will not
35620// be included in the string output. The member name will be present, but the
35621// value will be replaced with "sensitive".
35622func (s SimpleEmailPart) String() string {
35623	return awsutil.Prettify(s)
35624}
35625
35626// GoString returns the string representation.
35627//
35628// API parameter values that are decorated as "sensitive" in the API will not
35629// be included in the string output. The member name will be present, but the
35630// value will be replaced with "sensitive".
35631func (s SimpleEmailPart) GoString() string {
35632	return s.String()
35633}
35634
35635// SetCharset sets the Charset field's value.
35636func (s *SimpleEmailPart) SetCharset(v string) *SimpleEmailPart {
35637	s.Charset = &v
35638	return s
35639}
35640
35641// SetData sets the Data field's value.
35642func (s *SimpleEmailPart) SetData(v string) *SimpleEmailPart {
35643	s.Data = &v
35644	return s
35645}
35646
35647// Specifies the conditions for the first activity in a journey. This activity
35648// and its conditions determine which users are participants in a journey.
35649type StartCondition struct {
35650	_ struct{} `type:"structure"`
35651
35652	// The custom description of the condition.
35653	Description *string `type:"string"`
35654
35655	// Specifies the settings for an event that causes a journey activity to start.
35656	EventStartCondition *EventStartCondition `type:"structure"`
35657
35658	// The segment that's associated with the first activity in the journey. This
35659	// segment determines which users are participants in the journey.
35660	SegmentStartCondition *SegmentCondition `type:"structure"`
35661}
35662
35663// String returns the string representation.
35664//
35665// API parameter values that are decorated as "sensitive" in the API will not
35666// be included in the string output. The member name will be present, but the
35667// value will be replaced with "sensitive".
35668func (s StartCondition) String() string {
35669	return awsutil.Prettify(s)
35670}
35671
35672// GoString returns the string representation.
35673//
35674// API parameter values that are decorated as "sensitive" in the API will not
35675// be included in the string output. The member name will be present, but the
35676// value will be replaced with "sensitive".
35677func (s StartCondition) GoString() string {
35678	return s.String()
35679}
35680
35681// Validate inspects the fields of the type to determine if they are valid.
35682func (s *StartCondition) Validate() error {
35683	invalidParams := request.ErrInvalidParams{Context: "StartCondition"}
35684	if s.EventStartCondition != nil {
35685		if err := s.EventStartCondition.Validate(); err != nil {
35686			invalidParams.AddNested("EventStartCondition", err.(request.ErrInvalidParams))
35687		}
35688	}
35689	if s.SegmentStartCondition != nil {
35690		if err := s.SegmentStartCondition.Validate(); err != nil {
35691			invalidParams.AddNested("SegmentStartCondition", err.(request.ErrInvalidParams))
35692		}
35693	}
35694
35695	if invalidParams.Len() > 0 {
35696		return invalidParams
35697	}
35698	return nil
35699}
35700
35701// SetDescription sets the Description field's value.
35702func (s *StartCondition) SetDescription(v string) *StartCondition {
35703	s.Description = &v
35704	return s
35705}
35706
35707// SetEventStartCondition sets the EventStartCondition field's value.
35708func (s *StartCondition) SetEventStartCondition(v *EventStartCondition) *StartCondition {
35709	s.EventStartCondition = v
35710	return s
35711}
35712
35713// SetSegmentStartCondition sets the SegmentStartCondition field's value.
35714func (s *StartCondition) SetSegmentStartCondition(v *SegmentCondition) *StartCondition {
35715	s.SegmentStartCondition = v
35716	return s
35717}
35718
35719type TagResourceInput struct {
35720	_ struct{} `type:"structure" payload:"TagsModel"`
35721
35722	// ResourceArn is a required field
35723	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
35724
35725	// Specifies the tags (keys and values) for an application, campaign, message
35726	// template, or segment.
35727	//
35728	// TagsModel is a required field
35729	TagsModel *TagsModel `type:"structure" required:"true"`
35730}
35731
35732// String returns the string representation.
35733//
35734// API parameter values that are decorated as "sensitive" in the API will not
35735// be included in the string output. The member name will be present, but the
35736// value will be replaced with "sensitive".
35737func (s TagResourceInput) String() string {
35738	return awsutil.Prettify(s)
35739}
35740
35741// GoString returns the string representation.
35742//
35743// API parameter values that are decorated as "sensitive" in the API will not
35744// be included in the string output. The member name will be present, but the
35745// value will be replaced with "sensitive".
35746func (s TagResourceInput) GoString() string {
35747	return s.String()
35748}
35749
35750// Validate inspects the fields of the type to determine if they are valid.
35751func (s *TagResourceInput) Validate() error {
35752	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
35753	if s.ResourceArn == nil {
35754		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
35755	}
35756	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
35757		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
35758	}
35759	if s.TagsModel == nil {
35760		invalidParams.Add(request.NewErrParamRequired("TagsModel"))
35761	}
35762	if s.TagsModel != nil {
35763		if err := s.TagsModel.Validate(); err != nil {
35764			invalidParams.AddNested("TagsModel", err.(request.ErrInvalidParams))
35765		}
35766	}
35767
35768	if invalidParams.Len() > 0 {
35769		return invalidParams
35770	}
35771	return nil
35772}
35773
35774// SetResourceArn sets the ResourceArn field's value.
35775func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
35776	s.ResourceArn = &v
35777	return s
35778}
35779
35780// SetTagsModel sets the TagsModel field's value.
35781func (s *TagResourceInput) SetTagsModel(v *TagsModel) *TagResourceInput {
35782	s.TagsModel = v
35783	return s
35784}
35785
35786type TagResourceOutput struct {
35787	_ struct{} `type:"structure"`
35788}
35789
35790// String returns the string representation.
35791//
35792// API parameter values that are decorated as "sensitive" in the API will not
35793// be included in the string output. The member name will be present, but the
35794// value will be replaced with "sensitive".
35795func (s TagResourceOutput) String() string {
35796	return awsutil.Prettify(s)
35797}
35798
35799// GoString returns the string representation.
35800//
35801// API parameter values that are decorated as "sensitive" in the API will not
35802// be included in the string output. The member name will be present, but the
35803// value will be replaced with "sensitive".
35804func (s TagResourceOutput) GoString() string {
35805	return s.String()
35806}
35807
35808// Specifies the tags (keys and values) for an application, campaign, message
35809// template, or segment.
35810type TagsModel struct {
35811	_ struct{} `type:"structure"`
35812
35813	// A string-to-string map of key-value pairs that defines the tags for an application,
35814	// campaign, message template, or segment. Each of these resources can have
35815	// a maximum of 50 tags.
35816	//
35817	// Each tag consists of a required tag key and an associated tag value. The
35818	// maximum length of a tag key is 128 characters. The maximum length of a tag
35819	// value is 256 characters.
35820	//
35821	// Tags is a required field
35822	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
35823}
35824
35825// String returns the string representation.
35826//
35827// API parameter values that are decorated as "sensitive" in the API will not
35828// be included in the string output. The member name will be present, but the
35829// value will be replaced with "sensitive".
35830func (s TagsModel) String() string {
35831	return awsutil.Prettify(s)
35832}
35833
35834// GoString returns the string representation.
35835//
35836// API parameter values that are decorated as "sensitive" in the API will not
35837// be included in the string output. The member name will be present, but the
35838// value will be replaced with "sensitive".
35839func (s TagsModel) GoString() string {
35840	return s.String()
35841}
35842
35843// Validate inspects the fields of the type to determine if they are valid.
35844func (s *TagsModel) Validate() error {
35845	invalidParams := request.ErrInvalidParams{Context: "TagsModel"}
35846	if s.Tags == nil {
35847		invalidParams.Add(request.NewErrParamRequired("Tags"))
35848	}
35849
35850	if invalidParams.Len() > 0 {
35851		return invalidParams
35852	}
35853	return nil
35854}
35855
35856// SetTags sets the Tags field's value.
35857func (s *TagsModel) SetTags(v map[string]*string) *TagsModel {
35858	s.Tags = v
35859	return s
35860}
35861
35862// Specifies the name and version of the message template to use for the message.
35863type Template struct {
35864	_ struct{} `type:"structure"`
35865
35866	// The name of the message template to use for the message. If specified, this
35867	// value must match the name of an existing message template.
35868	Name *string `type:"string"`
35869
35870	// The unique identifier for the version of the message template to use for
35871	// the message. If specified, this value must match the identifier for an existing
35872	// template version. To retrieve a list of versions and version identifiers
35873	// for a template, use the Template Versions resource.
35874	//
35875	// If you don't specify a value for this property, Amazon Pinpoint uses the
35876	// active version of the template. The active version is typically the version
35877	// of a template that's been most recently reviewed and approved for use, depending
35878	// on your workflow. It isn't necessarily the latest version of a template.
35879	Version *string `type:"string"`
35880}
35881
35882// String returns the string representation.
35883//
35884// API parameter values that are decorated as "sensitive" in the API will not
35885// be included in the string output. The member name will be present, but the
35886// value will be replaced with "sensitive".
35887func (s Template) String() string {
35888	return awsutil.Prettify(s)
35889}
35890
35891// GoString returns the string representation.
35892//
35893// API parameter values that are decorated as "sensitive" in the API will not
35894// be included in the string output. The member name will be present, but the
35895// value will be replaced with "sensitive".
35896func (s Template) GoString() string {
35897	return s.String()
35898}
35899
35900// SetName sets the Name field's value.
35901func (s *Template) SetName(v string) *Template {
35902	s.Name = &v
35903	return s
35904}
35905
35906// SetVersion sets the Version field's value.
35907func (s *Template) SetVersion(v string) *Template {
35908	s.Version = &v
35909	return s
35910}
35911
35912// Specifies which version of a message template to use as the active version
35913// of the template.
35914type TemplateActiveVersionRequest struct {
35915	_ struct{} `type:"structure"`
35916
35917	// The version of the message template to use as the active version of the template.
35918	// Valid values are: latest, for the most recent version of the template; or,
35919	// the unique identifier for any existing version of the template. If you specify
35920	// an identifier, the value must match the identifier for an existing template
35921	// version. To retrieve a list of versions and version identifiers for a template,
35922	// use the Template Versions resource.
35923	Version *string `type:"string"`
35924}
35925
35926// String returns the string representation.
35927//
35928// API parameter values that are decorated as "sensitive" in the API will not
35929// be included in the string output. The member name will be present, but the
35930// value will be replaced with "sensitive".
35931func (s TemplateActiveVersionRequest) String() string {
35932	return awsutil.Prettify(s)
35933}
35934
35935// GoString returns the string representation.
35936//
35937// API parameter values that are decorated as "sensitive" in the API will not
35938// be included in the string output. The member name will be present, but the
35939// value will be replaced with "sensitive".
35940func (s TemplateActiveVersionRequest) GoString() string {
35941	return s.String()
35942}
35943
35944// SetVersion sets the Version field's value.
35945func (s *TemplateActiveVersionRequest) SetVersion(v string) *TemplateActiveVersionRequest {
35946	s.Version = &v
35947	return s
35948}
35949
35950// Specifies the message template to use for the message, for each type of channel.
35951type TemplateConfiguration struct {
35952	_ struct{} `type:"structure"`
35953
35954	// The email template to use for the message.
35955	EmailTemplate *Template `type:"structure"`
35956
35957	// The push notification template to use for the message.
35958	PushTemplate *Template `type:"structure"`
35959
35960	// The SMS template to use for the message.
35961	SMSTemplate *Template `type:"structure"`
35962
35963	// The voice template to use for the message. This object isn't supported for
35964	// campaigns.
35965	VoiceTemplate *Template `type:"structure"`
35966}
35967
35968// String returns the string representation.
35969//
35970// API parameter values that are decorated as "sensitive" in the API will not
35971// be included in the string output. The member name will be present, but the
35972// value will be replaced with "sensitive".
35973func (s TemplateConfiguration) String() string {
35974	return awsutil.Prettify(s)
35975}
35976
35977// GoString returns the string representation.
35978//
35979// API parameter values that are decorated as "sensitive" in the API will not
35980// be included in the string output. The member name will be present, but the
35981// value will be replaced with "sensitive".
35982func (s TemplateConfiguration) GoString() string {
35983	return s.String()
35984}
35985
35986// SetEmailTemplate sets the EmailTemplate field's value.
35987func (s *TemplateConfiguration) SetEmailTemplate(v *Template) *TemplateConfiguration {
35988	s.EmailTemplate = v
35989	return s
35990}
35991
35992// SetPushTemplate sets the PushTemplate field's value.
35993func (s *TemplateConfiguration) SetPushTemplate(v *Template) *TemplateConfiguration {
35994	s.PushTemplate = v
35995	return s
35996}
35997
35998// SetSMSTemplate sets the SMSTemplate field's value.
35999func (s *TemplateConfiguration) SetSMSTemplate(v *Template) *TemplateConfiguration {
36000	s.SMSTemplate = v
36001	return s
36002}
36003
36004// SetVoiceTemplate sets the VoiceTemplate field's value.
36005func (s *TemplateConfiguration) SetVoiceTemplate(v *Template) *TemplateConfiguration {
36006	s.VoiceTemplate = v
36007	return s
36008}
36009
36010// Provides information about a request to create a message template.
36011type TemplateCreateMessageBody struct {
36012	_ struct{} `type:"structure"`
36013
36014	// The Amazon Resource Name (ARN) of the message template that was created.
36015	Arn *string `type:"string"`
36016
36017	// The message that's returned from the API for the request to create the message
36018	// template.
36019	Message *string `type:"string"`
36020
36021	// The unique identifier for the request to create the message template.
36022	RequestID *string `type:"string"`
36023}
36024
36025// String returns the string representation.
36026//
36027// API parameter values that are decorated as "sensitive" in the API will not
36028// be included in the string output. The member name will be present, but the
36029// value will be replaced with "sensitive".
36030func (s TemplateCreateMessageBody) String() string {
36031	return awsutil.Prettify(s)
36032}
36033
36034// GoString returns the string representation.
36035//
36036// API parameter values that are decorated as "sensitive" in the API will not
36037// be included in the string output. The member name will be present, but the
36038// value will be replaced with "sensitive".
36039func (s TemplateCreateMessageBody) GoString() string {
36040	return s.String()
36041}
36042
36043// SetArn sets the Arn field's value.
36044func (s *TemplateCreateMessageBody) SetArn(v string) *TemplateCreateMessageBody {
36045	s.Arn = &v
36046	return s
36047}
36048
36049// SetMessage sets the Message field's value.
36050func (s *TemplateCreateMessageBody) SetMessage(v string) *TemplateCreateMessageBody {
36051	s.Message = &v
36052	return s
36053}
36054
36055// SetRequestID sets the RequestID field's value.
36056func (s *TemplateCreateMessageBody) SetRequestID(v string) *TemplateCreateMessageBody {
36057	s.RequestID = &v
36058	return s
36059}
36060
36061// Provides information about a message template that's associated with your
36062// Amazon Pinpoint account.
36063type TemplateResponse struct {
36064	_ struct{} `type:"structure"`
36065
36066	// The Amazon Resource Name (ARN) of the message template. This value isn't
36067	// included in a TemplateResponse object. To retrieve the ARN of a template,
36068	// use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
36069	// operation, depending on the type of template that you want to retrieve the
36070	// ARN for.
36071	Arn *string `type:"string"`
36072
36073	// The date, in ISO 8601 format, when the message template was created.
36074	//
36075	// CreationDate is a required field
36076	CreationDate *string `type:"string" required:"true"`
36077
36078	// The JSON object that specifies the default values that are used for message
36079	// variables in the message template. This object isn't included in a TemplateResponse
36080	// object. To retrieve this object for a template, use the GetEmailTemplate,
36081	// GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending
36082	// on the type of template that you want to retrieve the object for.
36083	DefaultSubstitutions *string `type:"string"`
36084
36085	// The date, in ISO 8601 format, when the message template was last modified.
36086	//
36087	// LastModifiedDate is a required field
36088	LastModifiedDate *string `type:"string" required:"true"`
36089
36090	// A map of key-value pairs that identifies the tags that are associated with
36091	// the message template. This object isn't included in a TemplateResponse object.
36092	// To retrieve this object for a template, use the GetEmailTemplate, GetPushTemplate,
36093	// GetSmsTemplate, or GetVoiceTemplate operation, depending on the type of template
36094	// that you want to retrieve the object for.
36095	Tags map[string]*string `locationName:"tags" type:"map"`
36096
36097	// The custom description of the message template. This value isn't included
36098	// in a TemplateResponse object. To retrieve the description of a template,
36099	// use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
36100	// operation, depending on the type of template that you want to retrieve the
36101	// description for.
36102	TemplateDescription *string `type:"string"`
36103
36104	// The name of the message template.
36105	//
36106	// TemplateName is a required field
36107	TemplateName *string `type:"string" required:"true"`
36108
36109	// The type of channel that the message template is designed for. Possible values
36110	// are: EMAIL, PUSH, SMS, and VOICE.
36111	//
36112	// TemplateType is a required field
36113	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
36114
36115	// The unique identifier, as an integer, for the active version of the message
36116	// template.
36117	Version *string `type:"string"`
36118}
36119
36120// String returns the string representation.
36121//
36122// API parameter values that are decorated as "sensitive" in the API will not
36123// be included in the string output. The member name will be present, but the
36124// value will be replaced with "sensitive".
36125func (s TemplateResponse) String() string {
36126	return awsutil.Prettify(s)
36127}
36128
36129// GoString returns the string representation.
36130//
36131// API parameter values that are decorated as "sensitive" in the API will not
36132// be included in the string output. The member name will be present, but the
36133// value will be replaced with "sensitive".
36134func (s TemplateResponse) GoString() string {
36135	return s.String()
36136}
36137
36138// SetArn sets the Arn field's value.
36139func (s *TemplateResponse) SetArn(v string) *TemplateResponse {
36140	s.Arn = &v
36141	return s
36142}
36143
36144// SetCreationDate sets the CreationDate field's value.
36145func (s *TemplateResponse) SetCreationDate(v string) *TemplateResponse {
36146	s.CreationDate = &v
36147	return s
36148}
36149
36150// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
36151func (s *TemplateResponse) SetDefaultSubstitutions(v string) *TemplateResponse {
36152	s.DefaultSubstitutions = &v
36153	return s
36154}
36155
36156// SetLastModifiedDate sets the LastModifiedDate field's value.
36157func (s *TemplateResponse) SetLastModifiedDate(v string) *TemplateResponse {
36158	s.LastModifiedDate = &v
36159	return s
36160}
36161
36162// SetTags sets the Tags field's value.
36163func (s *TemplateResponse) SetTags(v map[string]*string) *TemplateResponse {
36164	s.Tags = v
36165	return s
36166}
36167
36168// SetTemplateDescription sets the TemplateDescription field's value.
36169func (s *TemplateResponse) SetTemplateDescription(v string) *TemplateResponse {
36170	s.TemplateDescription = &v
36171	return s
36172}
36173
36174// SetTemplateName sets the TemplateName field's value.
36175func (s *TemplateResponse) SetTemplateName(v string) *TemplateResponse {
36176	s.TemplateName = &v
36177	return s
36178}
36179
36180// SetTemplateType sets the TemplateType field's value.
36181func (s *TemplateResponse) SetTemplateType(v string) *TemplateResponse {
36182	s.TemplateType = &v
36183	return s
36184}
36185
36186// SetVersion sets the Version field's value.
36187func (s *TemplateResponse) SetVersion(v string) *TemplateResponse {
36188	s.Version = &v
36189	return s
36190}
36191
36192// Provides information about a specific version of a message template.
36193type TemplateVersionResponse struct {
36194	_ struct{} `type:"structure"`
36195
36196	// The date, in ISO 8601 format, when the version of the message template was
36197	// created.
36198	//
36199	// CreationDate is a required field
36200	CreationDate *string `type:"string" required:"true"`
36201
36202	// A JSON object that specifies the default values that are used for message
36203	// variables in the version of the message template. This object is a set of
36204	// key-value pairs. Each key defines a message variable in the template. The
36205	// corresponding value defines the default value for that variable.
36206	DefaultSubstitutions *string `type:"string"`
36207
36208	// The date, in ISO 8601 format, when the version of the message template was
36209	// last modified.
36210	//
36211	// LastModifiedDate is a required field
36212	LastModifiedDate *string `type:"string" required:"true"`
36213
36214	// The custom description of the version of the message template.
36215	TemplateDescription *string `type:"string"`
36216
36217	// The name of the message template.
36218	//
36219	// TemplateName is a required field
36220	TemplateName *string `type:"string" required:"true"`
36221
36222	// The type of channel that the message template is designed for. Possible values
36223	// are: EMAIL, PUSH, SMS, and VOICE.
36224	//
36225	// TemplateType is a required field
36226	TemplateType *string `type:"string" required:"true"`
36227
36228	// The unique identifier for the version of the message template. This value
36229	// is an integer that Amazon Pinpoint automatically increments and assigns to
36230	// each new version of a template.
36231	Version *string `type:"string"`
36232}
36233
36234// String returns the string representation.
36235//
36236// API parameter values that are decorated as "sensitive" in the API will not
36237// be included in the string output. The member name will be present, but the
36238// value will be replaced with "sensitive".
36239func (s TemplateVersionResponse) String() string {
36240	return awsutil.Prettify(s)
36241}
36242
36243// GoString returns the string representation.
36244//
36245// API parameter values that are decorated as "sensitive" in the API will not
36246// be included in the string output. The member name will be present, but the
36247// value will be replaced with "sensitive".
36248func (s TemplateVersionResponse) GoString() string {
36249	return s.String()
36250}
36251
36252// SetCreationDate sets the CreationDate field's value.
36253func (s *TemplateVersionResponse) SetCreationDate(v string) *TemplateVersionResponse {
36254	s.CreationDate = &v
36255	return s
36256}
36257
36258// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
36259func (s *TemplateVersionResponse) SetDefaultSubstitutions(v string) *TemplateVersionResponse {
36260	s.DefaultSubstitutions = &v
36261	return s
36262}
36263
36264// SetLastModifiedDate sets the LastModifiedDate field's value.
36265func (s *TemplateVersionResponse) SetLastModifiedDate(v string) *TemplateVersionResponse {
36266	s.LastModifiedDate = &v
36267	return s
36268}
36269
36270// SetTemplateDescription sets the TemplateDescription field's value.
36271func (s *TemplateVersionResponse) SetTemplateDescription(v string) *TemplateVersionResponse {
36272	s.TemplateDescription = &v
36273	return s
36274}
36275
36276// SetTemplateName sets the TemplateName field's value.
36277func (s *TemplateVersionResponse) SetTemplateName(v string) *TemplateVersionResponse {
36278	s.TemplateName = &v
36279	return s
36280}
36281
36282// SetTemplateType sets the TemplateType field's value.
36283func (s *TemplateVersionResponse) SetTemplateType(v string) *TemplateVersionResponse {
36284	s.TemplateType = &v
36285	return s
36286}
36287
36288// SetVersion sets the Version field's value.
36289func (s *TemplateVersionResponse) SetVersion(v string) *TemplateVersionResponse {
36290	s.Version = &v
36291	return s
36292}
36293
36294// Provides information about all the versions of a specific message template.
36295type TemplateVersionsResponse struct {
36296	_ struct{} `type:"structure"`
36297
36298	// An array of responses, one for each version of the message template.
36299	//
36300	// Item is a required field
36301	Item []*TemplateVersionResponse `type:"list" required:"true"`
36302
36303	// The message that's returned from the API for the request to retrieve information
36304	// about all the versions of the message template.
36305	Message *string `type:"string"`
36306
36307	// The string to use in a subsequent request to get the next page of results
36308	// in a paginated response. This value is null if there are no additional pages.
36309	NextToken *string `type:"string"`
36310
36311	// The unique identifier for the request to retrieve information about all the
36312	// versions of the message template.
36313	RequestID *string `type:"string"`
36314}
36315
36316// String returns the string representation.
36317//
36318// API parameter values that are decorated as "sensitive" in the API will not
36319// be included in the string output. The member name will be present, but the
36320// value will be replaced with "sensitive".
36321func (s TemplateVersionsResponse) String() string {
36322	return awsutil.Prettify(s)
36323}
36324
36325// GoString returns the string representation.
36326//
36327// API parameter values that are decorated as "sensitive" in the API will not
36328// be included in the string output. The member name will be present, but the
36329// value will be replaced with "sensitive".
36330func (s TemplateVersionsResponse) GoString() string {
36331	return s.String()
36332}
36333
36334// SetItem sets the Item field's value.
36335func (s *TemplateVersionsResponse) SetItem(v []*TemplateVersionResponse) *TemplateVersionsResponse {
36336	s.Item = v
36337	return s
36338}
36339
36340// SetMessage sets the Message field's value.
36341func (s *TemplateVersionsResponse) SetMessage(v string) *TemplateVersionsResponse {
36342	s.Message = &v
36343	return s
36344}
36345
36346// SetNextToken sets the NextToken field's value.
36347func (s *TemplateVersionsResponse) SetNextToken(v string) *TemplateVersionsResponse {
36348	s.NextToken = &v
36349	return s
36350}
36351
36352// SetRequestID sets the RequestID field's value.
36353func (s *TemplateVersionsResponse) SetRequestID(v string) *TemplateVersionsResponse {
36354	s.RequestID = &v
36355	return s
36356}
36357
36358// Provides information about all the message templates that are associated
36359// with your Amazon Pinpoint account.
36360type TemplatesResponse struct {
36361	_ struct{} `type:"structure"`
36362
36363	// An array of responses, one for each message template that's associated with
36364	// your Amazon Pinpoint account and meets any filter criteria that you specified
36365	// in the request.
36366	//
36367	// Item is a required field
36368	Item []*TemplateResponse `type:"list" required:"true"`
36369
36370	// The string to use in a subsequent request to get the next page of results
36371	// in a paginated response. This value is null if there are no additional pages.
36372	NextToken *string `type:"string"`
36373}
36374
36375// String returns the string representation.
36376//
36377// API parameter values that are decorated as "sensitive" in the API will not
36378// be included in the string output. The member name will be present, but the
36379// value will be replaced with "sensitive".
36380func (s TemplatesResponse) String() string {
36381	return awsutil.Prettify(s)
36382}
36383
36384// GoString returns the string representation.
36385//
36386// API parameter values that are decorated as "sensitive" in the API will not
36387// be included in the string output. The member name will be present, but the
36388// value will be replaced with "sensitive".
36389func (s TemplatesResponse) GoString() string {
36390	return s.String()
36391}
36392
36393// SetItem sets the Item field's value.
36394func (s *TemplatesResponse) SetItem(v []*TemplateResponse) *TemplatesResponse {
36395	s.Item = v
36396	return s
36397}
36398
36399// SetNextToken sets the NextToken field's value.
36400func (s *TemplatesResponse) SetNextToken(v string) *TemplatesResponse {
36401	s.NextToken = &v
36402	return s
36403}
36404
36405// Provides information about an API request or response.
36406type TooManyRequestsException struct {
36407	_            struct{}                  `type:"structure"`
36408	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36409
36410	Message_ *string `locationName:"Message" type:"string"`
36411
36412	RequestID_ *string `locationName:"RequestID" type:"string"`
36413}
36414
36415// String returns the string representation.
36416//
36417// API parameter values that are decorated as "sensitive" in the API will not
36418// be included in the string output. The member name will be present, but the
36419// value will be replaced with "sensitive".
36420func (s TooManyRequestsException) String() string {
36421	return awsutil.Prettify(s)
36422}
36423
36424// GoString returns the string representation.
36425//
36426// API parameter values that are decorated as "sensitive" in the API will not
36427// be included in the string output. The member name will be present, but the
36428// value will be replaced with "sensitive".
36429func (s TooManyRequestsException) GoString() string {
36430	return s.String()
36431}
36432
36433func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
36434	return &TooManyRequestsException{
36435		RespMetadata: v,
36436	}
36437}
36438
36439// Code returns the exception type name.
36440func (s *TooManyRequestsException) Code() string {
36441	return "TooManyRequestsException"
36442}
36443
36444// Message returns the exception's message.
36445func (s *TooManyRequestsException) Message() string {
36446	if s.Message_ != nil {
36447		return *s.Message_
36448	}
36449	return ""
36450}
36451
36452// OrigErr always returns nil, satisfies awserr.Error interface.
36453func (s *TooManyRequestsException) OrigErr() error {
36454	return nil
36455}
36456
36457func (s *TooManyRequestsException) Error() string {
36458	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
36459}
36460
36461// Status code returns the HTTP status code for the request's response error.
36462func (s *TooManyRequestsException) StatusCode() int {
36463	return s.RespMetadata.StatusCode
36464}
36465
36466// RequestID returns the service's response RequestID for request.
36467func (s *TooManyRequestsException) RequestID() string {
36468	return s.RespMetadata.RequestID
36469}
36470
36471// Specifies the settings for a campaign treatment. A treatment is a variation
36472// of a campaign that's used for A/B testing of a campaign.
36473type TreatmentResource struct {
36474	_ struct{} `type:"structure"`
36475
36476	// The delivery configuration settings for sending the treatment through a custom
36477	// channel. This object is required if the MessageConfiguration object for the
36478	// treatment specifies a CustomMessage object.
36479	CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"`
36480
36481	// The unique identifier for the treatment.
36482	//
36483	// Id is a required field
36484	Id *string `type:"string" required:"true"`
36485
36486	// The message configuration settings for the treatment.
36487	MessageConfiguration *MessageConfiguration `type:"structure"`
36488
36489	// The schedule settings for the treatment.
36490	Schedule *Schedule `type:"structure"`
36491
36492	// The allocated percentage of users (segment members) that the treatment is
36493	// sent to.
36494	//
36495	// SizePercent is a required field
36496	SizePercent *int64 `type:"integer" required:"true"`
36497
36498	// The current status of the treatment.
36499	State *CampaignState `type:"structure"`
36500
36501	// The message template to use for the treatment.
36502	TemplateConfiguration *TemplateConfiguration `type:"structure"`
36503
36504	// The custom description of the treatment.
36505	TreatmentDescription *string `type:"string"`
36506
36507	// The custom name of the treatment.
36508	TreatmentName *string `type:"string"`
36509}
36510
36511// String returns the string representation.
36512//
36513// API parameter values that are decorated as "sensitive" in the API will not
36514// be included in the string output. The member name will be present, but the
36515// value will be replaced with "sensitive".
36516func (s TreatmentResource) String() string {
36517	return awsutil.Prettify(s)
36518}
36519
36520// GoString returns the string representation.
36521//
36522// API parameter values that are decorated as "sensitive" in the API will not
36523// be included in the string output. The member name will be present, but the
36524// value will be replaced with "sensitive".
36525func (s TreatmentResource) GoString() string {
36526	return s.String()
36527}
36528
36529// SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value.
36530func (s *TreatmentResource) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *TreatmentResource {
36531	s.CustomDeliveryConfiguration = v
36532	return s
36533}
36534
36535// SetId sets the Id field's value.
36536func (s *TreatmentResource) SetId(v string) *TreatmentResource {
36537	s.Id = &v
36538	return s
36539}
36540
36541// SetMessageConfiguration sets the MessageConfiguration field's value.
36542func (s *TreatmentResource) SetMessageConfiguration(v *MessageConfiguration) *TreatmentResource {
36543	s.MessageConfiguration = v
36544	return s
36545}
36546
36547// SetSchedule sets the Schedule field's value.
36548func (s *TreatmentResource) SetSchedule(v *Schedule) *TreatmentResource {
36549	s.Schedule = v
36550	return s
36551}
36552
36553// SetSizePercent sets the SizePercent field's value.
36554func (s *TreatmentResource) SetSizePercent(v int64) *TreatmentResource {
36555	s.SizePercent = &v
36556	return s
36557}
36558
36559// SetState sets the State field's value.
36560func (s *TreatmentResource) SetState(v *CampaignState) *TreatmentResource {
36561	s.State = v
36562	return s
36563}
36564
36565// SetTemplateConfiguration sets the TemplateConfiguration field's value.
36566func (s *TreatmentResource) SetTemplateConfiguration(v *TemplateConfiguration) *TreatmentResource {
36567	s.TemplateConfiguration = v
36568	return s
36569}
36570
36571// SetTreatmentDescription sets the TreatmentDescription field's value.
36572func (s *TreatmentResource) SetTreatmentDescription(v string) *TreatmentResource {
36573	s.TreatmentDescription = &v
36574	return s
36575}
36576
36577// SetTreatmentName sets the TreatmentName field's value.
36578func (s *TreatmentResource) SetTreatmentName(v string) *TreatmentResource {
36579	s.TreatmentName = &v
36580	return s
36581}
36582
36583type UntagResourceInput struct {
36584	_ struct{} `type:"structure" nopayload:"true"`
36585
36586	// ResourceArn is a required field
36587	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
36588
36589	// TagKeys is a required field
36590	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
36591}
36592
36593// String returns the string representation.
36594//
36595// API parameter values that are decorated as "sensitive" in the API will not
36596// be included in the string output. The member name will be present, but the
36597// value will be replaced with "sensitive".
36598func (s UntagResourceInput) String() string {
36599	return awsutil.Prettify(s)
36600}
36601
36602// GoString returns the string representation.
36603//
36604// API parameter values that are decorated as "sensitive" in the API will not
36605// be included in the string output. The member name will be present, but the
36606// value will be replaced with "sensitive".
36607func (s UntagResourceInput) GoString() string {
36608	return s.String()
36609}
36610
36611// Validate inspects the fields of the type to determine if they are valid.
36612func (s *UntagResourceInput) Validate() error {
36613	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
36614	if s.ResourceArn == nil {
36615		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
36616	}
36617	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
36618		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
36619	}
36620	if s.TagKeys == nil {
36621		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
36622	}
36623
36624	if invalidParams.Len() > 0 {
36625		return invalidParams
36626	}
36627	return nil
36628}
36629
36630// SetResourceArn sets the ResourceArn field's value.
36631func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
36632	s.ResourceArn = &v
36633	return s
36634}
36635
36636// SetTagKeys sets the TagKeys field's value.
36637func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
36638	s.TagKeys = v
36639	return s
36640}
36641
36642type UntagResourceOutput struct {
36643	_ struct{} `type:"structure"`
36644}
36645
36646// String returns the string representation.
36647//
36648// API parameter values that are decorated as "sensitive" in the API will not
36649// be included in the string output. The member name will be present, but the
36650// value will be replaced with "sensitive".
36651func (s UntagResourceOutput) String() string {
36652	return awsutil.Prettify(s)
36653}
36654
36655// GoString returns the string representation.
36656//
36657// API parameter values that are decorated as "sensitive" in the API will not
36658// be included in the string output. The member name will be present, but the
36659// value will be replaced with "sensitive".
36660func (s UntagResourceOutput) GoString() string {
36661	return s.String()
36662}
36663
36664type UpdateAdmChannelInput struct {
36665	_ struct{} `type:"structure" payload:"ADMChannelRequest"`
36666
36667	// Specifies the status and settings of the ADM (Amazon Device Messaging) channel
36668	// for an application.
36669	//
36670	// ADMChannelRequest is a required field
36671	ADMChannelRequest *ADMChannelRequest `type:"structure" required:"true"`
36672
36673	// ApplicationId is a required field
36674	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
36675}
36676
36677// String returns the string representation.
36678//
36679// API parameter values that are decorated as "sensitive" in the API will not
36680// be included in the string output. The member name will be present, but the
36681// value will be replaced with "sensitive".
36682func (s UpdateAdmChannelInput) String() string {
36683	return awsutil.Prettify(s)
36684}
36685
36686// GoString returns the string representation.
36687//
36688// API parameter values that are decorated as "sensitive" in the API will not
36689// be included in the string output. The member name will be present, but the
36690// value will be replaced with "sensitive".
36691func (s UpdateAdmChannelInput) GoString() string {
36692	return s.String()
36693}
36694
36695// Validate inspects the fields of the type to determine if they are valid.
36696func (s *UpdateAdmChannelInput) Validate() error {
36697	invalidParams := request.ErrInvalidParams{Context: "UpdateAdmChannelInput"}
36698	if s.ADMChannelRequest == nil {
36699		invalidParams.Add(request.NewErrParamRequired("ADMChannelRequest"))
36700	}
36701	if s.ApplicationId == nil {
36702		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
36703	}
36704	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
36705		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
36706	}
36707	if s.ADMChannelRequest != nil {
36708		if err := s.ADMChannelRequest.Validate(); err != nil {
36709			invalidParams.AddNested("ADMChannelRequest", err.(request.ErrInvalidParams))
36710		}
36711	}
36712
36713	if invalidParams.Len() > 0 {
36714		return invalidParams
36715	}
36716	return nil
36717}
36718
36719// SetADMChannelRequest sets the ADMChannelRequest field's value.
36720func (s *UpdateAdmChannelInput) SetADMChannelRequest(v *ADMChannelRequest) *UpdateAdmChannelInput {
36721	s.ADMChannelRequest = v
36722	return s
36723}
36724
36725// SetApplicationId sets the ApplicationId field's value.
36726func (s *UpdateAdmChannelInput) SetApplicationId(v string) *UpdateAdmChannelInput {
36727	s.ApplicationId = &v
36728	return s
36729}
36730
36731type UpdateAdmChannelOutput struct {
36732	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
36733
36734	// Provides information about the status and settings of the ADM (Amazon Device
36735	// Messaging) channel for an application.
36736	//
36737	// ADMChannelResponse is a required field
36738	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
36739}
36740
36741// String returns the string representation.
36742//
36743// API parameter values that are decorated as "sensitive" in the API will not
36744// be included in the string output. The member name will be present, but the
36745// value will be replaced with "sensitive".
36746func (s UpdateAdmChannelOutput) String() string {
36747	return awsutil.Prettify(s)
36748}
36749
36750// GoString returns the string representation.
36751//
36752// API parameter values that are decorated as "sensitive" in the API will not
36753// be included in the string output. The member name will be present, but the
36754// value will be replaced with "sensitive".
36755func (s UpdateAdmChannelOutput) GoString() string {
36756	return s.String()
36757}
36758
36759// SetADMChannelResponse sets the ADMChannelResponse field's value.
36760func (s *UpdateAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *UpdateAdmChannelOutput {
36761	s.ADMChannelResponse = v
36762	return s
36763}
36764
36765type UpdateApnsChannelInput struct {
36766	_ struct{} `type:"structure" payload:"APNSChannelRequest"`
36767
36768	// Specifies the status and settings of the APNs (Apple Push Notification service)
36769	// channel for an application.
36770	//
36771	// APNSChannelRequest is a required field
36772	APNSChannelRequest *APNSChannelRequest `type:"structure" required:"true"`
36773
36774	// ApplicationId is a required field
36775	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
36776}
36777
36778// String returns the string representation.
36779//
36780// API parameter values that are decorated as "sensitive" in the API will not
36781// be included in the string output. The member name will be present, but the
36782// value will be replaced with "sensitive".
36783func (s UpdateApnsChannelInput) String() string {
36784	return awsutil.Prettify(s)
36785}
36786
36787// GoString returns the string representation.
36788//
36789// API parameter values that are decorated as "sensitive" in the API will not
36790// be included in the string output. The member name will be present, but the
36791// value will be replaced with "sensitive".
36792func (s UpdateApnsChannelInput) GoString() string {
36793	return s.String()
36794}
36795
36796// Validate inspects the fields of the type to determine if they are valid.
36797func (s *UpdateApnsChannelInput) Validate() error {
36798	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsChannelInput"}
36799	if s.APNSChannelRequest == nil {
36800		invalidParams.Add(request.NewErrParamRequired("APNSChannelRequest"))
36801	}
36802	if s.ApplicationId == nil {
36803		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
36804	}
36805	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
36806		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
36807	}
36808
36809	if invalidParams.Len() > 0 {
36810		return invalidParams
36811	}
36812	return nil
36813}
36814
36815// SetAPNSChannelRequest sets the APNSChannelRequest field's value.
36816func (s *UpdateApnsChannelInput) SetAPNSChannelRequest(v *APNSChannelRequest) *UpdateApnsChannelInput {
36817	s.APNSChannelRequest = v
36818	return s
36819}
36820
36821// SetApplicationId sets the ApplicationId field's value.
36822func (s *UpdateApnsChannelInput) SetApplicationId(v string) *UpdateApnsChannelInput {
36823	s.ApplicationId = &v
36824	return s
36825}
36826
36827type UpdateApnsChannelOutput struct {
36828	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
36829
36830	// Provides information about the status and settings of the APNs (Apple Push
36831	// Notification service) channel for an application.
36832	//
36833	// APNSChannelResponse is a required field
36834	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
36835}
36836
36837// String returns the string representation.
36838//
36839// API parameter values that are decorated as "sensitive" in the API will not
36840// be included in the string output. The member name will be present, but the
36841// value will be replaced with "sensitive".
36842func (s UpdateApnsChannelOutput) String() string {
36843	return awsutil.Prettify(s)
36844}
36845
36846// GoString returns the string representation.
36847//
36848// API parameter values that are decorated as "sensitive" in the API will not
36849// be included in the string output. The member name will be present, but the
36850// value will be replaced with "sensitive".
36851func (s UpdateApnsChannelOutput) GoString() string {
36852	return s.String()
36853}
36854
36855// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
36856func (s *UpdateApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *UpdateApnsChannelOutput {
36857	s.APNSChannelResponse = v
36858	return s
36859}
36860
36861type UpdateApnsSandboxChannelInput struct {
36862	_ struct{} `type:"structure" payload:"APNSSandboxChannelRequest"`
36863
36864	// Specifies the status and settings of the APNs (Apple Push Notification service)
36865	// sandbox channel for an application.
36866	//
36867	// APNSSandboxChannelRequest is a required field
36868	APNSSandboxChannelRequest *APNSSandboxChannelRequest `type:"structure" required:"true"`
36869
36870	// ApplicationId is a required field
36871	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
36872}
36873
36874// String returns the string representation.
36875//
36876// API parameter values that are decorated as "sensitive" in the API will not
36877// be included in the string output. The member name will be present, but the
36878// value will be replaced with "sensitive".
36879func (s UpdateApnsSandboxChannelInput) String() string {
36880	return awsutil.Prettify(s)
36881}
36882
36883// GoString returns the string representation.
36884//
36885// API parameter values that are decorated as "sensitive" in the API will not
36886// be included in the string output. The member name will be present, but the
36887// value will be replaced with "sensitive".
36888func (s UpdateApnsSandboxChannelInput) GoString() string {
36889	return s.String()
36890}
36891
36892// Validate inspects the fields of the type to determine if they are valid.
36893func (s *UpdateApnsSandboxChannelInput) Validate() error {
36894	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsSandboxChannelInput"}
36895	if s.APNSSandboxChannelRequest == nil {
36896		invalidParams.Add(request.NewErrParamRequired("APNSSandboxChannelRequest"))
36897	}
36898	if s.ApplicationId == nil {
36899		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
36900	}
36901	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
36902		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
36903	}
36904
36905	if invalidParams.Len() > 0 {
36906		return invalidParams
36907	}
36908	return nil
36909}
36910
36911// SetAPNSSandboxChannelRequest sets the APNSSandboxChannelRequest field's value.
36912func (s *UpdateApnsSandboxChannelInput) SetAPNSSandboxChannelRequest(v *APNSSandboxChannelRequest) *UpdateApnsSandboxChannelInput {
36913	s.APNSSandboxChannelRequest = v
36914	return s
36915}
36916
36917// SetApplicationId sets the ApplicationId field's value.
36918func (s *UpdateApnsSandboxChannelInput) SetApplicationId(v string) *UpdateApnsSandboxChannelInput {
36919	s.ApplicationId = &v
36920	return s
36921}
36922
36923type UpdateApnsSandboxChannelOutput struct {
36924	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
36925
36926	// Provides information about the status and settings of the APNs (Apple Push
36927	// Notification service) sandbox channel for an application.
36928	//
36929	// APNSSandboxChannelResponse is a required field
36930	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
36931}
36932
36933// String returns the string representation.
36934//
36935// API parameter values that are decorated as "sensitive" in the API will not
36936// be included in the string output. The member name will be present, but the
36937// value will be replaced with "sensitive".
36938func (s UpdateApnsSandboxChannelOutput) String() string {
36939	return awsutil.Prettify(s)
36940}
36941
36942// GoString returns the string representation.
36943//
36944// API parameter values that are decorated as "sensitive" in the API will not
36945// be included in the string output. The member name will be present, but the
36946// value will be replaced with "sensitive".
36947func (s UpdateApnsSandboxChannelOutput) GoString() string {
36948	return s.String()
36949}
36950
36951// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
36952func (s *UpdateApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *UpdateApnsSandboxChannelOutput {
36953	s.APNSSandboxChannelResponse = v
36954	return s
36955}
36956
36957type UpdateApnsVoipChannelInput struct {
36958	_ struct{} `type:"structure" payload:"APNSVoipChannelRequest"`
36959
36960	// Specifies the status and settings of the APNs (Apple Push Notification service)
36961	// VoIP channel for an application.
36962	//
36963	// APNSVoipChannelRequest is a required field
36964	APNSVoipChannelRequest *APNSVoipChannelRequest `type:"structure" required:"true"`
36965
36966	// ApplicationId is a required field
36967	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
36968}
36969
36970// String returns the string representation.
36971//
36972// API parameter values that are decorated as "sensitive" in the API will not
36973// be included in the string output. The member name will be present, but the
36974// value will be replaced with "sensitive".
36975func (s UpdateApnsVoipChannelInput) String() string {
36976	return awsutil.Prettify(s)
36977}
36978
36979// GoString returns the string representation.
36980//
36981// API parameter values that are decorated as "sensitive" in the API will not
36982// be included in the string output. The member name will be present, but the
36983// value will be replaced with "sensitive".
36984func (s UpdateApnsVoipChannelInput) GoString() string {
36985	return s.String()
36986}
36987
36988// Validate inspects the fields of the type to determine if they are valid.
36989func (s *UpdateApnsVoipChannelInput) Validate() error {
36990	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsVoipChannelInput"}
36991	if s.APNSVoipChannelRequest == nil {
36992		invalidParams.Add(request.NewErrParamRequired("APNSVoipChannelRequest"))
36993	}
36994	if s.ApplicationId == nil {
36995		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
36996	}
36997	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
36998		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
36999	}
37000
37001	if invalidParams.Len() > 0 {
37002		return invalidParams
37003	}
37004	return nil
37005}
37006
37007// SetAPNSVoipChannelRequest sets the APNSVoipChannelRequest field's value.
37008func (s *UpdateApnsVoipChannelInput) SetAPNSVoipChannelRequest(v *APNSVoipChannelRequest) *UpdateApnsVoipChannelInput {
37009	s.APNSVoipChannelRequest = v
37010	return s
37011}
37012
37013// SetApplicationId sets the ApplicationId field's value.
37014func (s *UpdateApnsVoipChannelInput) SetApplicationId(v string) *UpdateApnsVoipChannelInput {
37015	s.ApplicationId = &v
37016	return s
37017}
37018
37019type UpdateApnsVoipChannelOutput struct {
37020	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
37021
37022	// Provides information about the status and settings of the APNs (Apple Push
37023	// Notification service) VoIP channel for an application.
37024	//
37025	// APNSVoipChannelResponse is a required field
37026	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
37027}
37028
37029// String returns the string representation.
37030//
37031// API parameter values that are decorated as "sensitive" in the API will not
37032// be included in the string output. The member name will be present, but the
37033// value will be replaced with "sensitive".
37034func (s UpdateApnsVoipChannelOutput) String() string {
37035	return awsutil.Prettify(s)
37036}
37037
37038// GoString returns the string representation.
37039//
37040// API parameter values that are decorated as "sensitive" in the API will not
37041// be included in the string output. The member name will be present, but the
37042// value will be replaced with "sensitive".
37043func (s UpdateApnsVoipChannelOutput) GoString() string {
37044	return s.String()
37045}
37046
37047// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
37048func (s *UpdateApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *UpdateApnsVoipChannelOutput {
37049	s.APNSVoipChannelResponse = v
37050	return s
37051}
37052
37053type UpdateApnsVoipSandboxChannelInput struct {
37054	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelRequest"`
37055
37056	// Specifies the status and settings of the APNs (Apple Push Notification service)
37057	// VoIP sandbox channel for an application.
37058	//
37059	// APNSVoipSandboxChannelRequest is a required field
37060	APNSVoipSandboxChannelRequest *APNSVoipSandboxChannelRequest `type:"structure" required:"true"`
37061
37062	// ApplicationId is a required field
37063	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
37064}
37065
37066// String returns the string representation.
37067//
37068// API parameter values that are decorated as "sensitive" in the API will not
37069// be included in the string output. The member name will be present, but the
37070// value will be replaced with "sensitive".
37071func (s UpdateApnsVoipSandboxChannelInput) String() string {
37072	return awsutil.Prettify(s)
37073}
37074
37075// GoString returns the string representation.
37076//
37077// API parameter values that are decorated as "sensitive" in the API will not
37078// be included in the string output. The member name will be present, but the
37079// value will be replaced with "sensitive".
37080func (s UpdateApnsVoipSandboxChannelInput) GoString() string {
37081	return s.String()
37082}
37083
37084// Validate inspects the fields of the type to determine if they are valid.
37085func (s *UpdateApnsVoipSandboxChannelInput) Validate() error {
37086	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsVoipSandboxChannelInput"}
37087	if s.APNSVoipSandboxChannelRequest == nil {
37088		invalidParams.Add(request.NewErrParamRequired("APNSVoipSandboxChannelRequest"))
37089	}
37090	if s.ApplicationId == nil {
37091		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
37092	}
37093	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
37094		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
37095	}
37096
37097	if invalidParams.Len() > 0 {
37098		return invalidParams
37099	}
37100	return nil
37101}
37102
37103// SetAPNSVoipSandboxChannelRequest sets the APNSVoipSandboxChannelRequest field's value.
37104func (s *UpdateApnsVoipSandboxChannelInput) SetAPNSVoipSandboxChannelRequest(v *APNSVoipSandboxChannelRequest) *UpdateApnsVoipSandboxChannelInput {
37105	s.APNSVoipSandboxChannelRequest = v
37106	return s
37107}
37108
37109// SetApplicationId sets the ApplicationId field's value.
37110func (s *UpdateApnsVoipSandboxChannelInput) SetApplicationId(v string) *UpdateApnsVoipSandboxChannelInput {
37111	s.ApplicationId = &v
37112	return s
37113}
37114
37115type UpdateApnsVoipSandboxChannelOutput struct {
37116	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
37117
37118	// Provides information about the status and settings of the APNs (Apple Push
37119	// Notification service) VoIP sandbox channel for an application.
37120	//
37121	// APNSVoipSandboxChannelResponse is a required field
37122	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
37123}
37124
37125// String returns the string representation.
37126//
37127// API parameter values that are decorated as "sensitive" in the API will not
37128// be included in the string output. The member name will be present, but the
37129// value will be replaced with "sensitive".
37130func (s UpdateApnsVoipSandboxChannelOutput) String() string {
37131	return awsutil.Prettify(s)
37132}
37133
37134// GoString returns the string representation.
37135//
37136// API parameter values that are decorated as "sensitive" in the API will not
37137// be included in the string output. The member name will be present, but the
37138// value will be replaced with "sensitive".
37139func (s UpdateApnsVoipSandboxChannelOutput) GoString() string {
37140	return s.String()
37141}
37142
37143// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
37144func (s *UpdateApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *UpdateApnsVoipSandboxChannelOutput {
37145	s.APNSVoipSandboxChannelResponse = v
37146	return s
37147}
37148
37149type UpdateApplicationSettingsInput struct {
37150	_ struct{} `type:"structure" payload:"WriteApplicationSettingsRequest"`
37151
37152	// ApplicationId is a required field
37153	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
37154
37155	// Specifies the default settings for an application.
37156	//
37157	// WriteApplicationSettingsRequest is a required field
37158	WriteApplicationSettingsRequest *WriteApplicationSettingsRequest `type:"structure" required:"true"`
37159}
37160
37161// String returns the string representation.
37162//
37163// API parameter values that are decorated as "sensitive" in the API will not
37164// be included in the string output. The member name will be present, but the
37165// value will be replaced with "sensitive".
37166func (s UpdateApplicationSettingsInput) String() string {
37167	return awsutil.Prettify(s)
37168}
37169
37170// GoString returns the string representation.
37171//
37172// API parameter values that are decorated as "sensitive" in the API will not
37173// be included in the string output. The member name will be present, but the
37174// value will be replaced with "sensitive".
37175func (s UpdateApplicationSettingsInput) GoString() string {
37176	return s.String()
37177}
37178
37179// Validate inspects the fields of the type to determine if they are valid.
37180func (s *UpdateApplicationSettingsInput) Validate() error {
37181	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationSettingsInput"}
37182	if s.ApplicationId == nil {
37183		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
37184	}
37185	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
37186		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
37187	}
37188	if s.WriteApplicationSettingsRequest == nil {
37189		invalidParams.Add(request.NewErrParamRequired("WriteApplicationSettingsRequest"))
37190	}
37191
37192	if invalidParams.Len() > 0 {
37193		return invalidParams
37194	}
37195	return nil
37196}
37197
37198// SetApplicationId sets the ApplicationId field's value.
37199func (s *UpdateApplicationSettingsInput) SetApplicationId(v string) *UpdateApplicationSettingsInput {
37200	s.ApplicationId = &v
37201	return s
37202}
37203
37204// SetWriteApplicationSettingsRequest sets the WriteApplicationSettingsRequest field's value.
37205func (s *UpdateApplicationSettingsInput) SetWriteApplicationSettingsRequest(v *WriteApplicationSettingsRequest) *UpdateApplicationSettingsInput {
37206	s.WriteApplicationSettingsRequest = v
37207	return s
37208}
37209
37210type UpdateApplicationSettingsOutput struct {
37211	_ struct{} `type:"structure" payload:"ApplicationSettingsResource"`
37212
37213	// Provides information about an application, including the default settings
37214	// for an application.
37215	//
37216	// ApplicationSettingsResource is a required field
37217	ApplicationSettingsResource *ApplicationSettingsResource `type:"structure" required:"true"`
37218}
37219
37220// String returns the string representation.
37221//
37222// API parameter values that are decorated as "sensitive" in the API will not
37223// be included in the string output. The member name will be present, but the
37224// value will be replaced with "sensitive".
37225func (s UpdateApplicationSettingsOutput) String() string {
37226	return awsutil.Prettify(s)
37227}
37228
37229// GoString returns the string representation.
37230//
37231// API parameter values that are decorated as "sensitive" in the API will not
37232// be included in the string output. The member name will be present, but the
37233// value will be replaced with "sensitive".
37234func (s UpdateApplicationSettingsOutput) GoString() string {
37235	return s.String()
37236}
37237
37238// SetApplicationSettingsResource sets the ApplicationSettingsResource field's value.
37239func (s *UpdateApplicationSettingsOutput) SetApplicationSettingsResource(v *ApplicationSettingsResource) *UpdateApplicationSettingsOutput {
37240	s.ApplicationSettingsResource = v
37241	return s
37242}
37243
37244// Specifies one or more attributes to remove from all the endpoints that are
37245// associated with an application.
37246type UpdateAttributesRequest struct {
37247	_ struct{} `type:"structure"`
37248
37249	// An array of the attributes to remove from all the endpoints that are associated
37250	// with the application. The array can specify the complete, exact name of each
37251	// attribute to remove or it can specify a glob pattern that an attribute name
37252	// must match in order for the attribute to be removed.
37253	Blacklist []*string `type:"list"`
37254}
37255
37256// String returns the string representation.
37257//
37258// API parameter values that are decorated as "sensitive" in the API will not
37259// be included in the string output. The member name will be present, but the
37260// value will be replaced with "sensitive".
37261func (s UpdateAttributesRequest) String() string {
37262	return awsutil.Prettify(s)
37263}
37264
37265// GoString returns the string representation.
37266//
37267// API parameter values that are decorated as "sensitive" in the API will not
37268// be included in the string output. The member name will be present, but the
37269// value will be replaced with "sensitive".
37270func (s UpdateAttributesRequest) GoString() string {
37271	return s.String()
37272}
37273
37274// SetBlacklist sets the Blacklist field's value.
37275func (s *UpdateAttributesRequest) SetBlacklist(v []*string) *UpdateAttributesRequest {
37276	s.Blacklist = v
37277	return s
37278}
37279
37280type UpdateBaiduChannelInput struct {
37281	_ struct{} `type:"structure" payload:"BaiduChannelRequest"`
37282
37283	// ApplicationId is a required field
37284	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
37285
37286	// Specifies the status and settings of the Baidu (Baidu Cloud Push) channel
37287	// for an application.
37288	//
37289	// BaiduChannelRequest is a required field
37290	BaiduChannelRequest *BaiduChannelRequest `type:"structure" required:"true"`
37291}
37292
37293// String returns the string representation.
37294//
37295// API parameter values that are decorated as "sensitive" in the API will not
37296// be included in the string output. The member name will be present, but the
37297// value will be replaced with "sensitive".
37298func (s UpdateBaiduChannelInput) String() string {
37299	return awsutil.Prettify(s)
37300}
37301
37302// GoString returns the string representation.
37303//
37304// API parameter values that are decorated as "sensitive" in the API will not
37305// be included in the string output. The member name will be present, but the
37306// value will be replaced with "sensitive".
37307func (s UpdateBaiduChannelInput) GoString() string {
37308	return s.String()
37309}
37310
37311// Validate inspects the fields of the type to determine if they are valid.
37312func (s *UpdateBaiduChannelInput) Validate() error {
37313	invalidParams := request.ErrInvalidParams{Context: "UpdateBaiduChannelInput"}
37314	if s.ApplicationId == nil {
37315		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
37316	}
37317	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
37318		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
37319	}
37320	if s.BaiduChannelRequest == nil {
37321		invalidParams.Add(request.NewErrParamRequired("BaiduChannelRequest"))
37322	}
37323	if s.BaiduChannelRequest != nil {
37324		if err := s.BaiduChannelRequest.Validate(); err != nil {
37325			invalidParams.AddNested("BaiduChannelRequest", err.(request.ErrInvalidParams))
37326		}
37327	}
37328
37329	if invalidParams.Len() > 0 {
37330		return invalidParams
37331	}
37332	return nil
37333}
37334
37335// SetApplicationId sets the ApplicationId field's value.
37336func (s *UpdateBaiduChannelInput) SetApplicationId(v string) *UpdateBaiduChannelInput {
37337	s.ApplicationId = &v
37338	return s
37339}
37340
37341// SetBaiduChannelRequest sets the BaiduChannelRequest field's value.
37342func (s *UpdateBaiduChannelInput) SetBaiduChannelRequest(v *BaiduChannelRequest) *UpdateBaiduChannelInput {
37343	s.BaiduChannelRequest = v
37344	return s
37345}
37346
37347type UpdateBaiduChannelOutput struct {
37348	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
37349
37350	// Provides information about the status and settings of the Baidu (Baidu Cloud
37351	// Push) channel for an application.
37352	//
37353	// BaiduChannelResponse is a required field
37354	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
37355}
37356
37357// String returns the string representation.
37358//
37359// API parameter values that are decorated as "sensitive" in the API will not
37360// be included in the string output. The member name will be present, but the
37361// value will be replaced with "sensitive".
37362func (s UpdateBaiduChannelOutput) String() string {
37363	return awsutil.Prettify(s)
37364}
37365
37366// GoString returns the string representation.
37367//
37368// API parameter values that are decorated as "sensitive" in the API will not
37369// be included in the string output. The member name will be present, but the
37370// value will be replaced with "sensitive".
37371func (s UpdateBaiduChannelOutput) GoString() string {
37372	return s.String()
37373}
37374
37375// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
37376func (s *UpdateBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *UpdateBaiduChannelOutput {
37377	s.BaiduChannelResponse = v
37378	return s
37379}
37380
37381type UpdateCampaignInput struct {
37382	_ struct{} `type:"structure" payload:"WriteCampaignRequest"`
37383
37384	// ApplicationId is a required field
37385	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
37386
37387	// CampaignId is a required field
37388	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
37389
37390	// Specifies the configuration and other settings for a campaign.
37391	//
37392	// WriteCampaignRequest is a required field
37393	WriteCampaignRequest *WriteCampaignRequest `type:"structure" required:"true"`
37394}
37395
37396// String returns the string representation.
37397//
37398// API parameter values that are decorated as "sensitive" in the API will not
37399// be included in the string output. The member name will be present, but the
37400// value will be replaced with "sensitive".
37401func (s UpdateCampaignInput) String() string {
37402	return awsutil.Prettify(s)
37403}
37404
37405// GoString returns the string representation.
37406//
37407// API parameter values that are decorated as "sensitive" in the API will not
37408// be included in the string output. The member name will be present, but the
37409// value will be replaced with "sensitive".
37410func (s UpdateCampaignInput) GoString() string {
37411	return s.String()
37412}
37413
37414// Validate inspects the fields of the type to determine if they are valid.
37415func (s *UpdateCampaignInput) Validate() error {
37416	invalidParams := request.ErrInvalidParams{Context: "UpdateCampaignInput"}
37417	if s.ApplicationId == nil {
37418		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
37419	}
37420	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
37421		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
37422	}
37423	if s.CampaignId == nil {
37424		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
37425	}
37426	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
37427		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
37428	}
37429	if s.WriteCampaignRequest == nil {
37430		invalidParams.Add(request.NewErrParamRequired("WriteCampaignRequest"))
37431	}
37432	if s.WriteCampaignRequest != nil {
37433		if err := s.WriteCampaignRequest.Validate(); err != nil {
37434			invalidParams.AddNested("WriteCampaignRequest", err.(request.ErrInvalidParams))
37435		}
37436	}
37437
37438	if invalidParams.Len() > 0 {
37439		return invalidParams
37440	}
37441	return nil
37442}
37443
37444// SetApplicationId sets the ApplicationId field's value.
37445func (s *UpdateCampaignInput) SetApplicationId(v string) *UpdateCampaignInput {
37446	s.ApplicationId = &v
37447	return s
37448}
37449
37450// SetCampaignId sets the CampaignId field's value.
37451func (s *UpdateCampaignInput) SetCampaignId(v string) *UpdateCampaignInput {
37452	s.CampaignId = &v
37453	return s
37454}
37455
37456// SetWriteCampaignRequest sets the WriteCampaignRequest field's value.
37457func (s *UpdateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) *UpdateCampaignInput {
37458	s.WriteCampaignRequest = v
37459	return s
37460}
37461
37462type UpdateCampaignOutput struct {
37463	_ struct{} `type:"structure" payload:"CampaignResponse"`
37464
37465	// Provides information about the status, configuration, and other settings
37466	// for a campaign.
37467	//
37468	// CampaignResponse is a required field
37469	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
37470}
37471
37472// String returns the string representation.
37473//
37474// API parameter values that are decorated as "sensitive" in the API will not
37475// be included in the string output. The member name will be present, but the
37476// value will be replaced with "sensitive".
37477func (s UpdateCampaignOutput) String() string {
37478	return awsutil.Prettify(s)
37479}
37480
37481// GoString returns the string representation.
37482//
37483// API parameter values that are decorated as "sensitive" in the API will not
37484// be included in the string output. The member name will be present, but the
37485// value will be replaced with "sensitive".
37486func (s UpdateCampaignOutput) GoString() string {
37487	return s.String()
37488}
37489
37490// SetCampaignResponse sets the CampaignResponse field's value.
37491func (s *UpdateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *UpdateCampaignOutput {
37492	s.CampaignResponse = v
37493	return s
37494}
37495
37496type UpdateEmailChannelInput struct {
37497	_ struct{} `type:"structure" payload:"EmailChannelRequest"`
37498
37499	// ApplicationId is a required field
37500	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
37501
37502	// Specifies the status and settings of the email channel for an application.
37503	//
37504	// EmailChannelRequest is a required field
37505	EmailChannelRequest *EmailChannelRequest `type:"structure" required:"true"`
37506}
37507
37508// String returns the string representation.
37509//
37510// API parameter values that are decorated as "sensitive" in the API will not
37511// be included in the string output. The member name will be present, but the
37512// value will be replaced with "sensitive".
37513func (s UpdateEmailChannelInput) String() string {
37514	return awsutil.Prettify(s)
37515}
37516
37517// GoString returns the string representation.
37518//
37519// API parameter values that are decorated as "sensitive" in the API will not
37520// be included in the string output. The member name will be present, but the
37521// value will be replaced with "sensitive".
37522func (s UpdateEmailChannelInput) GoString() string {
37523	return s.String()
37524}
37525
37526// Validate inspects the fields of the type to determine if they are valid.
37527func (s *UpdateEmailChannelInput) Validate() error {
37528	invalidParams := request.ErrInvalidParams{Context: "UpdateEmailChannelInput"}
37529	if s.ApplicationId == nil {
37530		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
37531	}
37532	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
37533		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
37534	}
37535	if s.EmailChannelRequest == nil {
37536		invalidParams.Add(request.NewErrParamRequired("EmailChannelRequest"))
37537	}
37538	if s.EmailChannelRequest != nil {
37539		if err := s.EmailChannelRequest.Validate(); err != nil {
37540			invalidParams.AddNested("EmailChannelRequest", err.(request.ErrInvalidParams))
37541		}
37542	}
37543
37544	if invalidParams.Len() > 0 {
37545		return invalidParams
37546	}
37547	return nil
37548}
37549
37550// SetApplicationId sets the ApplicationId field's value.
37551func (s *UpdateEmailChannelInput) SetApplicationId(v string) *UpdateEmailChannelInput {
37552	s.ApplicationId = &v
37553	return s
37554}
37555
37556// SetEmailChannelRequest sets the EmailChannelRequest field's value.
37557func (s *UpdateEmailChannelInput) SetEmailChannelRequest(v *EmailChannelRequest) *UpdateEmailChannelInput {
37558	s.EmailChannelRequest = v
37559	return s
37560}
37561
37562type UpdateEmailChannelOutput struct {
37563	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
37564
37565	// Provides information about the status and settings of the email channel for
37566	// an application.
37567	//
37568	// EmailChannelResponse is a required field
37569	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
37570}
37571
37572// String returns the string representation.
37573//
37574// API parameter values that are decorated as "sensitive" in the API will not
37575// be included in the string output. The member name will be present, but the
37576// value will be replaced with "sensitive".
37577func (s UpdateEmailChannelOutput) String() string {
37578	return awsutil.Prettify(s)
37579}
37580
37581// GoString returns the string representation.
37582//
37583// API parameter values that are decorated as "sensitive" in the API will not
37584// be included in the string output. The member name will be present, but the
37585// value will be replaced with "sensitive".
37586func (s UpdateEmailChannelOutput) GoString() string {
37587	return s.String()
37588}
37589
37590// SetEmailChannelResponse sets the EmailChannelResponse field's value.
37591func (s *UpdateEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *UpdateEmailChannelOutput {
37592	s.EmailChannelResponse = v
37593	return s
37594}
37595
37596type UpdateEmailTemplateInput struct {
37597	_ struct{} `type:"structure" payload:"EmailTemplateRequest"`
37598
37599	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
37600
37601	// Specifies the content and settings for a message template that can be used
37602	// in messages that are sent through the email channel.
37603	//
37604	// EmailTemplateRequest is a required field
37605	EmailTemplateRequest *EmailTemplateRequest `type:"structure" required:"true"`
37606
37607	// TemplateName is a required field
37608	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
37609
37610	Version *string `location:"querystring" locationName:"version" type:"string"`
37611}
37612
37613// String returns the string representation.
37614//
37615// API parameter values that are decorated as "sensitive" in the API will not
37616// be included in the string output. The member name will be present, but the
37617// value will be replaced with "sensitive".
37618func (s UpdateEmailTemplateInput) String() string {
37619	return awsutil.Prettify(s)
37620}
37621
37622// GoString returns the string representation.
37623//
37624// API parameter values that are decorated as "sensitive" in the API will not
37625// be included in the string output. The member name will be present, but the
37626// value will be replaced with "sensitive".
37627func (s UpdateEmailTemplateInput) GoString() string {
37628	return s.String()
37629}
37630
37631// Validate inspects the fields of the type to determine if they are valid.
37632func (s *UpdateEmailTemplateInput) Validate() error {
37633	invalidParams := request.ErrInvalidParams{Context: "UpdateEmailTemplateInput"}
37634	if s.EmailTemplateRequest == nil {
37635		invalidParams.Add(request.NewErrParamRequired("EmailTemplateRequest"))
37636	}
37637	if s.TemplateName == nil {
37638		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
37639	}
37640	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
37641		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
37642	}
37643
37644	if invalidParams.Len() > 0 {
37645		return invalidParams
37646	}
37647	return nil
37648}
37649
37650// SetCreateNewVersion sets the CreateNewVersion field's value.
37651func (s *UpdateEmailTemplateInput) SetCreateNewVersion(v bool) *UpdateEmailTemplateInput {
37652	s.CreateNewVersion = &v
37653	return s
37654}
37655
37656// SetEmailTemplateRequest sets the EmailTemplateRequest field's value.
37657func (s *UpdateEmailTemplateInput) SetEmailTemplateRequest(v *EmailTemplateRequest) *UpdateEmailTemplateInput {
37658	s.EmailTemplateRequest = v
37659	return s
37660}
37661
37662// SetTemplateName sets the TemplateName field's value.
37663func (s *UpdateEmailTemplateInput) SetTemplateName(v string) *UpdateEmailTemplateInput {
37664	s.TemplateName = &v
37665	return s
37666}
37667
37668// SetVersion sets the Version field's value.
37669func (s *UpdateEmailTemplateInput) SetVersion(v string) *UpdateEmailTemplateInput {
37670	s.Version = &v
37671	return s
37672}
37673
37674type UpdateEmailTemplateOutput struct {
37675	_ struct{} `type:"structure" payload:"MessageBody"`
37676
37677	// Provides information about an API request or response.
37678	//
37679	// MessageBody is a required field
37680	MessageBody *MessageBody `type:"structure" required:"true"`
37681}
37682
37683// String returns the string representation.
37684//
37685// API parameter values that are decorated as "sensitive" in the API will not
37686// be included in the string output. The member name will be present, but the
37687// value will be replaced with "sensitive".
37688func (s UpdateEmailTemplateOutput) String() string {
37689	return awsutil.Prettify(s)
37690}
37691
37692// GoString returns the string representation.
37693//
37694// API parameter values that are decorated as "sensitive" in the API will not
37695// be included in the string output. The member name will be present, but the
37696// value will be replaced with "sensitive".
37697func (s UpdateEmailTemplateOutput) GoString() string {
37698	return s.String()
37699}
37700
37701// SetMessageBody sets the MessageBody field's value.
37702func (s *UpdateEmailTemplateOutput) SetMessageBody(v *MessageBody) *UpdateEmailTemplateOutput {
37703	s.MessageBody = v
37704	return s
37705}
37706
37707type UpdateEndpointInput struct {
37708	_ struct{} `type:"structure" payload:"EndpointRequest"`
37709
37710	// ApplicationId is a required field
37711	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
37712
37713	// EndpointId is a required field
37714	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
37715
37716	// Specifies the channel type and other settings for an endpoint.
37717	//
37718	// EndpointRequest is a required field
37719	EndpointRequest *EndpointRequest `type:"structure" required:"true"`
37720}
37721
37722// String returns the string representation.
37723//
37724// API parameter values that are decorated as "sensitive" in the API will not
37725// be included in the string output. The member name will be present, but the
37726// value will be replaced with "sensitive".
37727func (s UpdateEndpointInput) String() string {
37728	return awsutil.Prettify(s)
37729}
37730
37731// GoString returns the string representation.
37732//
37733// API parameter values that are decorated as "sensitive" in the API will not
37734// be included in the string output. The member name will be present, but the
37735// value will be replaced with "sensitive".
37736func (s UpdateEndpointInput) GoString() string {
37737	return s.String()
37738}
37739
37740// Validate inspects the fields of the type to determine if they are valid.
37741func (s *UpdateEndpointInput) Validate() error {
37742	invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointInput"}
37743	if s.ApplicationId == nil {
37744		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
37745	}
37746	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
37747		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
37748	}
37749	if s.EndpointId == nil {
37750		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
37751	}
37752	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
37753		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
37754	}
37755	if s.EndpointRequest == nil {
37756		invalidParams.Add(request.NewErrParamRequired("EndpointRequest"))
37757	}
37758
37759	if invalidParams.Len() > 0 {
37760		return invalidParams
37761	}
37762	return nil
37763}
37764
37765// SetApplicationId sets the ApplicationId field's value.
37766func (s *UpdateEndpointInput) SetApplicationId(v string) *UpdateEndpointInput {
37767	s.ApplicationId = &v
37768	return s
37769}
37770
37771// SetEndpointId sets the EndpointId field's value.
37772func (s *UpdateEndpointInput) SetEndpointId(v string) *UpdateEndpointInput {
37773	s.EndpointId = &v
37774	return s
37775}
37776
37777// SetEndpointRequest sets the EndpointRequest field's value.
37778func (s *UpdateEndpointInput) SetEndpointRequest(v *EndpointRequest) *UpdateEndpointInput {
37779	s.EndpointRequest = v
37780	return s
37781}
37782
37783type UpdateEndpointOutput struct {
37784	_ struct{} `type:"structure" payload:"MessageBody"`
37785
37786	// Provides information about an API request or response.
37787	//
37788	// MessageBody is a required field
37789	MessageBody *MessageBody `type:"structure" required:"true"`
37790}
37791
37792// String returns the string representation.
37793//
37794// API parameter values that are decorated as "sensitive" in the API will not
37795// be included in the string output. The member name will be present, but the
37796// value will be replaced with "sensitive".
37797func (s UpdateEndpointOutput) String() string {
37798	return awsutil.Prettify(s)
37799}
37800
37801// GoString returns the string representation.
37802//
37803// API parameter values that are decorated as "sensitive" in the API will not
37804// be included in the string output. The member name will be present, but the
37805// value will be replaced with "sensitive".
37806func (s UpdateEndpointOutput) GoString() string {
37807	return s.String()
37808}
37809
37810// SetMessageBody sets the MessageBody field's value.
37811func (s *UpdateEndpointOutput) SetMessageBody(v *MessageBody) *UpdateEndpointOutput {
37812	s.MessageBody = v
37813	return s
37814}
37815
37816type UpdateEndpointsBatchInput struct {
37817	_ struct{} `type:"structure" payload:"EndpointBatchRequest"`
37818
37819	// ApplicationId is a required field
37820	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
37821
37822	// Specifies a batch of endpoints to create or update and the settings and attributes
37823	// to set or change for each endpoint.
37824	//
37825	// EndpointBatchRequest is a required field
37826	EndpointBatchRequest *EndpointBatchRequest `type:"structure" required:"true"`
37827}
37828
37829// String returns the string representation.
37830//
37831// API parameter values that are decorated as "sensitive" in the API will not
37832// be included in the string output. The member name will be present, but the
37833// value will be replaced with "sensitive".
37834func (s UpdateEndpointsBatchInput) String() string {
37835	return awsutil.Prettify(s)
37836}
37837
37838// GoString returns the string representation.
37839//
37840// API parameter values that are decorated as "sensitive" in the API will not
37841// be included in the string output. The member name will be present, but the
37842// value will be replaced with "sensitive".
37843func (s UpdateEndpointsBatchInput) GoString() string {
37844	return s.String()
37845}
37846
37847// Validate inspects the fields of the type to determine if they are valid.
37848func (s *UpdateEndpointsBatchInput) Validate() error {
37849	invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointsBatchInput"}
37850	if s.ApplicationId == nil {
37851		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
37852	}
37853	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
37854		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
37855	}
37856	if s.EndpointBatchRequest == nil {
37857		invalidParams.Add(request.NewErrParamRequired("EndpointBatchRequest"))
37858	}
37859	if s.EndpointBatchRequest != nil {
37860		if err := s.EndpointBatchRequest.Validate(); err != nil {
37861			invalidParams.AddNested("EndpointBatchRequest", err.(request.ErrInvalidParams))
37862		}
37863	}
37864
37865	if invalidParams.Len() > 0 {
37866		return invalidParams
37867	}
37868	return nil
37869}
37870
37871// SetApplicationId sets the ApplicationId field's value.
37872func (s *UpdateEndpointsBatchInput) SetApplicationId(v string) *UpdateEndpointsBatchInput {
37873	s.ApplicationId = &v
37874	return s
37875}
37876
37877// SetEndpointBatchRequest sets the EndpointBatchRequest field's value.
37878func (s *UpdateEndpointsBatchInput) SetEndpointBatchRequest(v *EndpointBatchRequest) *UpdateEndpointsBatchInput {
37879	s.EndpointBatchRequest = v
37880	return s
37881}
37882
37883type UpdateEndpointsBatchOutput struct {
37884	_ struct{} `type:"structure" payload:"MessageBody"`
37885
37886	// Provides information about an API request or response.
37887	//
37888	// MessageBody is a required field
37889	MessageBody *MessageBody `type:"structure" required:"true"`
37890}
37891
37892// String returns the string representation.
37893//
37894// API parameter values that are decorated as "sensitive" in the API will not
37895// be included in the string output. The member name will be present, but the
37896// value will be replaced with "sensitive".
37897func (s UpdateEndpointsBatchOutput) String() string {
37898	return awsutil.Prettify(s)
37899}
37900
37901// GoString returns the string representation.
37902//
37903// API parameter values that are decorated as "sensitive" in the API will not
37904// be included in the string output. The member name will be present, but the
37905// value will be replaced with "sensitive".
37906func (s UpdateEndpointsBatchOutput) GoString() string {
37907	return s.String()
37908}
37909
37910// SetMessageBody sets the MessageBody field's value.
37911func (s *UpdateEndpointsBatchOutput) SetMessageBody(v *MessageBody) *UpdateEndpointsBatchOutput {
37912	s.MessageBody = v
37913	return s
37914}
37915
37916type UpdateGcmChannelInput struct {
37917	_ struct{} `type:"structure" payload:"GCMChannelRequest"`
37918
37919	// ApplicationId is a required field
37920	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
37921
37922	// Specifies the status and settings of the GCM channel for an application.
37923	// This channel enables Amazon Pinpoint to send push notifications through the
37924	// Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.
37925	//
37926	// GCMChannelRequest is a required field
37927	GCMChannelRequest *GCMChannelRequest `type:"structure" required:"true"`
37928}
37929
37930// String returns the string representation.
37931//
37932// API parameter values that are decorated as "sensitive" in the API will not
37933// be included in the string output. The member name will be present, but the
37934// value will be replaced with "sensitive".
37935func (s UpdateGcmChannelInput) String() string {
37936	return awsutil.Prettify(s)
37937}
37938
37939// GoString returns the string representation.
37940//
37941// API parameter values that are decorated as "sensitive" in the API will not
37942// be included in the string output. The member name will be present, but the
37943// value will be replaced with "sensitive".
37944func (s UpdateGcmChannelInput) GoString() string {
37945	return s.String()
37946}
37947
37948// Validate inspects the fields of the type to determine if they are valid.
37949func (s *UpdateGcmChannelInput) Validate() error {
37950	invalidParams := request.ErrInvalidParams{Context: "UpdateGcmChannelInput"}
37951	if s.ApplicationId == nil {
37952		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
37953	}
37954	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
37955		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
37956	}
37957	if s.GCMChannelRequest == nil {
37958		invalidParams.Add(request.NewErrParamRequired("GCMChannelRequest"))
37959	}
37960	if s.GCMChannelRequest != nil {
37961		if err := s.GCMChannelRequest.Validate(); err != nil {
37962			invalidParams.AddNested("GCMChannelRequest", err.(request.ErrInvalidParams))
37963		}
37964	}
37965
37966	if invalidParams.Len() > 0 {
37967		return invalidParams
37968	}
37969	return nil
37970}
37971
37972// SetApplicationId sets the ApplicationId field's value.
37973func (s *UpdateGcmChannelInput) SetApplicationId(v string) *UpdateGcmChannelInput {
37974	s.ApplicationId = &v
37975	return s
37976}
37977
37978// SetGCMChannelRequest sets the GCMChannelRequest field's value.
37979func (s *UpdateGcmChannelInput) SetGCMChannelRequest(v *GCMChannelRequest) *UpdateGcmChannelInput {
37980	s.GCMChannelRequest = v
37981	return s
37982}
37983
37984type UpdateGcmChannelOutput struct {
37985	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
37986
37987	// Provides information about the status and settings of the GCM channel for
37988	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
37989	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
37990	// (GCM), service.
37991	//
37992	// GCMChannelResponse is a required field
37993	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
37994}
37995
37996// String returns the string representation.
37997//
37998// API parameter values that are decorated as "sensitive" in the API will not
37999// be included in the string output. The member name will be present, but the
38000// value will be replaced with "sensitive".
38001func (s UpdateGcmChannelOutput) String() string {
38002	return awsutil.Prettify(s)
38003}
38004
38005// GoString returns the string representation.
38006//
38007// API parameter values that are decorated as "sensitive" in the API will not
38008// be included in the string output. The member name will be present, but the
38009// value will be replaced with "sensitive".
38010func (s UpdateGcmChannelOutput) GoString() string {
38011	return s.String()
38012}
38013
38014// SetGCMChannelResponse sets the GCMChannelResponse field's value.
38015func (s *UpdateGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *UpdateGcmChannelOutput {
38016	s.GCMChannelResponse = v
38017	return s
38018}
38019
38020type UpdateInAppTemplateInput struct {
38021	_ struct{} `type:"structure" payload:"InAppTemplateRequest"`
38022
38023	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
38024
38025	// In-App Template Request.
38026	//
38027	// InAppTemplateRequest is a required field
38028	InAppTemplateRequest *InAppTemplateRequest `type:"structure" required:"true"`
38029
38030	// TemplateName is a required field
38031	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
38032
38033	Version *string `location:"querystring" locationName:"version" type:"string"`
38034}
38035
38036// String returns the string representation.
38037//
38038// API parameter values that are decorated as "sensitive" in the API will not
38039// be included in the string output. The member name will be present, but the
38040// value will be replaced with "sensitive".
38041func (s UpdateInAppTemplateInput) String() string {
38042	return awsutil.Prettify(s)
38043}
38044
38045// GoString returns the string representation.
38046//
38047// API parameter values that are decorated as "sensitive" in the API will not
38048// be included in the string output. The member name will be present, but the
38049// value will be replaced with "sensitive".
38050func (s UpdateInAppTemplateInput) GoString() string {
38051	return s.String()
38052}
38053
38054// Validate inspects the fields of the type to determine if they are valid.
38055func (s *UpdateInAppTemplateInput) Validate() error {
38056	invalidParams := request.ErrInvalidParams{Context: "UpdateInAppTemplateInput"}
38057	if s.InAppTemplateRequest == nil {
38058		invalidParams.Add(request.NewErrParamRequired("InAppTemplateRequest"))
38059	}
38060	if s.TemplateName == nil {
38061		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
38062	}
38063	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
38064		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
38065	}
38066	if s.InAppTemplateRequest != nil {
38067		if err := s.InAppTemplateRequest.Validate(); err != nil {
38068			invalidParams.AddNested("InAppTemplateRequest", err.(request.ErrInvalidParams))
38069		}
38070	}
38071
38072	if invalidParams.Len() > 0 {
38073		return invalidParams
38074	}
38075	return nil
38076}
38077
38078// SetCreateNewVersion sets the CreateNewVersion field's value.
38079func (s *UpdateInAppTemplateInput) SetCreateNewVersion(v bool) *UpdateInAppTemplateInput {
38080	s.CreateNewVersion = &v
38081	return s
38082}
38083
38084// SetInAppTemplateRequest sets the InAppTemplateRequest field's value.
38085func (s *UpdateInAppTemplateInput) SetInAppTemplateRequest(v *InAppTemplateRequest) *UpdateInAppTemplateInput {
38086	s.InAppTemplateRequest = v
38087	return s
38088}
38089
38090// SetTemplateName sets the TemplateName field's value.
38091func (s *UpdateInAppTemplateInput) SetTemplateName(v string) *UpdateInAppTemplateInput {
38092	s.TemplateName = &v
38093	return s
38094}
38095
38096// SetVersion sets the Version field's value.
38097func (s *UpdateInAppTemplateInput) SetVersion(v string) *UpdateInAppTemplateInput {
38098	s.Version = &v
38099	return s
38100}
38101
38102type UpdateInAppTemplateOutput struct {
38103	_ struct{} `type:"structure" payload:"MessageBody"`
38104
38105	// Provides information about an API request or response.
38106	//
38107	// MessageBody is a required field
38108	MessageBody *MessageBody `type:"structure" required:"true"`
38109}
38110
38111// String returns the string representation.
38112//
38113// API parameter values that are decorated as "sensitive" in the API will not
38114// be included in the string output. The member name will be present, but the
38115// value will be replaced with "sensitive".
38116func (s UpdateInAppTemplateOutput) String() string {
38117	return awsutil.Prettify(s)
38118}
38119
38120// GoString returns the string representation.
38121//
38122// API parameter values that are decorated as "sensitive" in the API will not
38123// be included in the string output. The member name will be present, but the
38124// value will be replaced with "sensitive".
38125func (s UpdateInAppTemplateOutput) GoString() string {
38126	return s.String()
38127}
38128
38129// SetMessageBody sets the MessageBody field's value.
38130func (s *UpdateInAppTemplateOutput) SetMessageBody(v *MessageBody) *UpdateInAppTemplateOutput {
38131	s.MessageBody = v
38132	return s
38133}
38134
38135type UpdateJourneyInput struct {
38136	_ struct{} `type:"structure" payload:"WriteJourneyRequest"`
38137
38138	// ApplicationId is a required field
38139	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
38140
38141	// JourneyId is a required field
38142	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
38143
38144	// Specifies the configuration and other settings for a journey.
38145	//
38146	// WriteJourneyRequest is a required field
38147	WriteJourneyRequest *WriteJourneyRequest `type:"structure" required:"true"`
38148}
38149
38150// String returns the string representation.
38151//
38152// API parameter values that are decorated as "sensitive" in the API will not
38153// be included in the string output. The member name will be present, but the
38154// value will be replaced with "sensitive".
38155func (s UpdateJourneyInput) String() string {
38156	return awsutil.Prettify(s)
38157}
38158
38159// GoString returns the string representation.
38160//
38161// API parameter values that are decorated as "sensitive" in the API will not
38162// be included in the string output. The member name will be present, but the
38163// value will be replaced with "sensitive".
38164func (s UpdateJourneyInput) GoString() string {
38165	return s.String()
38166}
38167
38168// Validate inspects the fields of the type to determine if they are valid.
38169func (s *UpdateJourneyInput) Validate() error {
38170	invalidParams := request.ErrInvalidParams{Context: "UpdateJourneyInput"}
38171	if s.ApplicationId == nil {
38172		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
38173	}
38174	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
38175		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
38176	}
38177	if s.JourneyId == nil {
38178		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
38179	}
38180	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
38181		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
38182	}
38183	if s.WriteJourneyRequest == nil {
38184		invalidParams.Add(request.NewErrParamRequired("WriteJourneyRequest"))
38185	}
38186	if s.WriteJourneyRequest != nil {
38187		if err := s.WriteJourneyRequest.Validate(); err != nil {
38188			invalidParams.AddNested("WriteJourneyRequest", err.(request.ErrInvalidParams))
38189		}
38190	}
38191
38192	if invalidParams.Len() > 0 {
38193		return invalidParams
38194	}
38195	return nil
38196}
38197
38198// SetApplicationId sets the ApplicationId field's value.
38199func (s *UpdateJourneyInput) SetApplicationId(v string) *UpdateJourneyInput {
38200	s.ApplicationId = &v
38201	return s
38202}
38203
38204// SetJourneyId sets the JourneyId field's value.
38205func (s *UpdateJourneyInput) SetJourneyId(v string) *UpdateJourneyInput {
38206	s.JourneyId = &v
38207	return s
38208}
38209
38210// SetWriteJourneyRequest sets the WriteJourneyRequest field's value.
38211func (s *UpdateJourneyInput) SetWriteJourneyRequest(v *WriteJourneyRequest) *UpdateJourneyInput {
38212	s.WriteJourneyRequest = v
38213	return s
38214}
38215
38216type UpdateJourneyOutput struct {
38217	_ struct{} `type:"structure" payload:"JourneyResponse"`
38218
38219	// Provides information about the status, configuration, and other settings
38220	// for a journey.
38221	//
38222	// JourneyResponse is a required field
38223	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
38224}
38225
38226// String returns the string representation.
38227//
38228// API parameter values that are decorated as "sensitive" in the API will not
38229// be included in the string output. The member name will be present, but the
38230// value will be replaced with "sensitive".
38231func (s UpdateJourneyOutput) String() string {
38232	return awsutil.Prettify(s)
38233}
38234
38235// GoString returns the string representation.
38236//
38237// API parameter values that are decorated as "sensitive" in the API will not
38238// be included in the string output. The member name will be present, but the
38239// value will be replaced with "sensitive".
38240func (s UpdateJourneyOutput) GoString() string {
38241	return s.String()
38242}
38243
38244// SetJourneyResponse sets the JourneyResponse field's value.
38245func (s *UpdateJourneyOutput) SetJourneyResponse(v *JourneyResponse) *UpdateJourneyOutput {
38246	s.JourneyResponse = v
38247	return s
38248}
38249
38250type UpdateJourneyStateInput struct {
38251	_ struct{} `type:"structure" payload:"JourneyStateRequest"`
38252
38253	// ApplicationId is a required field
38254	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
38255
38256	// JourneyId is a required field
38257	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
38258
38259	// Changes the status of a journey.
38260	//
38261	// JourneyStateRequest is a required field
38262	JourneyStateRequest *JourneyStateRequest `type:"structure" required:"true"`
38263}
38264
38265// String returns the string representation.
38266//
38267// API parameter values that are decorated as "sensitive" in the API will not
38268// be included in the string output. The member name will be present, but the
38269// value will be replaced with "sensitive".
38270func (s UpdateJourneyStateInput) String() string {
38271	return awsutil.Prettify(s)
38272}
38273
38274// GoString returns the string representation.
38275//
38276// API parameter values that are decorated as "sensitive" in the API will not
38277// be included in the string output. The member name will be present, but the
38278// value will be replaced with "sensitive".
38279func (s UpdateJourneyStateInput) GoString() string {
38280	return s.String()
38281}
38282
38283// Validate inspects the fields of the type to determine if they are valid.
38284func (s *UpdateJourneyStateInput) Validate() error {
38285	invalidParams := request.ErrInvalidParams{Context: "UpdateJourneyStateInput"}
38286	if s.ApplicationId == nil {
38287		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
38288	}
38289	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
38290		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
38291	}
38292	if s.JourneyId == nil {
38293		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
38294	}
38295	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
38296		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
38297	}
38298	if s.JourneyStateRequest == nil {
38299		invalidParams.Add(request.NewErrParamRequired("JourneyStateRequest"))
38300	}
38301
38302	if invalidParams.Len() > 0 {
38303		return invalidParams
38304	}
38305	return nil
38306}
38307
38308// SetApplicationId sets the ApplicationId field's value.
38309func (s *UpdateJourneyStateInput) SetApplicationId(v string) *UpdateJourneyStateInput {
38310	s.ApplicationId = &v
38311	return s
38312}
38313
38314// SetJourneyId sets the JourneyId field's value.
38315func (s *UpdateJourneyStateInput) SetJourneyId(v string) *UpdateJourneyStateInput {
38316	s.JourneyId = &v
38317	return s
38318}
38319
38320// SetJourneyStateRequest sets the JourneyStateRequest field's value.
38321func (s *UpdateJourneyStateInput) SetJourneyStateRequest(v *JourneyStateRequest) *UpdateJourneyStateInput {
38322	s.JourneyStateRequest = v
38323	return s
38324}
38325
38326type UpdateJourneyStateOutput struct {
38327	_ struct{} `type:"structure" payload:"JourneyResponse"`
38328
38329	// Provides information about the status, configuration, and other settings
38330	// for a journey.
38331	//
38332	// JourneyResponse is a required field
38333	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
38334}
38335
38336// String returns the string representation.
38337//
38338// API parameter values that are decorated as "sensitive" in the API will not
38339// be included in the string output. The member name will be present, but the
38340// value will be replaced with "sensitive".
38341func (s UpdateJourneyStateOutput) String() string {
38342	return awsutil.Prettify(s)
38343}
38344
38345// GoString returns the string representation.
38346//
38347// API parameter values that are decorated as "sensitive" in the API will not
38348// be included in the string output. The member name will be present, but the
38349// value will be replaced with "sensitive".
38350func (s UpdateJourneyStateOutput) GoString() string {
38351	return s.String()
38352}
38353
38354// SetJourneyResponse sets the JourneyResponse field's value.
38355func (s *UpdateJourneyStateOutput) SetJourneyResponse(v *JourneyResponse) *UpdateJourneyStateOutput {
38356	s.JourneyResponse = v
38357	return s
38358}
38359
38360type UpdatePushTemplateInput struct {
38361	_ struct{} `type:"structure" payload:"PushNotificationTemplateRequest"`
38362
38363	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
38364
38365	// Specifies the content and settings for a message template that can be used
38366	// in messages that are sent through a push notification channel.
38367	//
38368	// PushNotificationTemplateRequest is a required field
38369	PushNotificationTemplateRequest *PushNotificationTemplateRequest `type:"structure" required:"true"`
38370
38371	// TemplateName is a required field
38372	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
38373
38374	Version *string `location:"querystring" locationName:"version" type:"string"`
38375}
38376
38377// String returns the string representation.
38378//
38379// API parameter values that are decorated as "sensitive" in the API will not
38380// be included in the string output. The member name will be present, but the
38381// value will be replaced with "sensitive".
38382func (s UpdatePushTemplateInput) String() string {
38383	return awsutil.Prettify(s)
38384}
38385
38386// GoString returns the string representation.
38387//
38388// API parameter values that are decorated as "sensitive" in the API will not
38389// be included in the string output. The member name will be present, but the
38390// value will be replaced with "sensitive".
38391func (s UpdatePushTemplateInput) GoString() string {
38392	return s.String()
38393}
38394
38395// Validate inspects the fields of the type to determine if they are valid.
38396func (s *UpdatePushTemplateInput) Validate() error {
38397	invalidParams := request.ErrInvalidParams{Context: "UpdatePushTemplateInput"}
38398	if s.PushNotificationTemplateRequest == nil {
38399		invalidParams.Add(request.NewErrParamRequired("PushNotificationTemplateRequest"))
38400	}
38401	if s.TemplateName == nil {
38402		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
38403	}
38404	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
38405		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
38406	}
38407
38408	if invalidParams.Len() > 0 {
38409		return invalidParams
38410	}
38411	return nil
38412}
38413
38414// SetCreateNewVersion sets the CreateNewVersion field's value.
38415func (s *UpdatePushTemplateInput) SetCreateNewVersion(v bool) *UpdatePushTemplateInput {
38416	s.CreateNewVersion = &v
38417	return s
38418}
38419
38420// SetPushNotificationTemplateRequest sets the PushNotificationTemplateRequest field's value.
38421func (s *UpdatePushTemplateInput) SetPushNotificationTemplateRequest(v *PushNotificationTemplateRequest) *UpdatePushTemplateInput {
38422	s.PushNotificationTemplateRequest = v
38423	return s
38424}
38425
38426// SetTemplateName sets the TemplateName field's value.
38427func (s *UpdatePushTemplateInput) SetTemplateName(v string) *UpdatePushTemplateInput {
38428	s.TemplateName = &v
38429	return s
38430}
38431
38432// SetVersion sets the Version field's value.
38433func (s *UpdatePushTemplateInput) SetVersion(v string) *UpdatePushTemplateInput {
38434	s.Version = &v
38435	return s
38436}
38437
38438type UpdatePushTemplateOutput struct {
38439	_ struct{} `type:"structure" payload:"MessageBody"`
38440
38441	// Provides information about an API request or response.
38442	//
38443	// MessageBody is a required field
38444	MessageBody *MessageBody `type:"structure" required:"true"`
38445}
38446
38447// String returns the string representation.
38448//
38449// API parameter values that are decorated as "sensitive" in the API will not
38450// be included in the string output. The member name will be present, but the
38451// value will be replaced with "sensitive".
38452func (s UpdatePushTemplateOutput) String() string {
38453	return awsutil.Prettify(s)
38454}
38455
38456// GoString returns the string representation.
38457//
38458// API parameter values that are decorated as "sensitive" in the API will not
38459// be included in the string output. The member name will be present, but the
38460// value will be replaced with "sensitive".
38461func (s UpdatePushTemplateOutput) GoString() string {
38462	return s.String()
38463}
38464
38465// SetMessageBody sets the MessageBody field's value.
38466func (s *UpdatePushTemplateOutput) SetMessageBody(v *MessageBody) *UpdatePushTemplateOutput {
38467	s.MessageBody = v
38468	return s
38469}
38470
38471// Specifies Amazon Pinpoint configuration settings for retrieving and processing
38472// recommendation data from a recommender model.
38473type UpdateRecommenderConfiguration struct {
38474	_ struct{} `type:"structure"`
38475
38476	// A map of key-value pairs that defines 1-10 custom endpoint or user attributes,
38477	// depending on the value for the RecommendationProviderIdType property. Each
38478	// of these attributes temporarily stores a recommended item that's retrieved
38479	// from the recommender model and sent to an AWS Lambda function for additional
38480	// processing. Each attribute can be used as a message variable in a message
38481	// template.
38482	//
38483	// In the map, the key is the name of a custom attribute and the value is a
38484	// custom display name for that attribute. The display name appears in the Attribute
38485	// finder of the template editor on the Amazon Pinpoint console. The following
38486	// restrictions apply to these names:
38487	//
38488	//    * An attribute name must start with a letter or number and it can contain
38489	//    up to 50 characters. The characters can be letters, numbers, underscores
38490	//    (_), or hyphens (-). Attribute names are case sensitive and must be unique.
38491	//
38492	//    * An attribute display name must start with a letter or number and it
38493	//    can contain up to 25 characters. The characters can be letters, numbers,
38494	//    spaces, underscores (_), or hyphens (-).
38495	//
38496	// This object is required if the configuration invokes an AWS Lambda function
38497	// (RecommendationTransformerUri) to process recommendation data. Otherwise,
38498	// don't include this object in your request.
38499	Attributes map[string]*string `type:"map"`
38500
38501	// A custom description of the configuration for the recommender model. The
38502	// description can contain up to 128 characters. The characters can be letters,
38503	// numbers, spaces, or the following symbols: _ ; () , ‐.
38504	Description *string `type:"string"`
38505
38506	// A custom name of the configuration for the recommender model. The name must
38507	// start with a letter or number and it can contain up to 128 characters. The
38508	// characters can be letters, numbers, spaces, underscores (_), or hyphens (-).
38509	Name *string `type:"string"`
38510
38511	// The type of Amazon Pinpoint ID to associate with unique user IDs in the recommender
38512	// model. This value enables the model to use attribute and event data that’s
38513	// specific to a particular endpoint or user in an Amazon Pinpoint application.
38514	// Valid values are:
38515	//
38516	//    * PINPOINT_ENDPOINT_ID - Associate each user in the model with a particular
38517	//    endpoint in Amazon Pinpoint. The data is correlated based on endpoint
38518	//    IDs in Amazon Pinpoint. This is the default value.
38519	//
38520	//    * PINPOINT_USER_ID - Associate each user in the model with a particular
38521	//    user and endpoint in Amazon Pinpoint. The data is correlated based on
38522	//    user IDs in Amazon Pinpoint. If you specify this value, an endpoint definition
38523	//    in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint
38524	//    ID. Otherwise, messages won’t be sent to the user's endpoint.
38525	RecommendationProviderIdType *string `type:"string"`
38526
38527	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
38528	// (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data
38529	// from the recommender model.
38530	//
38531	// RecommendationProviderRoleArn is a required field
38532	RecommendationProviderRoleArn *string `type:"string" required:"true"`
38533
38534	// The Amazon Resource Name (ARN) of the recommender model to retrieve recommendation
38535	// data from. This value must match the ARN of an Amazon Personalize campaign.
38536	//
38537	// RecommendationProviderUri is a required field
38538	RecommendationProviderUri *string `type:"string" required:"true"`
38539
38540	// The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke
38541	// for additional processing of recommendation data that's retrieved from the
38542	// recommender model.
38543	RecommendationTransformerUri *string `type:"string"`
38544
38545	// A custom display name for the standard endpoint or user attribute (RecommendationItems)
38546	// that temporarily stores recommended items for each endpoint or user, depending
38547	// on the value for the RecommendationProviderIdType property. This value is
38548	// required if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri)
38549	// to perform additional processing of recommendation data.
38550	//
38551	// This name appears in the Attribute finder of the template editor on the Amazon
38552	// Pinpoint console. The name can contain up to 25 characters. The characters
38553	// can be letters, numbers, spaces, underscores (_), or hyphens (-). These restrictions
38554	// don't apply to attribute values.
38555	RecommendationsDisplayName *string `type:"string"`
38556
38557	// The number of recommended items to retrieve from the model for each endpoint
38558	// or user, depending on the value for the RecommendationProviderIdType property.
38559	// This number determines how many recommended items are available for use in
38560	// message variables. The minimum value is 1. The maximum value is 5. The default
38561	// value is 5.
38562	//
38563	// To use multiple recommended items and custom attributes with message variables,
38564	// you have to use an AWS Lambda function (RecommendationTransformerUri) to
38565	// perform additional processing of recommendation data.
38566	RecommendationsPerMessage *int64 `type:"integer"`
38567}
38568
38569// String returns the string representation.
38570//
38571// API parameter values that are decorated as "sensitive" in the API will not
38572// be included in the string output. The member name will be present, but the
38573// value will be replaced with "sensitive".
38574func (s UpdateRecommenderConfiguration) String() string {
38575	return awsutil.Prettify(s)
38576}
38577
38578// GoString returns the string representation.
38579//
38580// API parameter values that are decorated as "sensitive" in the API will not
38581// be included in the string output. The member name will be present, but the
38582// value will be replaced with "sensitive".
38583func (s UpdateRecommenderConfiguration) GoString() string {
38584	return s.String()
38585}
38586
38587// Validate inspects the fields of the type to determine if they are valid.
38588func (s *UpdateRecommenderConfiguration) Validate() error {
38589	invalidParams := request.ErrInvalidParams{Context: "UpdateRecommenderConfiguration"}
38590	if s.RecommendationProviderRoleArn == nil {
38591		invalidParams.Add(request.NewErrParamRequired("RecommendationProviderRoleArn"))
38592	}
38593	if s.RecommendationProviderUri == nil {
38594		invalidParams.Add(request.NewErrParamRequired("RecommendationProviderUri"))
38595	}
38596
38597	if invalidParams.Len() > 0 {
38598		return invalidParams
38599	}
38600	return nil
38601}
38602
38603// SetAttributes sets the Attributes field's value.
38604func (s *UpdateRecommenderConfiguration) SetAttributes(v map[string]*string) *UpdateRecommenderConfiguration {
38605	s.Attributes = v
38606	return s
38607}
38608
38609// SetDescription sets the Description field's value.
38610func (s *UpdateRecommenderConfiguration) SetDescription(v string) *UpdateRecommenderConfiguration {
38611	s.Description = &v
38612	return s
38613}
38614
38615// SetName sets the Name field's value.
38616func (s *UpdateRecommenderConfiguration) SetName(v string) *UpdateRecommenderConfiguration {
38617	s.Name = &v
38618	return s
38619}
38620
38621// SetRecommendationProviderIdType sets the RecommendationProviderIdType field's value.
38622func (s *UpdateRecommenderConfiguration) SetRecommendationProviderIdType(v string) *UpdateRecommenderConfiguration {
38623	s.RecommendationProviderIdType = &v
38624	return s
38625}
38626
38627// SetRecommendationProviderRoleArn sets the RecommendationProviderRoleArn field's value.
38628func (s *UpdateRecommenderConfiguration) SetRecommendationProviderRoleArn(v string) *UpdateRecommenderConfiguration {
38629	s.RecommendationProviderRoleArn = &v
38630	return s
38631}
38632
38633// SetRecommendationProviderUri sets the RecommendationProviderUri field's value.
38634func (s *UpdateRecommenderConfiguration) SetRecommendationProviderUri(v string) *UpdateRecommenderConfiguration {
38635	s.RecommendationProviderUri = &v
38636	return s
38637}
38638
38639// SetRecommendationTransformerUri sets the RecommendationTransformerUri field's value.
38640func (s *UpdateRecommenderConfiguration) SetRecommendationTransformerUri(v string) *UpdateRecommenderConfiguration {
38641	s.RecommendationTransformerUri = &v
38642	return s
38643}
38644
38645// SetRecommendationsDisplayName sets the RecommendationsDisplayName field's value.
38646func (s *UpdateRecommenderConfiguration) SetRecommendationsDisplayName(v string) *UpdateRecommenderConfiguration {
38647	s.RecommendationsDisplayName = &v
38648	return s
38649}
38650
38651// SetRecommendationsPerMessage sets the RecommendationsPerMessage field's value.
38652func (s *UpdateRecommenderConfiguration) SetRecommendationsPerMessage(v int64) *UpdateRecommenderConfiguration {
38653	s.RecommendationsPerMessage = &v
38654	return s
38655}
38656
38657type UpdateRecommenderConfigurationInput struct {
38658	_ struct{} `type:"structure" payload:"UpdateRecommenderConfiguration"`
38659
38660	// RecommenderId is a required field
38661	RecommenderId *string `location:"uri" locationName:"recommender-id" type:"string" required:"true"`
38662
38663	// Specifies Amazon Pinpoint configuration settings for retrieving and processing
38664	// recommendation data from a recommender model.
38665	//
38666	// UpdateRecommenderConfiguration is a required field
38667	UpdateRecommenderConfiguration *UpdateRecommenderConfiguration `type:"structure" required:"true"`
38668}
38669
38670// String returns the string representation.
38671//
38672// API parameter values that are decorated as "sensitive" in the API will not
38673// be included in the string output. The member name will be present, but the
38674// value will be replaced with "sensitive".
38675func (s UpdateRecommenderConfigurationInput) String() string {
38676	return awsutil.Prettify(s)
38677}
38678
38679// GoString returns the string representation.
38680//
38681// API parameter values that are decorated as "sensitive" in the API will not
38682// be included in the string output. The member name will be present, but the
38683// value will be replaced with "sensitive".
38684func (s UpdateRecommenderConfigurationInput) GoString() string {
38685	return s.String()
38686}
38687
38688// Validate inspects the fields of the type to determine if they are valid.
38689func (s *UpdateRecommenderConfigurationInput) Validate() error {
38690	invalidParams := request.ErrInvalidParams{Context: "UpdateRecommenderConfigurationInput"}
38691	if s.RecommenderId == nil {
38692		invalidParams.Add(request.NewErrParamRequired("RecommenderId"))
38693	}
38694	if s.RecommenderId != nil && len(*s.RecommenderId) < 1 {
38695		invalidParams.Add(request.NewErrParamMinLen("RecommenderId", 1))
38696	}
38697	if s.UpdateRecommenderConfiguration == nil {
38698		invalidParams.Add(request.NewErrParamRequired("UpdateRecommenderConfiguration"))
38699	}
38700	if s.UpdateRecommenderConfiguration != nil {
38701		if err := s.UpdateRecommenderConfiguration.Validate(); err != nil {
38702			invalidParams.AddNested("UpdateRecommenderConfiguration", err.(request.ErrInvalidParams))
38703		}
38704	}
38705
38706	if invalidParams.Len() > 0 {
38707		return invalidParams
38708	}
38709	return nil
38710}
38711
38712// SetRecommenderId sets the RecommenderId field's value.
38713func (s *UpdateRecommenderConfigurationInput) SetRecommenderId(v string) *UpdateRecommenderConfigurationInput {
38714	s.RecommenderId = &v
38715	return s
38716}
38717
38718// SetUpdateRecommenderConfiguration sets the UpdateRecommenderConfiguration field's value.
38719func (s *UpdateRecommenderConfigurationInput) SetUpdateRecommenderConfiguration(v *UpdateRecommenderConfiguration) *UpdateRecommenderConfigurationInput {
38720	s.UpdateRecommenderConfiguration = v
38721	return s
38722}
38723
38724type UpdateRecommenderConfigurationOutput struct {
38725	_ struct{} `type:"structure" payload:"RecommenderConfigurationResponse"`
38726
38727	// Provides information about Amazon Pinpoint configuration settings for retrieving
38728	// and processing data from a recommender model.
38729	//
38730	// RecommenderConfigurationResponse is a required field
38731	RecommenderConfigurationResponse *RecommenderConfigurationResponse `type:"structure" required:"true"`
38732}
38733
38734// String returns the string representation.
38735//
38736// API parameter values that are decorated as "sensitive" in the API will not
38737// be included in the string output. The member name will be present, but the
38738// value will be replaced with "sensitive".
38739func (s UpdateRecommenderConfigurationOutput) String() string {
38740	return awsutil.Prettify(s)
38741}
38742
38743// GoString returns the string representation.
38744//
38745// API parameter values that are decorated as "sensitive" in the API will not
38746// be included in the string output. The member name will be present, but the
38747// value will be replaced with "sensitive".
38748func (s UpdateRecommenderConfigurationOutput) GoString() string {
38749	return s.String()
38750}
38751
38752// SetRecommenderConfigurationResponse sets the RecommenderConfigurationResponse field's value.
38753func (s *UpdateRecommenderConfigurationOutput) SetRecommenderConfigurationResponse(v *RecommenderConfigurationResponse) *UpdateRecommenderConfigurationOutput {
38754	s.RecommenderConfigurationResponse = v
38755	return s
38756}
38757
38758type UpdateSegmentInput struct {
38759	_ struct{} `type:"structure" payload:"WriteSegmentRequest"`
38760
38761	// ApplicationId is a required field
38762	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
38763
38764	// SegmentId is a required field
38765	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
38766
38767	// Specifies the configuration, dimension, and other settings for a segment.
38768	// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
38769	// object, but not both.
38770	//
38771	// WriteSegmentRequest is a required field
38772	WriteSegmentRequest *WriteSegmentRequest `type:"structure" required:"true"`
38773}
38774
38775// String returns the string representation.
38776//
38777// API parameter values that are decorated as "sensitive" in the API will not
38778// be included in the string output. The member name will be present, but the
38779// value will be replaced with "sensitive".
38780func (s UpdateSegmentInput) String() string {
38781	return awsutil.Prettify(s)
38782}
38783
38784// GoString returns the string representation.
38785//
38786// API parameter values that are decorated as "sensitive" in the API will not
38787// be included in the string output. The member name will be present, but the
38788// value will be replaced with "sensitive".
38789func (s UpdateSegmentInput) GoString() string {
38790	return s.String()
38791}
38792
38793// Validate inspects the fields of the type to determine if they are valid.
38794func (s *UpdateSegmentInput) Validate() error {
38795	invalidParams := request.ErrInvalidParams{Context: "UpdateSegmentInput"}
38796	if s.ApplicationId == nil {
38797		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
38798	}
38799	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
38800		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
38801	}
38802	if s.SegmentId == nil {
38803		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
38804	}
38805	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
38806		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
38807	}
38808	if s.WriteSegmentRequest == nil {
38809		invalidParams.Add(request.NewErrParamRequired("WriteSegmentRequest"))
38810	}
38811	if s.WriteSegmentRequest != nil {
38812		if err := s.WriteSegmentRequest.Validate(); err != nil {
38813			invalidParams.AddNested("WriteSegmentRequest", err.(request.ErrInvalidParams))
38814		}
38815	}
38816
38817	if invalidParams.Len() > 0 {
38818		return invalidParams
38819	}
38820	return nil
38821}
38822
38823// SetApplicationId sets the ApplicationId field's value.
38824func (s *UpdateSegmentInput) SetApplicationId(v string) *UpdateSegmentInput {
38825	s.ApplicationId = &v
38826	return s
38827}
38828
38829// SetSegmentId sets the SegmentId field's value.
38830func (s *UpdateSegmentInput) SetSegmentId(v string) *UpdateSegmentInput {
38831	s.SegmentId = &v
38832	return s
38833}
38834
38835// SetWriteSegmentRequest sets the WriteSegmentRequest field's value.
38836func (s *UpdateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *UpdateSegmentInput {
38837	s.WriteSegmentRequest = v
38838	return s
38839}
38840
38841type UpdateSegmentOutput struct {
38842	_ struct{} `type:"structure" payload:"SegmentResponse"`
38843
38844	// Provides information about the configuration, dimension, and other settings
38845	// for a segment.
38846	//
38847	// SegmentResponse is a required field
38848	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
38849}
38850
38851// String returns the string representation.
38852//
38853// API parameter values that are decorated as "sensitive" in the API will not
38854// be included in the string output. The member name will be present, but the
38855// value will be replaced with "sensitive".
38856func (s UpdateSegmentOutput) String() string {
38857	return awsutil.Prettify(s)
38858}
38859
38860// GoString returns the string representation.
38861//
38862// API parameter values that are decorated as "sensitive" in the API will not
38863// be included in the string output. The member name will be present, but the
38864// value will be replaced with "sensitive".
38865func (s UpdateSegmentOutput) GoString() string {
38866	return s.String()
38867}
38868
38869// SetSegmentResponse sets the SegmentResponse field's value.
38870func (s *UpdateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *UpdateSegmentOutput {
38871	s.SegmentResponse = v
38872	return s
38873}
38874
38875type UpdateSmsChannelInput struct {
38876	_ struct{} `type:"structure" payload:"SMSChannelRequest"`
38877
38878	// ApplicationId is a required field
38879	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
38880
38881	// Specifies the status and settings of the SMS channel for an application.
38882	//
38883	// SMSChannelRequest is a required field
38884	SMSChannelRequest *SMSChannelRequest `type:"structure" required:"true"`
38885}
38886
38887// String returns the string representation.
38888//
38889// API parameter values that are decorated as "sensitive" in the API will not
38890// be included in the string output. The member name will be present, but the
38891// value will be replaced with "sensitive".
38892func (s UpdateSmsChannelInput) String() string {
38893	return awsutil.Prettify(s)
38894}
38895
38896// GoString returns the string representation.
38897//
38898// API parameter values that are decorated as "sensitive" in the API will not
38899// be included in the string output. The member name will be present, but the
38900// value will be replaced with "sensitive".
38901func (s UpdateSmsChannelInput) GoString() string {
38902	return s.String()
38903}
38904
38905// Validate inspects the fields of the type to determine if they are valid.
38906func (s *UpdateSmsChannelInput) Validate() error {
38907	invalidParams := request.ErrInvalidParams{Context: "UpdateSmsChannelInput"}
38908	if s.ApplicationId == nil {
38909		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
38910	}
38911	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
38912		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
38913	}
38914	if s.SMSChannelRequest == nil {
38915		invalidParams.Add(request.NewErrParamRequired("SMSChannelRequest"))
38916	}
38917
38918	if invalidParams.Len() > 0 {
38919		return invalidParams
38920	}
38921	return nil
38922}
38923
38924// SetApplicationId sets the ApplicationId field's value.
38925func (s *UpdateSmsChannelInput) SetApplicationId(v string) *UpdateSmsChannelInput {
38926	s.ApplicationId = &v
38927	return s
38928}
38929
38930// SetSMSChannelRequest sets the SMSChannelRequest field's value.
38931func (s *UpdateSmsChannelInput) SetSMSChannelRequest(v *SMSChannelRequest) *UpdateSmsChannelInput {
38932	s.SMSChannelRequest = v
38933	return s
38934}
38935
38936type UpdateSmsChannelOutput struct {
38937	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
38938
38939	// Provides information about the status and settings of the SMS channel for
38940	// an application.
38941	//
38942	// SMSChannelResponse is a required field
38943	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
38944}
38945
38946// String returns the string representation.
38947//
38948// API parameter values that are decorated as "sensitive" in the API will not
38949// be included in the string output. The member name will be present, but the
38950// value will be replaced with "sensitive".
38951func (s UpdateSmsChannelOutput) String() string {
38952	return awsutil.Prettify(s)
38953}
38954
38955// GoString returns the string representation.
38956//
38957// API parameter values that are decorated as "sensitive" in the API will not
38958// be included in the string output. The member name will be present, but the
38959// value will be replaced with "sensitive".
38960func (s UpdateSmsChannelOutput) GoString() string {
38961	return s.String()
38962}
38963
38964// SetSMSChannelResponse sets the SMSChannelResponse field's value.
38965func (s *UpdateSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *UpdateSmsChannelOutput {
38966	s.SMSChannelResponse = v
38967	return s
38968}
38969
38970type UpdateSmsTemplateInput struct {
38971	_ struct{} `type:"structure" payload:"SMSTemplateRequest"`
38972
38973	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
38974
38975	// Specifies the content and settings for a message template that can be used
38976	// in text messages that are sent through the SMS channel.
38977	//
38978	// SMSTemplateRequest is a required field
38979	SMSTemplateRequest *SMSTemplateRequest `type:"structure" required:"true"`
38980
38981	// TemplateName is a required field
38982	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
38983
38984	Version *string `location:"querystring" locationName:"version" type:"string"`
38985}
38986
38987// String returns the string representation.
38988//
38989// API parameter values that are decorated as "sensitive" in the API will not
38990// be included in the string output. The member name will be present, but the
38991// value will be replaced with "sensitive".
38992func (s UpdateSmsTemplateInput) String() string {
38993	return awsutil.Prettify(s)
38994}
38995
38996// GoString returns the string representation.
38997//
38998// API parameter values that are decorated as "sensitive" in the API will not
38999// be included in the string output. The member name will be present, but the
39000// value will be replaced with "sensitive".
39001func (s UpdateSmsTemplateInput) GoString() string {
39002	return s.String()
39003}
39004
39005// Validate inspects the fields of the type to determine if they are valid.
39006func (s *UpdateSmsTemplateInput) Validate() error {
39007	invalidParams := request.ErrInvalidParams{Context: "UpdateSmsTemplateInput"}
39008	if s.SMSTemplateRequest == nil {
39009		invalidParams.Add(request.NewErrParamRequired("SMSTemplateRequest"))
39010	}
39011	if s.TemplateName == nil {
39012		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
39013	}
39014	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
39015		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
39016	}
39017
39018	if invalidParams.Len() > 0 {
39019		return invalidParams
39020	}
39021	return nil
39022}
39023
39024// SetCreateNewVersion sets the CreateNewVersion field's value.
39025func (s *UpdateSmsTemplateInput) SetCreateNewVersion(v bool) *UpdateSmsTemplateInput {
39026	s.CreateNewVersion = &v
39027	return s
39028}
39029
39030// SetSMSTemplateRequest sets the SMSTemplateRequest field's value.
39031func (s *UpdateSmsTemplateInput) SetSMSTemplateRequest(v *SMSTemplateRequest) *UpdateSmsTemplateInput {
39032	s.SMSTemplateRequest = v
39033	return s
39034}
39035
39036// SetTemplateName sets the TemplateName field's value.
39037func (s *UpdateSmsTemplateInput) SetTemplateName(v string) *UpdateSmsTemplateInput {
39038	s.TemplateName = &v
39039	return s
39040}
39041
39042// SetVersion sets the Version field's value.
39043func (s *UpdateSmsTemplateInput) SetVersion(v string) *UpdateSmsTemplateInput {
39044	s.Version = &v
39045	return s
39046}
39047
39048type UpdateSmsTemplateOutput struct {
39049	_ struct{} `type:"structure" payload:"MessageBody"`
39050
39051	// Provides information about an API request or response.
39052	//
39053	// MessageBody is a required field
39054	MessageBody *MessageBody `type:"structure" required:"true"`
39055}
39056
39057// String returns the string representation.
39058//
39059// API parameter values that are decorated as "sensitive" in the API will not
39060// be included in the string output. The member name will be present, but the
39061// value will be replaced with "sensitive".
39062func (s UpdateSmsTemplateOutput) String() string {
39063	return awsutil.Prettify(s)
39064}
39065
39066// GoString returns the string representation.
39067//
39068// API parameter values that are decorated as "sensitive" in the API will not
39069// be included in the string output. The member name will be present, but the
39070// value will be replaced with "sensitive".
39071func (s UpdateSmsTemplateOutput) GoString() string {
39072	return s.String()
39073}
39074
39075// SetMessageBody sets the MessageBody field's value.
39076func (s *UpdateSmsTemplateOutput) SetMessageBody(v *MessageBody) *UpdateSmsTemplateOutput {
39077	s.MessageBody = v
39078	return s
39079}
39080
39081type UpdateTemplateActiveVersionInput struct {
39082	_ struct{} `type:"structure" payload:"TemplateActiveVersionRequest"`
39083
39084	// Specifies which version of a message template to use as the active version
39085	// of the template.
39086	//
39087	// TemplateActiveVersionRequest is a required field
39088	TemplateActiveVersionRequest *TemplateActiveVersionRequest `type:"structure" required:"true"`
39089
39090	// TemplateName is a required field
39091	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
39092
39093	// TemplateType is a required field
39094	TemplateType *string `location:"uri" locationName:"template-type" type:"string" required:"true"`
39095}
39096
39097// String returns the string representation.
39098//
39099// API parameter values that are decorated as "sensitive" in the API will not
39100// be included in the string output. The member name will be present, but the
39101// value will be replaced with "sensitive".
39102func (s UpdateTemplateActiveVersionInput) String() string {
39103	return awsutil.Prettify(s)
39104}
39105
39106// GoString returns the string representation.
39107//
39108// API parameter values that are decorated as "sensitive" in the API will not
39109// be included in the string output. The member name will be present, but the
39110// value will be replaced with "sensitive".
39111func (s UpdateTemplateActiveVersionInput) GoString() string {
39112	return s.String()
39113}
39114
39115// Validate inspects the fields of the type to determine if they are valid.
39116func (s *UpdateTemplateActiveVersionInput) Validate() error {
39117	invalidParams := request.ErrInvalidParams{Context: "UpdateTemplateActiveVersionInput"}
39118	if s.TemplateActiveVersionRequest == nil {
39119		invalidParams.Add(request.NewErrParamRequired("TemplateActiveVersionRequest"))
39120	}
39121	if s.TemplateName == nil {
39122		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
39123	}
39124	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
39125		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
39126	}
39127	if s.TemplateType == nil {
39128		invalidParams.Add(request.NewErrParamRequired("TemplateType"))
39129	}
39130	if s.TemplateType != nil && len(*s.TemplateType) < 1 {
39131		invalidParams.Add(request.NewErrParamMinLen("TemplateType", 1))
39132	}
39133
39134	if invalidParams.Len() > 0 {
39135		return invalidParams
39136	}
39137	return nil
39138}
39139
39140// SetTemplateActiveVersionRequest sets the TemplateActiveVersionRequest field's value.
39141func (s *UpdateTemplateActiveVersionInput) SetTemplateActiveVersionRequest(v *TemplateActiveVersionRequest) *UpdateTemplateActiveVersionInput {
39142	s.TemplateActiveVersionRequest = v
39143	return s
39144}
39145
39146// SetTemplateName sets the TemplateName field's value.
39147func (s *UpdateTemplateActiveVersionInput) SetTemplateName(v string) *UpdateTemplateActiveVersionInput {
39148	s.TemplateName = &v
39149	return s
39150}
39151
39152// SetTemplateType sets the TemplateType field's value.
39153func (s *UpdateTemplateActiveVersionInput) SetTemplateType(v string) *UpdateTemplateActiveVersionInput {
39154	s.TemplateType = &v
39155	return s
39156}
39157
39158type UpdateTemplateActiveVersionOutput struct {
39159	_ struct{} `type:"structure" payload:"MessageBody"`
39160
39161	// Provides information about an API request or response.
39162	//
39163	// MessageBody is a required field
39164	MessageBody *MessageBody `type:"structure" required:"true"`
39165}
39166
39167// String returns the string representation.
39168//
39169// API parameter values that are decorated as "sensitive" in the API will not
39170// be included in the string output. The member name will be present, but the
39171// value will be replaced with "sensitive".
39172func (s UpdateTemplateActiveVersionOutput) String() string {
39173	return awsutil.Prettify(s)
39174}
39175
39176// GoString returns the string representation.
39177//
39178// API parameter values that are decorated as "sensitive" in the API will not
39179// be included in the string output. The member name will be present, but the
39180// value will be replaced with "sensitive".
39181func (s UpdateTemplateActiveVersionOutput) GoString() string {
39182	return s.String()
39183}
39184
39185// SetMessageBody sets the MessageBody field's value.
39186func (s *UpdateTemplateActiveVersionOutput) SetMessageBody(v *MessageBody) *UpdateTemplateActiveVersionOutput {
39187	s.MessageBody = v
39188	return s
39189}
39190
39191type UpdateVoiceChannelInput struct {
39192	_ struct{} `type:"structure" payload:"VoiceChannelRequest"`
39193
39194	// ApplicationId is a required field
39195	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
39196
39197	// Specifies the status and settings of the voice channel for an application.
39198	//
39199	// VoiceChannelRequest is a required field
39200	VoiceChannelRequest *VoiceChannelRequest `type:"structure" required:"true"`
39201}
39202
39203// String returns the string representation.
39204//
39205// API parameter values that are decorated as "sensitive" in the API will not
39206// be included in the string output. The member name will be present, but the
39207// value will be replaced with "sensitive".
39208func (s UpdateVoiceChannelInput) String() string {
39209	return awsutil.Prettify(s)
39210}
39211
39212// GoString returns the string representation.
39213//
39214// API parameter values that are decorated as "sensitive" in the API will not
39215// be included in the string output. The member name will be present, but the
39216// value will be replaced with "sensitive".
39217func (s UpdateVoiceChannelInput) GoString() string {
39218	return s.String()
39219}
39220
39221// Validate inspects the fields of the type to determine if they are valid.
39222func (s *UpdateVoiceChannelInput) Validate() error {
39223	invalidParams := request.ErrInvalidParams{Context: "UpdateVoiceChannelInput"}
39224	if s.ApplicationId == nil {
39225		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
39226	}
39227	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
39228		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
39229	}
39230	if s.VoiceChannelRequest == nil {
39231		invalidParams.Add(request.NewErrParamRequired("VoiceChannelRequest"))
39232	}
39233
39234	if invalidParams.Len() > 0 {
39235		return invalidParams
39236	}
39237	return nil
39238}
39239
39240// SetApplicationId sets the ApplicationId field's value.
39241func (s *UpdateVoiceChannelInput) SetApplicationId(v string) *UpdateVoiceChannelInput {
39242	s.ApplicationId = &v
39243	return s
39244}
39245
39246// SetVoiceChannelRequest sets the VoiceChannelRequest field's value.
39247func (s *UpdateVoiceChannelInput) SetVoiceChannelRequest(v *VoiceChannelRequest) *UpdateVoiceChannelInput {
39248	s.VoiceChannelRequest = v
39249	return s
39250}
39251
39252type UpdateVoiceChannelOutput struct {
39253	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
39254
39255	// Provides information about the status and settings of the voice channel for
39256	// an application.
39257	//
39258	// VoiceChannelResponse is a required field
39259	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
39260}
39261
39262// String returns the string representation.
39263//
39264// API parameter values that are decorated as "sensitive" in the API will not
39265// be included in the string output. The member name will be present, but the
39266// value will be replaced with "sensitive".
39267func (s UpdateVoiceChannelOutput) String() string {
39268	return awsutil.Prettify(s)
39269}
39270
39271// GoString returns the string representation.
39272//
39273// API parameter values that are decorated as "sensitive" in the API will not
39274// be included in the string output. The member name will be present, but the
39275// value will be replaced with "sensitive".
39276func (s UpdateVoiceChannelOutput) GoString() string {
39277	return s.String()
39278}
39279
39280// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
39281func (s *UpdateVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *UpdateVoiceChannelOutput {
39282	s.VoiceChannelResponse = v
39283	return s
39284}
39285
39286type UpdateVoiceTemplateInput struct {
39287	_ struct{} `type:"structure" payload:"VoiceTemplateRequest"`
39288
39289	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
39290
39291	// TemplateName is a required field
39292	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
39293
39294	Version *string `location:"querystring" locationName:"version" type:"string"`
39295
39296	// Specifies the content and settings for a message template that can be used
39297	// in messages that are sent through the voice channel.
39298	//
39299	// VoiceTemplateRequest is a required field
39300	VoiceTemplateRequest *VoiceTemplateRequest `type:"structure" required:"true"`
39301}
39302
39303// String returns the string representation.
39304//
39305// API parameter values that are decorated as "sensitive" in the API will not
39306// be included in the string output. The member name will be present, but the
39307// value will be replaced with "sensitive".
39308func (s UpdateVoiceTemplateInput) String() string {
39309	return awsutil.Prettify(s)
39310}
39311
39312// GoString returns the string representation.
39313//
39314// API parameter values that are decorated as "sensitive" in the API will not
39315// be included in the string output. The member name will be present, but the
39316// value will be replaced with "sensitive".
39317func (s UpdateVoiceTemplateInput) GoString() string {
39318	return s.String()
39319}
39320
39321// Validate inspects the fields of the type to determine if they are valid.
39322func (s *UpdateVoiceTemplateInput) Validate() error {
39323	invalidParams := request.ErrInvalidParams{Context: "UpdateVoiceTemplateInput"}
39324	if s.TemplateName == nil {
39325		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
39326	}
39327	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
39328		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
39329	}
39330	if s.VoiceTemplateRequest == nil {
39331		invalidParams.Add(request.NewErrParamRequired("VoiceTemplateRequest"))
39332	}
39333
39334	if invalidParams.Len() > 0 {
39335		return invalidParams
39336	}
39337	return nil
39338}
39339
39340// SetCreateNewVersion sets the CreateNewVersion field's value.
39341func (s *UpdateVoiceTemplateInput) SetCreateNewVersion(v bool) *UpdateVoiceTemplateInput {
39342	s.CreateNewVersion = &v
39343	return s
39344}
39345
39346// SetTemplateName sets the TemplateName field's value.
39347func (s *UpdateVoiceTemplateInput) SetTemplateName(v string) *UpdateVoiceTemplateInput {
39348	s.TemplateName = &v
39349	return s
39350}
39351
39352// SetVersion sets the Version field's value.
39353func (s *UpdateVoiceTemplateInput) SetVersion(v string) *UpdateVoiceTemplateInput {
39354	s.Version = &v
39355	return s
39356}
39357
39358// SetVoiceTemplateRequest sets the VoiceTemplateRequest field's value.
39359func (s *UpdateVoiceTemplateInput) SetVoiceTemplateRequest(v *VoiceTemplateRequest) *UpdateVoiceTemplateInput {
39360	s.VoiceTemplateRequest = v
39361	return s
39362}
39363
39364type UpdateVoiceTemplateOutput struct {
39365	_ struct{} `type:"structure" payload:"MessageBody"`
39366
39367	// Provides information about an API request or response.
39368	//
39369	// MessageBody is a required field
39370	MessageBody *MessageBody `type:"structure" required:"true"`
39371}
39372
39373// String returns the string representation.
39374//
39375// API parameter values that are decorated as "sensitive" in the API will not
39376// be included in the string output. The member name will be present, but the
39377// value will be replaced with "sensitive".
39378func (s UpdateVoiceTemplateOutput) String() string {
39379	return awsutil.Prettify(s)
39380}
39381
39382// GoString returns the string representation.
39383//
39384// API parameter values that are decorated as "sensitive" in the API will not
39385// be included in the string output. The member name will be present, but the
39386// value will be replaced with "sensitive".
39387func (s UpdateVoiceTemplateOutput) GoString() string {
39388	return s.String()
39389}
39390
39391// SetMessageBody sets the MessageBody field's value.
39392func (s *UpdateVoiceTemplateOutput) SetMessageBody(v *MessageBody) *UpdateVoiceTemplateOutput {
39393	s.MessageBody = v
39394	return s
39395}
39396
39397// Specifies the status and settings of the voice channel for an application.
39398type VoiceChannelRequest struct {
39399	_ struct{} `type:"structure"`
39400
39401	// Specifies whether to enable the voice channel for the application.
39402	Enabled *bool `type:"boolean"`
39403}
39404
39405// String returns the string representation.
39406//
39407// API parameter values that are decorated as "sensitive" in the API will not
39408// be included in the string output. The member name will be present, but the
39409// value will be replaced with "sensitive".
39410func (s VoiceChannelRequest) String() string {
39411	return awsutil.Prettify(s)
39412}
39413
39414// GoString returns the string representation.
39415//
39416// API parameter values that are decorated as "sensitive" in the API will not
39417// be included in the string output. The member name will be present, but the
39418// value will be replaced with "sensitive".
39419func (s VoiceChannelRequest) GoString() string {
39420	return s.String()
39421}
39422
39423// SetEnabled sets the Enabled field's value.
39424func (s *VoiceChannelRequest) SetEnabled(v bool) *VoiceChannelRequest {
39425	s.Enabled = &v
39426	return s
39427}
39428
39429// Provides information about the status and settings of the voice channel for
39430// an application.
39431type VoiceChannelResponse struct {
39432	_ struct{} `type:"structure"`
39433
39434	// The unique identifier for the application that the voice channel applies
39435	// to.
39436	ApplicationId *string `type:"string"`
39437
39438	// The date and time, in ISO 8601 format, when the voice channel was enabled.
39439	CreationDate *string `type:"string"`
39440
39441	// Specifies whether the voice channel is enabled for the application.
39442	Enabled *bool `type:"boolean"`
39443
39444	// (Not used) This property is retained only for backward compatibility.
39445	HasCredential *bool `type:"boolean"`
39446
39447	// (Deprecated) An identifier for the voice channel. This property is retained
39448	// only for backward compatibility.
39449	Id *string `type:"string"`
39450
39451	// Specifies whether the voice channel is archived.
39452	IsArchived *bool `type:"boolean"`
39453
39454	// The user who last modified the voice channel.
39455	LastModifiedBy *string `type:"string"`
39456
39457	// The date and time, in ISO 8601 format, when the voice channel was last modified.
39458	LastModifiedDate *string `type:"string"`
39459
39460	// The type of messaging or notification platform for the channel. For the voice
39461	// channel, this value is VOICE.
39462	//
39463	// Platform is a required field
39464	Platform *string `type:"string" required:"true"`
39465
39466	// The current version of the voice channel.
39467	Version *int64 `type:"integer"`
39468}
39469
39470// String returns the string representation.
39471//
39472// API parameter values that are decorated as "sensitive" in the API will not
39473// be included in the string output. The member name will be present, but the
39474// value will be replaced with "sensitive".
39475func (s VoiceChannelResponse) String() string {
39476	return awsutil.Prettify(s)
39477}
39478
39479// GoString returns the string representation.
39480//
39481// API parameter values that are decorated as "sensitive" in the API will not
39482// be included in the string output. The member name will be present, but the
39483// value will be replaced with "sensitive".
39484func (s VoiceChannelResponse) GoString() string {
39485	return s.String()
39486}
39487
39488// SetApplicationId sets the ApplicationId field's value.
39489func (s *VoiceChannelResponse) SetApplicationId(v string) *VoiceChannelResponse {
39490	s.ApplicationId = &v
39491	return s
39492}
39493
39494// SetCreationDate sets the CreationDate field's value.
39495func (s *VoiceChannelResponse) SetCreationDate(v string) *VoiceChannelResponse {
39496	s.CreationDate = &v
39497	return s
39498}
39499
39500// SetEnabled sets the Enabled field's value.
39501func (s *VoiceChannelResponse) SetEnabled(v bool) *VoiceChannelResponse {
39502	s.Enabled = &v
39503	return s
39504}
39505
39506// SetHasCredential sets the HasCredential field's value.
39507func (s *VoiceChannelResponse) SetHasCredential(v bool) *VoiceChannelResponse {
39508	s.HasCredential = &v
39509	return s
39510}
39511
39512// SetId sets the Id field's value.
39513func (s *VoiceChannelResponse) SetId(v string) *VoiceChannelResponse {
39514	s.Id = &v
39515	return s
39516}
39517
39518// SetIsArchived sets the IsArchived field's value.
39519func (s *VoiceChannelResponse) SetIsArchived(v bool) *VoiceChannelResponse {
39520	s.IsArchived = &v
39521	return s
39522}
39523
39524// SetLastModifiedBy sets the LastModifiedBy field's value.
39525func (s *VoiceChannelResponse) SetLastModifiedBy(v string) *VoiceChannelResponse {
39526	s.LastModifiedBy = &v
39527	return s
39528}
39529
39530// SetLastModifiedDate sets the LastModifiedDate field's value.
39531func (s *VoiceChannelResponse) SetLastModifiedDate(v string) *VoiceChannelResponse {
39532	s.LastModifiedDate = &v
39533	return s
39534}
39535
39536// SetPlatform sets the Platform field's value.
39537func (s *VoiceChannelResponse) SetPlatform(v string) *VoiceChannelResponse {
39538	s.Platform = &v
39539	return s
39540}
39541
39542// SetVersion sets the Version field's value.
39543func (s *VoiceChannelResponse) SetVersion(v int64) *VoiceChannelResponse {
39544	s.Version = &v
39545	return s
39546}
39547
39548// Specifies the settings for a one-time voice message that's sent directly
39549// to an endpoint through the voice channel.
39550type VoiceMessage struct {
39551	_ struct{} `type:"structure"`
39552
39553	// The text of the script to use for the voice message.
39554	Body *string `type:"string"`
39555
39556	// The code for the language to use when synthesizing the text of the message
39557	// script. For a list of supported languages and the code for each one, see
39558	// the Amazon Polly Developer Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
39559	LanguageCode *string `type:"string"`
39560
39561	// The long code to send the voice message from. This value should be one of
39562	// the dedicated long codes that's assigned to your AWS account. Although it
39563	// isn't required, we recommend that you specify the long code in E.164 format,
39564	// for example +12065550100, to ensure prompt and accurate delivery of the message.
39565	OriginationNumber *string `type:"string"`
39566
39567	// The default message variables to use in the voice message. You can override
39568	// the default variables with individual address variables.
39569	Substitutions map[string][]*string `type:"map"`
39570
39571	// The name of the voice to use when delivering the message. For a list of supported
39572	// voices, see the Amazon Polly Developer Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
39573	VoiceId *string `type:"string"`
39574}
39575
39576// String returns the string representation.
39577//
39578// API parameter values that are decorated as "sensitive" in the API will not
39579// be included in the string output. The member name will be present, but the
39580// value will be replaced with "sensitive".
39581func (s VoiceMessage) String() string {
39582	return awsutil.Prettify(s)
39583}
39584
39585// GoString returns the string representation.
39586//
39587// API parameter values that are decorated as "sensitive" in the API will not
39588// be included in the string output. The member name will be present, but the
39589// value will be replaced with "sensitive".
39590func (s VoiceMessage) GoString() string {
39591	return s.String()
39592}
39593
39594// SetBody sets the Body field's value.
39595func (s *VoiceMessage) SetBody(v string) *VoiceMessage {
39596	s.Body = &v
39597	return s
39598}
39599
39600// SetLanguageCode sets the LanguageCode field's value.
39601func (s *VoiceMessage) SetLanguageCode(v string) *VoiceMessage {
39602	s.LanguageCode = &v
39603	return s
39604}
39605
39606// SetOriginationNumber sets the OriginationNumber field's value.
39607func (s *VoiceMessage) SetOriginationNumber(v string) *VoiceMessage {
39608	s.OriginationNumber = &v
39609	return s
39610}
39611
39612// SetSubstitutions sets the Substitutions field's value.
39613func (s *VoiceMessage) SetSubstitutions(v map[string][]*string) *VoiceMessage {
39614	s.Substitutions = v
39615	return s
39616}
39617
39618// SetVoiceId sets the VoiceId field's value.
39619func (s *VoiceMessage) SetVoiceId(v string) *VoiceMessage {
39620	s.VoiceId = &v
39621	return s
39622}
39623
39624// Specifies the content and settings for a message template that can be used
39625// in messages that are sent through the voice channel.
39626type VoiceTemplateRequest struct {
39627	_ struct{} `type:"structure"`
39628
39629	// The text of the script to use in messages that are based on the message template,
39630	// in plain text format.
39631	Body *string `type:"string"`
39632
39633	// A JSON object that specifies the default values to use for message variables
39634	// in the message template. This object is a set of key-value pairs. Each key
39635	// defines a message variable in the template. The corresponding value defines
39636	// the default value for that variable. When you create a message that's based
39637	// on the template, you can override these defaults with message-specific and
39638	// address-specific variables and values.
39639	DefaultSubstitutions *string `type:"string"`
39640
39641	// The code for the language to use when synthesizing the text of the script
39642	// in messages that are based on the message template. For a list of supported
39643	// languages and the code for each one, see the Amazon Polly Developer Guide
39644	// (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
39645	LanguageCode *string `type:"string"`
39646
39647	// A string-to-string map of key-value pairs that defines the tags to associate
39648	// with the message template. Each tag consists of a required tag key and an
39649	// associated tag value.
39650	Tags map[string]*string `locationName:"tags" type:"map"`
39651
39652	// A custom description of the message template.
39653	TemplateDescription *string `type:"string"`
39654
39655	// The name of the voice to use when delivering messages that are based on the
39656	// message template. For a list of supported voices, see the Amazon Polly Developer
39657	// Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
39658	VoiceId *string `type:"string"`
39659}
39660
39661// String returns the string representation.
39662//
39663// API parameter values that are decorated as "sensitive" in the API will not
39664// be included in the string output. The member name will be present, but the
39665// value will be replaced with "sensitive".
39666func (s VoiceTemplateRequest) String() string {
39667	return awsutil.Prettify(s)
39668}
39669
39670// GoString returns the string representation.
39671//
39672// API parameter values that are decorated as "sensitive" in the API will not
39673// be included in the string output. The member name will be present, but the
39674// value will be replaced with "sensitive".
39675func (s VoiceTemplateRequest) GoString() string {
39676	return s.String()
39677}
39678
39679// SetBody sets the Body field's value.
39680func (s *VoiceTemplateRequest) SetBody(v string) *VoiceTemplateRequest {
39681	s.Body = &v
39682	return s
39683}
39684
39685// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
39686func (s *VoiceTemplateRequest) SetDefaultSubstitutions(v string) *VoiceTemplateRequest {
39687	s.DefaultSubstitutions = &v
39688	return s
39689}
39690
39691// SetLanguageCode sets the LanguageCode field's value.
39692func (s *VoiceTemplateRequest) SetLanguageCode(v string) *VoiceTemplateRequest {
39693	s.LanguageCode = &v
39694	return s
39695}
39696
39697// SetTags sets the Tags field's value.
39698func (s *VoiceTemplateRequest) SetTags(v map[string]*string) *VoiceTemplateRequest {
39699	s.Tags = v
39700	return s
39701}
39702
39703// SetTemplateDescription sets the TemplateDescription field's value.
39704func (s *VoiceTemplateRequest) SetTemplateDescription(v string) *VoiceTemplateRequest {
39705	s.TemplateDescription = &v
39706	return s
39707}
39708
39709// SetVoiceId sets the VoiceId field's value.
39710func (s *VoiceTemplateRequest) SetVoiceId(v string) *VoiceTemplateRequest {
39711	s.VoiceId = &v
39712	return s
39713}
39714
39715// Provides information about the content and settings for a message template
39716// that can be used in messages that are sent through the voice channel.
39717type VoiceTemplateResponse struct {
39718	_ struct{} `type:"structure"`
39719
39720	// The Amazon Resource Name (ARN) of the message template.
39721	Arn *string `type:"string"`
39722
39723	// The text of the script that's used in messages that are based on the message
39724	// template, in plain text format.
39725	Body *string `type:"string"`
39726
39727	// The date, in ISO 8601 format, when the message template was created.
39728	//
39729	// CreationDate is a required field
39730	CreationDate *string `type:"string" required:"true"`
39731
39732	// The JSON object that specifies the default values that are used for message
39733	// variables in the message template. This object is a set of key-value pairs.
39734	// Each key defines a message variable in the template. The corresponding value
39735	// defines the default value for that variable.
39736	DefaultSubstitutions *string `type:"string"`
39737
39738	// The code for the language that's used when synthesizing the text of the script
39739	// in messages that are based on the message template. For a list of supported
39740	// languages and the code for each one, see the Amazon Polly Developer Guide
39741	// (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
39742	LanguageCode *string `type:"string"`
39743
39744	// The date, in ISO 8601 format, when the message template was last modified.
39745	//
39746	// LastModifiedDate is a required field
39747	LastModifiedDate *string `type:"string" required:"true"`
39748
39749	// A string-to-string map of key-value pairs that identifies the tags that are
39750	// associated with the message template. Each tag consists of a required tag
39751	// key and an associated tag value.
39752	Tags map[string]*string `locationName:"tags" type:"map"`
39753
39754	// The custom description of the message template.
39755	TemplateDescription *string `type:"string"`
39756
39757	// The name of the message template.
39758	//
39759	// TemplateName is a required field
39760	TemplateName *string `type:"string" required:"true"`
39761
39762	// The type of channel that the message template is designed for. For a voice
39763	// template, this value is VOICE.
39764	//
39765	// TemplateType is a required field
39766	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
39767
39768	// The unique identifier, as an integer, for the active version of the message
39769	// template, or the version of the template that you specified by using the
39770	// version parameter in your request.
39771	Version *string `type:"string"`
39772
39773	// The name of the voice that's used when delivering messages that are based
39774	// on the message template. For a list of supported voices, see the Amazon Polly
39775	// Developer Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
39776	VoiceId *string `type:"string"`
39777}
39778
39779// String returns the string representation.
39780//
39781// API parameter values that are decorated as "sensitive" in the API will not
39782// be included in the string output. The member name will be present, but the
39783// value will be replaced with "sensitive".
39784func (s VoiceTemplateResponse) String() string {
39785	return awsutil.Prettify(s)
39786}
39787
39788// GoString returns the string representation.
39789//
39790// API parameter values that are decorated as "sensitive" in the API will not
39791// be included in the string output. The member name will be present, but the
39792// value will be replaced with "sensitive".
39793func (s VoiceTemplateResponse) GoString() string {
39794	return s.String()
39795}
39796
39797// SetArn sets the Arn field's value.
39798func (s *VoiceTemplateResponse) SetArn(v string) *VoiceTemplateResponse {
39799	s.Arn = &v
39800	return s
39801}
39802
39803// SetBody sets the Body field's value.
39804func (s *VoiceTemplateResponse) SetBody(v string) *VoiceTemplateResponse {
39805	s.Body = &v
39806	return s
39807}
39808
39809// SetCreationDate sets the CreationDate field's value.
39810func (s *VoiceTemplateResponse) SetCreationDate(v string) *VoiceTemplateResponse {
39811	s.CreationDate = &v
39812	return s
39813}
39814
39815// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
39816func (s *VoiceTemplateResponse) SetDefaultSubstitutions(v string) *VoiceTemplateResponse {
39817	s.DefaultSubstitutions = &v
39818	return s
39819}
39820
39821// SetLanguageCode sets the LanguageCode field's value.
39822func (s *VoiceTemplateResponse) SetLanguageCode(v string) *VoiceTemplateResponse {
39823	s.LanguageCode = &v
39824	return s
39825}
39826
39827// SetLastModifiedDate sets the LastModifiedDate field's value.
39828func (s *VoiceTemplateResponse) SetLastModifiedDate(v string) *VoiceTemplateResponse {
39829	s.LastModifiedDate = &v
39830	return s
39831}
39832
39833// SetTags sets the Tags field's value.
39834func (s *VoiceTemplateResponse) SetTags(v map[string]*string) *VoiceTemplateResponse {
39835	s.Tags = v
39836	return s
39837}
39838
39839// SetTemplateDescription sets the TemplateDescription field's value.
39840func (s *VoiceTemplateResponse) SetTemplateDescription(v string) *VoiceTemplateResponse {
39841	s.TemplateDescription = &v
39842	return s
39843}
39844
39845// SetTemplateName sets the TemplateName field's value.
39846func (s *VoiceTemplateResponse) SetTemplateName(v string) *VoiceTemplateResponse {
39847	s.TemplateName = &v
39848	return s
39849}
39850
39851// SetTemplateType sets the TemplateType field's value.
39852func (s *VoiceTemplateResponse) SetTemplateType(v string) *VoiceTemplateResponse {
39853	s.TemplateType = &v
39854	return s
39855}
39856
39857// SetVersion sets the Version field's value.
39858func (s *VoiceTemplateResponse) SetVersion(v string) *VoiceTemplateResponse {
39859	s.Version = &v
39860	return s
39861}
39862
39863// SetVoiceId sets the VoiceId field's value.
39864func (s *VoiceTemplateResponse) SetVoiceId(v string) *VoiceTemplateResponse {
39865	s.VoiceId = &v
39866	return s
39867}
39868
39869// Specifies the settings for a wait activity in a journey. This type of activity
39870// waits for a certain amount of time or until a specific date and time before
39871// moving participants to the next activity in a journey.
39872type WaitActivity struct {
39873	_ struct{} `type:"structure"`
39874
39875	// The unique identifier for the next activity to perform, after performing
39876	// the wait activity.
39877	NextActivity *string `type:"string"`
39878
39879	// The amount of time to wait or the date and time when the activity moves participants
39880	// to the next activity in the journey.
39881	WaitTime *WaitTime `type:"structure"`
39882}
39883
39884// String returns the string representation.
39885//
39886// API parameter values that are decorated as "sensitive" in the API will not
39887// be included in the string output. The member name will be present, but the
39888// value will be replaced with "sensitive".
39889func (s WaitActivity) String() string {
39890	return awsutil.Prettify(s)
39891}
39892
39893// GoString returns the string representation.
39894//
39895// API parameter values that are decorated as "sensitive" in the API will not
39896// be included in the string output. The member name will be present, but the
39897// value will be replaced with "sensitive".
39898func (s WaitActivity) GoString() string {
39899	return s.String()
39900}
39901
39902// SetNextActivity sets the NextActivity field's value.
39903func (s *WaitActivity) SetNextActivity(v string) *WaitActivity {
39904	s.NextActivity = &v
39905	return s
39906}
39907
39908// SetWaitTime sets the WaitTime field's value.
39909func (s *WaitActivity) SetWaitTime(v *WaitTime) *WaitActivity {
39910	s.WaitTime = v
39911	return s
39912}
39913
39914// Specifies a duration or a date and time that indicates when Amazon Pinpoint
39915// determines whether an activity's conditions have been met or an activity
39916// moves participants to the next activity in a journey.
39917type WaitTime struct {
39918	_ struct{} `type:"structure"`
39919
39920	// The amount of time to wait, as a duration in ISO 8601 format, before determining
39921	// whether the activity's conditions have been met or moving participants to
39922	// the next activity in the journey.
39923	WaitFor *string `type:"string"`
39924
39925	// The date and time, in ISO 8601 format, when Amazon Pinpoint determines whether
39926	// the activity's conditions have been met or the activity moves participants
39927	// to the next activity in the journey.
39928	WaitUntil *string `type:"string"`
39929}
39930
39931// String returns the string representation.
39932//
39933// API parameter values that are decorated as "sensitive" in the API will not
39934// be included in the string output. The member name will be present, but the
39935// value will be replaced with "sensitive".
39936func (s WaitTime) String() string {
39937	return awsutil.Prettify(s)
39938}
39939
39940// GoString returns the string representation.
39941//
39942// API parameter values that are decorated as "sensitive" in the API will not
39943// be included in the string output. The member name will be present, but the
39944// value will be replaced with "sensitive".
39945func (s WaitTime) GoString() string {
39946	return s.String()
39947}
39948
39949// SetWaitFor sets the WaitFor field's value.
39950func (s *WaitTime) SetWaitFor(v string) *WaitTime {
39951	s.WaitFor = &v
39952	return s
39953}
39954
39955// SetWaitUntil sets the WaitUntil field's value.
39956func (s *WaitTime) SetWaitUntil(v string) *WaitTime {
39957	s.WaitUntil = &v
39958	return s
39959}
39960
39961// Specifies the default settings for an application.
39962type WriteApplicationSettingsRequest struct {
39963	_ struct{} `type:"structure"`
39964
39965	// The settings for the AWS Lambda function to invoke by default as a code hook
39966	// for campaigns in the application. You can use this hook to customize segments
39967	// that are used by campaigns in the application.
39968	//
39969	// To override these settings and define custom settings for a specific campaign,
39970	// use the CampaignHook object of the Campaign resource.
39971	CampaignHook *CampaignHook `type:"structure"`
39972
39973	// Specifies whether to enable application-related alarms in Amazon CloudWatch.
39974	CloudWatchMetricsEnabled *bool `type:"boolean"`
39975
39976	// The default sending limits for campaigns in the application. To override
39977	// these limits and define custom limits for a specific campaign or journey,
39978	// use the Campaign resource or the Journey resource, respectively.
39979	Limits *CampaignLimits `type:"structure"`
39980
39981	// The default quiet time for campaigns in the application. Quiet time is a
39982	// specific time range when messages aren't sent to endpoints, if all the following
39983	// conditions are met:
39984	//
39985	//    * The EndpointDemographic.Timezone property of the endpoint is set to
39986	//    a valid value.
39987	//
39988	//    * The current time in the endpoint's time zone is later than or equal
39989	//    to the time specified by the QuietTime.Start property for the application
39990	//    (or a campaign or journey that has custom quiet time settings).
39991	//
39992	//    * The current time in the endpoint's time zone is earlier than or equal
39993	//    to the time specified by the QuietTime.End property for the application
39994	//    (or a campaign or journey that has custom quiet time settings).
39995	//
39996	// If any of the preceding conditions isn't met, the endpoint will receive messages
39997	// from a campaign or journey, even if quiet time is enabled.
39998	//
39999	// To override the default quiet time settings for a specific campaign or journey,
40000	// use the Campaign resource or the Journey resource to define a custom quiet
40001	// time for the campaign or journey.
40002	QuietTime *QuietTime `type:"structure"`
40003}
40004
40005// String returns the string representation.
40006//
40007// API parameter values that are decorated as "sensitive" in the API will not
40008// be included in the string output. The member name will be present, but the
40009// value will be replaced with "sensitive".
40010func (s WriteApplicationSettingsRequest) String() string {
40011	return awsutil.Prettify(s)
40012}
40013
40014// GoString returns the string representation.
40015//
40016// API parameter values that are decorated as "sensitive" in the API will not
40017// be included in the string output. The member name will be present, but the
40018// value will be replaced with "sensitive".
40019func (s WriteApplicationSettingsRequest) GoString() string {
40020	return s.String()
40021}
40022
40023// SetCampaignHook sets the CampaignHook field's value.
40024func (s *WriteApplicationSettingsRequest) SetCampaignHook(v *CampaignHook) *WriteApplicationSettingsRequest {
40025	s.CampaignHook = v
40026	return s
40027}
40028
40029// SetCloudWatchMetricsEnabled sets the CloudWatchMetricsEnabled field's value.
40030func (s *WriteApplicationSettingsRequest) SetCloudWatchMetricsEnabled(v bool) *WriteApplicationSettingsRequest {
40031	s.CloudWatchMetricsEnabled = &v
40032	return s
40033}
40034
40035// SetLimits sets the Limits field's value.
40036func (s *WriteApplicationSettingsRequest) SetLimits(v *CampaignLimits) *WriteApplicationSettingsRequest {
40037	s.Limits = v
40038	return s
40039}
40040
40041// SetQuietTime sets the QuietTime field's value.
40042func (s *WriteApplicationSettingsRequest) SetQuietTime(v *QuietTime) *WriteApplicationSettingsRequest {
40043	s.QuietTime = v
40044	return s
40045}
40046
40047// Specifies the configuration and other settings for a campaign.
40048type WriteCampaignRequest struct {
40049	_ struct{} `type:"structure"`
40050
40051	// An array of requests that defines additional treatments for the campaign,
40052	// in addition to the default treatment for the campaign.
40053	AdditionalTreatments []*WriteTreatmentResource `type:"list"`
40054
40055	// The delivery configuration settings for sending the campaign through a custom
40056	// channel. This object is required if the MessageConfiguration object for the
40057	// campaign specifies a CustomMessage object.
40058	CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"`
40059
40060	// A custom description of the campaign.
40061	Description *string `type:"string"`
40062
40063	// The allocated percentage of users (segment members) who shouldn't receive
40064	// messages from the campaign.
40065	HoldoutPercent *int64 `type:"integer"`
40066
40067	// The settings for the AWS Lambda function to invoke as a code hook for the
40068	// campaign. You can use this hook to customize the segment that's used by the
40069	// campaign.
40070	Hook *CampaignHook `type:"structure"`
40071
40072	// Specifies whether to pause the campaign. A paused campaign doesn't run unless
40073	// you resume it by changing this value to false.
40074	IsPaused *bool `type:"boolean"`
40075
40076	// The messaging limits for the campaign.
40077	Limits *CampaignLimits `type:"structure"`
40078
40079	// The message configuration settings for the campaign.
40080	MessageConfiguration *MessageConfiguration `type:"structure"`
40081
40082	// A custom name for the campaign.
40083	Name *string `type:"string"`
40084
40085	// Defines the priority of the campaign, used to decide the order of messages
40086	// displayed to user if there are multiple messages scheduled to be displayed
40087	// at the same moment.
40088	Priority *int64 `type:"integer"`
40089
40090	// The schedule settings for the campaign.
40091	Schedule *Schedule `type:"structure"`
40092
40093	// The unique identifier for the segment to associate with the campaign.
40094	SegmentId *string `type:"string"`
40095
40096	// The version of the segment to associate with the campaign.
40097	SegmentVersion *int64 `type:"integer"`
40098
40099	// A string-to-string map of key-value pairs that defines the tags to associate
40100	// with the campaign. Each tag consists of a required tag key and an associated
40101	// tag value.
40102	Tags map[string]*string `locationName:"tags" type:"map"`
40103
40104	// The message template to use for the campaign.
40105	TemplateConfiguration *TemplateConfiguration `type:"structure"`
40106
40107	// A custom description of the default treatment for the campaign.
40108	TreatmentDescription *string `type:"string"`
40109
40110	// A custom name of the default treatment for the campaign, if the campaign
40111	// has multiple treatments. A treatment is a variation of a campaign that's
40112	// used for A/B testing.
40113	TreatmentName *string `type:"string"`
40114}
40115
40116// String returns the string representation.
40117//
40118// API parameter values that are decorated as "sensitive" in the API will not
40119// be included in the string output. The member name will be present, but the
40120// value will be replaced with "sensitive".
40121func (s WriteCampaignRequest) String() string {
40122	return awsutil.Prettify(s)
40123}
40124
40125// GoString returns the string representation.
40126//
40127// API parameter values that are decorated as "sensitive" in the API will not
40128// be included in the string output. The member name will be present, but the
40129// value will be replaced with "sensitive".
40130func (s WriteCampaignRequest) GoString() string {
40131	return s.String()
40132}
40133
40134// Validate inspects the fields of the type to determine if they are valid.
40135func (s *WriteCampaignRequest) Validate() error {
40136	invalidParams := request.ErrInvalidParams{Context: "WriteCampaignRequest"}
40137	if s.AdditionalTreatments != nil {
40138		for i, v := range s.AdditionalTreatments {
40139			if v == nil {
40140				continue
40141			}
40142			if err := v.Validate(); err != nil {
40143				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalTreatments", i), err.(request.ErrInvalidParams))
40144			}
40145		}
40146	}
40147	if s.CustomDeliveryConfiguration != nil {
40148		if err := s.CustomDeliveryConfiguration.Validate(); err != nil {
40149			invalidParams.AddNested("CustomDeliveryConfiguration", err.(request.ErrInvalidParams))
40150		}
40151	}
40152	if s.MessageConfiguration != nil {
40153		if err := s.MessageConfiguration.Validate(); err != nil {
40154			invalidParams.AddNested("MessageConfiguration", err.(request.ErrInvalidParams))
40155		}
40156	}
40157	if s.Schedule != nil {
40158		if err := s.Schedule.Validate(); err != nil {
40159			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
40160		}
40161	}
40162
40163	if invalidParams.Len() > 0 {
40164		return invalidParams
40165	}
40166	return nil
40167}
40168
40169// SetAdditionalTreatments sets the AdditionalTreatments field's value.
40170func (s *WriteCampaignRequest) SetAdditionalTreatments(v []*WriteTreatmentResource) *WriteCampaignRequest {
40171	s.AdditionalTreatments = v
40172	return s
40173}
40174
40175// SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value.
40176func (s *WriteCampaignRequest) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *WriteCampaignRequest {
40177	s.CustomDeliveryConfiguration = v
40178	return s
40179}
40180
40181// SetDescription sets the Description field's value.
40182func (s *WriteCampaignRequest) SetDescription(v string) *WriteCampaignRequest {
40183	s.Description = &v
40184	return s
40185}
40186
40187// SetHoldoutPercent sets the HoldoutPercent field's value.
40188func (s *WriteCampaignRequest) SetHoldoutPercent(v int64) *WriteCampaignRequest {
40189	s.HoldoutPercent = &v
40190	return s
40191}
40192
40193// SetHook sets the Hook field's value.
40194func (s *WriteCampaignRequest) SetHook(v *CampaignHook) *WriteCampaignRequest {
40195	s.Hook = v
40196	return s
40197}
40198
40199// SetIsPaused sets the IsPaused field's value.
40200func (s *WriteCampaignRequest) SetIsPaused(v bool) *WriteCampaignRequest {
40201	s.IsPaused = &v
40202	return s
40203}
40204
40205// SetLimits sets the Limits field's value.
40206func (s *WriteCampaignRequest) SetLimits(v *CampaignLimits) *WriteCampaignRequest {
40207	s.Limits = v
40208	return s
40209}
40210
40211// SetMessageConfiguration sets the MessageConfiguration field's value.
40212func (s *WriteCampaignRequest) SetMessageConfiguration(v *MessageConfiguration) *WriteCampaignRequest {
40213	s.MessageConfiguration = v
40214	return s
40215}
40216
40217// SetName sets the Name field's value.
40218func (s *WriteCampaignRequest) SetName(v string) *WriteCampaignRequest {
40219	s.Name = &v
40220	return s
40221}
40222
40223// SetPriority sets the Priority field's value.
40224func (s *WriteCampaignRequest) SetPriority(v int64) *WriteCampaignRequest {
40225	s.Priority = &v
40226	return s
40227}
40228
40229// SetSchedule sets the Schedule field's value.
40230func (s *WriteCampaignRequest) SetSchedule(v *Schedule) *WriteCampaignRequest {
40231	s.Schedule = v
40232	return s
40233}
40234
40235// SetSegmentId sets the SegmentId field's value.
40236func (s *WriteCampaignRequest) SetSegmentId(v string) *WriteCampaignRequest {
40237	s.SegmentId = &v
40238	return s
40239}
40240
40241// SetSegmentVersion sets the SegmentVersion field's value.
40242func (s *WriteCampaignRequest) SetSegmentVersion(v int64) *WriteCampaignRequest {
40243	s.SegmentVersion = &v
40244	return s
40245}
40246
40247// SetTags sets the Tags field's value.
40248func (s *WriteCampaignRequest) SetTags(v map[string]*string) *WriteCampaignRequest {
40249	s.Tags = v
40250	return s
40251}
40252
40253// SetTemplateConfiguration sets the TemplateConfiguration field's value.
40254func (s *WriteCampaignRequest) SetTemplateConfiguration(v *TemplateConfiguration) *WriteCampaignRequest {
40255	s.TemplateConfiguration = v
40256	return s
40257}
40258
40259// SetTreatmentDescription sets the TreatmentDescription field's value.
40260func (s *WriteCampaignRequest) SetTreatmentDescription(v string) *WriteCampaignRequest {
40261	s.TreatmentDescription = &v
40262	return s
40263}
40264
40265// SetTreatmentName sets the TreatmentName field's value.
40266func (s *WriteCampaignRequest) SetTreatmentName(v string) *WriteCampaignRequest {
40267	s.TreatmentName = &v
40268	return s
40269}
40270
40271// Specifies the Amazon Resource Name (ARN) of an event stream to publish events
40272// to and the AWS Identity and Access Management (IAM) role to use when publishing
40273// those events.
40274type WriteEventStream struct {
40275	_ struct{} `type:"structure"`
40276
40277	// The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon
40278	// Kinesis Data Firehose delivery stream that you want to publish event data
40279	// to.
40280	//
40281	// For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name
40282	//
40283	// For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name
40284	//
40285	// DestinationStreamArn is a required field
40286	DestinationStreamArn *string `type:"string" required:"true"`
40287
40288	// The AWS Identity and Access Management (IAM) role that authorizes Amazon
40289	// Pinpoint to publish event data to the stream in your AWS account.
40290	//
40291	// RoleArn is a required field
40292	RoleArn *string `type:"string" required:"true"`
40293}
40294
40295// String returns the string representation.
40296//
40297// API parameter values that are decorated as "sensitive" in the API will not
40298// be included in the string output. The member name will be present, but the
40299// value will be replaced with "sensitive".
40300func (s WriteEventStream) String() string {
40301	return awsutil.Prettify(s)
40302}
40303
40304// GoString returns the string representation.
40305//
40306// API parameter values that are decorated as "sensitive" in the API will not
40307// be included in the string output. The member name will be present, but the
40308// value will be replaced with "sensitive".
40309func (s WriteEventStream) GoString() string {
40310	return s.String()
40311}
40312
40313// Validate inspects the fields of the type to determine if they are valid.
40314func (s *WriteEventStream) Validate() error {
40315	invalidParams := request.ErrInvalidParams{Context: "WriteEventStream"}
40316	if s.DestinationStreamArn == nil {
40317		invalidParams.Add(request.NewErrParamRequired("DestinationStreamArn"))
40318	}
40319	if s.RoleArn == nil {
40320		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
40321	}
40322
40323	if invalidParams.Len() > 0 {
40324		return invalidParams
40325	}
40326	return nil
40327}
40328
40329// SetDestinationStreamArn sets the DestinationStreamArn field's value.
40330func (s *WriteEventStream) SetDestinationStreamArn(v string) *WriteEventStream {
40331	s.DestinationStreamArn = &v
40332	return s
40333}
40334
40335// SetRoleArn sets the RoleArn field's value.
40336func (s *WriteEventStream) SetRoleArn(v string) *WriteEventStream {
40337	s.RoleArn = &v
40338	return s
40339}
40340
40341// Specifies the configuration and other settings for a journey.
40342type WriteJourneyRequest struct {
40343	_ struct{} `type:"structure"`
40344
40345	// A map that contains a set of Activity objects, one object for each activity
40346	// in the journey. For each Activity object, the key is the unique identifier
40347	// (string) for an activity and the value is the settings for the activity.
40348	// An activity identifier can contain a maximum of 100 characters. The characters
40349	// must be alphanumeric characters.
40350	Activities map[string]*Activity `type:"map"`
40351
40352	// The date, in ISO 8601 format, when the journey was created.
40353	CreationDate *string `type:"string"`
40354
40355	// IAM role ARN to be assumed when invoking Connect campaign execution APIs
40356	// for dialing.
40357	JourneyChannelSettings *JourneyChannelSettings `type:"structure"`
40358
40359	// The date, in ISO 8601 format, when the journey was last modified.
40360	LastModifiedDate *string `type:"string"`
40361
40362	// The messaging and entry limits for the journey.
40363	Limits *JourneyLimits `type:"structure"`
40364
40365	// Specifies whether the journey's scheduled start and end times use each participant's
40366	// local time. To base the schedule on each participant's local time, set this
40367	// value to true.
40368	LocalTime *bool `type:"boolean"`
40369
40370	// The name of the journey. A journey name can contain a maximum of 150 characters.
40371	// The characters can be alphanumeric characters or symbols, such as underscores
40372	// (_) or hyphens (-). A journey name can't contain any spaces.
40373	//
40374	// Name is a required field
40375	Name *string `type:"string" required:"true"`
40376
40377	// The quiet time settings for the journey. Quiet time is a specific time range
40378	// when a journey doesn't send messages to participants, if all the following
40379	// conditions are met:
40380	//
40381	//    * The EndpointDemographic.Timezone property of the endpoint for the participant
40382	//    is set to a valid value.
40383	//
40384	//    * The current time in the participant's time zone is later than or equal
40385	//    to the time specified by the QuietTime.Start property for the journey.
40386	//
40387	//    * The current time in the participant's time zone is earlier than or equal
40388	//    to the time specified by the QuietTime.End property for the journey.
40389	//
40390	// If any of the preceding conditions isn't met, the participant will receive
40391	// messages from the journey, even if quiet time is enabled.
40392	QuietTime *QuietTime `type:"structure"`
40393
40394	// The frequency with which Amazon Pinpoint evaluates segment and event data
40395	// for the journey, as a duration in ISO 8601 format.
40396	RefreshFrequency *string `type:"string"`
40397
40398	RefreshOnSegmentUpdate *bool `type:"boolean"`
40399
40400	// The schedule settings for the journey.
40401	Schedule *JourneySchedule `type:"structure"`
40402
40403	// The unique identifier for the first activity in the journey. The identifier
40404	// for this activity can contain a maximum of 128 characters. The characters
40405	// must be alphanumeric characters.
40406	StartActivity *string `type:"string"`
40407
40408	// The segment that defines which users are participants in the journey.
40409	StartCondition *StartCondition `type:"structure"`
40410
40411	// The status of the journey. Valid values are:
40412	//
40413	//    * DRAFT - Saves the journey and doesn't publish it.
40414	//
40415	//    * ACTIVE - Saves and publishes the journey. Depending on the journey's
40416	//    schedule, the journey starts running immediately or at the scheduled start
40417	//    time. If a journey's status is ACTIVE, you can't add, change, or remove
40418	//    activities from it.
40419	//
40420	// PAUSED, CANCELLED, COMPLETED, and CLOSED states are not supported in requests
40421	// to create or update a journey. To cancel, pause, or resume a journey, use
40422	// the Journey State resource.
40423	State *string `type:"string" enum:"State"`
40424
40425	WaitForQuietTime *bool `type:"boolean"`
40426}
40427
40428// String returns the string representation.
40429//
40430// API parameter values that are decorated as "sensitive" in the API will not
40431// be included in the string output. The member name will be present, but the
40432// value will be replaced with "sensitive".
40433func (s WriteJourneyRequest) String() string {
40434	return awsutil.Prettify(s)
40435}
40436
40437// GoString returns the string representation.
40438//
40439// API parameter values that are decorated as "sensitive" in the API will not
40440// be included in the string output. The member name will be present, but the
40441// value will be replaced with "sensitive".
40442func (s WriteJourneyRequest) GoString() string {
40443	return s.String()
40444}
40445
40446// Validate inspects the fields of the type to determine if they are valid.
40447func (s *WriteJourneyRequest) Validate() error {
40448	invalidParams := request.ErrInvalidParams{Context: "WriteJourneyRequest"}
40449	if s.Name == nil {
40450		invalidParams.Add(request.NewErrParamRequired("Name"))
40451	}
40452	if s.Activities != nil {
40453		for i, v := range s.Activities {
40454			if v == nil {
40455				continue
40456			}
40457			if err := v.Validate(); err != nil {
40458				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Activities", i), err.(request.ErrInvalidParams))
40459			}
40460		}
40461	}
40462	if s.StartCondition != nil {
40463		if err := s.StartCondition.Validate(); err != nil {
40464			invalidParams.AddNested("StartCondition", err.(request.ErrInvalidParams))
40465		}
40466	}
40467
40468	if invalidParams.Len() > 0 {
40469		return invalidParams
40470	}
40471	return nil
40472}
40473
40474// SetActivities sets the Activities field's value.
40475func (s *WriteJourneyRequest) SetActivities(v map[string]*Activity) *WriteJourneyRequest {
40476	s.Activities = v
40477	return s
40478}
40479
40480// SetCreationDate sets the CreationDate field's value.
40481func (s *WriteJourneyRequest) SetCreationDate(v string) *WriteJourneyRequest {
40482	s.CreationDate = &v
40483	return s
40484}
40485
40486// SetJourneyChannelSettings sets the JourneyChannelSettings field's value.
40487func (s *WriteJourneyRequest) SetJourneyChannelSettings(v *JourneyChannelSettings) *WriteJourneyRequest {
40488	s.JourneyChannelSettings = v
40489	return s
40490}
40491
40492// SetLastModifiedDate sets the LastModifiedDate field's value.
40493func (s *WriteJourneyRequest) SetLastModifiedDate(v string) *WriteJourneyRequest {
40494	s.LastModifiedDate = &v
40495	return s
40496}
40497
40498// SetLimits sets the Limits field's value.
40499func (s *WriteJourneyRequest) SetLimits(v *JourneyLimits) *WriteJourneyRequest {
40500	s.Limits = v
40501	return s
40502}
40503
40504// SetLocalTime sets the LocalTime field's value.
40505func (s *WriteJourneyRequest) SetLocalTime(v bool) *WriteJourneyRequest {
40506	s.LocalTime = &v
40507	return s
40508}
40509
40510// SetName sets the Name field's value.
40511func (s *WriteJourneyRequest) SetName(v string) *WriteJourneyRequest {
40512	s.Name = &v
40513	return s
40514}
40515
40516// SetQuietTime sets the QuietTime field's value.
40517func (s *WriteJourneyRequest) SetQuietTime(v *QuietTime) *WriteJourneyRequest {
40518	s.QuietTime = v
40519	return s
40520}
40521
40522// SetRefreshFrequency sets the RefreshFrequency field's value.
40523func (s *WriteJourneyRequest) SetRefreshFrequency(v string) *WriteJourneyRequest {
40524	s.RefreshFrequency = &v
40525	return s
40526}
40527
40528// SetRefreshOnSegmentUpdate sets the RefreshOnSegmentUpdate field's value.
40529func (s *WriteJourneyRequest) SetRefreshOnSegmentUpdate(v bool) *WriteJourneyRequest {
40530	s.RefreshOnSegmentUpdate = &v
40531	return s
40532}
40533
40534// SetSchedule sets the Schedule field's value.
40535func (s *WriteJourneyRequest) SetSchedule(v *JourneySchedule) *WriteJourneyRequest {
40536	s.Schedule = v
40537	return s
40538}
40539
40540// SetStartActivity sets the StartActivity field's value.
40541func (s *WriteJourneyRequest) SetStartActivity(v string) *WriteJourneyRequest {
40542	s.StartActivity = &v
40543	return s
40544}
40545
40546// SetStartCondition sets the StartCondition field's value.
40547func (s *WriteJourneyRequest) SetStartCondition(v *StartCondition) *WriteJourneyRequest {
40548	s.StartCondition = v
40549	return s
40550}
40551
40552// SetState sets the State field's value.
40553func (s *WriteJourneyRequest) SetState(v string) *WriteJourneyRequest {
40554	s.State = &v
40555	return s
40556}
40557
40558// SetWaitForQuietTime sets the WaitForQuietTime field's value.
40559func (s *WriteJourneyRequest) SetWaitForQuietTime(v bool) *WriteJourneyRequest {
40560	s.WaitForQuietTime = &v
40561	return s
40562}
40563
40564// Specifies the configuration, dimension, and other settings for a segment.
40565// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
40566// object, but not both.
40567type WriteSegmentRequest struct {
40568	_ struct{} `type:"structure"`
40569
40570	// The criteria that define the dimensions for the segment.
40571	Dimensions *SegmentDimensions `type:"structure"`
40572
40573	// The name of the segment.
40574	Name *string `type:"string"`
40575
40576	// The segment group to use and the dimensions to apply to the group's base
40577	// segments in order to build the segment. A segment group can consist of zero
40578	// or more base segments. Your request can include only one segment group.
40579	SegmentGroups *SegmentGroupList `type:"structure"`
40580
40581	// A string-to-string map of key-value pairs that defines the tags to associate
40582	// with the segment. Each tag consists of a required tag key and an associated
40583	// tag value.
40584	Tags map[string]*string `locationName:"tags" type:"map"`
40585}
40586
40587// String returns the string representation.
40588//
40589// API parameter values that are decorated as "sensitive" in the API will not
40590// be included in the string output. The member name will be present, but the
40591// value will be replaced with "sensitive".
40592func (s WriteSegmentRequest) String() string {
40593	return awsutil.Prettify(s)
40594}
40595
40596// GoString returns the string representation.
40597//
40598// API parameter values that are decorated as "sensitive" in the API will not
40599// be included in the string output. The member name will be present, but the
40600// value will be replaced with "sensitive".
40601func (s WriteSegmentRequest) GoString() string {
40602	return s.String()
40603}
40604
40605// Validate inspects the fields of the type to determine if they are valid.
40606func (s *WriteSegmentRequest) Validate() error {
40607	invalidParams := request.ErrInvalidParams{Context: "WriteSegmentRequest"}
40608	if s.Dimensions != nil {
40609		if err := s.Dimensions.Validate(); err != nil {
40610			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
40611		}
40612	}
40613	if s.SegmentGroups != nil {
40614		if err := s.SegmentGroups.Validate(); err != nil {
40615			invalidParams.AddNested("SegmentGroups", err.(request.ErrInvalidParams))
40616		}
40617	}
40618
40619	if invalidParams.Len() > 0 {
40620		return invalidParams
40621	}
40622	return nil
40623}
40624
40625// SetDimensions sets the Dimensions field's value.
40626func (s *WriteSegmentRequest) SetDimensions(v *SegmentDimensions) *WriteSegmentRequest {
40627	s.Dimensions = v
40628	return s
40629}
40630
40631// SetName sets the Name field's value.
40632func (s *WriteSegmentRequest) SetName(v string) *WriteSegmentRequest {
40633	s.Name = &v
40634	return s
40635}
40636
40637// SetSegmentGroups sets the SegmentGroups field's value.
40638func (s *WriteSegmentRequest) SetSegmentGroups(v *SegmentGroupList) *WriteSegmentRequest {
40639	s.SegmentGroups = v
40640	return s
40641}
40642
40643// SetTags sets the Tags field's value.
40644func (s *WriteSegmentRequest) SetTags(v map[string]*string) *WriteSegmentRequest {
40645	s.Tags = v
40646	return s
40647}
40648
40649// Specifies the settings for a campaign treatment. A treatment is a variation
40650// of a campaign that's used for A/B testing of a campaign.
40651type WriteTreatmentResource struct {
40652	_ struct{} `type:"structure"`
40653
40654	// The delivery configuration settings for sending the treatment through a custom
40655	// channel. This object is required if the MessageConfiguration object for the
40656	// treatment specifies a CustomMessage object.
40657	CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"`
40658
40659	// The message configuration settings for the treatment.
40660	MessageConfiguration *MessageConfiguration `type:"structure"`
40661
40662	// The schedule settings for the treatment.
40663	Schedule *Schedule `type:"structure"`
40664
40665	// The allocated percentage of users (segment members) to send the treatment
40666	// to.
40667	//
40668	// SizePercent is a required field
40669	SizePercent *int64 `type:"integer" required:"true"`
40670
40671	// The message template to use for the treatment.
40672	TemplateConfiguration *TemplateConfiguration `type:"structure"`
40673
40674	// A custom description of the treatment.
40675	TreatmentDescription *string `type:"string"`
40676
40677	// A custom name for the treatment.
40678	TreatmentName *string `type:"string"`
40679}
40680
40681// String returns the string representation.
40682//
40683// API parameter values that are decorated as "sensitive" in the API will not
40684// be included in the string output. The member name will be present, but the
40685// value will be replaced with "sensitive".
40686func (s WriteTreatmentResource) String() string {
40687	return awsutil.Prettify(s)
40688}
40689
40690// GoString returns the string representation.
40691//
40692// API parameter values that are decorated as "sensitive" in the API will not
40693// be included in the string output. The member name will be present, but the
40694// value will be replaced with "sensitive".
40695func (s WriteTreatmentResource) GoString() string {
40696	return s.String()
40697}
40698
40699// Validate inspects the fields of the type to determine if they are valid.
40700func (s *WriteTreatmentResource) Validate() error {
40701	invalidParams := request.ErrInvalidParams{Context: "WriteTreatmentResource"}
40702	if s.SizePercent == nil {
40703		invalidParams.Add(request.NewErrParamRequired("SizePercent"))
40704	}
40705	if s.CustomDeliveryConfiguration != nil {
40706		if err := s.CustomDeliveryConfiguration.Validate(); err != nil {
40707			invalidParams.AddNested("CustomDeliveryConfiguration", err.(request.ErrInvalidParams))
40708		}
40709	}
40710	if s.MessageConfiguration != nil {
40711		if err := s.MessageConfiguration.Validate(); err != nil {
40712			invalidParams.AddNested("MessageConfiguration", err.(request.ErrInvalidParams))
40713		}
40714	}
40715	if s.Schedule != nil {
40716		if err := s.Schedule.Validate(); err != nil {
40717			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
40718		}
40719	}
40720
40721	if invalidParams.Len() > 0 {
40722		return invalidParams
40723	}
40724	return nil
40725}
40726
40727// SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value.
40728func (s *WriteTreatmentResource) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *WriteTreatmentResource {
40729	s.CustomDeliveryConfiguration = v
40730	return s
40731}
40732
40733// SetMessageConfiguration sets the MessageConfiguration field's value.
40734func (s *WriteTreatmentResource) SetMessageConfiguration(v *MessageConfiguration) *WriteTreatmentResource {
40735	s.MessageConfiguration = v
40736	return s
40737}
40738
40739// SetSchedule sets the Schedule field's value.
40740func (s *WriteTreatmentResource) SetSchedule(v *Schedule) *WriteTreatmentResource {
40741	s.Schedule = v
40742	return s
40743}
40744
40745// SetSizePercent sets the SizePercent field's value.
40746func (s *WriteTreatmentResource) SetSizePercent(v int64) *WriteTreatmentResource {
40747	s.SizePercent = &v
40748	return s
40749}
40750
40751// SetTemplateConfiguration sets the TemplateConfiguration field's value.
40752func (s *WriteTreatmentResource) SetTemplateConfiguration(v *TemplateConfiguration) *WriteTreatmentResource {
40753	s.TemplateConfiguration = v
40754	return s
40755}
40756
40757// SetTreatmentDescription sets the TreatmentDescription field's value.
40758func (s *WriteTreatmentResource) SetTreatmentDescription(v string) *WriteTreatmentResource {
40759	s.TreatmentDescription = &v
40760	return s
40761}
40762
40763// SetTreatmentName sets the TreatmentName field's value.
40764func (s *WriteTreatmentResource) SetTreatmentName(v string) *WriteTreatmentResource {
40765	s.TreatmentName = &v
40766	return s
40767}
40768
40769const (
40770	// ActionOpenApp is a Action enum value
40771	ActionOpenApp = "OPEN_APP"
40772
40773	// ActionDeepLink is a Action enum value
40774	ActionDeepLink = "DEEP_LINK"
40775
40776	// ActionUrl is a Action enum value
40777	ActionUrl = "URL"
40778)
40779
40780// Action_Values returns all elements of the Action enum
40781func Action_Values() []string {
40782	return []string{
40783		ActionOpenApp,
40784		ActionDeepLink,
40785		ActionUrl,
40786	}
40787}
40788
40789const (
40790	// AlignmentLeft is a Alignment enum value
40791	AlignmentLeft = "LEFT"
40792
40793	// AlignmentCenter is a Alignment enum value
40794	AlignmentCenter = "CENTER"
40795
40796	// AlignmentRight is a Alignment enum value
40797	AlignmentRight = "RIGHT"
40798)
40799
40800// Alignment_Values returns all elements of the Alignment enum
40801func Alignment_Values() []string {
40802	return []string{
40803		AlignmentLeft,
40804		AlignmentCenter,
40805		AlignmentRight,
40806	}
40807}
40808
40809const (
40810	// AttributeTypeInclusive is a AttributeType enum value
40811	AttributeTypeInclusive = "INCLUSIVE"
40812
40813	// AttributeTypeExclusive is a AttributeType enum value
40814	AttributeTypeExclusive = "EXCLUSIVE"
40815
40816	// AttributeTypeContains is a AttributeType enum value
40817	AttributeTypeContains = "CONTAINS"
40818
40819	// AttributeTypeBefore is a AttributeType enum value
40820	AttributeTypeBefore = "BEFORE"
40821
40822	// AttributeTypeAfter is a AttributeType enum value
40823	AttributeTypeAfter = "AFTER"
40824
40825	// AttributeTypeBetween is a AttributeType enum value
40826	AttributeTypeBetween = "BETWEEN"
40827
40828	// AttributeTypeOn is a AttributeType enum value
40829	AttributeTypeOn = "ON"
40830)
40831
40832// AttributeType_Values returns all elements of the AttributeType enum
40833func AttributeType_Values() []string {
40834	return []string{
40835		AttributeTypeInclusive,
40836		AttributeTypeExclusive,
40837		AttributeTypeContains,
40838		AttributeTypeBefore,
40839		AttributeTypeAfter,
40840		AttributeTypeBetween,
40841		AttributeTypeOn,
40842	}
40843}
40844
40845const (
40846	// ButtonActionLink is a ButtonAction enum value
40847	ButtonActionLink = "LINK"
40848
40849	// ButtonActionDeepLink is a ButtonAction enum value
40850	ButtonActionDeepLink = "DEEP_LINK"
40851
40852	// ButtonActionClose is a ButtonAction enum value
40853	ButtonActionClose = "CLOSE"
40854)
40855
40856// ButtonAction_Values returns all elements of the ButtonAction enum
40857func ButtonAction_Values() []string {
40858	return []string{
40859		ButtonActionLink,
40860		ButtonActionDeepLink,
40861		ButtonActionClose,
40862	}
40863}
40864
40865const (
40866	// CampaignStatusScheduled is a CampaignStatus enum value
40867	CampaignStatusScheduled = "SCHEDULED"
40868
40869	// CampaignStatusExecuting is a CampaignStatus enum value
40870	CampaignStatusExecuting = "EXECUTING"
40871
40872	// CampaignStatusPendingNextRun is a CampaignStatus enum value
40873	CampaignStatusPendingNextRun = "PENDING_NEXT_RUN"
40874
40875	// CampaignStatusCompleted is a CampaignStatus enum value
40876	CampaignStatusCompleted = "COMPLETED"
40877
40878	// CampaignStatusPaused is a CampaignStatus enum value
40879	CampaignStatusPaused = "PAUSED"
40880
40881	// CampaignStatusDeleted is a CampaignStatus enum value
40882	CampaignStatusDeleted = "DELETED"
40883
40884	// CampaignStatusInvalid is a CampaignStatus enum value
40885	CampaignStatusInvalid = "INVALID"
40886)
40887
40888// CampaignStatus_Values returns all elements of the CampaignStatus enum
40889func CampaignStatus_Values() []string {
40890	return []string{
40891		CampaignStatusScheduled,
40892		CampaignStatusExecuting,
40893		CampaignStatusPendingNextRun,
40894		CampaignStatusCompleted,
40895		CampaignStatusPaused,
40896		CampaignStatusDeleted,
40897		CampaignStatusInvalid,
40898	}
40899}
40900
40901const (
40902	// ChannelTypePush is a ChannelType enum value
40903	ChannelTypePush = "PUSH"
40904
40905	// ChannelTypeGcm is a ChannelType enum value
40906	ChannelTypeGcm = "GCM"
40907
40908	// ChannelTypeApns is a ChannelType enum value
40909	ChannelTypeApns = "APNS"
40910
40911	// ChannelTypeApnsSandbox is a ChannelType enum value
40912	ChannelTypeApnsSandbox = "APNS_SANDBOX"
40913
40914	// ChannelTypeApnsVoip is a ChannelType enum value
40915	ChannelTypeApnsVoip = "APNS_VOIP"
40916
40917	// ChannelTypeApnsVoipSandbox is a ChannelType enum value
40918	ChannelTypeApnsVoipSandbox = "APNS_VOIP_SANDBOX"
40919
40920	// ChannelTypeAdm is a ChannelType enum value
40921	ChannelTypeAdm = "ADM"
40922
40923	// ChannelTypeSms is a ChannelType enum value
40924	ChannelTypeSms = "SMS"
40925
40926	// ChannelTypeVoice is a ChannelType enum value
40927	ChannelTypeVoice = "VOICE"
40928
40929	// ChannelTypeEmail is a ChannelType enum value
40930	ChannelTypeEmail = "EMAIL"
40931
40932	// ChannelTypeBaidu is a ChannelType enum value
40933	ChannelTypeBaidu = "BAIDU"
40934
40935	// ChannelTypeCustom is a ChannelType enum value
40936	ChannelTypeCustom = "CUSTOM"
40937
40938	// ChannelTypeInApp is a ChannelType enum value
40939	ChannelTypeInApp = "IN_APP"
40940)
40941
40942// ChannelType_Values returns all elements of the ChannelType enum
40943func ChannelType_Values() []string {
40944	return []string{
40945		ChannelTypePush,
40946		ChannelTypeGcm,
40947		ChannelTypeApns,
40948		ChannelTypeApnsSandbox,
40949		ChannelTypeApnsVoip,
40950		ChannelTypeApnsVoipSandbox,
40951		ChannelTypeAdm,
40952		ChannelTypeSms,
40953		ChannelTypeVoice,
40954		ChannelTypeEmail,
40955		ChannelTypeBaidu,
40956		ChannelTypeCustom,
40957		ChannelTypeInApp,
40958	}
40959}
40960
40961const (
40962	// DeliveryStatusSuccessful is a DeliveryStatus enum value
40963	DeliveryStatusSuccessful = "SUCCESSFUL"
40964
40965	// DeliveryStatusThrottled is a DeliveryStatus enum value
40966	DeliveryStatusThrottled = "THROTTLED"
40967
40968	// DeliveryStatusTemporaryFailure is a DeliveryStatus enum value
40969	DeliveryStatusTemporaryFailure = "TEMPORARY_FAILURE"
40970
40971	// DeliveryStatusPermanentFailure is a DeliveryStatus enum value
40972	DeliveryStatusPermanentFailure = "PERMANENT_FAILURE"
40973
40974	// DeliveryStatusUnknownFailure is a DeliveryStatus enum value
40975	DeliveryStatusUnknownFailure = "UNKNOWN_FAILURE"
40976
40977	// DeliveryStatusOptOut is a DeliveryStatus enum value
40978	DeliveryStatusOptOut = "OPT_OUT"
40979
40980	// DeliveryStatusDuplicate is a DeliveryStatus enum value
40981	DeliveryStatusDuplicate = "DUPLICATE"
40982)
40983
40984// DeliveryStatus_Values returns all elements of the DeliveryStatus enum
40985func DeliveryStatus_Values() []string {
40986	return []string{
40987		DeliveryStatusSuccessful,
40988		DeliveryStatusThrottled,
40989		DeliveryStatusTemporaryFailure,
40990		DeliveryStatusPermanentFailure,
40991		DeliveryStatusUnknownFailure,
40992		DeliveryStatusOptOut,
40993		DeliveryStatusDuplicate,
40994	}
40995}
40996
40997const (
40998	// DimensionTypeInclusive is a DimensionType enum value
40999	DimensionTypeInclusive = "INCLUSIVE"
41000
41001	// DimensionTypeExclusive is a DimensionType enum value
41002	DimensionTypeExclusive = "EXCLUSIVE"
41003)
41004
41005// DimensionType_Values returns all elements of the DimensionType enum
41006func DimensionType_Values() []string {
41007	return []string{
41008		DimensionTypeInclusive,
41009		DimensionTypeExclusive,
41010	}
41011}
41012
41013const (
41014	// DurationHr24 is a Duration enum value
41015	DurationHr24 = "HR_24"
41016
41017	// DurationDay7 is a Duration enum value
41018	DurationDay7 = "DAY_7"
41019
41020	// DurationDay14 is a Duration enum value
41021	DurationDay14 = "DAY_14"
41022
41023	// DurationDay30 is a Duration enum value
41024	DurationDay30 = "DAY_30"
41025)
41026
41027// Duration_Values returns all elements of the Duration enum
41028func Duration_Values() []string {
41029	return []string{
41030		DurationHr24,
41031		DurationDay7,
41032		DurationDay14,
41033		DurationDay30,
41034	}
41035}
41036
41037const (
41038	// EndpointTypesElementPush is a EndpointTypesElement enum value
41039	EndpointTypesElementPush = "PUSH"
41040
41041	// EndpointTypesElementGcm is a EndpointTypesElement enum value
41042	EndpointTypesElementGcm = "GCM"
41043
41044	// EndpointTypesElementApns is a EndpointTypesElement enum value
41045	EndpointTypesElementApns = "APNS"
41046
41047	// EndpointTypesElementApnsSandbox is a EndpointTypesElement enum value
41048	EndpointTypesElementApnsSandbox = "APNS_SANDBOX"
41049
41050	// EndpointTypesElementApnsVoip is a EndpointTypesElement enum value
41051	EndpointTypesElementApnsVoip = "APNS_VOIP"
41052
41053	// EndpointTypesElementApnsVoipSandbox is a EndpointTypesElement enum value
41054	EndpointTypesElementApnsVoipSandbox = "APNS_VOIP_SANDBOX"
41055
41056	// EndpointTypesElementAdm is a EndpointTypesElement enum value
41057	EndpointTypesElementAdm = "ADM"
41058
41059	// EndpointTypesElementSms is a EndpointTypesElement enum value
41060	EndpointTypesElementSms = "SMS"
41061
41062	// EndpointTypesElementVoice is a EndpointTypesElement enum value
41063	EndpointTypesElementVoice = "VOICE"
41064
41065	// EndpointTypesElementEmail is a EndpointTypesElement enum value
41066	EndpointTypesElementEmail = "EMAIL"
41067
41068	// EndpointTypesElementBaidu is a EndpointTypesElement enum value
41069	EndpointTypesElementBaidu = "BAIDU"
41070
41071	// EndpointTypesElementCustom is a EndpointTypesElement enum value
41072	EndpointTypesElementCustom = "CUSTOM"
41073
41074	// EndpointTypesElementInApp is a EndpointTypesElement enum value
41075	EndpointTypesElementInApp = "IN_APP"
41076)
41077
41078// EndpointTypesElement_Values returns all elements of the EndpointTypesElement enum
41079func EndpointTypesElement_Values() []string {
41080	return []string{
41081		EndpointTypesElementPush,
41082		EndpointTypesElementGcm,
41083		EndpointTypesElementApns,
41084		EndpointTypesElementApnsSandbox,
41085		EndpointTypesElementApnsVoip,
41086		EndpointTypesElementApnsVoipSandbox,
41087		EndpointTypesElementAdm,
41088		EndpointTypesElementSms,
41089		EndpointTypesElementVoice,
41090		EndpointTypesElementEmail,
41091		EndpointTypesElementBaidu,
41092		EndpointTypesElementCustom,
41093		EndpointTypesElementInApp,
41094	}
41095}
41096
41097const (
41098	// FilterTypeSystem is a FilterType enum value
41099	FilterTypeSystem = "SYSTEM"
41100
41101	// FilterTypeEndpoint is a FilterType enum value
41102	FilterTypeEndpoint = "ENDPOINT"
41103)
41104
41105// FilterType_Values returns all elements of the FilterType enum
41106func FilterType_Values() []string {
41107	return []string{
41108		FilterTypeSystem,
41109		FilterTypeEndpoint,
41110	}
41111}
41112
41113const (
41114	// FormatCsv is a Format enum value
41115	FormatCsv = "CSV"
41116
41117	// FormatJson is a Format enum value
41118	FormatJson = "JSON"
41119)
41120
41121// Format_Values returns all elements of the Format enum
41122func Format_Values() []string {
41123	return []string{
41124		FormatCsv,
41125		FormatJson,
41126	}
41127}
41128
41129const (
41130	// FrequencyOnce is a Frequency enum value
41131	FrequencyOnce = "ONCE"
41132
41133	// FrequencyHourly is a Frequency enum value
41134	FrequencyHourly = "HOURLY"
41135
41136	// FrequencyDaily is a Frequency enum value
41137	FrequencyDaily = "DAILY"
41138
41139	// FrequencyWeekly is a Frequency enum value
41140	FrequencyWeekly = "WEEKLY"
41141
41142	// FrequencyMonthly is a Frequency enum value
41143	FrequencyMonthly = "MONTHLY"
41144
41145	// FrequencyEvent is a Frequency enum value
41146	FrequencyEvent = "EVENT"
41147
41148	// FrequencyInAppEvent is a Frequency enum value
41149	FrequencyInAppEvent = "IN_APP_EVENT"
41150)
41151
41152// Frequency_Values returns all elements of the Frequency enum
41153func Frequency_Values() []string {
41154	return []string{
41155		FrequencyOnce,
41156		FrequencyHourly,
41157		FrequencyDaily,
41158		FrequencyWeekly,
41159		FrequencyMonthly,
41160		FrequencyEvent,
41161		FrequencyInAppEvent,
41162	}
41163}
41164
41165const (
41166	// IncludeAll is a Include enum value
41167	IncludeAll = "ALL"
41168
41169	// IncludeAny is a Include enum value
41170	IncludeAny = "ANY"
41171
41172	// IncludeNone is a Include enum value
41173	IncludeNone = "NONE"
41174)
41175
41176// Include_Values returns all elements of the Include enum
41177func Include_Values() []string {
41178	return []string{
41179		IncludeAll,
41180		IncludeAny,
41181		IncludeNone,
41182	}
41183}
41184
41185const (
41186	// JobStatusCreated is a JobStatus enum value
41187	JobStatusCreated = "CREATED"
41188
41189	// JobStatusPreparingForInitialization is a JobStatus enum value
41190	JobStatusPreparingForInitialization = "PREPARING_FOR_INITIALIZATION"
41191
41192	// JobStatusInitializing is a JobStatus enum value
41193	JobStatusInitializing = "INITIALIZING"
41194
41195	// JobStatusProcessing is a JobStatus enum value
41196	JobStatusProcessing = "PROCESSING"
41197
41198	// JobStatusPendingJob is a JobStatus enum value
41199	JobStatusPendingJob = "PENDING_JOB"
41200
41201	// JobStatusCompleting is a JobStatus enum value
41202	JobStatusCompleting = "COMPLETING"
41203
41204	// JobStatusCompleted is a JobStatus enum value
41205	JobStatusCompleted = "COMPLETED"
41206
41207	// JobStatusFailing is a JobStatus enum value
41208	JobStatusFailing = "FAILING"
41209
41210	// JobStatusFailed is a JobStatus enum value
41211	JobStatusFailed = "FAILED"
41212)
41213
41214// JobStatus_Values returns all elements of the JobStatus enum
41215func JobStatus_Values() []string {
41216	return []string{
41217		JobStatusCreated,
41218		JobStatusPreparingForInitialization,
41219		JobStatusInitializing,
41220		JobStatusProcessing,
41221		JobStatusPendingJob,
41222		JobStatusCompleting,
41223		JobStatusCompleted,
41224		JobStatusFailing,
41225		JobStatusFailed,
41226	}
41227}
41228
41229const (
41230	// LayoutBottomBanner is a Layout enum value
41231	LayoutBottomBanner = "BOTTOM_BANNER"
41232
41233	// LayoutTopBanner is a Layout enum value
41234	LayoutTopBanner = "TOP_BANNER"
41235
41236	// LayoutOverlays is a Layout enum value
41237	LayoutOverlays = "OVERLAYS"
41238
41239	// LayoutMobileFeed is a Layout enum value
41240	LayoutMobileFeed = "MOBILE_FEED"
41241
41242	// LayoutMiddleBanner is a Layout enum value
41243	LayoutMiddleBanner = "MIDDLE_BANNER"
41244
41245	// LayoutCarousel is a Layout enum value
41246	LayoutCarousel = "CAROUSEL"
41247)
41248
41249// Layout_Values returns all elements of the Layout enum
41250func Layout_Values() []string {
41251	return []string{
41252		LayoutBottomBanner,
41253		LayoutTopBanner,
41254		LayoutOverlays,
41255		LayoutMobileFeed,
41256		LayoutMiddleBanner,
41257		LayoutCarousel,
41258	}
41259}
41260
41261const (
41262	// MessageTypeTransactional is a MessageType enum value
41263	MessageTypeTransactional = "TRANSACTIONAL"
41264
41265	// MessageTypePromotional is a MessageType enum value
41266	MessageTypePromotional = "PROMOTIONAL"
41267)
41268
41269// MessageType_Values returns all elements of the MessageType enum
41270func MessageType_Values() []string {
41271	return []string{
41272		MessageTypeTransactional,
41273		MessageTypePromotional,
41274	}
41275}
41276
41277const (
41278	// ModeDelivery is a Mode enum value
41279	ModeDelivery = "DELIVERY"
41280
41281	// ModeFilter is a Mode enum value
41282	ModeFilter = "FILTER"
41283)
41284
41285// Mode_Values returns all elements of the Mode enum
41286func Mode_Values() []string {
41287	return []string{
41288		ModeDelivery,
41289		ModeFilter,
41290	}
41291}
41292
41293const (
41294	// OperatorAll is a Operator enum value
41295	OperatorAll = "ALL"
41296
41297	// OperatorAny is a Operator enum value
41298	OperatorAny = "ANY"
41299)
41300
41301// Operator_Values returns all elements of the Operator enum
41302func Operator_Values() []string {
41303	return []string{
41304		OperatorAll,
41305		OperatorAny,
41306	}
41307}
41308
41309const (
41310	// RecencyTypeActive is a RecencyType enum value
41311	RecencyTypeActive = "ACTIVE"
41312
41313	// RecencyTypeInactive is a RecencyType enum value
41314	RecencyTypeInactive = "INACTIVE"
41315)
41316
41317// RecencyType_Values returns all elements of the RecencyType enum
41318func RecencyType_Values() []string {
41319	return []string{
41320		RecencyTypeActive,
41321		RecencyTypeInactive,
41322	}
41323}
41324
41325const (
41326	// SegmentTypeDimensional is a SegmentType enum value
41327	SegmentTypeDimensional = "DIMENSIONAL"
41328
41329	// SegmentTypeImport is a SegmentType enum value
41330	SegmentTypeImport = "IMPORT"
41331)
41332
41333// SegmentType_Values returns all elements of the SegmentType enum
41334func SegmentType_Values() []string {
41335	return []string{
41336		SegmentTypeDimensional,
41337		SegmentTypeImport,
41338	}
41339}
41340
41341const (
41342	// SourceTypeAll is a SourceType enum value
41343	SourceTypeAll = "ALL"
41344
41345	// SourceTypeAny is a SourceType enum value
41346	SourceTypeAny = "ANY"
41347
41348	// SourceTypeNone is a SourceType enum value
41349	SourceTypeNone = "NONE"
41350)
41351
41352// SourceType_Values returns all elements of the SourceType enum
41353func SourceType_Values() []string {
41354	return []string{
41355		SourceTypeAll,
41356		SourceTypeAny,
41357		SourceTypeNone,
41358	}
41359}
41360
41361const (
41362	// StateDraft is a State enum value
41363	StateDraft = "DRAFT"
41364
41365	// StateActive is a State enum value
41366	StateActive = "ACTIVE"
41367
41368	// StateCompleted is a State enum value
41369	StateCompleted = "COMPLETED"
41370
41371	// StateCancelled is a State enum value
41372	StateCancelled = "CANCELLED"
41373
41374	// StateClosed is a State enum value
41375	StateClosed = "CLOSED"
41376
41377	// StatePaused is a State enum value
41378	StatePaused = "PAUSED"
41379)
41380
41381// State_Values returns all elements of the State enum
41382func State_Values() []string {
41383	return []string{
41384		StateDraft,
41385		StateActive,
41386		StateCompleted,
41387		StateCancelled,
41388		StateClosed,
41389		StatePaused,
41390	}
41391}
41392
41393const (
41394	// TemplateTypeEmail is a TemplateType enum value
41395	TemplateTypeEmail = "EMAIL"
41396
41397	// TemplateTypeSms is a TemplateType enum value
41398	TemplateTypeSms = "SMS"
41399
41400	// TemplateTypeVoice is a TemplateType enum value
41401	TemplateTypeVoice = "VOICE"
41402
41403	// TemplateTypePush is a TemplateType enum value
41404	TemplateTypePush = "PUSH"
41405
41406	// TemplateTypeInapp is a TemplateType enum value
41407	TemplateTypeInapp = "INAPP"
41408)
41409
41410// TemplateType_Values returns all elements of the TemplateType enum
41411func TemplateType_Values() []string {
41412	return []string{
41413		TemplateTypeEmail,
41414		TemplateTypeSms,
41415		TemplateTypeVoice,
41416		TemplateTypePush,
41417		TemplateTypeInapp,
41418	}
41419}
41420
41421const (
41422	// TypeAll is a Type enum value
41423	TypeAll = "ALL"
41424
41425	// TypeAny is a Type enum value
41426	TypeAny = "ANY"
41427
41428	// TypeNone is a Type enum value
41429	TypeNone = "NONE"
41430)
41431
41432// Type_Values returns all elements of the Type enum
41433func Type_Values() []string {
41434	return []string{
41435		TypeAll,
41436		TypeAny,
41437		TypeNone,
41438	}
41439}
41440