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 Codes:
70//   * ErrCodeBadRequestException "BadRequestException"
71//   Provides information about an API request or response.
72//
73//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
74//   Provides information about an API request or response.
75//
76//   * ErrCodeForbiddenException "ForbiddenException"
77//   Provides information about an API request or response.
78//
79//   * ErrCodeNotFoundException "NotFoundException"
80//   Provides information about an API request or response.
81//
82//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
83//   Provides information about an API request or response.
84//
85//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
86//   Provides information about an API request or response.
87//
88// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateApp
89func (c *Pinpoint) CreateApp(input *CreateAppInput) (*CreateAppOutput, error) {
90	req, out := c.CreateAppRequest(input)
91	return out, req.Send()
92}
93
94// CreateAppWithContext is the same as CreateApp with the addition of
95// the ability to pass a context and additional request options.
96//
97// See CreateApp for details on how to use this API operation.
98//
99// The context must be non-nil and will be used for request cancellation. If
100// the context is nil a panic will occur. In the future the SDK may create
101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
102// for more information on using Contexts.
103func (c *Pinpoint) CreateAppWithContext(ctx aws.Context, input *CreateAppInput, opts ...request.Option) (*CreateAppOutput, error) {
104	req, out := c.CreateAppRequest(input)
105	req.SetContext(ctx)
106	req.ApplyOptions(opts...)
107	return out, req.Send()
108}
109
110const opCreateCampaign = "CreateCampaign"
111
112// CreateCampaignRequest generates a "aws/request.Request" representing the
113// client's request for the CreateCampaign operation. The "output" return
114// value will be populated with the request's response once the request completes
115// successfully.
116//
117// Use "Send" method on the returned Request to send the API call to the service.
118// the "output" return value is not valid until after Send returns without error.
119//
120// See CreateCampaign for more information on using the CreateCampaign
121// API call, and error handling.
122//
123// This method is useful when you want to inject custom logic or configuration
124// into the SDK's request lifecycle. Such as custom headers, or retry logic.
125//
126//
127//    // Example sending a request using the CreateCampaignRequest method.
128//    req, resp := client.CreateCampaignRequest(params)
129//
130//    err := req.Send()
131//    if err == nil { // resp is now filled
132//        fmt.Println(resp)
133//    }
134//
135// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateCampaign
136func (c *Pinpoint) CreateCampaignRequest(input *CreateCampaignInput) (req *request.Request, output *CreateCampaignOutput) {
137	op := &request.Operation{
138		Name:       opCreateCampaign,
139		HTTPMethod: "POST",
140		HTTPPath:   "/v1/apps/{application-id}/campaigns",
141	}
142
143	if input == nil {
144		input = &CreateCampaignInput{}
145	}
146
147	output = &CreateCampaignOutput{}
148	req = c.newRequest(op, input, output)
149	return
150}
151
152// CreateCampaign API operation for Amazon Pinpoint.
153//
154// Creates a new campaign for an application or updates the settings of an existing
155// campaign for an application.
156//
157// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
158// with awserr.Error's Code and Message methods to get detailed information about
159// the error.
160//
161// See the AWS API reference guide for Amazon Pinpoint's
162// API operation CreateCampaign for usage and error information.
163//
164// Returned Error Codes:
165//   * ErrCodeBadRequestException "BadRequestException"
166//   Provides information about an API request or response.
167//
168//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
169//   Provides information about an API request or response.
170//
171//   * ErrCodeForbiddenException "ForbiddenException"
172//   Provides information about an API request or response.
173//
174//   * ErrCodeNotFoundException "NotFoundException"
175//   Provides information about an API request or response.
176//
177//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
178//   Provides information about an API request or response.
179//
180//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
181//   Provides information about an API request or response.
182//
183// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateCampaign
184func (c *Pinpoint) CreateCampaign(input *CreateCampaignInput) (*CreateCampaignOutput, error) {
185	req, out := c.CreateCampaignRequest(input)
186	return out, req.Send()
187}
188
189// CreateCampaignWithContext is the same as CreateCampaign with the addition of
190// the ability to pass a context and additional request options.
191//
192// See CreateCampaign for details on how to use this API operation.
193//
194// The context must be non-nil and will be used for request cancellation. If
195// the context is nil a panic will occur. In the future the SDK may create
196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
197// for more information on using Contexts.
198func (c *Pinpoint) CreateCampaignWithContext(ctx aws.Context, input *CreateCampaignInput, opts ...request.Option) (*CreateCampaignOutput, error) {
199	req, out := c.CreateCampaignRequest(input)
200	req.SetContext(ctx)
201	req.ApplyOptions(opts...)
202	return out, req.Send()
203}
204
205const opCreateEmailTemplate = "CreateEmailTemplate"
206
207// CreateEmailTemplateRequest generates a "aws/request.Request" representing the
208// client's request for the CreateEmailTemplate operation. The "output" return
209// value will be populated with the request's response once the request completes
210// successfully.
211//
212// Use "Send" method on the returned Request to send the API call to the service.
213// the "output" return value is not valid until after Send returns without error.
214//
215// See CreateEmailTemplate for more information on using the CreateEmailTemplate
216// API call, and error handling.
217//
218// This method is useful when you want to inject custom logic or configuration
219// into the SDK's request lifecycle. Such as custom headers, or retry logic.
220//
221//
222//    // Example sending a request using the CreateEmailTemplateRequest method.
223//    req, resp := client.CreateEmailTemplateRequest(params)
224//
225//    err := req.Send()
226//    if err == nil { // resp is now filled
227//        fmt.Println(resp)
228//    }
229//
230// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateEmailTemplate
231func (c *Pinpoint) CreateEmailTemplateRequest(input *CreateEmailTemplateInput) (req *request.Request, output *CreateEmailTemplateOutput) {
232	op := &request.Operation{
233		Name:       opCreateEmailTemplate,
234		HTTPMethod: "POST",
235		HTTPPath:   "/v1/templates/{template-name}/email",
236	}
237
238	if input == nil {
239		input = &CreateEmailTemplateInput{}
240	}
241
242	output = &CreateEmailTemplateOutput{}
243	req = c.newRequest(op, input, output)
244	return
245}
246
247// CreateEmailTemplate API operation for Amazon Pinpoint.
248//
249// Creates a message template for messages that are sent through the email channel.
250//
251// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
252// with awserr.Error's Code and Message methods to get detailed information about
253// the error.
254//
255// See the AWS API reference guide for Amazon Pinpoint's
256// API operation CreateEmailTemplate for usage and error information.
257//
258// Returned Error Codes:
259//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
260//   Provides information about an API request or response.
261//
262//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
263//   Provides information about an API request or response.
264//
265//   * ErrCodeBadRequestException "BadRequestException"
266//   Provides information about an API request or response.
267//
268//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
269//   Provides information about an API request or response.
270//
271//   * ErrCodeForbiddenException "ForbiddenException"
272//   Provides information about an API request or response.
273//
274// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateEmailTemplate
275func (c *Pinpoint) CreateEmailTemplate(input *CreateEmailTemplateInput) (*CreateEmailTemplateOutput, error) {
276	req, out := c.CreateEmailTemplateRequest(input)
277	return out, req.Send()
278}
279
280// CreateEmailTemplateWithContext is the same as CreateEmailTemplate with the addition of
281// the ability to pass a context and additional request options.
282//
283// See CreateEmailTemplate for details on how to use this API operation.
284//
285// The context must be non-nil and will be used for request cancellation. If
286// the context is nil a panic will occur. In the future the SDK may create
287// sub-contexts for http.Requests. See https://golang.org/pkg/context/
288// for more information on using Contexts.
289func (c *Pinpoint) CreateEmailTemplateWithContext(ctx aws.Context, input *CreateEmailTemplateInput, opts ...request.Option) (*CreateEmailTemplateOutput, error) {
290	req, out := c.CreateEmailTemplateRequest(input)
291	req.SetContext(ctx)
292	req.ApplyOptions(opts...)
293	return out, req.Send()
294}
295
296const opCreateExportJob = "CreateExportJob"
297
298// CreateExportJobRequest generates a "aws/request.Request" representing the
299// client's request for the CreateExportJob operation. The "output" return
300// value will be populated with the request's response once the request completes
301// successfully.
302//
303// Use "Send" method on the returned Request to send the API call to the service.
304// the "output" return value is not valid until after Send returns without error.
305//
306// See CreateExportJob for more information on using the CreateExportJob
307// API call, and error handling.
308//
309// This method is useful when you want to inject custom logic or configuration
310// into the SDK's request lifecycle. Such as custom headers, or retry logic.
311//
312//
313//    // Example sending a request using the CreateExportJobRequest method.
314//    req, resp := client.CreateExportJobRequest(params)
315//
316//    err := req.Send()
317//    if err == nil { // resp is now filled
318//        fmt.Println(resp)
319//    }
320//
321// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateExportJob
322func (c *Pinpoint) CreateExportJobRequest(input *CreateExportJobInput) (req *request.Request, output *CreateExportJobOutput) {
323	op := &request.Operation{
324		Name:       opCreateExportJob,
325		HTTPMethod: "POST",
326		HTTPPath:   "/v1/apps/{application-id}/jobs/export",
327	}
328
329	if input == nil {
330		input = &CreateExportJobInput{}
331	}
332
333	output = &CreateExportJobOutput{}
334	req = c.newRequest(op, input, output)
335	return
336}
337
338// CreateExportJob API operation for Amazon Pinpoint.
339//
340// Creates an export job for an application.
341//
342// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
343// with awserr.Error's Code and Message methods to get detailed information about
344// the error.
345//
346// See the AWS API reference guide for Amazon Pinpoint's
347// API operation CreateExportJob for usage and error information.
348//
349// Returned Error Codes:
350//   * ErrCodeBadRequestException "BadRequestException"
351//   Provides information about an API request or response.
352//
353//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
354//   Provides information about an API request or response.
355//
356//   * ErrCodeForbiddenException "ForbiddenException"
357//   Provides information about an API request or response.
358//
359//   * ErrCodeNotFoundException "NotFoundException"
360//   Provides information about an API request or response.
361//
362//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
363//   Provides information about an API request or response.
364//
365//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
366//   Provides information about an API request or response.
367//
368// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateExportJob
369func (c *Pinpoint) CreateExportJob(input *CreateExportJobInput) (*CreateExportJobOutput, error) {
370	req, out := c.CreateExportJobRequest(input)
371	return out, req.Send()
372}
373
374// CreateExportJobWithContext is the same as CreateExportJob with the addition of
375// the ability to pass a context and additional request options.
376//
377// See CreateExportJob for details on how to use this API operation.
378//
379// The context must be non-nil and will be used for request cancellation. If
380// the context is nil a panic will occur. In the future the SDK may create
381// sub-contexts for http.Requests. See https://golang.org/pkg/context/
382// for more information on using Contexts.
383func (c *Pinpoint) CreateExportJobWithContext(ctx aws.Context, input *CreateExportJobInput, opts ...request.Option) (*CreateExportJobOutput, error) {
384	req, out := c.CreateExportJobRequest(input)
385	req.SetContext(ctx)
386	req.ApplyOptions(opts...)
387	return out, req.Send()
388}
389
390const opCreateImportJob = "CreateImportJob"
391
392// CreateImportJobRequest generates a "aws/request.Request" representing the
393// client's request for the CreateImportJob operation. The "output" return
394// value will be populated with the request's response once the request completes
395// successfully.
396//
397// Use "Send" method on the returned Request to send the API call to the service.
398// the "output" return value is not valid until after Send returns without error.
399//
400// See CreateImportJob for more information on using the CreateImportJob
401// API call, and error handling.
402//
403// This method is useful when you want to inject custom logic or configuration
404// into the SDK's request lifecycle. Such as custom headers, or retry logic.
405//
406//
407//    // Example sending a request using the CreateImportJobRequest method.
408//    req, resp := client.CreateImportJobRequest(params)
409//
410//    err := req.Send()
411//    if err == nil { // resp is now filled
412//        fmt.Println(resp)
413//    }
414//
415// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateImportJob
416func (c *Pinpoint) CreateImportJobRequest(input *CreateImportJobInput) (req *request.Request, output *CreateImportJobOutput) {
417	op := &request.Operation{
418		Name:       opCreateImportJob,
419		HTTPMethod: "POST",
420		HTTPPath:   "/v1/apps/{application-id}/jobs/import",
421	}
422
423	if input == nil {
424		input = &CreateImportJobInput{}
425	}
426
427	output = &CreateImportJobOutput{}
428	req = c.newRequest(op, input, output)
429	return
430}
431
432// CreateImportJob API operation for Amazon Pinpoint.
433//
434// Creates an import job for an application.
435//
436// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
437// with awserr.Error's Code and Message methods to get detailed information about
438// the error.
439//
440// See the AWS API reference guide for Amazon Pinpoint's
441// API operation CreateImportJob for usage and error information.
442//
443// Returned Error Codes:
444//   * ErrCodeBadRequestException "BadRequestException"
445//   Provides information about an API request or response.
446//
447//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
448//   Provides information about an API request or response.
449//
450//   * ErrCodeForbiddenException "ForbiddenException"
451//   Provides information about an API request or response.
452//
453//   * ErrCodeNotFoundException "NotFoundException"
454//   Provides information about an API request or response.
455//
456//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
457//   Provides information about an API request or response.
458//
459//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
460//   Provides information about an API request or response.
461//
462// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateImportJob
463func (c *Pinpoint) CreateImportJob(input *CreateImportJobInput) (*CreateImportJobOutput, error) {
464	req, out := c.CreateImportJobRequest(input)
465	return out, req.Send()
466}
467
468// CreateImportJobWithContext is the same as CreateImportJob with the addition of
469// the ability to pass a context and additional request options.
470//
471// See CreateImportJob for details on how to use this API operation.
472//
473// The context must be non-nil and will be used for request cancellation. If
474// the context is nil a panic will occur. In the future the SDK may create
475// sub-contexts for http.Requests. See https://golang.org/pkg/context/
476// for more information on using Contexts.
477func (c *Pinpoint) CreateImportJobWithContext(ctx aws.Context, input *CreateImportJobInput, opts ...request.Option) (*CreateImportJobOutput, error) {
478	req, out := c.CreateImportJobRequest(input)
479	req.SetContext(ctx)
480	req.ApplyOptions(opts...)
481	return out, req.Send()
482}
483
484const opCreateJourney = "CreateJourney"
485
486// CreateJourneyRequest generates a "aws/request.Request" representing the
487// client's request for the CreateJourney operation. The "output" return
488// value will be populated with the request's response once the request completes
489// successfully.
490//
491// Use "Send" method on the returned Request to send the API call to the service.
492// the "output" return value is not valid until after Send returns without error.
493//
494// See CreateJourney for more information on using the CreateJourney
495// API call, and error handling.
496//
497// This method is useful when you want to inject custom logic or configuration
498// into the SDK's request lifecycle. Such as custom headers, or retry logic.
499//
500//
501//    // Example sending a request using the CreateJourneyRequest method.
502//    req, resp := client.CreateJourneyRequest(params)
503//
504//    err := req.Send()
505//    if err == nil { // resp is now filled
506//        fmt.Println(resp)
507//    }
508//
509// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateJourney
510func (c *Pinpoint) CreateJourneyRequest(input *CreateJourneyInput) (req *request.Request, output *CreateJourneyOutput) {
511	op := &request.Operation{
512		Name:       opCreateJourney,
513		HTTPMethod: "POST",
514		HTTPPath:   "/v1/apps/{application-id}/journeys",
515	}
516
517	if input == nil {
518		input = &CreateJourneyInput{}
519	}
520
521	output = &CreateJourneyOutput{}
522	req = c.newRequest(op, input, output)
523	return
524}
525
526// CreateJourney API operation for Amazon Pinpoint.
527//
528// Creates a journey for an application.
529//
530// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
531// with awserr.Error's Code and Message methods to get detailed information about
532// the error.
533//
534// See the AWS API reference guide for Amazon Pinpoint's
535// API operation CreateJourney for usage and error information.
536//
537// Returned Error Codes:
538//   * ErrCodeBadRequestException "BadRequestException"
539//   Provides information about an API request or response.
540//
541//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
542//   Provides information about an API request or response.
543//
544//   * ErrCodeForbiddenException "ForbiddenException"
545//   Provides information about an API request or response.
546//
547//   * ErrCodeNotFoundException "NotFoundException"
548//   Provides information about an API request or response.
549//
550//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
551//   Provides information about an API request or response.
552//
553//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
554//   Provides information about an API request or response.
555//
556// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateJourney
557func (c *Pinpoint) CreateJourney(input *CreateJourneyInput) (*CreateJourneyOutput, error) {
558	req, out := c.CreateJourneyRequest(input)
559	return out, req.Send()
560}
561
562// CreateJourneyWithContext is the same as CreateJourney with the addition of
563// the ability to pass a context and additional request options.
564//
565// See CreateJourney for details on how to use this API operation.
566//
567// The context must be non-nil and will be used for request cancellation. If
568// the context is nil a panic will occur. In the future the SDK may create
569// sub-contexts for http.Requests. See https://golang.org/pkg/context/
570// for more information on using Contexts.
571func (c *Pinpoint) CreateJourneyWithContext(ctx aws.Context, input *CreateJourneyInput, opts ...request.Option) (*CreateJourneyOutput, error) {
572	req, out := c.CreateJourneyRequest(input)
573	req.SetContext(ctx)
574	req.ApplyOptions(opts...)
575	return out, req.Send()
576}
577
578const opCreatePushTemplate = "CreatePushTemplate"
579
580// CreatePushTemplateRequest generates a "aws/request.Request" representing the
581// client's request for the CreatePushTemplate operation. The "output" return
582// value will be populated with the request's response once the request completes
583// successfully.
584//
585// Use "Send" method on the returned Request to send the API call to the service.
586// the "output" return value is not valid until after Send returns without error.
587//
588// See CreatePushTemplate for more information on using the CreatePushTemplate
589// API call, and error handling.
590//
591// This method is useful when you want to inject custom logic or configuration
592// into the SDK's request lifecycle. Such as custom headers, or retry logic.
593//
594//
595//    // Example sending a request using the CreatePushTemplateRequest method.
596//    req, resp := client.CreatePushTemplateRequest(params)
597//
598//    err := req.Send()
599//    if err == nil { // resp is now filled
600//        fmt.Println(resp)
601//    }
602//
603// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreatePushTemplate
604func (c *Pinpoint) CreatePushTemplateRequest(input *CreatePushTemplateInput) (req *request.Request, output *CreatePushTemplateOutput) {
605	op := &request.Operation{
606		Name:       opCreatePushTemplate,
607		HTTPMethod: "POST",
608		HTTPPath:   "/v1/templates/{template-name}/push",
609	}
610
611	if input == nil {
612		input = &CreatePushTemplateInput{}
613	}
614
615	output = &CreatePushTemplateOutput{}
616	req = c.newRequest(op, input, output)
617	return
618}
619
620// CreatePushTemplate API operation for Amazon Pinpoint.
621//
622// Creates a message template for messages that are sent through a push notification
623// channel.
624//
625// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
626// with awserr.Error's Code and Message methods to get detailed information about
627// the error.
628//
629// See the AWS API reference guide for Amazon Pinpoint's
630// API operation CreatePushTemplate for usage and error information.
631//
632// Returned Error Codes:
633//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
634//   Provides information about an API request or response.
635//
636//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
637//   Provides information about an API request or response.
638//
639//   * ErrCodeBadRequestException "BadRequestException"
640//   Provides information about an API request or response.
641//
642//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
643//   Provides information about an API request or response.
644//
645//   * ErrCodeForbiddenException "ForbiddenException"
646//   Provides information about an API request or response.
647//
648// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreatePushTemplate
649func (c *Pinpoint) CreatePushTemplate(input *CreatePushTemplateInput) (*CreatePushTemplateOutput, error) {
650	req, out := c.CreatePushTemplateRequest(input)
651	return out, req.Send()
652}
653
654// CreatePushTemplateWithContext is the same as CreatePushTemplate with the addition of
655// the ability to pass a context and additional request options.
656//
657// See CreatePushTemplate for details on how to use this API operation.
658//
659// The context must be non-nil and will be used for request cancellation. If
660// the context is nil a panic will occur. In the future the SDK may create
661// sub-contexts for http.Requests. See https://golang.org/pkg/context/
662// for more information on using Contexts.
663func (c *Pinpoint) CreatePushTemplateWithContext(ctx aws.Context, input *CreatePushTemplateInput, opts ...request.Option) (*CreatePushTemplateOutput, error) {
664	req, out := c.CreatePushTemplateRequest(input)
665	req.SetContext(ctx)
666	req.ApplyOptions(opts...)
667	return out, req.Send()
668}
669
670const opCreateSegment = "CreateSegment"
671
672// CreateSegmentRequest generates a "aws/request.Request" representing the
673// client's request for the CreateSegment operation. The "output" return
674// value will be populated with the request's response once the request completes
675// successfully.
676//
677// Use "Send" method on the returned Request to send the API call to the service.
678// the "output" return value is not valid until after Send returns without error.
679//
680// See CreateSegment for more information on using the CreateSegment
681// API call, and error handling.
682//
683// This method is useful when you want to inject custom logic or configuration
684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
685//
686//
687//    // Example sending a request using the CreateSegmentRequest method.
688//    req, resp := client.CreateSegmentRequest(params)
689//
690//    err := req.Send()
691//    if err == nil { // resp is now filled
692//        fmt.Println(resp)
693//    }
694//
695// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSegment
696func (c *Pinpoint) CreateSegmentRequest(input *CreateSegmentInput) (req *request.Request, output *CreateSegmentOutput) {
697	op := &request.Operation{
698		Name:       opCreateSegment,
699		HTTPMethod: "POST",
700		HTTPPath:   "/v1/apps/{application-id}/segments",
701	}
702
703	if input == nil {
704		input = &CreateSegmentInput{}
705	}
706
707	output = &CreateSegmentOutput{}
708	req = c.newRequest(op, input, output)
709	return
710}
711
712// CreateSegment API operation for Amazon Pinpoint.
713//
714// Creates a new segment for an application or updates the configuration, dimension,
715// and other settings for an existing segment that's associated with an application.
716//
717// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
718// with awserr.Error's Code and Message methods to get detailed information about
719// the error.
720//
721// See the AWS API reference guide for Amazon Pinpoint's
722// API operation CreateSegment for usage and error information.
723//
724// Returned Error Codes:
725//   * ErrCodeBadRequestException "BadRequestException"
726//   Provides information about an API request or response.
727//
728//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
729//   Provides information about an API request or response.
730//
731//   * ErrCodeForbiddenException "ForbiddenException"
732//   Provides information about an API request or response.
733//
734//   * ErrCodeNotFoundException "NotFoundException"
735//   Provides information about an API request or response.
736//
737//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
738//   Provides information about an API request or response.
739//
740//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
741//   Provides information about an API request or response.
742//
743// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSegment
744func (c *Pinpoint) CreateSegment(input *CreateSegmentInput) (*CreateSegmentOutput, error) {
745	req, out := c.CreateSegmentRequest(input)
746	return out, req.Send()
747}
748
749// CreateSegmentWithContext is the same as CreateSegment with the addition of
750// the ability to pass a context and additional request options.
751//
752// See CreateSegment for details on how to use this API operation.
753//
754// The context must be non-nil and will be used for request cancellation. If
755// the context is nil a panic will occur. In the future the SDK may create
756// sub-contexts for http.Requests. See https://golang.org/pkg/context/
757// for more information on using Contexts.
758func (c *Pinpoint) CreateSegmentWithContext(ctx aws.Context, input *CreateSegmentInput, opts ...request.Option) (*CreateSegmentOutput, error) {
759	req, out := c.CreateSegmentRequest(input)
760	req.SetContext(ctx)
761	req.ApplyOptions(opts...)
762	return out, req.Send()
763}
764
765const opCreateSmsTemplate = "CreateSmsTemplate"
766
767// CreateSmsTemplateRequest generates a "aws/request.Request" representing the
768// client's request for the CreateSmsTemplate operation. The "output" return
769// value will be populated with the request's response once the request completes
770// successfully.
771//
772// Use "Send" method on the returned Request to send the API call to the service.
773// the "output" return value is not valid until after Send returns without error.
774//
775// See CreateSmsTemplate for more information on using the CreateSmsTemplate
776// API call, and error handling.
777//
778// This method is useful when you want to inject custom logic or configuration
779// into the SDK's request lifecycle. Such as custom headers, or retry logic.
780//
781//
782//    // Example sending a request using the CreateSmsTemplateRequest method.
783//    req, resp := client.CreateSmsTemplateRequest(params)
784//
785//    err := req.Send()
786//    if err == nil { // resp is now filled
787//        fmt.Println(resp)
788//    }
789//
790// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSmsTemplate
791func (c *Pinpoint) CreateSmsTemplateRequest(input *CreateSmsTemplateInput) (req *request.Request, output *CreateSmsTemplateOutput) {
792	op := &request.Operation{
793		Name:       opCreateSmsTemplate,
794		HTTPMethod: "POST",
795		HTTPPath:   "/v1/templates/{template-name}/sms",
796	}
797
798	if input == nil {
799		input = &CreateSmsTemplateInput{}
800	}
801
802	output = &CreateSmsTemplateOutput{}
803	req = c.newRequest(op, input, output)
804	return
805}
806
807// CreateSmsTemplate API operation for Amazon Pinpoint.
808//
809// Creates a message template for messages that are sent through the SMS channel.
810//
811// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
812// with awserr.Error's Code and Message methods to get detailed information about
813// the error.
814//
815// See the AWS API reference guide for Amazon Pinpoint's
816// API operation CreateSmsTemplate for usage and error information.
817//
818// Returned Error Codes:
819//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
820//   Provides information about an API request or response.
821//
822//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
823//   Provides information about an API request or response.
824//
825//   * ErrCodeBadRequestException "BadRequestException"
826//   Provides information about an API request or response.
827//
828//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
829//   Provides information about an API request or response.
830//
831//   * ErrCodeForbiddenException "ForbiddenException"
832//   Provides information about an API request or response.
833//
834// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSmsTemplate
835func (c *Pinpoint) CreateSmsTemplate(input *CreateSmsTemplateInput) (*CreateSmsTemplateOutput, error) {
836	req, out := c.CreateSmsTemplateRequest(input)
837	return out, req.Send()
838}
839
840// CreateSmsTemplateWithContext is the same as CreateSmsTemplate with the addition of
841// the ability to pass a context and additional request options.
842//
843// See CreateSmsTemplate for details on how to use this API operation.
844//
845// The context must be non-nil and will be used for request cancellation. If
846// the context is nil a panic will occur. In the future the SDK may create
847// sub-contexts for http.Requests. See https://golang.org/pkg/context/
848// for more information on using Contexts.
849func (c *Pinpoint) CreateSmsTemplateWithContext(ctx aws.Context, input *CreateSmsTemplateInput, opts ...request.Option) (*CreateSmsTemplateOutput, error) {
850	req, out := c.CreateSmsTemplateRequest(input)
851	req.SetContext(ctx)
852	req.ApplyOptions(opts...)
853	return out, req.Send()
854}
855
856const opCreateVoiceTemplate = "CreateVoiceTemplate"
857
858// CreateVoiceTemplateRequest generates a "aws/request.Request" representing the
859// client's request for the CreateVoiceTemplate operation. The "output" return
860// value will be populated with the request's response once the request completes
861// successfully.
862//
863// Use "Send" method on the returned Request to send the API call to the service.
864// the "output" return value is not valid until after Send returns without error.
865//
866// See CreateVoiceTemplate for more information on using the CreateVoiceTemplate
867// API call, and error handling.
868//
869// This method is useful when you want to inject custom logic or configuration
870// into the SDK's request lifecycle. Such as custom headers, or retry logic.
871//
872//
873//    // Example sending a request using the CreateVoiceTemplateRequest method.
874//    req, resp := client.CreateVoiceTemplateRequest(params)
875//
876//    err := req.Send()
877//    if err == nil { // resp is now filled
878//        fmt.Println(resp)
879//    }
880//
881// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateVoiceTemplate
882func (c *Pinpoint) CreateVoiceTemplateRequest(input *CreateVoiceTemplateInput) (req *request.Request, output *CreateVoiceTemplateOutput) {
883	op := &request.Operation{
884		Name:       opCreateVoiceTemplate,
885		HTTPMethod: "POST",
886		HTTPPath:   "/v1/templates/{template-name}/voice",
887	}
888
889	if input == nil {
890		input = &CreateVoiceTemplateInput{}
891	}
892
893	output = &CreateVoiceTemplateOutput{}
894	req = c.newRequest(op, input, output)
895	return
896}
897
898// CreateVoiceTemplate API operation for Amazon Pinpoint.
899//
900// Creates a message template for messages that are sent through the voice channel.
901//
902// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
903// with awserr.Error's Code and Message methods to get detailed information about
904// the error.
905//
906// See the AWS API reference guide for Amazon Pinpoint's
907// API operation CreateVoiceTemplate for usage and error information.
908//
909// Returned Error Codes:
910//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
911//   Provides information about an API request or response.
912//
913//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
914//   Provides information about an API request or response.
915//
916//   * ErrCodeBadRequestException "BadRequestException"
917//   Provides information about an API request or response.
918//
919//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
920//   Provides information about an API request or response.
921//
922//   * ErrCodeForbiddenException "ForbiddenException"
923//   Provides information about an API request or response.
924//
925// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateVoiceTemplate
926func (c *Pinpoint) CreateVoiceTemplate(input *CreateVoiceTemplateInput) (*CreateVoiceTemplateOutput, error) {
927	req, out := c.CreateVoiceTemplateRequest(input)
928	return out, req.Send()
929}
930
931// CreateVoiceTemplateWithContext is the same as CreateVoiceTemplate with the addition of
932// the ability to pass a context and additional request options.
933//
934// See CreateVoiceTemplate for details on how to use this API operation.
935//
936// The context must be non-nil and will be used for request cancellation. If
937// the context is nil a panic will occur. In the future the SDK may create
938// sub-contexts for http.Requests. See https://golang.org/pkg/context/
939// for more information on using Contexts.
940func (c *Pinpoint) CreateVoiceTemplateWithContext(ctx aws.Context, input *CreateVoiceTemplateInput, opts ...request.Option) (*CreateVoiceTemplateOutput, error) {
941	req, out := c.CreateVoiceTemplateRequest(input)
942	req.SetContext(ctx)
943	req.ApplyOptions(opts...)
944	return out, req.Send()
945}
946
947const opDeleteAdmChannel = "DeleteAdmChannel"
948
949// DeleteAdmChannelRequest generates a "aws/request.Request" representing the
950// client's request for the DeleteAdmChannel operation. The "output" return
951// value will be populated with the request's response once the request completes
952// successfully.
953//
954// Use "Send" method on the returned Request to send the API call to the service.
955// the "output" return value is not valid until after Send returns without error.
956//
957// See DeleteAdmChannel for more information on using the DeleteAdmChannel
958// API call, and error handling.
959//
960// This method is useful when you want to inject custom logic or configuration
961// into the SDK's request lifecycle. Such as custom headers, or retry logic.
962//
963//
964//    // Example sending a request using the DeleteAdmChannelRequest method.
965//    req, resp := client.DeleteAdmChannelRequest(params)
966//
967//    err := req.Send()
968//    if err == nil { // resp is now filled
969//        fmt.Println(resp)
970//    }
971//
972// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAdmChannel
973func (c *Pinpoint) DeleteAdmChannelRequest(input *DeleteAdmChannelInput) (req *request.Request, output *DeleteAdmChannelOutput) {
974	op := &request.Operation{
975		Name:       opDeleteAdmChannel,
976		HTTPMethod: "DELETE",
977		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
978	}
979
980	if input == nil {
981		input = &DeleteAdmChannelInput{}
982	}
983
984	output = &DeleteAdmChannelOutput{}
985	req = c.newRequest(op, input, output)
986	return
987}
988
989// DeleteAdmChannel API operation for Amazon Pinpoint.
990//
991// Disables the ADM channel for an application and deletes any existing settings
992// for the channel.
993//
994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
995// with awserr.Error's Code and Message methods to get detailed information about
996// the error.
997//
998// See the AWS API reference guide for Amazon Pinpoint's
999// API operation DeleteAdmChannel for usage and error information.
1000//
1001// Returned Error Codes:
1002//   * ErrCodeBadRequestException "BadRequestException"
1003//   Provides information about an API request or response.
1004//
1005//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1006//   Provides information about an API request or response.
1007//
1008//   * ErrCodeForbiddenException "ForbiddenException"
1009//   Provides information about an API request or response.
1010//
1011//   * ErrCodeNotFoundException "NotFoundException"
1012//   Provides information about an API request or response.
1013//
1014//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1015//   Provides information about an API request or response.
1016//
1017//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1018//   Provides information about an API request or response.
1019//
1020// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAdmChannel
1021func (c *Pinpoint) DeleteAdmChannel(input *DeleteAdmChannelInput) (*DeleteAdmChannelOutput, error) {
1022	req, out := c.DeleteAdmChannelRequest(input)
1023	return out, req.Send()
1024}
1025
1026// DeleteAdmChannelWithContext is the same as DeleteAdmChannel with the addition of
1027// the ability to pass a context and additional request options.
1028//
1029// See DeleteAdmChannel for details on how to use this API operation.
1030//
1031// The context must be non-nil and will be used for request cancellation. If
1032// the context is nil a panic will occur. In the future the SDK may create
1033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1034// for more information on using Contexts.
1035func (c *Pinpoint) DeleteAdmChannelWithContext(ctx aws.Context, input *DeleteAdmChannelInput, opts ...request.Option) (*DeleteAdmChannelOutput, error) {
1036	req, out := c.DeleteAdmChannelRequest(input)
1037	req.SetContext(ctx)
1038	req.ApplyOptions(opts...)
1039	return out, req.Send()
1040}
1041
1042const opDeleteApnsChannel = "DeleteApnsChannel"
1043
1044// DeleteApnsChannelRequest generates a "aws/request.Request" representing the
1045// client's request for the DeleteApnsChannel operation. The "output" return
1046// value will be populated with the request's response once the request completes
1047// successfully.
1048//
1049// Use "Send" method on the returned Request to send the API call to the service.
1050// the "output" return value is not valid until after Send returns without error.
1051//
1052// See DeleteApnsChannel for more information on using the DeleteApnsChannel
1053// API call, and error handling.
1054//
1055// This method is useful when you want to inject custom logic or configuration
1056// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1057//
1058//
1059//    // Example sending a request using the DeleteApnsChannelRequest method.
1060//    req, resp := client.DeleteApnsChannelRequest(params)
1061//
1062//    err := req.Send()
1063//    if err == nil { // resp is now filled
1064//        fmt.Println(resp)
1065//    }
1066//
1067// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsChannel
1068func (c *Pinpoint) DeleteApnsChannelRequest(input *DeleteApnsChannelInput) (req *request.Request, output *DeleteApnsChannelOutput) {
1069	op := &request.Operation{
1070		Name:       opDeleteApnsChannel,
1071		HTTPMethod: "DELETE",
1072		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
1073	}
1074
1075	if input == nil {
1076		input = &DeleteApnsChannelInput{}
1077	}
1078
1079	output = &DeleteApnsChannelOutput{}
1080	req = c.newRequest(op, input, output)
1081	return
1082}
1083
1084// DeleteApnsChannel API operation for Amazon Pinpoint.
1085//
1086// Disables the APNs channel for an application and deletes any existing settings
1087// for the channel.
1088//
1089// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1090// with awserr.Error's Code and Message methods to get detailed information about
1091// the error.
1092//
1093// See the AWS API reference guide for Amazon Pinpoint's
1094// API operation DeleteApnsChannel for usage and error information.
1095//
1096// Returned Error Codes:
1097//   * ErrCodeBadRequestException "BadRequestException"
1098//   Provides information about an API request or response.
1099//
1100//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1101//   Provides information about an API request or response.
1102//
1103//   * ErrCodeForbiddenException "ForbiddenException"
1104//   Provides information about an API request or response.
1105//
1106//   * ErrCodeNotFoundException "NotFoundException"
1107//   Provides information about an API request or response.
1108//
1109//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1110//   Provides information about an API request or response.
1111//
1112//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1113//   Provides information about an API request or response.
1114//
1115// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsChannel
1116func (c *Pinpoint) DeleteApnsChannel(input *DeleteApnsChannelInput) (*DeleteApnsChannelOutput, error) {
1117	req, out := c.DeleteApnsChannelRequest(input)
1118	return out, req.Send()
1119}
1120
1121// DeleteApnsChannelWithContext is the same as DeleteApnsChannel with the addition of
1122// the ability to pass a context and additional request options.
1123//
1124// See DeleteApnsChannel for details on how to use this API operation.
1125//
1126// The context must be non-nil and will be used for request cancellation. If
1127// the context is nil a panic will occur. In the future the SDK may create
1128// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1129// for more information on using Contexts.
1130func (c *Pinpoint) DeleteApnsChannelWithContext(ctx aws.Context, input *DeleteApnsChannelInput, opts ...request.Option) (*DeleteApnsChannelOutput, error) {
1131	req, out := c.DeleteApnsChannelRequest(input)
1132	req.SetContext(ctx)
1133	req.ApplyOptions(opts...)
1134	return out, req.Send()
1135}
1136
1137const opDeleteApnsSandboxChannel = "DeleteApnsSandboxChannel"
1138
1139// DeleteApnsSandboxChannelRequest generates a "aws/request.Request" representing the
1140// client's request for the DeleteApnsSandboxChannel operation. The "output" return
1141// value will be populated with the request's response once the request completes
1142// successfully.
1143//
1144// Use "Send" method on the returned Request to send the API call to the service.
1145// the "output" return value is not valid until after Send returns without error.
1146//
1147// See DeleteApnsSandboxChannel for more information on using the DeleteApnsSandboxChannel
1148// API call, and error handling.
1149//
1150// This method is useful when you want to inject custom logic or configuration
1151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1152//
1153//
1154//    // Example sending a request using the DeleteApnsSandboxChannelRequest method.
1155//    req, resp := client.DeleteApnsSandboxChannelRequest(params)
1156//
1157//    err := req.Send()
1158//    if err == nil { // resp is now filled
1159//        fmt.Println(resp)
1160//    }
1161//
1162// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsSandboxChannel
1163func (c *Pinpoint) DeleteApnsSandboxChannelRequest(input *DeleteApnsSandboxChannelInput) (req *request.Request, output *DeleteApnsSandboxChannelOutput) {
1164	op := &request.Operation{
1165		Name:       opDeleteApnsSandboxChannel,
1166		HTTPMethod: "DELETE",
1167		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
1168	}
1169
1170	if input == nil {
1171		input = &DeleteApnsSandboxChannelInput{}
1172	}
1173
1174	output = &DeleteApnsSandboxChannelOutput{}
1175	req = c.newRequest(op, input, output)
1176	return
1177}
1178
1179// DeleteApnsSandboxChannel API operation for Amazon Pinpoint.
1180//
1181// Disables the APNs sandbox channel for an application and deletes any existing
1182// settings for the channel.
1183//
1184// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1185// with awserr.Error's Code and Message methods to get detailed information about
1186// the error.
1187//
1188// See the AWS API reference guide for Amazon Pinpoint's
1189// API operation DeleteApnsSandboxChannel for usage and error information.
1190//
1191// Returned Error Codes:
1192//   * ErrCodeBadRequestException "BadRequestException"
1193//   Provides information about an API request or response.
1194//
1195//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1196//   Provides information about an API request or response.
1197//
1198//   * ErrCodeForbiddenException "ForbiddenException"
1199//   Provides information about an API request or response.
1200//
1201//   * ErrCodeNotFoundException "NotFoundException"
1202//   Provides information about an API request or response.
1203//
1204//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1205//   Provides information about an API request or response.
1206//
1207//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1208//   Provides information about an API request or response.
1209//
1210// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsSandboxChannel
1211func (c *Pinpoint) DeleteApnsSandboxChannel(input *DeleteApnsSandboxChannelInput) (*DeleteApnsSandboxChannelOutput, error) {
1212	req, out := c.DeleteApnsSandboxChannelRequest(input)
1213	return out, req.Send()
1214}
1215
1216// DeleteApnsSandboxChannelWithContext is the same as DeleteApnsSandboxChannel with the addition of
1217// the ability to pass a context and additional request options.
1218//
1219// See DeleteApnsSandboxChannel for details on how to use this API operation.
1220//
1221// The context must be non-nil and will be used for request cancellation. If
1222// the context is nil a panic will occur. In the future the SDK may create
1223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1224// for more information on using Contexts.
1225func (c *Pinpoint) DeleteApnsSandboxChannelWithContext(ctx aws.Context, input *DeleteApnsSandboxChannelInput, opts ...request.Option) (*DeleteApnsSandboxChannelOutput, error) {
1226	req, out := c.DeleteApnsSandboxChannelRequest(input)
1227	req.SetContext(ctx)
1228	req.ApplyOptions(opts...)
1229	return out, req.Send()
1230}
1231
1232const opDeleteApnsVoipChannel = "DeleteApnsVoipChannel"
1233
1234// DeleteApnsVoipChannelRequest generates a "aws/request.Request" representing the
1235// client's request for the DeleteApnsVoipChannel operation. The "output" return
1236// value will be populated with the request's response once the request completes
1237// successfully.
1238//
1239// Use "Send" method on the returned Request to send the API call to the service.
1240// the "output" return value is not valid until after Send returns without error.
1241//
1242// See DeleteApnsVoipChannel for more information on using the DeleteApnsVoipChannel
1243// API call, and error handling.
1244//
1245// This method is useful when you want to inject custom logic or configuration
1246// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1247//
1248//
1249//    // Example sending a request using the DeleteApnsVoipChannelRequest method.
1250//    req, resp := client.DeleteApnsVoipChannelRequest(params)
1251//
1252//    err := req.Send()
1253//    if err == nil { // resp is now filled
1254//        fmt.Println(resp)
1255//    }
1256//
1257// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipChannel
1258func (c *Pinpoint) DeleteApnsVoipChannelRequest(input *DeleteApnsVoipChannelInput) (req *request.Request, output *DeleteApnsVoipChannelOutput) {
1259	op := &request.Operation{
1260		Name:       opDeleteApnsVoipChannel,
1261		HTTPMethod: "DELETE",
1262		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
1263	}
1264
1265	if input == nil {
1266		input = &DeleteApnsVoipChannelInput{}
1267	}
1268
1269	output = &DeleteApnsVoipChannelOutput{}
1270	req = c.newRequest(op, input, output)
1271	return
1272}
1273
1274// DeleteApnsVoipChannel API operation for Amazon Pinpoint.
1275//
1276// Disables the APNs VoIP channel for an application and deletes any existing
1277// settings for the channel.
1278//
1279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1280// with awserr.Error's Code and Message methods to get detailed information about
1281// the error.
1282//
1283// See the AWS API reference guide for Amazon Pinpoint's
1284// API operation DeleteApnsVoipChannel for usage and error information.
1285//
1286// Returned Error Codes:
1287//   * ErrCodeBadRequestException "BadRequestException"
1288//   Provides information about an API request or response.
1289//
1290//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1291//   Provides information about an API request or response.
1292//
1293//   * ErrCodeForbiddenException "ForbiddenException"
1294//   Provides information about an API request or response.
1295//
1296//   * ErrCodeNotFoundException "NotFoundException"
1297//   Provides information about an API request or response.
1298//
1299//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1300//   Provides information about an API request or response.
1301//
1302//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1303//   Provides information about an API request or response.
1304//
1305// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipChannel
1306func (c *Pinpoint) DeleteApnsVoipChannel(input *DeleteApnsVoipChannelInput) (*DeleteApnsVoipChannelOutput, error) {
1307	req, out := c.DeleteApnsVoipChannelRequest(input)
1308	return out, req.Send()
1309}
1310
1311// DeleteApnsVoipChannelWithContext is the same as DeleteApnsVoipChannel with the addition of
1312// the ability to pass a context and additional request options.
1313//
1314// See DeleteApnsVoipChannel for details on how to use this API operation.
1315//
1316// The context must be non-nil and will be used for request cancellation. If
1317// the context is nil a panic will occur. In the future the SDK may create
1318// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1319// for more information on using Contexts.
1320func (c *Pinpoint) DeleteApnsVoipChannelWithContext(ctx aws.Context, input *DeleteApnsVoipChannelInput, opts ...request.Option) (*DeleteApnsVoipChannelOutput, error) {
1321	req, out := c.DeleteApnsVoipChannelRequest(input)
1322	req.SetContext(ctx)
1323	req.ApplyOptions(opts...)
1324	return out, req.Send()
1325}
1326
1327const opDeleteApnsVoipSandboxChannel = "DeleteApnsVoipSandboxChannel"
1328
1329// DeleteApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
1330// client's request for the DeleteApnsVoipSandboxChannel operation. The "output" return
1331// value will be populated with the request's response once the request completes
1332// successfully.
1333//
1334// Use "Send" method on the returned Request to send the API call to the service.
1335// the "output" return value is not valid until after Send returns without error.
1336//
1337// See DeleteApnsVoipSandboxChannel for more information on using the DeleteApnsVoipSandboxChannel
1338// API call, and error handling.
1339//
1340// This method is useful when you want to inject custom logic or configuration
1341// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1342//
1343//
1344//    // Example sending a request using the DeleteApnsVoipSandboxChannelRequest method.
1345//    req, resp := client.DeleteApnsVoipSandboxChannelRequest(params)
1346//
1347//    err := req.Send()
1348//    if err == nil { // resp is now filled
1349//        fmt.Println(resp)
1350//    }
1351//
1352// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipSandboxChannel
1353func (c *Pinpoint) DeleteApnsVoipSandboxChannelRequest(input *DeleteApnsVoipSandboxChannelInput) (req *request.Request, output *DeleteApnsVoipSandboxChannelOutput) {
1354	op := &request.Operation{
1355		Name:       opDeleteApnsVoipSandboxChannel,
1356		HTTPMethod: "DELETE",
1357		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
1358	}
1359
1360	if input == nil {
1361		input = &DeleteApnsVoipSandboxChannelInput{}
1362	}
1363
1364	output = &DeleteApnsVoipSandboxChannelOutput{}
1365	req = c.newRequest(op, input, output)
1366	return
1367}
1368
1369// DeleteApnsVoipSandboxChannel API operation for Amazon Pinpoint.
1370//
1371// Disables the APNs VoIP sandbox channel for an application and deletes any
1372// existing settings for the channel.
1373//
1374// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1375// with awserr.Error's Code and Message methods to get detailed information about
1376// the error.
1377//
1378// See the AWS API reference guide for Amazon Pinpoint's
1379// API operation DeleteApnsVoipSandboxChannel for usage and error information.
1380//
1381// Returned Error Codes:
1382//   * ErrCodeBadRequestException "BadRequestException"
1383//   Provides information about an API request or response.
1384//
1385//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1386//   Provides information about an API request or response.
1387//
1388//   * ErrCodeForbiddenException "ForbiddenException"
1389//   Provides information about an API request or response.
1390//
1391//   * ErrCodeNotFoundException "NotFoundException"
1392//   Provides information about an API request or response.
1393//
1394//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1395//   Provides information about an API request or response.
1396//
1397//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1398//   Provides information about an API request or response.
1399//
1400// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipSandboxChannel
1401func (c *Pinpoint) DeleteApnsVoipSandboxChannel(input *DeleteApnsVoipSandboxChannelInput) (*DeleteApnsVoipSandboxChannelOutput, error) {
1402	req, out := c.DeleteApnsVoipSandboxChannelRequest(input)
1403	return out, req.Send()
1404}
1405
1406// DeleteApnsVoipSandboxChannelWithContext is the same as DeleteApnsVoipSandboxChannel with the addition of
1407// the ability to pass a context and additional request options.
1408//
1409// See DeleteApnsVoipSandboxChannel for details on how to use this API operation.
1410//
1411// The context must be non-nil and will be used for request cancellation. If
1412// the context is nil a panic will occur. In the future the SDK may create
1413// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1414// for more information on using Contexts.
1415func (c *Pinpoint) DeleteApnsVoipSandboxChannelWithContext(ctx aws.Context, input *DeleteApnsVoipSandboxChannelInput, opts ...request.Option) (*DeleteApnsVoipSandboxChannelOutput, error) {
1416	req, out := c.DeleteApnsVoipSandboxChannelRequest(input)
1417	req.SetContext(ctx)
1418	req.ApplyOptions(opts...)
1419	return out, req.Send()
1420}
1421
1422const opDeleteApp = "DeleteApp"
1423
1424// DeleteAppRequest generates a "aws/request.Request" representing the
1425// client's request for the DeleteApp operation. The "output" return
1426// value will be populated with the request's response once the request completes
1427// successfully.
1428//
1429// Use "Send" method on the returned Request to send the API call to the service.
1430// the "output" return value is not valid until after Send returns without error.
1431//
1432// See DeleteApp for more information on using the DeleteApp
1433// API call, and error handling.
1434//
1435// This method is useful when you want to inject custom logic or configuration
1436// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1437//
1438//
1439//    // Example sending a request using the DeleteAppRequest method.
1440//    req, resp := client.DeleteAppRequest(params)
1441//
1442//    err := req.Send()
1443//    if err == nil { // resp is now filled
1444//        fmt.Println(resp)
1445//    }
1446//
1447// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApp
1448func (c *Pinpoint) DeleteAppRequest(input *DeleteAppInput) (req *request.Request, output *DeleteAppOutput) {
1449	op := &request.Operation{
1450		Name:       opDeleteApp,
1451		HTTPMethod: "DELETE",
1452		HTTPPath:   "/v1/apps/{application-id}",
1453	}
1454
1455	if input == nil {
1456		input = &DeleteAppInput{}
1457	}
1458
1459	output = &DeleteAppOutput{}
1460	req = c.newRequest(op, input, output)
1461	return
1462}
1463
1464// DeleteApp API operation for Amazon Pinpoint.
1465//
1466// Deletes an application.
1467//
1468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1469// with awserr.Error's Code and Message methods to get detailed information about
1470// the error.
1471//
1472// See the AWS API reference guide for Amazon Pinpoint's
1473// API operation DeleteApp for usage and error information.
1474//
1475// Returned Error Codes:
1476//   * ErrCodeBadRequestException "BadRequestException"
1477//   Provides information about an API request or response.
1478//
1479//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1480//   Provides information about an API request or response.
1481//
1482//   * ErrCodeForbiddenException "ForbiddenException"
1483//   Provides information about an API request or response.
1484//
1485//   * ErrCodeNotFoundException "NotFoundException"
1486//   Provides information about an API request or response.
1487//
1488//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1489//   Provides information about an API request or response.
1490//
1491//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1492//   Provides information about an API request or response.
1493//
1494// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApp
1495func (c *Pinpoint) DeleteApp(input *DeleteAppInput) (*DeleteAppOutput, error) {
1496	req, out := c.DeleteAppRequest(input)
1497	return out, req.Send()
1498}
1499
1500// DeleteAppWithContext is the same as DeleteApp with the addition of
1501// the ability to pass a context and additional request options.
1502//
1503// See DeleteApp for details on how to use this API operation.
1504//
1505// The context must be non-nil and will be used for request cancellation. If
1506// the context is nil a panic will occur. In the future the SDK may create
1507// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1508// for more information on using Contexts.
1509func (c *Pinpoint) DeleteAppWithContext(ctx aws.Context, input *DeleteAppInput, opts ...request.Option) (*DeleteAppOutput, error) {
1510	req, out := c.DeleteAppRequest(input)
1511	req.SetContext(ctx)
1512	req.ApplyOptions(opts...)
1513	return out, req.Send()
1514}
1515
1516const opDeleteBaiduChannel = "DeleteBaiduChannel"
1517
1518// DeleteBaiduChannelRequest generates a "aws/request.Request" representing the
1519// client's request for the DeleteBaiduChannel operation. The "output" return
1520// value will be populated with the request's response once the request completes
1521// successfully.
1522//
1523// Use "Send" method on the returned Request to send the API call to the service.
1524// the "output" return value is not valid until after Send returns without error.
1525//
1526// See DeleteBaiduChannel for more information on using the DeleteBaiduChannel
1527// API call, and error handling.
1528//
1529// This method is useful when you want to inject custom logic or configuration
1530// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1531//
1532//
1533//    // Example sending a request using the DeleteBaiduChannelRequest method.
1534//    req, resp := client.DeleteBaiduChannelRequest(params)
1535//
1536//    err := req.Send()
1537//    if err == nil { // resp is now filled
1538//        fmt.Println(resp)
1539//    }
1540//
1541// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteBaiduChannel
1542func (c *Pinpoint) DeleteBaiduChannelRequest(input *DeleteBaiduChannelInput) (req *request.Request, output *DeleteBaiduChannelOutput) {
1543	op := &request.Operation{
1544		Name:       opDeleteBaiduChannel,
1545		HTTPMethod: "DELETE",
1546		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
1547	}
1548
1549	if input == nil {
1550		input = &DeleteBaiduChannelInput{}
1551	}
1552
1553	output = &DeleteBaiduChannelOutput{}
1554	req = c.newRequest(op, input, output)
1555	return
1556}
1557
1558// DeleteBaiduChannel API operation for Amazon Pinpoint.
1559//
1560// Disables the Baidu channel for an application and deletes any existing settings
1561// for the channel.
1562//
1563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1564// with awserr.Error's Code and Message methods to get detailed information about
1565// the error.
1566//
1567// See the AWS API reference guide for Amazon Pinpoint's
1568// API operation DeleteBaiduChannel for usage and error information.
1569//
1570// Returned Error Codes:
1571//   * ErrCodeBadRequestException "BadRequestException"
1572//   Provides information about an API request or response.
1573//
1574//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1575//   Provides information about an API request or response.
1576//
1577//   * ErrCodeForbiddenException "ForbiddenException"
1578//   Provides information about an API request or response.
1579//
1580//   * ErrCodeNotFoundException "NotFoundException"
1581//   Provides information about an API request or response.
1582//
1583//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1584//   Provides information about an API request or response.
1585//
1586//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1587//   Provides information about an API request or response.
1588//
1589// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteBaiduChannel
1590func (c *Pinpoint) DeleteBaiduChannel(input *DeleteBaiduChannelInput) (*DeleteBaiduChannelOutput, error) {
1591	req, out := c.DeleteBaiduChannelRequest(input)
1592	return out, req.Send()
1593}
1594
1595// DeleteBaiduChannelWithContext is the same as DeleteBaiduChannel with the addition of
1596// the ability to pass a context and additional request options.
1597//
1598// See DeleteBaiduChannel for details on how to use this API operation.
1599//
1600// The context must be non-nil and will be used for request cancellation. If
1601// the context is nil a panic will occur. In the future the SDK may create
1602// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1603// for more information on using Contexts.
1604func (c *Pinpoint) DeleteBaiduChannelWithContext(ctx aws.Context, input *DeleteBaiduChannelInput, opts ...request.Option) (*DeleteBaiduChannelOutput, error) {
1605	req, out := c.DeleteBaiduChannelRequest(input)
1606	req.SetContext(ctx)
1607	req.ApplyOptions(opts...)
1608	return out, req.Send()
1609}
1610
1611const opDeleteCampaign = "DeleteCampaign"
1612
1613// DeleteCampaignRequest generates a "aws/request.Request" representing the
1614// client's request for the DeleteCampaign operation. The "output" return
1615// value will be populated with the request's response once the request completes
1616// successfully.
1617//
1618// Use "Send" method on the returned Request to send the API call to the service.
1619// the "output" return value is not valid until after Send returns without error.
1620//
1621// See DeleteCampaign for more information on using the DeleteCampaign
1622// API call, and error handling.
1623//
1624// This method is useful when you want to inject custom logic or configuration
1625// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1626//
1627//
1628//    // Example sending a request using the DeleteCampaignRequest method.
1629//    req, resp := client.DeleteCampaignRequest(params)
1630//
1631//    err := req.Send()
1632//    if err == nil { // resp is now filled
1633//        fmt.Println(resp)
1634//    }
1635//
1636// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteCampaign
1637func (c *Pinpoint) DeleteCampaignRequest(input *DeleteCampaignInput) (req *request.Request, output *DeleteCampaignOutput) {
1638	op := &request.Operation{
1639		Name:       opDeleteCampaign,
1640		HTTPMethod: "DELETE",
1641		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
1642	}
1643
1644	if input == nil {
1645		input = &DeleteCampaignInput{}
1646	}
1647
1648	output = &DeleteCampaignOutput{}
1649	req = c.newRequest(op, input, output)
1650	return
1651}
1652
1653// DeleteCampaign API operation for Amazon Pinpoint.
1654//
1655// Deletes a campaign from an application.
1656//
1657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1658// with awserr.Error's Code and Message methods to get detailed information about
1659// the error.
1660//
1661// See the AWS API reference guide for Amazon Pinpoint's
1662// API operation DeleteCampaign for usage and error information.
1663//
1664// Returned Error Codes:
1665//   * ErrCodeBadRequestException "BadRequestException"
1666//   Provides information about an API request or response.
1667//
1668//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1669//   Provides information about an API request or response.
1670//
1671//   * ErrCodeForbiddenException "ForbiddenException"
1672//   Provides information about an API request or response.
1673//
1674//   * ErrCodeNotFoundException "NotFoundException"
1675//   Provides information about an API request or response.
1676//
1677//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1678//   Provides information about an API request or response.
1679//
1680//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1681//   Provides information about an API request or response.
1682//
1683// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteCampaign
1684func (c *Pinpoint) DeleteCampaign(input *DeleteCampaignInput) (*DeleteCampaignOutput, error) {
1685	req, out := c.DeleteCampaignRequest(input)
1686	return out, req.Send()
1687}
1688
1689// DeleteCampaignWithContext is the same as DeleteCampaign with the addition of
1690// the ability to pass a context and additional request options.
1691//
1692// See DeleteCampaign for details on how to use this API operation.
1693//
1694// The context must be non-nil and will be used for request cancellation. If
1695// the context is nil a panic will occur. In the future the SDK may create
1696// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1697// for more information on using Contexts.
1698func (c *Pinpoint) DeleteCampaignWithContext(ctx aws.Context, input *DeleteCampaignInput, opts ...request.Option) (*DeleteCampaignOutput, error) {
1699	req, out := c.DeleteCampaignRequest(input)
1700	req.SetContext(ctx)
1701	req.ApplyOptions(opts...)
1702	return out, req.Send()
1703}
1704
1705const opDeleteEmailChannel = "DeleteEmailChannel"
1706
1707// DeleteEmailChannelRequest generates a "aws/request.Request" representing the
1708// client's request for the DeleteEmailChannel operation. The "output" return
1709// value will be populated with the request's response once the request completes
1710// successfully.
1711//
1712// Use "Send" method on the returned Request to send the API call to the service.
1713// the "output" return value is not valid until after Send returns without error.
1714//
1715// See DeleteEmailChannel for more information on using the DeleteEmailChannel
1716// API call, and error handling.
1717//
1718// This method is useful when you want to inject custom logic or configuration
1719// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1720//
1721//
1722//    // Example sending a request using the DeleteEmailChannelRequest method.
1723//    req, resp := client.DeleteEmailChannelRequest(params)
1724//
1725//    err := req.Send()
1726//    if err == nil { // resp is now filled
1727//        fmt.Println(resp)
1728//    }
1729//
1730// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailChannel
1731func (c *Pinpoint) DeleteEmailChannelRequest(input *DeleteEmailChannelInput) (req *request.Request, output *DeleteEmailChannelOutput) {
1732	op := &request.Operation{
1733		Name:       opDeleteEmailChannel,
1734		HTTPMethod: "DELETE",
1735		HTTPPath:   "/v1/apps/{application-id}/channels/email",
1736	}
1737
1738	if input == nil {
1739		input = &DeleteEmailChannelInput{}
1740	}
1741
1742	output = &DeleteEmailChannelOutput{}
1743	req = c.newRequest(op, input, output)
1744	return
1745}
1746
1747// DeleteEmailChannel API operation for Amazon Pinpoint.
1748//
1749// Disables the email channel for an application and deletes any existing settings
1750// for the channel.
1751//
1752// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1753// with awserr.Error's Code and Message methods to get detailed information about
1754// the error.
1755//
1756// See the AWS API reference guide for Amazon Pinpoint's
1757// API operation DeleteEmailChannel for usage and error information.
1758//
1759// Returned Error Codes:
1760//   * ErrCodeBadRequestException "BadRequestException"
1761//   Provides information about an API request or response.
1762//
1763//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1764//   Provides information about an API request or response.
1765//
1766//   * ErrCodeForbiddenException "ForbiddenException"
1767//   Provides information about an API request or response.
1768//
1769//   * ErrCodeNotFoundException "NotFoundException"
1770//   Provides information about an API request or response.
1771//
1772//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1773//   Provides information about an API request or response.
1774//
1775//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1776//   Provides information about an API request or response.
1777//
1778// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailChannel
1779func (c *Pinpoint) DeleteEmailChannel(input *DeleteEmailChannelInput) (*DeleteEmailChannelOutput, error) {
1780	req, out := c.DeleteEmailChannelRequest(input)
1781	return out, req.Send()
1782}
1783
1784// DeleteEmailChannelWithContext is the same as DeleteEmailChannel with the addition of
1785// the ability to pass a context and additional request options.
1786//
1787// See DeleteEmailChannel for details on how to use this API operation.
1788//
1789// The context must be non-nil and will be used for request cancellation. If
1790// the context is nil a panic will occur. In the future the SDK may create
1791// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1792// for more information on using Contexts.
1793func (c *Pinpoint) DeleteEmailChannelWithContext(ctx aws.Context, input *DeleteEmailChannelInput, opts ...request.Option) (*DeleteEmailChannelOutput, error) {
1794	req, out := c.DeleteEmailChannelRequest(input)
1795	req.SetContext(ctx)
1796	req.ApplyOptions(opts...)
1797	return out, req.Send()
1798}
1799
1800const opDeleteEmailTemplate = "DeleteEmailTemplate"
1801
1802// DeleteEmailTemplateRequest generates a "aws/request.Request" representing the
1803// client's request for the DeleteEmailTemplate operation. The "output" return
1804// value will be populated with the request's response once the request completes
1805// successfully.
1806//
1807// Use "Send" method on the returned Request to send the API call to the service.
1808// the "output" return value is not valid until after Send returns without error.
1809//
1810// See DeleteEmailTemplate for more information on using the DeleteEmailTemplate
1811// API call, and error handling.
1812//
1813// This method is useful when you want to inject custom logic or configuration
1814// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1815//
1816//
1817//    // Example sending a request using the DeleteEmailTemplateRequest method.
1818//    req, resp := client.DeleteEmailTemplateRequest(params)
1819//
1820//    err := req.Send()
1821//    if err == nil { // resp is now filled
1822//        fmt.Println(resp)
1823//    }
1824//
1825// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailTemplate
1826func (c *Pinpoint) DeleteEmailTemplateRequest(input *DeleteEmailTemplateInput) (req *request.Request, output *DeleteEmailTemplateOutput) {
1827	op := &request.Operation{
1828		Name:       opDeleteEmailTemplate,
1829		HTTPMethod: "DELETE",
1830		HTTPPath:   "/v1/templates/{template-name}/email",
1831	}
1832
1833	if input == nil {
1834		input = &DeleteEmailTemplateInput{}
1835	}
1836
1837	output = &DeleteEmailTemplateOutput{}
1838	req = c.newRequest(op, input, output)
1839	return
1840}
1841
1842// DeleteEmailTemplate API operation for Amazon Pinpoint.
1843//
1844// Deletes a message template for messages that were sent through the email
1845// channel.
1846//
1847// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1848// with awserr.Error's Code and Message methods to get detailed information about
1849// the error.
1850//
1851// See the AWS API reference guide for Amazon Pinpoint's
1852// API operation DeleteEmailTemplate for usage and error information.
1853//
1854// Returned Error Codes:
1855//   * ErrCodeBadRequestException "BadRequestException"
1856//   Provides information about an API request or response.
1857//
1858//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1859//   Provides information about an API request or response.
1860//
1861//   * ErrCodeForbiddenException "ForbiddenException"
1862//   Provides information about an API request or response.
1863//
1864//   * ErrCodeNotFoundException "NotFoundException"
1865//   Provides information about an API request or response.
1866//
1867//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1868//   Provides information about an API request or response.
1869//
1870//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1871//   Provides information about an API request or response.
1872//
1873// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailTemplate
1874func (c *Pinpoint) DeleteEmailTemplate(input *DeleteEmailTemplateInput) (*DeleteEmailTemplateOutput, error) {
1875	req, out := c.DeleteEmailTemplateRequest(input)
1876	return out, req.Send()
1877}
1878
1879// DeleteEmailTemplateWithContext is the same as DeleteEmailTemplate with the addition of
1880// the ability to pass a context and additional request options.
1881//
1882// See DeleteEmailTemplate for details on how to use this API operation.
1883//
1884// The context must be non-nil and will be used for request cancellation. If
1885// the context is nil a panic will occur. In the future the SDK may create
1886// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1887// for more information on using Contexts.
1888func (c *Pinpoint) DeleteEmailTemplateWithContext(ctx aws.Context, input *DeleteEmailTemplateInput, opts ...request.Option) (*DeleteEmailTemplateOutput, error) {
1889	req, out := c.DeleteEmailTemplateRequest(input)
1890	req.SetContext(ctx)
1891	req.ApplyOptions(opts...)
1892	return out, req.Send()
1893}
1894
1895const opDeleteEndpoint = "DeleteEndpoint"
1896
1897// DeleteEndpointRequest generates a "aws/request.Request" representing the
1898// client's request for the DeleteEndpoint operation. The "output" return
1899// value will be populated with the request's response once the request completes
1900// successfully.
1901//
1902// Use "Send" method on the returned Request to send the API call to the service.
1903// the "output" return value is not valid until after Send returns without error.
1904//
1905// See DeleteEndpoint for more information on using the DeleteEndpoint
1906// API call, and error handling.
1907//
1908// This method is useful when you want to inject custom logic or configuration
1909// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1910//
1911//
1912//    // Example sending a request using the DeleteEndpointRequest method.
1913//    req, resp := client.DeleteEndpointRequest(params)
1914//
1915//    err := req.Send()
1916//    if err == nil { // resp is now filled
1917//        fmt.Println(resp)
1918//    }
1919//
1920// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEndpoint
1921func (c *Pinpoint) DeleteEndpointRequest(input *DeleteEndpointInput) (req *request.Request, output *DeleteEndpointOutput) {
1922	op := &request.Operation{
1923		Name:       opDeleteEndpoint,
1924		HTTPMethod: "DELETE",
1925		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
1926	}
1927
1928	if input == nil {
1929		input = &DeleteEndpointInput{}
1930	}
1931
1932	output = &DeleteEndpointOutput{}
1933	req = c.newRequest(op, input, output)
1934	return
1935}
1936
1937// DeleteEndpoint API operation for Amazon Pinpoint.
1938//
1939// Deletes an endpoint from an application.
1940//
1941// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1942// with awserr.Error's Code and Message methods to get detailed information about
1943// the error.
1944//
1945// See the AWS API reference guide for Amazon Pinpoint's
1946// API operation DeleteEndpoint for usage and error information.
1947//
1948// Returned Error Codes:
1949//   * ErrCodeBadRequestException "BadRequestException"
1950//   Provides information about an API request or response.
1951//
1952//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1953//   Provides information about an API request or response.
1954//
1955//   * ErrCodeForbiddenException "ForbiddenException"
1956//   Provides information about an API request or response.
1957//
1958//   * ErrCodeNotFoundException "NotFoundException"
1959//   Provides information about an API request or response.
1960//
1961//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1962//   Provides information about an API request or response.
1963//
1964//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1965//   Provides information about an API request or response.
1966//
1967// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEndpoint
1968func (c *Pinpoint) DeleteEndpoint(input *DeleteEndpointInput) (*DeleteEndpointOutput, error) {
1969	req, out := c.DeleteEndpointRequest(input)
1970	return out, req.Send()
1971}
1972
1973// DeleteEndpointWithContext is the same as DeleteEndpoint with the addition of
1974// the ability to pass a context and additional request options.
1975//
1976// See DeleteEndpoint for details on how to use this API operation.
1977//
1978// The context must be non-nil and will be used for request cancellation. If
1979// the context is nil a panic will occur. In the future the SDK may create
1980// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1981// for more information on using Contexts.
1982func (c *Pinpoint) DeleteEndpointWithContext(ctx aws.Context, input *DeleteEndpointInput, opts ...request.Option) (*DeleteEndpointOutput, error) {
1983	req, out := c.DeleteEndpointRequest(input)
1984	req.SetContext(ctx)
1985	req.ApplyOptions(opts...)
1986	return out, req.Send()
1987}
1988
1989const opDeleteEventStream = "DeleteEventStream"
1990
1991// DeleteEventStreamRequest generates a "aws/request.Request" representing the
1992// client's request for the DeleteEventStream operation. The "output" return
1993// value will be populated with the request's response once the request completes
1994// successfully.
1995//
1996// Use "Send" method on the returned Request to send the API call to the service.
1997// the "output" return value is not valid until after Send returns without error.
1998//
1999// See DeleteEventStream for more information on using the DeleteEventStream
2000// API call, and error handling.
2001//
2002// This method is useful when you want to inject custom logic or configuration
2003// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2004//
2005//
2006//    // Example sending a request using the DeleteEventStreamRequest method.
2007//    req, resp := client.DeleteEventStreamRequest(params)
2008//
2009//    err := req.Send()
2010//    if err == nil { // resp is now filled
2011//        fmt.Println(resp)
2012//    }
2013//
2014// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStream
2015func (c *Pinpoint) DeleteEventStreamRequest(input *DeleteEventStreamInput) (req *request.Request, output *DeleteEventStreamOutput) {
2016	op := &request.Operation{
2017		Name:       opDeleteEventStream,
2018		HTTPMethod: "DELETE",
2019		HTTPPath:   "/v1/apps/{application-id}/eventstream",
2020	}
2021
2022	if input == nil {
2023		input = &DeleteEventStreamInput{}
2024	}
2025
2026	output = &DeleteEventStreamOutput{}
2027	req = c.newRequest(op, input, output)
2028	return
2029}
2030
2031// DeleteEventStream API operation for Amazon Pinpoint.
2032//
2033// Deletes the event stream for an application.
2034//
2035// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2036// with awserr.Error's Code and Message methods to get detailed information about
2037// the error.
2038//
2039// See the AWS API reference guide for Amazon Pinpoint's
2040// API operation DeleteEventStream for usage and error information.
2041//
2042// Returned Error Codes:
2043//   * ErrCodeBadRequestException "BadRequestException"
2044//   Provides information about an API request or response.
2045//
2046//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2047//   Provides information about an API request or response.
2048//
2049//   * ErrCodeForbiddenException "ForbiddenException"
2050//   Provides information about an API request or response.
2051//
2052//   * ErrCodeNotFoundException "NotFoundException"
2053//   Provides information about an API request or response.
2054//
2055//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2056//   Provides information about an API request or response.
2057//
2058//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2059//   Provides information about an API request or response.
2060//
2061// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStream
2062func (c *Pinpoint) DeleteEventStream(input *DeleteEventStreamInput) (*DeleteEventStreamOutput, error) {
2063	req, out := c.DeleteEventStreamRequest(input)
2064	return out, req.Send()
2065}
2066
2067// DeleteEventStreamWithContext is the same as DeleteEventStream with the addition of
2068// the ability to pass a context and additional request options.
2069//
2070// See DeleteEventStream for details on how to use this API operation.
2071//
2072// The context must be non-nil and will be used for request cancellation. If
2073// the context is nil a panic will occur. In the future the SDK may create
2074// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2075// for more information on using Contexts.
2076func (c *Pinpoint) DeleteEventStreamWithContext(ctx aws.Context, input *DeleteEventStreamInput, opts ...request.Option) (*DeleteEventStreamOutput, error) {
2077	req, out := c.DeleteEventStreamRequest(input)
2078	req.SetContext(ctx)
2079	req.ApplyOptions(opts...)
2080	return out, req.Send()
2081}
2082
2083const opDeleteGcmChannel = "DeleteGcmChannel"
2084
2085// DeleteGcmChannelRequest generates a "aws/request.Request" representing the
2086// client's request for the DeleteGcmChannel operation. The "output" return
2087// value will be populated with the request's response once the request completes
2088// successfully.
2089//
2090// Use "Send" method on the returned Request to send the API call to the service.
2091// the "output" return value is not valid until after Send returns without error.
2092//
2093// See DeleteGcmChannel for more information on using the DeleteGcmChannel
2094// API call, and error handling.
2095//
2096// This method is useful when you want to inject custom logic or configuration
2097// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2098//
2099//
2100//    // Example sending a request using the DeleteGcmChannelRequest method.
2101//    req, resp := client.DeleteGcmChannelRequest(params)
2102//
2103//    err := req.Send()
2104//    if err == nil { // resp is now filled
2105//        fmt.Println(resp)
2106//    }
2107//
2108// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteGcmChannel
2109func (c *Pinpoint) DeleteGcmChannelRequest(input *DeleteGcmChannelInput) (req *request.Request, output *DeleteGcmChannelOutput) {
2110	op := &request.Operation{
2111		Name:       opDeleteGcmChannel,
2112		HTTPMethod: "DELETE",
2113		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
2114	}
2115
2116	if input == nil {
2117		input = &DeleteGcmChannelInput{}
2118	}
2119
2120	output = &DeleteGcmChannelOutput{}
2121	req = c.newRequest(op, input, output)
2122	return
2123}
2124
2125// DeleteGcmChannel API operation for Amazon Pinpoint.
2126//
2127// Disables the GCM channel for an application and deletes any existing settings
2128// for the channel.
2129//
2130// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2131// with awserr.Error's Code and Message methods to get detailed information about
2132// the error.
2133//
2134// See the AWS API reference guide for Amazon Pinpoint's
2135// API operation DeleteGcmChannel for usage and error information.
2136//
2137// Returned Error Codes:
2138//   * ErrCodeBadRequestException "BadRequestException"
2139//   Provides information about an API request or response.
2140//
2141//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2142//   Provides information about an API request or response.
2143//
2144//   * ErrCodeForbiddenException "ForbiddenException"
2145//   Provides information about an API request or response.
2146//
2147//   * ErrCodeNotFoundException "NotFoundException"
2148//   Provides information about an API request or response.
2149//
2150//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2151//   Provides information about an API request or response.
2152//
2153//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2154//   Provides information about an API request or response.
2155//
2156// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteGcmChannel
2157func (c *Pinpoint) DeleteGcmChannel(input *DeleteGcmChannelInput) (*DeleteGcmChannelOutput, error) {
2158	req, out := c.DeleteGcmChannelRequest(input)
2159	return out, req.Send()
2160}
2161
2162// DeleteGcmChannelWithContext is the same as DeleteGcmChannel with the addition of
2163// the ability to pass a context and additional request options.
2164//
2165// See DeleteGcmChannel for details on how to use this API operation.
2166//
2167// The context must be non-nil and will be used for request cancellation. If
2168// the context is nil a panic will occur. In the future the SDK may create
2169// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2170// for more information on using Contexts.
2171func (c *Pinpoint) DeleteGcmChannelWithContext(ctx aws.Context, input *DeleteGcmChannelInput, opts ...request.Option) (*DeleteGcmChannelOutput, error) {
2172	req, out := c.DeleteGcmChannelRequest(input)
2173	req.SetContext(ctx)
2174	req.ApplyOptions(opts...)
2175	return out, req.Send()
2176}
2177
2178const opDeleteJourney = "DeleteJourney"
2179
2180// DeleteJourneyRequest generates a "aws/request.Request" representing the
2181// client's request for the DeleteJourney operation. The "output" return
2182// value will be populated with the request's response once the request completes
2183// successfully.
2184//
2185// Use "Send" method on the returned Request to send the API call to the service.
2186// the "output" return value is not valid until after Send returns without error.
2187//
2188// See DeleteJourney for more information on using the DeleteJourney
2189// API call, and error handling.
2190//
2191// This method is useful when you want to inject custom logic or configuration
2192// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2193//
2194//
2195//    // Example sending a request using the DeleteJourneyRequest method.
2196//    req, resp := client.DeleteJourneyRequest(params)
2197//
2198//    err := req.Send()
2199//    if err == nil { // resp is now filled
2200//        fmt.Println(resp)
2201//    }
2202//
2203// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteJourney
2204func (c *Pinpoint) DeleteJourneyRequest(input *DeleteJourneyInput) (req *request.Request, output *DeleteJourneyOutput) {
2205	op := &request.Operation{
2206		Name:       opDeleteJourney,
2207		HTTPMethod: "DELETE",
2208		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}",
2209	}
2210
2211	if input == nil {
2212		input = &DeleteJourneyInput{}
2213	}
2214
2215	output = &DeleteJourneyOutput{}
2216	req = c.newRequest(op, input, output)
2217	return
2218}
2219
2220// DeleteJourney API operation for Amazon Pinpoint.
2221//
2222// Deletes a journey from an application.
2223//
2224// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2225// with awserr.Error's Code and Message methods to get detailed information about
2226// the error.
2227//
2228// See the AWS API reference guide for Amazon Pinpoint's
2229// API operation DeleteJourney for usage and error information.
2230//
2231// Returned Error Codes:
2232//   * ErrCodeBadRequestException "BadRequestException"
2233//   Provides information about an API request or response.
2234//
2235//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2236//   Provides information about an API request or response.
2237//
2238//   * ErrCodeForbiddenException "ForbiddenException"
2239//   Provides information about an API request or response.
2240//
2241//   * ErrCodeNotFoundException "NotFoundException"
2242//   Provides information about an API request or response.
2243//
2244//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2245//   Provides information about an API request or response.
2246//
2247//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2248//   Provides information about an API request or response.
2249//
2250// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteJourney
2251func (c *Pinpoint) DeleteJourney(input *DeleteJourneyInput) (*DeleteJourneyOutput, error) {
2252	req, out := c.DeleteJourneyRequest(input)
2253	return out, req.Send()
2254}
2255
2256// DeleteJourneyWithContext is the same as DeleteJourney with the addition of
2257// the ability to pass a context and additional request options.
2258//
2259// See DeleteJourney for details on how to use this API operation.
2260//
2261// The context must be non-nil and will be used for request cancellation. If
2262// the context is nil a panic will occur. In the future the SDK may create
2263// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2264// for more information on using Contexts.
2265func (c *Pinpoint) DeleteJourneyWithContext(ctx aws.Context, input *DeleteJourneyInput, opts ...request.Option) (*DeleteJourneyOutput, error) {
2266	req, out := c.DeleteJourneyRequest(input)
2267	req.SetContext(ctx)
2268	req.ApplyOptions(opts...)
2269	return out, req.Send()
2270}
2271
2272const opDeletePushTemplate = "DeletePushTemplate"
2273
2274// DeletePushTemplateRequest generates a "aws/request.Request" representing the
2275// client's request for the DeletePushTemplate operation. The "output" return
2276// value will be populated with the request's response once the request completes
2277// successfully.
2278//
2279// Use "Send" method on the returned Request to send the API call to the service.
2280// the "output" return value is not valid until after Send returns without error.
2281//
2282// See DeletePushTemplate for more information on using the DeletePushTemplate
2283// API call, and error handling.
2284//
2285// This method is useful when you want to inject custom logic or configuration
2286// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2287//
2288//
2289//    // Example sending a request using the DeletePushTemplateRequest method.
2290//    req, resp := client.DeletePushTemplateRequest(params)
2291//
2292//    err := req.Send()
2293//    if err == nil { // resp is now filled
2294//        fmt.Println(resp)
2295//    }
2296//
2297// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeletePushTemplate
2298func (c *Pinpoint) DeletePushTemplateRequest(input *DeletePushTemplateInput) (req *request.Request, output *DeletePushTemplateOutput) {
2299	op := &request.Operation{
2300		Name:       opDeletePushTemplate,
2301		HTTPMethod: "DELETE",
2302		HTTPPath:   "/v1/templates/{template-name}/push",
2303	}
2304
2305	if input == nil {
2306		input = &DeletePushTemplateInput{}
2307	}
2308
2309	output = &DeletePushTemplateOutput{}
2310	req = c.newRequest(op, input, output)
2311	return
2312}
2313
2314// DeletePushTemplate API operation for Amazon Pinpoint.
2315//
2316// Deletes a message template for messages that were sent through a push notification
2317// channel.
2318//
2319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2320// with awserr.Error's Code and Message methods to get detailed information about
2321// the error.
2322//
2323// See the AWS API reference guide for Amazon Pinpoint's
2324// API operation DeletePushTemplate for usage and error information.
2325//
2326// Returned Error Codes:
2327//   * ErrCodeBadRequestException "BadRequestException"
2328//   Provides information about an API request or response.
2329//
2330//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2331//   Provides information about an API request or response.
2332//
2333//   * ErrCodeForbiddenException "ForbiddenException"
2334//   Provides information about an API request or response.
2335//
2336//   * ErrCodeNotFoundException "NotFoundException"
2337//   Provides information about an API request or response.
2338//
2339//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2340//   Provides information about an API request or response.
2341//
2342//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2343//   Provides information about an API request or response.
2344//
2345// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeletePushTemplate
2346func (c *Pinpoint) DeletePushTemplate(input *DeletePushTemplateInput) (*DeletePushTemplateOutput, error) {
2347	req, out := c.DeletePushTemplateRequest(input)
2348	return out, req.Send()
2349}
2350
2351// DeletePushTemplateWithContext is the same as DeletePushTemplate with the addition of
2352// the ability to pass a context and additional request options.
2353//
2354// See DeletePushTemplate for details on how to use this API operation.
2355//
2356// The context must be non-nil and will be used for request cancellation. If
2357// the context is nil a panic will occur. In the future the SDK may create
2358// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2359// for more information on using Contexts.
2360func (c *Pinpoint) DeletePushTemplateWithContext(ctx aws.Context, input *DeletePushTemplateInput, opts ...request.Option) (*DeletePushTemplateOutput, error) {
2361	req, out := c.DeletePushTemplateRequest(input)
2362	req.SetContext(ctx)
2363	req.ApplyOptions(opts...)
2364	return out, req.Send()
2365}
2366
2367const opDeleteSegment = "DeleteSegment"
2368
2369// DeleteSegmentRequest generates a "aws/request.Request" representing the
2370// client's request for the DeleteSegment operation. The "output" return
2371// value will be populated with the request's response once the request completes
2372// successfully.
2373//
2374// Use "Send" method on the returned Request to send the API call to the service.
2375// the "output" return value is not valid until after Send returns without error.
2376//
2377// See DeleteSegment for more information on using the DeleteSegment
2378// API call, and error handling.
2379//
2380// This method is useful when you want to inject custom logic or configuration
2381// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2382//
2383//
2384//    // Example sending a request using the DeleteSegmentRequest method.
2385//    req, resp := client.DeleteSegmentRequest(params)
2386//
2387//    err := req.Send()
2388//    if err == nil { // resp is now filled
2389//        fmt.Println(resp)
2390//    }
2391//
2392// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSegment
2393func (c *Pinpoint) DeleteSegmentRequest(input *DeleteSegmentInput) (req *request.Request, output *DeleteSegmentOutput) {
2394	op := &request.Operation{
2395		Name:       opDeleteSegment,
2396		HTTPMethod: "DELETE",
2397		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
2398	}
2399
2400	if input == nil {
2401		input = &DeleteSegmentInput{}
2402	}
2403
2404	output = &DeleteSegmentOutput{}
2405	req = c.newRequest(op, input, output)
2406	return
2407}
2408
2409// DeleteSegment API operation for Amazon Pinpoint.
2410//
2411// Deletes a segment from an application.
2412//
2413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2414// with awserr.Error's Code and Message methods to get detailed information about
2415// the error.
2416//
2417// See the AWS API reference guide for Amazon Pinpoint's
2418// API operation DeleteSegment for usage and error information.
2419//
2420// Returned Error Codes:
2421//   * ErrCodeBadRequestException "BadRequestException"
2422//   Provides information about an API request or response.
2423//
2424//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2425//   Provides information about an API request or response.
2426//
2427//   * ErrCodeForbiddenException "ForbiddenException"
2428//   Provides information about an API request or response.
2429//
2430//   * ErrCodeNotFoundException "NotFoundException"
2431//   Provides information about an API request or response.
2432//
2433//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2434//   Provides information about an API request or response.
2435//
2436//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2437//   Provides information about an API request or response.
2438//
2439// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSegment
2440func (c *Pinpoint) DeleteSegment(input *DeleteSegmentInput) (*DeleteSegmentOutput, error) {
2441	req, out := c.DeleteSegmentRequest(input)
2442	return out, req.Send()
2443}
2444
2445// DeleteSegmentWithContext is the same as DeleteSegment with the addition of
2446// the ability to pass a context and additional request options.
2447//
2448// See DeleteSegment for details on how to use this API operation.
2449//
2450// The context must be non-nil and will be used for request cancellation. If
2451// the context is nil a panic will occur. In the future the SDK may create
2452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2453// for more information on using Contexts.
2454func (c *Pinpoint) DeleteSegmentWithContext(ctx aws.Context, input *DeleteSegmentInput, opts ...request.Option) (*DeleteSegmentOutput, error) {
2455	req, out := c.DeleteSegmentRequest(input)
2456	req.SetContext(ctx)
2457	req.ApplyOptions(opts...)
2458	return out, req.Send()
2459}
2460
2461const opDeleteSmsChannel = "DeleteSmsChannel"
2462
2463// DeleteSmsChannelRequest generates a "aws/request.Request" representing the
2464// client's request for the DeleteSmsChannel operation. The "output" return
2465// value will be populated with the request's response once the request completes
2466// successfully.
2467//
2468// Use "Send" method on the returned Request to send the API call to the service.
2469// the "output" return value is not valid until after Send returns without error.
2470//
2471// See DeleteSmsChannel for more information on using the DeleteSmsChannel
2472// API call, and error handling.
2473//
2474// This method is useful when you want to inject custom logic or configuration
2475// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2476//
2477//
2478//    // Example sending a request using the DeleteSmsChannelRequest method.
2479//    req, resp := client.DeleteSmsChannelRequest(params)
2480//
2481//    err := req.Send()
2482//    if err == nil { // resp is now filled
2483//        fmt.Println(resp)
2484//    }
2485//
2486// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsChannel
2487func (c *Pinpoint) DeleteSmsChannelRequest(input *DeleteSmsChannelInput) (req *request.Request, output *DeleteSmsChannelOutput) {
2488	op := &request.Operation{
2489		Name:       opDeleteSmsChannel,
2490		HTTPMethod: "DELETE",
2491		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
2492	}
2493
2494	if input == nil {
2495		input = &DeleteSmsChannelInput{}
2496	}
2497
2498	output = &DeleteSmsChannelOutput{}
2499	req = c.newRequest(op, input, output)
2500	return
2501}
2502
2503// DeleteSmsChannel API operation for Amazon Pinpoint.
2504//
2505// Disables the SMS channel for an application and deletes any existing settings
2506// for the channel.
2507//
2508// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2509// with awserr.Error's Code and Message methods to get detailed information about
2510// the error.
2511//
2512// See the AWS API reference guide for Amazon Pinpoint's
2513// API operation DeleteSmsChannel for usage and error information.
2514//
2515// Returned Error Codes:
2516//   * ErrCodeBadRequestException "BadRequestException"
2517//   Provides information about an API request or response.
2518//
2519//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2520//   Provides information about an API request or response.
2521//
2522//   * ErrCodeForbiddenException "ForbiddenException"
2523//   Provides information about an API request or response.
2524//
2525//   * ErrCodeNotFoundException "NotFoundException"
2526//   Provides information about an API request or response.
2527//
2528//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2529//   Provides information about an API request or response.
2530//
2531//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2532//   Provides information about an API request or response.
2533//
2534// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsChannel
2535func (c *Pinpoint) DeleteSmsChannel(input *DeleteSmsChannelInput) (*DeleteSmsChannelOutput, error) {
2536	req, out := c.DeleteSmsChannelRequest(input)
2537	return out, req.Send()
2538}
2539
2540// DeleteSmsChannelWithContext is the same as DeleteSmsChannel with the addition of
2541// the ability to pass a context and additional request options.
2542//
2543// See DeleteSmsChannel for details on how to use this API operation.
2544//
2545// The context must be non-nil and will be used for request cancellation. If
2546// the context is nil a panic will occur. In the future the SDK may create
2547// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2548// for more information on using Contexts.
2549func (c *Pinpoint) DeleteSmsChannelWithContext(ctx aws.Context, input *DeleteSmsChannelInput, opts ...request.Option) (*DeleteSmsChannelOutput, error) {
2550	req, out := c.DeleteSmsChannelRequest(input)
2551	req.SetContext(ctx)
2552	req.ApplyOptions(opts...)
2553	return out, req.Send()
2554}
2555
2556const opDeleteSmsTemplate = "DeleteSmsTemplate"
2557
2558// DeleteSmsTemplateRequest generates a "aws/request.Request" representing the
2559// client's request for the DeleteSmsTemplate operation. The "output" return
2560// value will be populated with the request's response once the request completes
2561// successfully.
2562//
2563// Use "Send" method on the returned Request to send the API call to the service.
2564// the "output" return value is not valid until after Send returns without error.
2565//
2566// See DeleteSmsTemplate for more information on using the DeleteSmsTemplate
2567// API call, and error handling.
2568//
2569// This method is useful when you want to inject custom logic or configuration
2570// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2571//
2572//
2573//    // Example sending a request using the DeleteSmsTemplateRequest method.
2574//    req, resp := client.DeleteSmsTemplateRequest(params)
2575//
2576//    err := req.Send()
2577//    if err == nil { // resp is now filled
2578//        fmt.Println(resp)
2579//    }
2580//
2581// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsTemplate
2582func (c *Pinpoint) DeleteSmsTemplateRequest(input *DeleteSmsTemplateInput) (req *request.Request, output *DeleteSmsTemplateOutput) {
2583	op := &request.Operation{
2584		Name:       opDeleteSmsTemplate,
2585		HTTPMethod: "DELETE",
2586		HTTPPath:   "/v1/templates/{template-name}/sms",
2587	}
2588
2589	if input == nil {
2590		input = &DeleteSmsTemplateInput{}
2591	}
2592
2593	output = &DeleteSmsTemplateOutput{}
2594	req = c.newRequest(op, input, output)
2595	return
2596}
2597
2598// DeleteSmsTemplate API operation for Amazon Pinpoint.
2599//
2600// Deletes a message template for messages that were sent through the SMS channel.
2601//
2602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2603// with awserr.Error's Code and Message methods to get detailed information about
2604// the error.
2605//
2606// See the AWS API reference guide for Amazon Pinpoint's
2607// API operation DeleteSmsTemplate for usage and error information.
2608//
2609// Returned Error Codes:
2610//   * ErrCodeBadRequestException "BadRequestException"
2611//   Provides information about an API request or response.
2612//
2613//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2614//   Provides information about an API request or response.
2615//
2616//   * ErrCodeForbiddenException "ForbiddenException"
2617//   Provides information about an API request or response.
2618//
2619//   * ErrCodeNotFoundException "NotFoundException"
2620//   Provides information about an API request or response.
2621//
2622//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2623//   Provides information about an API request or response.
2624//
2625//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2626//   Provides information about an API request or response.
2627//
2628// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsTemplate
2629func (c *Pinpoint) DeleteSmsTemplate(input *DeleteSmsTemplateInput) (*DeleteSmsTemplateOutput, error) {
2630	req, out := c.DeleteSmsTemplateRequest(input)
2631	return out, req.Send()
2632}
2633
2634// DeleteSmsTemplateWithContext is the same as DeleteSmsTemplate with the addition of
2635// the ability to pass a context and additional request options.
2636//
2637// See DeleteSmsTemplate for details on how to use this API operation.
2638//
2639// The context must be non-nil and will be used for request cancellation. If
2640// the context is nil a panic will occur. In the future the SDK may create
2641// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2642// for more information on using Contexts.
2643func (c *Pinpoint) DeleteSmsTemplateWithContext(ctx aws.Context, input *DeleteSmsTemplateInput, opts ...request.Option) (*DeleteSmsTemplateOutput, error) {
2644	req, out := c.DeleteSmsTemplateRequest(input)
2645	req.SetContext(ctx)
2646	req.ApplyOptions(opts...)
2647	return out, req.Send()
2648}
2649
2650const opDeleteUserEndpoints = "DeleteUserEndpoints"
2651
2652// DeleteUserEndpointsRequest generates a "aws/request.Request" representing the
2653// client's request for the DeleteUserEndpoints operation. The "output" return
2654// value will be populated with the request's response once the request completes
2655// successfully.
2656//
2657// Use "Send" method on the returned Request to send the API call to the service.
2658// the "output" return value is not valid until after Send returns without error.
2659//
2660// See DeleteUserEndpoints for more information on using the DeleteUserEndpoints
2661// API call, and error handling.
2662//
2663// This method is useful when you want to inject custom logic or configuration
2664// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2665//
2666//
2667//    // Example sending a request using the DeleteUserEndpointsRequest method.
2668//    req, resp := client.DeleteUserEndpointsRequest(params)
2669//
2670//    err := req.Send()
2671//    if err == nil { // resp is now filled
2672//        fmt.Println(resp)
2673//    }
2674//
2675// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteUserEndpoints
2676func (c *Pinpoint) DeleteUserEndpointsRequest(input *DeleteUserEndpointsInput) (req *request.Request, output *DeleteUserEndpointsOutput) {
2677	op := &request.Operation{
2678		Name:       opDeleteUserEndpoints,
2679		HTTPMethod: "DELETE",
2680		HTTPPath:   "/v1/apps/{application-id}/users/{user-id}",
2681	}
2682
2683	if input == nil {
2684		input = &DeleteUserEndpointsInput{}
2685	}
2686
2687	output = &DeleteUserEndpointsOutput{}
2688	req = c.newRequest(op, input, output)
2689	return
2690}
2691
2692// DeleteUserEndpoints API operation for Amazon Pinpoint.
2693//
2694// Deletes all the endpoints that are associated with a specific user ID.
2695//
2696// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2697// with awserr.Error's Code and Message methods to get detailed information about
2698// the error.
2699//
2700// See the AWS API reference guide for Amazon Pinpoint's
2701// API operation DeleteUserEndpoints for usage and error information.
2702//
2703// Returned Error Codes:
2704//   * ErrCodeBadRequestException "BadRequestException"
2705//   Provides information about an API request or response.
2706//
2707//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2708//   Provides information about an API request or response.
2709//
2710//   * ErrCodeForbiddenException "ForbiddenException"
2711//   Provides information about an API request or response.
2712//
2713//   * ErrCodeNotFoundException "NotFoundException"
2714//   Provides information about an API request or response.
2715//
2716//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2717//   Provides information about an API request or response.
2718//
2719//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2720//   Provides information about an API request or response.
2721//
2722// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteUserEndpoints
2723func (c *Pinpoint) DeleteUserEndpoints(input *DeleteUserEndpointsInput) (*DeleteUserEndpointsOutput, error) {
2724	req, out := c.DeleteUserEndpointsRequest(input)
2725	return out, req.Send()
2726}
2727
2728// DeleteUserEndpointsWithContext is the same as DeleteUserEndpoints with the addition of
2729// the ability to pass a context and additional request options.
2730//
2731// See DeleteUserEndpoints for details on how to use this API operation.
2732//
2733// The context must be non-nil and will be used for request cancellation. If
2734// the context is nil a panic will occur. In the future the SDK may create
2735// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2736// for more information on using Contexts.
2737func (c *Pinpoint) DeleteUserEndpointsWithContext(ctx aws.Context, input *DeleteUserEndpointsInput, opts ...request.Option) (*DeleteUserEndpointsOutput, error) {
2738	req, out := c.DeleteUserEndpointsRequest(input)
2739	req.SetContext(ctx)
2740	req.ApplyOptions(opts...)
2741	return out, req.Send()
2742}
2743
2744const opDeleteVoiceChannel = "DeleteVoiceChannel"
2745
2746// DeleteVoiceChannelRequest generates a "aws/request.Request" representing the
2747// client's request for the DeleteVoiceChannel operation. The "output" return
2748// value will be populated with the request's response once the request completes
2749// successfully.
2750//
2751// Use "Send" method on the returned Request to send the API call to the service.
2752// the "output" return value is not valid until after Send returns without error.
2753//
2754// See DeleteVoiceChannel for more information on using the DeleteVoiceChannel
2755// API call, and error handling.
2756//
2757// This method is useful when you want to inject custom logic or configuration
2758// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2759//
2760//
2761//    // Example sending a request using the DeleteVoiceChannelRequest method.
2762//    req, resp := client.DeleteVoiceChannelRequest(params)
2763//
2764//    err := req.Send()
2765//    if err == nil { // resp is now filled
2766//        fmt.Println(resp)
2767//    }
2768//
2769// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceChannel
2770func (c *Pinpoint) DeleteVoiceChannelRequest(input *DeleteVoiceChannelInput) (req *request.Request, output *DeleteVoiceChannelOutput) {
2771	op := &request.Operation{
2772		Name:       opDeleteVoiceChannel,
2773		HTTPMethod: "DELETE",
2774		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
2775	}
2776
2777	if input == nil {
2778		input = &DeleteVoiceChannelInput{}
2779	}
2780
2781	output = &DeleteVoiceChannelOutput{}
2782	req = c.newRequest(op, input, output)
2783	return
2784}
2785
2786// DeleteVoiceChannel API operation for Amazon Pinpoint.
2787//
2788// Disables the voice channel for an application and deletes any existing settings
2789// for the channel.
2790//
2791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2792// with awserr.Error's Code and Message methods to get detailed information about
2793// the error.
2794//
2795// See the AWS API reference guide for Amazon Pinpoint's
2796// API operation DeleteVoiceChannel for usage and error information.
2797//
2798// Returned Error Codes:
2799//   * ErrCodeBadRequestException "BadRequestException"
2800//   Provides information about an API request or response.
2801//
2802//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2803//   Provides information about an API request or response.
2804//
2805//   * ErrCodeForbiddenException "ForbiddenException"
2806//   Provides information about an API request or response.
2807//
2808//   * ErrCodeNotFoundException "NotFoundException"
2809//   Provides information about an API request or response.
2810//
2811//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2812//   Provides information about an API request or response.
2813//
2814//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2815//   Provides information about an API request or response.
2816//
2817// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceChannel
2818func (c *Pinpoint) DeleteVoiceChannel(input *DeleteVoiceChannelInput) (*DeleteVoiceChannelOutput, error) {
2819	req, out := c.DeleteVoiceChannelRequest(input)
2820	return out, req.Send()
2821}
2822
2823// DeleteVoiceChannelWithContext is the same as DeleteVoiceChannel with the addition of
2824// the ability to pass a context and additional request options.
2825//
2826// See DeleteVoiceChannel for details on how to use this API operation.
2827//
2828// The context must be non-nil and will be used for request cancellation. If
2829// the context is nil a panic will occur. In the future the SDK may create
2830// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2831// for more information on using Contexts.
2832func (c *Pinpoint) DeleteVoiceChannelWithContext(ctx aws.Context, input *DeleteVoiceChannelInput, opts ...request.Option) (*DeleteVoiceChannelOutput, error) {
2833	req, out := c.DeleteVoiceChannelRequest(input)
2834	req.SetContext(ctx)
2835	req.ApplyOptions(opts...)
2836	return out, req.Send()
2837}
2838
2839const opDeleteVoiceTemplate = "DeleteVoiceTemplate"
2840
2841// DeleteVoiceTemplateRequest generates a "aws/request.Request" representing the
2842// client's request for the DeleteVoiceTemplate operation. The "output" return
2843// value will be populated with the request's response once the request completes
2844// successfully.
2845//
2846// Use "Send" method on the returned Request to send the API call to the service.
2847// the "output" return value is not valid until after Send returns without error.
2848//
2849// See DeleteVoiceTemplate for more information on using the DeleteVoiceTemplate
2850// API call, and error handling.
2851//
2852// This method is useful when you want to inject custom logic or configuration
2853// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2854//
2855//
2856//    // Example sending a request using the DeleteVoiceTemplateRequest method.
2857//    req, resp := client.DeleteVoiceTemplateRequest(params)
2858//
2859//    err := req.Send()
2860//    if err == nil { // resp is now filled
2861//        fmt.Println(resp)
2862//    }
2863//
2864// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceTemplate
2865func (c *Pinpoint) DeleteVoiceTemplateRequest(input *DeleteVoiceTemplateInput) (req *request.Request, output *DeleteVoiceTemplateOutput) {
2866	op := &request.Operation{
2867		Name:       opDeleteVoiceTemplate,
2868		HTTPMethod: "DELETE",
2869		HTTPPath:   "/v1/templates/{template-name}/voice",
2870	}
2871
2872	if input == nil {
2873		input = &DeleteVoiceTemplateInput{}
2874	}
2875
2876	output = &DeleteVoiceTemplateOutput{}
2877	req = c.newRequest(op, input, output)
2878	return
2879}
2880
2881// DeleteVoiceTemplate API operation for Amazon Pinpoint.
2882//
2883// Deletes a message template for messages that were sent through the voice
2884// channel.
2885//
2886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2887// with awserr.Error's Code and Message methods to get detailed information about
2888// the error.
2889//
2890// See the AWS API reference guide for Amazon Pinpoint's
2891// API operation DeleteVoiceTemplate for usage and error information.
2892//
2893// Returned Error Codes:
2894//   * ErrCodeBadRequestException "BadRequestException"
2895//   Provides information about an API request or response.
2896//
2897//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2898//   Provides information about an API request or response.
2899//
2900//   * ErrCodeForbiddenException "ForbiddenException"
2901//   Provides information about an API request or response.
2902//
2903//   * ErrCodeNotFoundException "NotFoundException"
2904//   Provides information about an API request or response.
2905//
2906//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2907//   Provides information about an API request or response.
2908//
2909//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2910//   Provides information about an API request or response.
2911//
2912// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceTemplate
2913func (c *Pinpoint) DeleteVoiceTemplate(input *DeleteVoiceTemplateInput) (*DeleteVoiceTemplateOutput, error) {
2914	req, out := c.DeleteVoiceTemplateRequest(input)
2915	return out, req.Send()
2916}
2917
2918// DeleteVoiceTemplateWithContext is the same as DeleteVoiceTemplate with the addition of
2919// the ability to pass a context and additional request options.
2920//
2921// See DeleteVoiceTemplate for details on how to use this API operation.
2922//
2923// The context must be non-nil and will be used for request cancellation. If
2924// the context is nil a panic will occur. In the future the SDK may create
2925// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2926// for more information on using Contexts.
2927func (c *Pinpoint) DeleteVoiceTemplateWithContext(ctx aws.Context, input *DeleteVoiceTemplateInput, opts ...request.Option) (*DeleteVoiceTemplateOutput, error) {
2928	req, out := c.DeleteVoiceTemplateRequest(input)
2929	req.SetContext(ctx)
2930	req.ApplyOptions(opts...)
2931	return out, req.Send()
2932}
2933
2934const opGetAdmChannel = "GetAdmChannel"
2935
2936// GetAdmChannelRequest generates a "aws/request.Request" representing the
2937// client's request for the GetAdmChannel operation. The "output" return
2938// value will be populated with the request's response once the request completes
2939// successfully.
2940//
2941// Use "Send" method on the returned Request to send the API call to the service.
2942// the "output" return value is not valid until after Send returns without error.
2943//
2944// See GetAdmChannel for more information on using the GetAdmChannel
2945// API call, and error handling.
2946//
2947// This method is useful when you want to inject custom logic or configuration
2948// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2949//
2950//
2951//    // Example sending a request using the GetAdmChannelRequest method.
2952//    req, resp := client.GetAdmChannelRequest(params)
2953//
2954//    err := req.Send()
2955//    if err == nil { // resp is now filled
2956//        fmt.Println(resp)
2957//    }
2958//
2959// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAdmChannel
2960func (c *Pinpoint) GetAdmChannelRequest(input *GetAdmChannelInput) (req *request.Request, output *GetAdmChannelOutput) {
2961	op := &request.Operation{
2962		Name:       opGetAdmChannel,
2963		HTTPMethod: "GET",
2964		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
2965	}
2966
2967	if input == nil {
2968		input = &GetAdmChannelInput{}
2969	}
2970
2971	output = &GetAdmChannelOutput{}
2972	req = c.newRequest(op, input, output)
2973	return
2974}
2975
2976// GetAdmChannel API operation for Amazon Pinpoint.
2977//
2978// Retrieves information about the status and settings of the ADM channel for
2979// an application.
2980//
2981// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2982// with awserr.Error's Code and Message methods to get detailed information about
2983// the error.
2984//
2985// See the AWS API reference guide for Amazon Pinpoint's
2986// API operation GetAdmChannel for usage and error information.
2987//
2988// Returned Error Codes:
2989//   * ErrCodeBadRequestException "BadRequestException"
2990//   Provides information about an API request or response.
2991//
2992//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2993//   Provides information about an API request or response.
2994//
2995//   * ErrCodeForbiddenException "ForbiddenException"
2996//   Provides information about an API request or response.
2997//
2998//   * ErrCodeNotFoundException "NotFoundException"
2999//   Provides information about an API request or response.
3000//
3001//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3002//   Provides information about an API request or response.
3003//
3004//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3005//   Provides information about an API request or response.
3006//
3007// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAdmChannel
3008func (c *Pinpoint) GetAdmChannel(input *GetAdmChannelInput) (*GetAdmChannelOutput, error) {
3009	req, out := c.GetAdmChannelRequest(input)
3010	return out, req.Send()
3011}
3012
3013// GetAdmChannelWithContext is the same as GetAdmChannel with the addition of
3014// the ability to pass a context and additional request options.
3015//
3016// See GetAdmChannel for details on how to use this API operation.
3017//
3018// The context must be non-nil and will be used for request cancellation. If
3019// the context is nil a panic will occur. In the future the SDK may create
3020// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3021// for more information on using Contexts.
3022func (c *Pinpoint) GetAdmChannelWithContext(ctx aws.Context, input *GetAdmChannelInput, opts ...request.Option) (*GetAdmChannelOutput, error) {
3023	req, out := c.GetAdmChannelRequest(input)
3024	req.SetContext(ctx)
3025	req.ApplyOptions(opts...)
3026	return out, req.Send()
3027}
3028
3029const opGetApnsChannel = "GetApnsChannel"
3030
3031// GetApnsChannelRequest generates a "aws/request.Request" representing the
3032// client's request for the GetApnsChannel operation. The "output" return
3033// value will be populated with the request's response once the request completes
3034// successfully.
3035//
3036// Use "Send" method on the returned Request to send the API call to the service.
3037// the "output" return value is not valid until after Send returns without error.
3038//
3039// See GetApnsChannel for more information on using the GetApnsChannel
3040// API call, and error handling.
3041//
3042// This method is useful when you want to inject custom logic or configuration
3043// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3044//
3045//
3046//    // Example sending a request using the GetApnsChannelRequest method.
3047//    req, resp := client.GetApnsChannelRequest(params)
3048//
3049//    err := req.Send()
3050//    if err == nil { // resp is now filled
3051//        fmt.Println(resp)
3052//    }
3053//
3054// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsChannel
3055func (c *Pinpoint) GetApnsChannelRequest(input *GetApnsChannelInput) (req *request.Request, output *GetApnsChannelOutput) {
3056	op := &request.Operation{
3057		Name:       opGetApnsChannel,
3058		HTTPMethod: "GET",
3059		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
3060	}
3061
3062	if input == nil {
3063		input = &GetApnsChannelInput{}
3064	}
3065
3066	output = &GetApnsChannelOutput{}
3067	req = c.newRequest(op, input, output)
3068	return
3069}
3070
3071// GetApnsChannel API operation for Amazon Pinpoint.
3072//
3073// Retrieves information about the status and settings of the APNs channel for
3074// an application.
3075//
3076// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3077// with awserr.Error's Code and Message methods to get detailed information about
3078// the error.
3079//
3080// See the AWS API reference guide for Amazon Pinpoint's
3081// API operation GetApnsChannel for usage and error information.
3082//
3083// Returned Error Codes:
3084//   * ErrCodeBadRequestException "BadRequestException"
3085//   Provides information about an API request or response.
3086//
3087//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3088//   Provides information about an API request or response.
3089//
3090//   * ErrCodeForbiddenException "ForbiddenException"
3091//   Provides information about an API request or response.
3092//
3093//   * ErrCodeNotFoundException "NotFoundException"
3094//   Provides information about an API request or response.
3095//
3096//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3097//   Provides information about an API request or response.
3098//
3099//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3100//   Provides information about an API request or response.
3101//
3102// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsChannel
3103func (c *Pinpoint) GetApnsChannel(input *GetApnsChannelInput) (*GetApnsChannelOutput, error) {
3104	req, out := c.GetApnsChannelRequest(input)
3105	return out, req.Send()
3106}
3107
3108// GetApnsChannelWithContext is the same as GetApnsChannel with the addition of
3109// the ability to pass a context and additional request options.
3110//
3111// See GetApnsChannel for details on how to use this API operation.
3112//
3113// The context must be non-nil and will be used for request cancellation. If
3114// the context is nil a panic will occur. In the future the SDK may create
3115// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3116// for more information on using Contexts.
3117func (c *Pinpoint) GetApnsChannelWithContext(ctx aws.Context, input *GetApnsChannelInput, opts ...request.Option) (*GetApnsChannelOutput, error) {
3118	req, out := c.GetApnsChannelRequest(input)
3119	req.SetContext(ctx)
3120	req.ApplyOptions(opts...)
3121	return out, req.Send()
3122}
3123
3124const opGetApnsSandboxChannel = "GetApnsSandboxChannel"
3125
3126// GetApnsSandboxChannelRequest generates a "aws/request.Request" representing the
3127// client's request for the GetApnsSandboxChannel operation. The "output" return
3128// value will be populated with the request's response once the request completes
3129// successfully.
3130//
3131// Use "Send" method on the returned Request to send the API call to the service.
3132// the "output" return value is not valid until after Send returns without error.
3133//
3134// See GetApnsSandboxChannel for more information on using the GetApnsSandboxChannel
3135// API call, and error handling.
3136//
3137// This method is useful when you want to inject custom logic or configuration
3138// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3139//
3140//
3141//    // Example sending a request using the GetApnsSandboxChannelRequest method.
3142//    req, resp := client.GetApnsSandboxChannelRequest(params)
3143//
3144//    err := req.Send()
3145//    if err == nil { // resp is now filled
3146//        fmt.Println(resp)
3147//    }
3148//
3149// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsSandboxChannel
3150func (c *Pinpoint) GetApnsSandboxChannelRequest(input *GetApnsSandboxChannelInput) (req *request.Request, output *GetApnsSandboxChannelOutput) {
3151	op := &request.Operation{
3152		Name:       opGetApnsSandboxChannel,
3153		HTTPMethod: "GET",
3154		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
3155	}
3156
3157	if input == nil {
3158		input = &GetApnsSandboxChannelInput{}
3159	}
3160
3161	output = &GetApnsSandboxChannelOutput{}
3162	req = c.newRequest(op, input, output)
3163	return
3164}
3165
3166// GetApnsSandboxChannel API operation for Amazon Pinpoint.
3167//
3168// Retrieves information about the status and settings of the APNs sandbox channel
3169// for an application.
3170//
3171// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3172// with awserr.Error's Code and Message methods to get detailed information about
3173// the error.
3174//
3175// See the AWS API reference guide for Amazon Pinpoint's
3176// API operation GetApnsSandboxChannel for usage and error information.
3177//
3178// Returned Error Codes:
3179//   * ErrCodeBadRequestException "BadRequestException"
3180//   Provides information about an API request or response.
3181//
3182//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3183//   Provides information about an API request or response.
3184//
3185//   * ErrCodeForbiddenException "ForbiddenException"
3186//   Provides information about an API request or response.
3187//
3188//   * ErrCodeNotFoundException "NotFoundException"
3189//   Provides information about an API request or response.
3190//
3191//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3192//   Provides information about an API request or response.
3193//
3194//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3195//   Provides information about an API request or response.
3196//
3197// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsSandboxChannel
3198func (c *Pinpoint) GetApnsSandboxChannel(input *GetApnsSandboxChannelInput) (*GetApnsSandboxChannelOutput, error) {
3199	req, out := c.GetApnsSandboxChannelRequest(input)
3200	return out, req.Send()
3201}
3202
3203// GetApnsSandboxChannelWithContext is the same as GetApnsSandboxChannel with the addition of
3204// the ability to pass a context and additional request options.
3205//
3206// See GetApnsSandboxChannel for details on how to use this API operation.
3207//
3208// The context must be non-nil and will be used for request cancellation. If
3209// the context is nil a panic will occur. In the future the SDK may create
3210// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3211// for more information on using Contexts.
3212func (c *Pinpoint) GetApnsSandboxChannelWithContext(ctx aws.Context, input *GetApnsSandboxChannelInput, opts ...request.Option) (*GetApnsSandboxChannelOutput, error) {
3213	req, out := c.GetApnsSandboxChannelRequest(input)
3214	req.SetContext(ctx)
3215	req.ApplyOptions(opts...)
3216	return out, req.Send()
3217}
3218
3219const opGetApnsVoipChannel = "GetApnsVoipChannel"
3220
3221// GetApnsVoipChannelRequest generates a "aws/request.Request" representing the
3222// client's request for the GetApnsVoipChannel operation. The "output" return
3223// value will be populated with the request's response once the request completes
3224// successfully.
3225//
3226// Use "Send" method on the returned Request to send the API call to the service.
3227// the "output" return value is not valid until after Send returns without error.
3228//
3229// See GetApnsVoipChannel for more information on using the GetApnsVoipChannel
3230// API call, and error handling.
3231//
3232// This method is useful when you want to inject custom logic or configuration
3233// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3234//
3235//
3236//    // Example sending a request using the GetApnsVoipChannelRequest method.
3237//    req, resp := client.GetApnsVoipChannelRequest(params)
3238//
3239//    err := req.Send()
3240//    if err == nil { // resp is now filled
3241//        fmt.Println(resp)
3242//    }
3243//
3244// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipChannel
3245func (c *Pinpoint) GetApnsVoipChannelRequest(input *GetApnsVoipChannelInput) (req *request.Request, output *GetApnsVoipChannelOutput) {
3246	op := &request.Operation{
3247		Name:       opGetApnsVoipChannel,
3248		HTTPMethod: "GET",
3249		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
3250	}
3251
3252	if input == nil {
3253		input = &GetApnsVoipChannelInput{}
3254	}
3255
3256	output = &GetApnsVoipChannelOutput{}
3257	req = c.newRequest(op, input, output)
3258	return
3259}
3260
3261// GetApnsVoipChannel API operation for Amazon Pinpoint.
3262//
3263// Retrieves information about the status and settings of the APNs VoIP channel
3264// for an application.
3265//
3266// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3267// with awserr.Error's Code and Message methods to get detailed information about
3268// the error.
3269//
3270// See the AWS API reference guide for Amazon Pinpoint's
3271// API operation GetApnsVoipChannel for usage and error information.
3272//
3273// Returned Error Codes:
3274//   * ErrCodeBadRequestException "BadRequestException"
3275//   Provides information about an API request or response.
3276//
3277//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3278//   Provides information about an API request or response.
3279//
3280//   * ErrCodeForbiddenException "ForbiddenException"
3281//   Provides information about an API request or response.
3282//
3283//   * ErrCodeNotFoundException "NotFoundException"
3284//   Provides information about an API request or response.
3285//
3286//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3287//   Provides information about an API request or response.
3288//
3289//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3290//   Provides information about an API request or response.
3291//
3292// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipChannel
3293func (c *Pinpoint) GetApnsVoipChannel(input *GetApnsVoipChannelInput) (*GetApnsVoipChannelOutput, error) {
3294	req, out := c.GetApnsVoipChannelRequest(input)
3295	return out, req.Send()
3296}
3297
3298// GetApnsVoipChannelWithContext is the same as GetApnsVoipChannel with the addition of
3299// the ability to pass a context and additional request options.
3300//
3301// See GetApnsVoipChannel for details on how to use this API operation.
3302//
3303// The context must be non-nil and will be used for request cancellation. If
3304// the context is nil a panic will occur. In the future the SDK may create
3305// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3306// for more information on using Contexts.
3307func (c *Pinpoint) GetApnsVoipChannelWithContext(ctx aws.Context, input *GetApnsVoipChannelInput, opts ...request.Option) (*GetApnsVoipChannelOutput, error) {
3308	req, out := c.GetApnsVoipChannelRequest(input)
3309	req.SetContext(ctx)
3310	req.ApplyOptions(opts...)
3311	return out, req.Send()
3312}
3313
3314const opGetApnsVoipSandboxChannel = "GetApnsVoipSandboxChannel"
3315
3316// GetApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
3317// client's request for the GetApnsVoipSandboxChannel operation. The "output" return
3318// value will be populated with the request's response once the request completes
3319// successfully.
3320//
3321// Use "Send" method on the returned Request to send the API call to the service.
3322// the "output" return value is not valid until after Send returns without error.
3323//
3324// See GetApnsVoipSandboxChannel for more information on using the GetApnsVoipSandboxChannel
3325// API call, and error handling.
3326//
3327// This method is useful when you want to inject custom logic or configuration
3328// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3329//
3330//
3331//    // Example sending a request using the GetApnsVoipSandboxChannelRequest method.
3332//    req, resp := client.GetApnsVoipSandboxChannelRequest(params)
3333//
3334//    err := req.Send()
3335//    if err == nil { // resp is now filled
3336//        fmt.Println(resp)
3337//    }
3338//
3339// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipSandboxChannel
3340func (c *Pinpoint) GetApnsVoipSandboxChannelRequest(input *GetApnsVoipSandboxChannelInput) (req *request.Request, output *GetApnsVoipSandboxChannelOutput) {
3341	op := &request.Operation{
3342		Name:       opGetApnsVoipSandboxChannel,
3343		HTTPMethod: "GET",
3344		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
3345	}
3346
3347	if input == nil {
3348		input = &GetApnsVoipSandboxChannelInput{}
3349	}
3350
3351	output = &GetApnsVoipSandboxChannelOutput{}
3352	req = c.newRequest(op, input, output)
3353	return
3354}
3355
3356// GetApnsVoipSandboxChannel API operation for Amazon Pinpoint.
3357//
3358// Retrieves information about the status and settings of the APNs VoIP sandbox
3359// channel for an application.
3360//
3361// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3362// with awserr.Error's Code and Message methods to get detailed information about
3363// the error.
3364//
3365// See the AWS API reference guide for Amazon Pinpoint's
3366// API operation GetApnsVoipSandboxChannel for usage and error information.
3367//
3368// Returned Error Codes:
3369//   * ErrCodeBadRequestException "BadRequestException"
3370//   Provides information about an API request or response.
3371//
3372//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3373//   Provides information about an API request or response.
3374//
3375//   * ErrCodeForbiddenException "ForbiddenException"
3376//   Provides information about an API request or response.
3377//
3378//   * ErrCodeNotFoundException "NotFoundException"
3379//   Provides information about an API request or response.
3380//
3381//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3382//   Provides information about an API request or response.
3383//
3384//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3385//   Provides information about an API request or response.
3386//
3387// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipSandboxChannel
3388func (c *Pinpoint) GetApnsVoipSandboxChannel(input *GetApnsVoipSandboxChannelInput) (*GetApnsVoipSandboxChannelOutput, error) {
3389	req, out := c.GetApnsVoipSandboxChannelRequest(input)
3390	return out, req.Send()
3391}
3392
3393// GetApnsVoipSandboxChannelWithContext is the same as GetApnsVoipSandboxChannel with the addition of
3394// the ability to pass a context and additional request options.
3395//
3396// See GetApnsVoipSandboxChannel for details on how to use this API operation.
3397//
3398// The context must be non-nil and will be used for request cancellation. If
3399// the context is nil a panic will occur. In the future the SDK may create
3400// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3401// for more information on using Contexts.
3402func (c *Pinpoint) GetApnsVoipSandboxChannelWithContext(ctx aws.Context, input *GetApnsVoipSandboxChannelInput, opts ...request.Option) (*GetApnsVoipSandboxChannelOutput, error) {
3403	req, out := c.GetApnsVoipSandboxChannelRequest(input)
3404	req.SetContext(ctx)
3405	req.ApplyOptions(opts...)
3406	return out, req.Send()
3407}
3408
3409const opGetApp = "GetApp"
3410
3411// GetAppRequest generates a "aws/request.Request" representing the
3412// client's request for the GetApp operation. The "output" return
3413// value will be populated with the request's response once the request completes
3414// successfully.
3415//
3416// Use "Send" method on the returned Request to send the API call to the service.
3417// the "output" return value is not valid until after Send returns without error.
3418//
3419// See GetApp for more information on using the GetApp
3420// API call, and error handling.
3421//
3422// This method is useful when you want to inject custom logic or configuration
3423// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3424//
3425//
3426//    // Example sending a request using the GetAppRequest method.
3427//    req, resp := client.GetAppRequest(params)
3428//
3429//    err := req.Send()
3430//    if err == nil { // resp is now filled
3431//        fmt.Println(resp)
3432//    }
3433//
3434// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApp
3435func (c *Pinpoint) GetAppRequest(input *GetAppInput) (req *request.Request, output *GetAppOutput) {
3436	op := &request.Operation{
3437		Name:       opGetApp,
3438		HTTPMethod: "GET",
3439		HTTPPath:   "/v1/apps/{application-id}",
3440	}
3441
3442	if input == nil {
3443		input = &GetAppInput{}
3444	}
3445
3446	output = &GetAppOutput{}
3447	req = c.newRequest(op, input, output)
3448	return
3449}
3450
3451// GetApp API operation for Amazon Pinpoint.
3452//
3453// Retrieves information about an application.
3454//
3455// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3456// with awserr.Error's Code and Message methods to get detailed information about
3457// the error.
3458//
3459// See the AWS API reference guide for Amazon Pinpoint's
3460// API operation GetApp for usage and error information.
3461//
3462// Returned Error Codes:
3463//   * ErrCodeBadRequestException "BadRequestException"
3464//   Provides information about an API request or response.
3465//
3466//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3467//   Provides information about an API request or response.
3468//
3469//   * ErrCodeForbiddenException "ForbiddenException"
3470//   Provides information about an API request or response.
3471//
3472//   * ErrCodeNotFoundException "NotFoundException"
3473//   Provides information about an API request or response.
3474//
3475//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3476//   Provides information about an API request or response.
3477//
3478//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3479//   Provides information about an API request or response.
3480//
3481// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApp
3482func (c *Pinpoint) GetApp(input *GetAppInput) (*GetAppOutput, error) {
3483	req, out := c.GetAppRequest(input)
3484	return out, req.Send()
3485}
3486
3487// GetAppWithContext is the same as GetApp with the addition of
3488// the ability to pass a context and additional request options.
3489//
3490// See GetApp for details on how to use this API operation.
3491//
3492// The context must be non-nil and will be used for request cancellation. If
3493// the context is nil a panic will occur. In the future the SDK may create
3494// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3495// for more information on using Contexts.
3496func (c *Pinpoint) GetAppWithContext(ctx aws.Context, input *GetAppInput, opts ...request.Option) (*GetAppOutput, error) {
3497	req, out := c.GetAppRequest(input)
3498	req.SetContext(ctx)
3499	req.ApplyOptions(opts...)
3500	return out, req.Send()
3501}
3502
3503const opGetApplicationDateRangeKpi = "GetApplicationDateRangeKpi"
3504
3505// GetApplicationDateRangeKpiRequest generates a "aws/request.Request" representing the
3506// client's request for the GetApplicationDateRangeKpi operation. The "output" return
3507// value will be populated with the request's response once the request completes
3508// successfully.
3509//
3510// Use "Send" method on the returned Request to send the API call to the service.
3511// the "output" return value is not valid until after Send returns without error.
3512//
3513// See GetApplicationDateRangeKpi for more information on using the GetApplicationDateRangeKpi
3514// API call, and error handling.
3515//
3516// This method is useful when you want to inject custom logic or configuration
3517// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3518//
3519//
3520//    // Example sending a request using the GetApplicationDateRangeKpiRequest method.
3521//    req, resp := client.GetApplicationDateRangeKpiRequest(params)
3522//
3523//    err := req.Send()
3524//    if err == nil { // resp is now filled
3525//        fmt.Println(resp)
3526//    }
3527//
3528// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationDateRangeKpi
3529func (c *Pinpoint) GetApplicationDateRangeKpiRequest(input *GetApplicationDateRangeKpiInput) (req *request.Request, output *GetApplicationDateRangeKpiOutput) {
3530	op := &request.Operation{
3531		Name:       opGetApplicationDateRangeKpi,
3532		HTTPMethod: "GET",
3533		HTTPPath:   "/v1/apps/{application-id}/kpis/daterange/{kpi-name}",
3534	}
3535
3536	if input == nil {
3537		input = &GetApplicationDateRangeKpiInput{}
3538	}
3539
3540	output = &GetApplicationDateRangeKpiOutput{}
3541	req = c.newRequest(op, input, output)
3542	return
3543}
3544
3545// GetApplicationDateRangeKpi API operation for Amazon Pinpoint.
3546//
3547// Retrieves (queries) pre-aggregated data for a standard metric that applies
3548// to an application.
3549//
3550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3551// with awserr.Error's Code and Message methods to get detailed information about
3552// the error.
3553//
3554// See the AWS API reference guide for Amazon Pinpoint's
3555// API operation GetApplicationDateRangeKpi for usage and error information.
3556//
3557// Returned Error Codes:
3558//   * ErrCodeBadRequestException "BadRequestException"
3559//   Provides information about an API request or response.
3560//
3561//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3562//   Provides information about an API request or response.
3563//
3564//   * ErrCodeForbiddenException "ForbiddenException"
3565//   Provides information about an API request or response.
3566//
3567//   * ErrCodeNotFoundException "NotFoundException"
3568//   Provides information about an API request or response.
3569//
3570//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3571//   Provides information about an API request or response.
3572//
3573//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3574//   Provides information about an API request or response.
3575//
3576// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationDateRangeKpi
3577func (c *Pinpoint) GetApplicationDateRangeKpi(input *GetApplicationDateRangeKpiInput) (*GetApplicationDateRangeKpiOutput, error) {
3578	req, out := c.GetApplicationDateRangeKpiRequest(input)
3579	return out, req.Send()
3580}
3581
3582// GetApplicationDateRangeKpiWithContext is the same as GetApplicationDateRangeKpi with the addition of
3583// the ability to pass a context and additional request options.
3584//
3585// See GetApplicationDateRangeKpi for details on how to use this API operation.
3586//
3587// The context must be non-nil and will be used for request cancellation. If
3588// the context is nil a panic will occur. In the future the SDK may create
3589// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3590// for more information on using Contexts.
3591func (c *Pinpoint) GetApplicationDateRangeKpiWithContext(ctx aws.Context, input *GetApplicationDateRangeKpiInput, opts ...request.Option) (*GetApplicationDateRangeKpiOutput, error) {
3592	req, out := c.GetApplicationDateRangeKpiRequest(input)
3593	req.SetContext(ctx)
3594	req.ApplyOptions(opts...)
3595	return out, req.Send()
3596}
3597
3598const opGetApplicationSettings = "GetApplicationSettings"
3599
3600// GetApplicationSettingsRequest generates a "aws/request.Request" representing the
3601// client's request for the GetApplicationSettings operation. The "output" return
3602// value will be populated with the request's response once the request completes
3603// successfully.
3604//
3605// Use "Send" method on the returned Request to send the API call to the service.
3606// the "output" return value is not valid until after Send returns without error.
3607//
3608// See GetApplicationSettings for more information on using the GetApplicationSettings
3609// API call, and error handling.
3610//
3611// This method is useful when you want to inject custom logic or configuration
3612// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3613//
3614//
3615//    // Example sending a request using the GetApplicationSettingsRequest method.
3616//    req, resp := client.GetApplicationSettingsRequest(params)
3617//
3618//    err := req.Send()
3619//    if err == nil { // resp is now filled
3620//        fmt.Println(resp)
3621//    }
3622//
3623// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationSettings
3624func (c *Pinpoint) GetApplicationSettingsRequest(input *GetApplicationSettingsInput) (req *request.Request, output *GetApplicationSettingsOutput) {
3625	op := &request.Operation{
3626		Name:       opGetApplicationSettings,
3627		HTTPMethod: "GET",
3628		HTTPPath:   "/v1/apps/{application-id}/settings",
3629	}
3630
3631	if input == nil {
3632		input = &GetApplicationSettingsInput{}
3633	}
3634
3635	output = &GetApplicationSettingsOutput{}
3636	req = c.newRequest(op, input, output)
3637	return
3638}
3639
3640// GetApplicationSettings API operation for Amazon Pinpoint.
3641//
3642// Retrieves information about the settings for an application.
3643//
3644// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3645// with awserr.Error's Code and Message methods to get detailed information about
3646// the error.
3647//
3648// See the AWS API reference guide for Amazon Pinpoint's
3649// API operation GetApplicationSettings for usage and error information.
3650//
3651// Returned Error Codes:
3652//   * ErrCodeBadRequestException "BadRequestException"
3653//   Provides information about an API request or response.
3654//
3655//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3656//   Provides information about an API request or response.
3657//
3658//   * ErrCodeForbiddenException "ForbiddenException"
3659//   Provides information about an API request or response.
3660//
3661//   * ErrCodeNotFoundException "NotFoundException"
3662//   Provides information about an API request or response.
3663//
3664//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3665//   Provides information about an API request or response.
3666//
3667//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3668//   Provides information about an API request or response.
3669//
3670// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationSettings
3671func (c *Pinpoint) GetApplicationSettings(input *GetApplicationSettingsInput) (*GetApplicationSettingsOutput, error) {
3672	req, out := c.GetApplicationSettingsRequest(input)
3673	return out, req.Send()
3674}
3675
3676// GetApplicationSettingsWithContext is the same as GetApplicationSettings with the addition of
3677// the ability to pass a context and additional request options.
3678//
3679// See GetApplicationSettings for details on how to use this API operation.
3680//
3681// The context must be non-nil and will be used for request cancellation. If
3682// the context is nil a panic will occur. In the future the SDK may create
3683// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3684// for more information on using Contexts.
3685func (c *Pinpoint) GetApplicationSettingsWithContext(ctx aws.Context, input *GetApplicationSettingsInput, opts ...request.Option) (*GetApplicationSettingsOutput, error) {
3686	req, out := c.GetApplicationSettingsRequest(input)
3687	req.SetContext(ctx)
3688	req.ApplyOptions(opts...)
3689	return out, req.Send()
3690}
3691
3692const opGetApps = "GetApps"
3693
3694// GetAppsRequest generates a "aws/request.Request" representing the
3695// client's request for the GetApps operation. The "output" return
3696// value will be populated with the request's response once the request completes
3697// successfully.
3698//
3699// Use "Send" method on the returned Request to send the API call to the service.
3700// the "output" return value is not valid until after Send returns without error.
3701//
3702// See GetApps for more information on using the GetApps
3703// API call, and error handling.
3704//
3705// This method is useful when you want to inject custom logic or configuration
3706// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3707//
3708//
3709//    // Example sending a request using the GetAppsRequest method.
3710//    req, resp := client.GetAppsRequest(params)
3711//
3712//    err := req.Send()
3713//    if err == nil { // resp is now filled
3714//        fmt.Println(resp)
3715//    }
3716//
3717// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApps
3718func (c *Pinpoint) GetAppsRequest(input *GetAppsInput) (req *request.Request, output *GetAppsOutput) {
3719	op := &request.Operation{
3720		Name:       opGetApps,
3721		HTTPMethod: "GET",
3722		HTTPPath:   "/v1/apps",
3723	}
3724
3725	if input == nil {
3726		input = &GetAppsInput{}
3727	}
3728
3729	output = &GetAppsOutput{}
3730	req = c.newRequest(op, input, output)
3731	return
3732}
3733
3734// GetApps API operation for Amazon Pinpoint.
3735//
3736// Retrieves information about all the applications that are associated with
3737// your Amazon Pinpoint account.
3738//
3739// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3740// with awserr.Error's Code and Message methods to get detailed information about
3741// the error.
3742//
3743// See the AWS API reference guide for Amazon Pinpoint's
3744// API operation GetApps for usage and error information.
3745//
3746// Returned Error Codes:
3747//   * ErrCodeBadRequestException "BadRequestException"
3748//   Provides information about an API request or response.
3749//
3750//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3751//   Provides information about an API request or response.
3752//
3753//   * ErrCodeForbiddenException "ForbiddenException"
3754//   Provides information about an API request or response.
3755//
3756//   * ErrCodeNotFoundException "NotFoundException"
3757//   Provides information about an API request or response.
3758//
3759//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3760//   Provides information about an API request or response.
3761//
3762//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3763//   Provides information about an API request or response.
3764//
3765// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApps
3766func (c *Pinpoint) GetApps(input *GetAppsInput) (*GetAppsOutput, error) {
3767	req, out := c.GetAppsRequest(input)
3768	return out, req.Send()
3769}
3770
3771// GetAppsWithContext is the same as GetApps with the addition of
3772// the ability to pass a context and additional request options.
3773//
3774// See GetApps for details on how to use this API operation.
3775//
3776// The context must be non-nil and will be used for request cancellation. If
3777// the context is nil a panic will occur. In the future the SDK may create
3778// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3779// for more information on using Contexts.
3780func (c *Pinpoint) GetAppsWithContext(ctx aws.Context, input *GetAppsInput, opts ...request.Option) (*GetAppsOutput, error) {
3781	req, out := c.GetAppsRequest(input)
3782	req.SetContext(ctx)
3783	req.ApplyOptions(opts...)
3784	return out, req.Send()
3785}
3786
3787const opGetBaiduChannel = "GetBaiduChannel"
3788
3789// GetBaiduChannelRequest generates a "aws/request.Request" representing the
3790// client's request for the GetBaiduChannel operation. The "output" return
3791// value will be populated with the request's response once the request completes
3792// successfully.
3793//
3794// Use "Send" method on the returned Request to send the API call to the service.
3795// the "output" return value is not valid until after Send returns without error.
3796//
3797// See GetBaiduChannel for more information on using the GetBaiduChannel
3798// API call, and error handling.
3799//
3800// This method is useful when you want to inject custom logic or configuration
3801// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3802//
3803//
3804//    // Example sending a request using the GetBaiduChannelRequest method.
3805//    req, resp := client.GetBaiduChannelRequest(params)
3806//
3807//    err := req.Send()
3808//    if err == nil { // resp is now filled
3809//        fmt.Println(resp)
3810//    }
3811//
3812// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetBaiduChannel
3813func (c *Pinpoint) GetBaiduChannelRequest(input *GetBaiduChannelInput) (req *request.Request, output *GetBaiduChannelOutput) {
3814	op := &request.Operation{
3815		Name:       opGetBaiduChannel,
3816		HTTPMethod: "GET",
3817		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
3818	}
3819
3820	if input == nil {
3821		input = &GetBaiduChannelInput{}
3822	}
3823
3824	output = &GetBaiduChannelOutput{}
3825	req = c.newRequest(op, input, output)
3826	return
3827}
3828
3829// GetBaiduChannel API operation for Amazon Pinpoint.
3830//
3831// Retrieves information about the status and settings of the Baidu channel
3832// for an application.
3833//
3834// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3835// with awserr.Error's Code and Message methods to get detailed information about
3836// the error.
3837//
3838// See the AWS API reference guide for Amazon Pinpoint's
3839// API operation GetBaiduChannel for usage and error information.
3840//
3841// Returned Error Codes:
3842//   * ErrCodeBadRequestException "BadRequestException"
3843//   Provides information about an API request or response.
3844//
3845//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3846//   Provides information about an API request or response.
3847//
3848//   * ErrCodeForbiddenException "ForbiddenException"
3849//   Provides information about an API request or response.
3850//
3851//   * ErrCodeNotFoundException "NotFoundException"
3852//   Provides information about an API request or response.
3853//
3854//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3855//   Provides information about an API request or response.
3856//
3857//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3858//   Provides information about an API request or response.
3859//
3860// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetBaiduChannel
3861func (c *Pinpoint) GetBaiduChannel(input *GetBaiduChannelInput) (*GetBaiduChannelOutput, error) {
3862	req, out := c.GetBaiduChannelRequest(input)
3863	return out, req.Send()
3864}
3865
3866// GetBaiduChannelWithContext is the same as GetBaiduChannel with the addition of
3867// the ability to pass a context and additional request options.
3868//
3869// See GetBaiduChannel for details on how to use this API operation.
3870//
3871// The context must be non-nil and will be used for request cancellation. If
3872// the context is nil a panic will occur. In the future the SDK may create
3873// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3874// for more information on using Contexts.
3875func (c *Pinpoint) GetBaiduChannelWithContext(ctx aws.Context, input *GetBaiduChannelInput, opts ...request.Option) (*GetBaiduChannelOutput, error) {
3876	req, out := c.GetBaiduChannelRequest(input)
3877	req.SetContext(ctx)
3878	req.ApplyOptions(opts...)
3879	return out, req.Send()
3880}
3881
3882const opGetCampaign = "GetCampaign"
3883
3884// GetCampaignRequest generates a "aws/request.Request" representing the
3885// client's request for the GetCampaign operation. The "output" return
3886// value will be populated with the request's response once the request completes
3887// successfully.
3888//
3889// Use "Send" method on the returned Request to send the API call to the service.
3890// the "output" return value is not valid until after Send returns without error.
3891//
3892// See GetCampaign for more information on using the GetCampaign
3893// API call, and error handling.
3894//
3895// This method is useful when you want to inject custom logic or configuration
3896// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3897//
3898//
3899//    // Example sending a request using the GetCampaignRequest method.
3900//    req, resp := client.GetCampaignRequest(params)
3901//
3902//    err := req.Send()
3903//    if err == nil { // resp is now filled
3904//        fmt.Println(resp)
3905//    }
3906//
3907// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaign
3908func (c *Pinpoint) GetCampaignRequest(input *GetCampaignInput) (req *request.Request, output *GetCampaignOutput) {
3909	op := &request.Operation{
3910		Name:       opGetCampaign,
3911		HTTPMethod: "GET",
3912		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
3913	}
3914
3915	if input == nil {
3916		input = &GetCampaignInput{}
3917	}
3918
3919	output = &GetCampaignOutput{}
3920	req = c.newRequest(op, input, output)
3921	return
3922}
3923
3924// GetCampaign API operation for Amazon Pinpoint.
3925//
3926// Retrieves information about the status, configuration, and other settings
3927// for a campaign.
3928//
3929// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3930// with awserr.Error's Code and Message methods to get detailed information about
3931// the error.
3932//
3933// See the AWS API reference guide for Amazon Pinpoint's
3934// API operation GetCampaign for usage and error information.
3935//
3936// Returned Error Codes:
3937//   * ErrCodeBadRequestException "BadRequestException"
3938//   Provides information about an API request or response.
3939//
3940//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3941//   Provides information about an API request or response.
3942//
3943//   * ErrCodeForbiddenException "ForbiddenException"
3944//   Provides information about an API request or response.
3945//
3946//   * ErrCodeNotFoundException "NotFoundException"
3947//   Provides information about an API request or response.
3948//
3949//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3950//   Provides information about an API request or response.
3951//
3952//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3953//   Provides information about an API request or response.
3954//
3955// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaign
3956func (c *Pinpoint) GetCampaign(input *GetCampaignInput) (*GetCampaignOutput, error) {
3957	req, out := c.GetCampaignRequest(input)
3958	return out, req.Send()
3959}
3960
3961// GetCampaignWithContext is the same as GetCampaign with the addition of
3962// the ability to pass a context and additional request options.
3963//
3964// See GetCampaign for details on how to use this API operation.
3965//
3966// The context must be non-nil and will be used for request cancellation. If
3967// the context is nil a panic will occur. In the future the SDK may create
3968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3969// for more information on using Contexts.
3970func (c *Pinpoint) GetCampaignWithContext(ctx aws.Context, input *GetCampaignInput, opts ...request.Option) (*GetCampaignOutput, error) {
3971	req, out := c.GetCampaignRequest(input)
3972	req.SetContext(ctx)
3973	req.ApplyOptions(opts...)
3974	return out, req.Send()
3975}
3976
3977const opGetCampaignActivities = "GetCampaignActivities"
3978
3979// GetCampaignActivitiesRequest generates a "aws/request.Request" representing the
3980// client's request for the GetCampaignActivities operation. The "output" return
3981// value will be populated with the request's response once the request completes
3982// successfully.
3983//
3984// Use "Send" method on the returned Request to send the API call to the service.
3985// the "output" return value is not valid until after Send returns without error.
3986//
3987// See GetCampaignActivities for more information on using the GetCampaignActivities
3988// API call, and error handling.
3989//
3990// This method is useful when you want to inject custom logic or configuration
3991// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3992//
3993//
3994//    // Example sending a request using the GetCampaignActivitiesRequest method.
3995//    req, resp := client.GetCampaignActivitiesRequest(params)
3996//
3997//    err := req.Send()
3998//    if err == nil { // resp is now filled
3999//        fmt.Println(resp)
4000//    }
4001//
4002// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignActivities
4003func (c *Pinpoint) GetCampaignActivitiesRequest(input *GetCampaignActivitiesInput) (req *request.Request, output *GetCampaignActivitiesOutput) {
4004	op := &request.Operation{
4005		Name:       opGetCampaignActivities,
4006		HTTPMethod: "GET",
4007		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/activities",
4008	}
4009
4010	if input == nil {
4011		input = &GetCampaignActivitiesInput{}
4012	}
4013
4014	output = &GetCampaignActivitiesOutput{}
4015	req = c.newRequest(op, input, output)
4016	return
4017}
4018
4019// GetCampaignActivities API operation for Amazon Pinpoint.
4020//
4021// Retrieves information about all the activities for a campaign.
4022//
4023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4024// with awserr.Error's Code and Message methods to get detailed information about
4025// the error.
4026//
4027// See the AWS API reference guide for Amazon Pinpoint's
4028// API operation GetCampaignActivities for usage and error information.
4029//
4030// Returned Error Codes:
4031//   * ErrCodeBadRequestException "BadRequestException"
4032//   Provides information about an API request or response.
4033//
4034//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4035//   Provides information about an API request or response.
4036//
4037//   * ErrCodeForbiddenException "ForbiddenException"
4038//   Provides information about an API request or response.
4039//
4040//   * ErrCodeNotFoundException "NotFoundException"
4041//   Provides information about an API request or response.
4042//
4043//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4044//   Provides information about an API request or response.
4045//
4046//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4047//   Provides information about an API request or response.
4048//
4049// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignActivities
4050func (c *Pinpoint) GetCampaignActivities(input *GetCampaignActivitiesInput) (*GetCampaignActivitiesOutput, error) {
4051	req, out := c.GetCampaignActivitiesRequest(input)
4052	return out, req.Send()
4053}
4054
4055// GetCampaignActivitiesWithContext is the same as GetCampaignActivities with the addition of
4056// the ability to pass a context and additional request options.
4057//
4058// See GetCampaignActivities for details on how to use this API operation.
4059//
4060// The context must be non-nil and will be used for request cancellation. If
4061// the context is nil a panic will occur. In the future the SDK may create
4062// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4063// for more information on using Contexts.
4064func (c *Pinpoint) GetCampaignActivitiesWithContext(ctx aws.Context, input *GetCampaignActivitiesInput, opts ...request.Option) (*GetCampaignActivitiesOutput, error) {
4065	req, out := c.GetCampaignActivitiesRequest(input)
4066	req.SetContext(ctx)
4067	req.ApplyOptions(opts...)
4068	return out, req.Send()
4069}
4070
4071const opGetCampaignDateRangeKpi = "GetCampaignDateRangeKpi"
4072
4073// GetCampaignDateRangeKpiRequest generates a "aws/request.Request" representing the
4074// client's request for the GetCampaignDateRangeKpi operation. The "output" return
4075// value will be populated with the request's response once the request completes
4076// successfully.
4077//
4078// Use "Send" method on the returned Request to send the API call to the service.
4079// the "output" return value is not valid until after Send returns without error.
4080//
4081// See GetCampaignDateRangeKpi for more information on using the GetCampaignDateRangeKpi
4082// API call, and error handling.
4083//
4084// This method is useful when you want to inject custom logic or configuration
4085// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4086//
4087//
4088//    // Example sending a request using the GetCampaignDateRangeKpiRequest method.
4089//    req, resp := client.GetCampaignDateRangeKpiRequest(params)
4090//
4091//    err := req.Send()
4092//    if err == nil { // resp is now filled
4093//        fmt.Println(resp)
4094//    }
4095//
4096// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignDateRangeKpi
4097func (c *Pinpoint) GetCampaignDateRangeKpiRequest(input *GetCampaignDateRangeKpiInput) (req *request.Request, output *GetCampaignDateRangeKpiOutput) {
4098	op := &request.Operation{
4099		Name:       opGetCampaignDateRangeKpi,
4100		HTTPMethod: "GET",
4101		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/kpis/daterange/{kpi-name}",
4102	}
4103
4104	if input == nil {
4105		input = &GetCampaignDateRangeKpiInput{}
4106	}
4107
4108	output = &GetCampaignDateRangeKpiOutput{}
4109	req = c.newRequest(op, input, output)
4110	return
4111}
4112
4113// GetCampaignDateRangeKpi API operation for Amazon Pinpoint.
4114//
4115// Retrieves (queries) pre-aggregated data for a standard metric that applies
4116// to a campaign.
4117//
4118// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4119// with awserr.Error's Code and Message methods to get detailed information about
4120// the error.
4121//
4122// See the AWS API reference guide for Amazon Pinpoint's
4123// API operation GetCampaignDateRangeKpi for usage and error information.
4124//
4125// Returned Error Codes:
4126//   * ErrCodeBadRequestException "BadRequestException"
4127//   Provides information about an API request or response.
4128//
4129//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4130//   Provides information about an API request or response.
4131//
4132//   * ErrCodeForbiddenException "ForbiddenException"
4133//   Provides information about an API request or response.
4134//
4135//   * ErrCodeNotFoundException "NotFoundException"
4136//   Provides information about an API request or response.
4137//
4138//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4139//   Provides information about an API request or response.
4140//
4141//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4142//   Provides information about an API request or response.
4143//
4144// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignDateRangeKpi
4145func (c *Pinpoint) GetCampaignDateRangeKpi(input *GetCampaignDateRangeKpiInput) (*GetCampaignDateRangeKpiOutput, error) {
4146	req, out := c.GetCampaignDateRangeKpiRequest(input)
4147	return out, req.Send()
4148}
4149
4150// GetCampaignDateRangeKpiWithContext is the same as GetCampaignDateRangeKpi with the addition of
4151// the ability to pass a context and additional request options.
4152//
4153// See GetCampaignDateRangeKpi for details on how to use this API operation.
4154//
4155// The context must be non-nil and will be used for request cancellation. If
4156// the context is nil a panic will occur. In the future the SDK may create
4157// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4158// for more information on using Contexts.
4159func (c *Pinpoint) GetCampaignDateRangeKpiWithContext(ctx aws.Context, input *GetCampaignDateRangeKpiInput, opts ...request.Option) (*GetCampaignDateRangeKpiOutput, error) {
4160	req, out := c.GetCampaignDateRangeKpiRequest(input)
4161	req.SetContext(ctx)
4162	req.ApplyOptions(opts...)
4163	return out, req.Send()
4164}
4165
4166const opGetCampaignVersion = "GetCampaignVersion"
4167
4168// GetCampaignVersionRequest generates a "aws/request.Request" representing the
4169// client's request for the GetCampaignVersion operation. The "output" return
4170// value will be populated with the request's response once the request completes
4171// successfully.
4172//
4173// Use "Send" method on the returned Request to send the API call to the service.
4174// the "output" return value is not valid until after Send returns without error.
4175//
4176// See GetCampaignVersion for more information on using the GetCampaignVersion
4177// API call, and error handling.
4178//
4179// This method is useful when you want to inject custom logic or configuration
4180// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4181//
4182//
4183//    // Example sending a request using the GetCampaignVersionRequest method.
4184//    req, resp := client.GetCampaignVersionRequest(params)
4185//
4186//    err := req.Send()
4187//    if err == nil { // resp is now filled
4188//        fmt.Println(resp)
4189//    }
4190//
4191// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersion
4192func (c *Pinpoint) GetCampaignVersionRequest(input *GetCampaignVersionInput) (req *request.Request, output *GetCampaignVersionOutput) {
4193	op := &request.Operation{
4194		Name:       opGetCampaignVersion,
4195		HTTPMethod: "GET",
4196		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/versions/{version}",
4197	}
4198
4199	if input == nil {
4200		input = &GetCampaignVersionInput{}
4201	}
4202
4203	output = &GetCampaignVersionOutput{}
4204	req = c.newRequest(op, input, output)
4205	return
4206}
4207
4208// GetCampaignVersion API operation for Amazon Pinpoint.
4209//
4210// Retrieves information about the status, configuration, and other settings
4211// for a specific version of a campaign.
4212//
4213// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4214// with awserr.Error's Code and Message methods to get detailed information about
4215// the error.
4216//
4217// See the AWS API reference guide for Amazon Pinpoint's
4218// API operation GetCampaignVersion for usage and error information.
4219//
4220// Returned Error Codes:
4221//   * ErrCodeBadRequestException "BadRequestException"
4222//   Provides information about an API request or response.
4223//
4224//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4225//   Provides information about an API request or response.
4226//
4227//   * ErrCodeForbiddenException "ForbiddenException"
4228//   Provides information about an API request or response.
4229//
4230//   * ErrCodeNotFoundException "NotFoundException"
4231//   Provides information about an API request or response.
4232//
4233//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4234//   Provides information about an API request or response.
4235//
4236//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4237//   Provides information about an API request or response.
4238//
4239// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersion
4240func (c *Pinpoint) GetCampaignVersion(input *GetCampaignVersionInput) (*GetCampaignVersionOutput, error) {
4241	req, out := c.GetCampaignVersionRequest(input)
4242	return out, req.Send()
4243}
4244
4245// GetCampaignVersionWithContext is the same as GetCampaignVersion with the addition of
4246// the ability to pass a context and additional request options.
4247//
4248// See GetCampaignVersion for details on how to use this API operation.
4249//
4250// The context must be non-nil and will be used for request cancellation. If
4251// the context is nil a panic will occur. In the future the SDK may create
4252// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4253// for more information on using Contexts.
4254func (c *Pinpoint) GetCampaignVersionWithContext(ctx aws.Context, input *GetCampaignVersionInput, opts ...request.Option) (*GetCampaignVersionOutput, error) {
4255	req, out := c.GetCampaignVersionRequest(input)
4256	req.SetContext(ctx)
4257	req.ApplyOptions(opts...)
4258	return out, req.Send()
4259}
4260
4261const opGetCampaignVersions = "GetCampaignVersions"
4262
4263// GetCampaignVersionsRequest generates a "aws/request.Request" representing the
4264// client's request for the GetCampaignVersions operation. The "output" return
4265// value will be populated with the request's response once the request completes
4266// successfully.
4267//
4268// Use "Send" method on the returned Request to send the API call to the service.
4269// the "output" return value is not valid until after Send returns without error.
4270//
4271// See GetCampaignVersions for more information on using the GetCampaignVersions
4272// API call, and error handling.
4273//
4274// This method is useful when you want to inject custom logic or configuration
4275// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4276//
4277//
4278//    // Example sending a request using the GetCampaignVersionsRequest method.
4279//    req, resp := client.GetCampaignVersionsRequest(params)
4280//
4281//    err := req.Send()
4282//    if err == nil { // resp is now filled
4283//        fmt.Println(resp)
4284//    }
4285//
4286// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersions
4287func (c *Pinpoint) GetCampaignVersionsRequest(input *GetCampaignVersionsInput) (req *request.Request, output *GetCampaignVersionsOutput) {
4288	op := &request.Operation{
4289		Name:       opGetCampaignVersions,
4290		HTTPMethod: "GET",
4291		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/versions",
4292	}
4293
4294	if input == nil {
4295		input = &GetCampaignVersionsInput{}
4296	}
4297
4298	output = &GetCampaignVersionsOutput{}
4299	req = c.newRequest(op, input, output)
4300	return
4301}
4302
4303// GetCampaignVersions API operation for Amazon Pinpoint.
4304//
4305// Retrieves information about the status, configuration, and other settings
4306// for all versions of a campaign.
4307//
4308// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4309// with awserr.Error's Code and Message methods to get detailed information about
4310// the error.
4311//
4312// See the AWS API reference guide for Amazon Pinpoint's
4313// API operation GetCampaignVersions for usage and error information.
4314//
4315// Returned Error Codes:
4316//   * ErrCodeBadRequestException "BadRequestException"
4317//   Provides information about an API request or response.
4318//
4319//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4320//   Provides information about an API request or response.
4321//
4322//   * ErrCodeForbiddenException "ForbiddenException"
4323//   Provides information about an API request or response.
4324//
4325//   * ErrCodeNotFoundException "NotFoundException"
4326//   Provides information about an API request or response.
4327//
4328//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4329//   Provides information about an API request or response.
4330//
4331//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4332//   Provides information about an API request or response.
4333//
4334// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersions
4335func (c *Pinpoint) GetCampaignVersions(input *GetCampaignVersionsInput) (*GetCampaignVersionsOutput, error) {
4336	req, out := c.GetCampaignVersionsRequest(input)
4337	return out, req.Send()
4338}
4339
4340// GetCampaignVersionsWithContext is the same as GetCampaignVersions with the addition of
4341// the ability to pass a context and additional request options.
4342//
4343// See GetCampaignVersions for details on how to use this API operation.
4344//
4345// The context must be non-nil and will be used for request cancellation. If
4346// the context is nil a panic will occur. In the future the SDK may create
4347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4348// for more information on using Contexts.
4349func (c *Pinpoint) GetCampaignVersionsWithContext(ctx aws.Context, input *GetCampaignVersionsInput, opts ...request.Option) (*GetCampaignVersionsOutput, error) {
4350	req, out := c.GetCampaignVersionsRequest(input)
4351	req.SetContext(ctx)
4352	req.ApplyOptions(opts...)
4353	return out, req.Send()
4354}
4355
4356const opGetCampaigns = "GetCampaigns"
4357
4358// GetCampaignsRequest generates a "aws/request.Request" representing the
4359// client's request for the GetCampaigns operation. The "output" return
4360// value will be populated with the request's response once the request completes
4361// successfully.
4362//
4363// Use "Send" method on the returned Request to send the API call to the service.
4364// the "output" return value is not valid until after Send returns without error.
4365//
4366// See GetCampaigns for more information on using the GetCampaigns
4367// API call, and error handling.
4368//
4369// This method is useful when you want to inject custom logic or configuration
4370// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4371//
4372//
4373//    // Example sending a request using the GetCampaignsRequest method.
4374//    req, resp := client.GetCampaignsRequest(params)
4375//
4376//    err := req.Send()
4377//    if err == nil { // resp is now filled
4378//        fmt.Println(resp)
4379//    }
4380//
4381// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaigns
4382func (c *Pinpoint) GetCampaignsRequest(input *GetCampaignsInput) (req *request.Request, output *GetCampaignsOutput) {
4383	op := &request.Operation{
4384		Name:       opGetCampaigns,
4385		HTTPMethod: "GET",
4386		HTTPPath:   "/v1/apps/{application-id}/campaigns",
4387	}
4388
4389	if input == nil {
4390		input = &GetCampaignsInput{}
4391	}
4392
4393	output = &GetCampaignsOutput{}
4394	req = c.newRequest(op, input, output)
4395	return
4396}
4397
4398// GetCampaigns API operation for Amazon Pinpoint.
4399//
4400// Retrieves information about the status, configuration, and other settings
4401// for all the campaigns that are associated with an application.
4402//
4403// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4404// with awserr.Error's Code and Message methods to get detailed information about
4405// the error.
4406//
4407// See the AWS API reference guide for Amazon Pinpoint's
4408// API operation GetCampaigns for usage and error information.
4409//
4410// Returned Error Codes:
4411//   * ErrCodeBadRequestException "BadRequestException"
4412//   Provides information about an API request or response.
4413//
4414//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4415//   Provides information about an API request or response.
4416//
4417//   * ErrCodeForbiddenException "ForbiddenException"
4418//   Provides information about an API request or response.
4419//
4420//   * ErrCodeNotFoundException "NotFoundException"
4421//   Provides information about an API request or response.
4422//
4423//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4424//   Provides information about an API request or response.
4425//
4426//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4427//   Provides information about an API request or response.
4428//
4429// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaigns
4430func (c *Pinpoint) GetCampaigns(input *GetCampaignsInput) (*GetCampaignsOutput, error) {
4431	req, out := c.GetCampaignsRequest(input)
4432	return out, req.Send()
4433}
4434
4435// GetCampaignsWithContext is the same as GetCampaigns with the addition of
4436// the ability to pass a context and additional request options.
4437//
4438// See GetCampaigns for details on how to use this API operation.
4439//
4440// The context must be non-nil and will be used for request cancellation. If
4441// the context is nil a panic will occur. In the future the SDK may create
4442// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4443// for more information on using Contexts.
4444func (c *Pinpoint) GetCampaignsWithContext(ctx aws.Context, input *GetCampaignsInput, opts ...request.Option) (*GetCampaignsOutput, error) {
4445	req, out := c.GetCampaignsRequest(input)
4446	req.SetContext(ctx)
4447	req.ApplyOptions(opts...)
4448	return out, req.Send()
4449}
4450
4451const opGetChannels = "GetChannels"
4452
4453// GetChannelsRequest generates a "aws/request.Request" representing the
4454// client's request for the GetChannels operation. The "output" return
4455// value will be populated with the request's response once the request completes
4456// successfully.
4457//
4458// Use "Send" method on the returned Request to send the API call to the service.
4459// the "output" return value is not valid until after Send returns without error.
4460//
4461// See GetChannels for more information on using the GetChannels
4462// API call, and error handling.
4463//
4464// This method is useful when you want to inject custom logic or configuration
4465// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4466//
4467//
4468//    // Example sending a request using the GetChannelsRequest method.
4469//    req, resp := client.GetChannelsRequest(params)
4470//
4471//    err := req.Send()
4472//    if err == nil { // resp is now filled
4473//        fmt.Println(resp)
4474//    }
4475//
4476// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetChannels
4477func (c *Pinpoint) GetChannelsRequest(input *GetChannelsInput) (req *request.Request, output *GetChannelsOutput) {
4478	op := &request.Operation{
4479		Name:       opGetChannels,
4480		HTTPMethod: "GET",
4481		HTTPPath:   "/v1/apps/{application-id}/channels",
4482	}
4483
4484	if input == nil {
4485		input = &GetChannelsInput{}
4486	}
4487
4488	output = &GetChannelsOutput{}
4489	req = c.newRequest(op, input, output)
4490	return
4491}
4492
4493// GetChannels API operation for Amazon Pinpoint.
4494//
4495// Retrieves information about the history and status of each channel for an
4496// application.
4497//
4498// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4499// with awserr.Error's Code and Message methods to get detailed information about
4500// the error.
4501//
4502// See the AWS API reference guide for Amazon Pinpoint's
4503// API operation GetChannels for usage and error information.
4504//
4505// Returned Error Codes:
4506//   * ErrCodeBadRequestException "BadRequestException"
4507//   Provides information about an API request or response.
4508//
4509//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4510//   Provides information about an API request or response.
4511//
4512//   * ErrCodeForbiddenException "ForbiddenException"
4513//   Provides information about an API request or response.
4514//
4515//   * ErrCodeNotFoundException "NotFoundException"
4516//   Provides information about an API request or response.
4517//
4518//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4519//   Provides information about an API request or response.
4520//
4521//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4522//   Provides information about an API request or response.
4523//
4524// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetChannels
4525func (c *Pinpoint) GetChannels(input *GetChannelsInput) (*GetChannelsOutput, error) {
4526	req, out := c.GetChannelsRequest(input)
4527	return out, req.Send()
4528}
4529
4530// GetChannelsWithContext is the same as GetChannels with the addition of
4531// the ability to pass a context and additional request options.
4532//
4533// See GetChannels for details on how to use this API operation.
4534//
4535// The context must be non-nil and will be used for request cancellation. If
4536// the context is nil a panic will occur. In the future the SDK may create
4537// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4538// for more information on using Contexts.
4539func (c *Pinpoint) GetChannelsWithContext(ctx aws.Context, input *GetChannelsInput, opts ...request.Option) (*GetChannelsOutput, error) {
4540	req, out := c.GetChannelsRequest(input)
4541	req.SetContext(ctx)
4542	req.ApplyOptions(opts...)
4543	return out, req.Send()
4544}
4545
4546const opGetEmailChannel = "GetEmailChannel"
4547
4548// GetEmailChannelRequest generates a "aws/request.Request" representing the
4549// client's request for the GetEmailChannel operation. The "output" return
4550// value will be populated with the request's response once the request completes
4551// successfully.
4552//
4553// Use "Send" method on the returned Request to send the API call to the service.
4554// the "output" return value is not valid until after Send returns without error.
4555//
4556// See GetEmailChannel for more information on using the GetEmailChannel
4557// API call, and error handling.
4558//
4559// This method is useful when you want to inject custom logic or configuration
4560// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4561//
4562//
4563//    // Example sending a request using the GetEmailChannelRequest method.
4564//    req, resp := client.GetEmailChannelRequest(params)
4565//
4566//    err := req.Send()
4567//    if err == nil { // resp is now filled
4568//        fmt.Println(resp)
4569//    }
4570//
4571// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailChannel
4572func (c *Pinpoint) GetEmailChannelRequest(input *GetEmailChannelInput) (req *request.Request, output *GetEmailChannelOutput) {
4573	op := &request.Operation{
4574		Name:       opGetEmailChannel,
4575		HTTPMethod: "GET",
4576		HTTPPath:   "/v1/apps/{application-id}/channels/email",
4577	}
4578
4579	if input == nil {
4580		input = &GetEmailChannelInput{}
4581	}
4582
4583	output = &GetEmailChannelOutput{}
4584	req = c.newRequest(op, input, output)
4585	return
4586}
4587
4588// GetEmailChannel API operation for Amazon Pinpoint.
4589//
4590// Retrieves information about the status and settings of the email channel
4591// for an application.
4592//
4593// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4594// with awserr.Error's Code and Message methods to get detailed information about
4595// the error.
4596//
4597// See the AWS API reference guide for Amazon Pinpoint's
4598// API operation GetEmailChannel for usage and error information.
4599//
4600// Returned Error Codes:
4601//   * ErrCodeBadRequestException "BadRequestException"
4602//   Provides information about an API request or response.
4603//
4604//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4605//   Provides information about an API request or response.
4606//
4607//   * ErrCodeForbiddenException "ForbiddenException"
4608//   Provides information about an API request or response.
4609//
4610//   * ErrCodeNotFoundException "NotFoundException"
4611//   Provides information about an API request or response.
4612//
4613//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4614//   Provides information about an API request or response.
4615//
4616//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4617//   Provides information about an API request or response.
4618//
4619// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailChannel
4620func (c *Pinpoint) GetEmailChannel(input *GetEmailChannelInput) (*GetEmailChannelOutput, error) {
4621	req, out := c.GetEmailChannelRequest(input)
4622	return out, req.Send()
4623}
4624
4625// GetEmailChannelWithContext is the same as GetEmailChannel with the addition of
4626// the ability to pass a context and additional request options.
4627//
4628// See GetEmailChannel for details on how to use this API operation.
4629//
4630// The context must be non-nil and will be used for request cancellation. If
4631// the context is nil a panic will occur. In the future the SDK may create
4632// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4633// for more information on using Contexts.
4634func (c *Pinpoint) GetEmailChannelWithContext(ctx aws.Context, input *GetEmailChannelInput, opts ...request.Option) (*GetEmailChannelOutput, error) {
4635	req, out := c.GetEmailChannelRequest(input)
4636	req.SetContext(ctx)
4637	req.ApplyOptions(opts...)
4638	return out, req.Send()
4639}
4640
4641const opGetEmailTemplate = "GetEmailTemplate"
4642
4643// GetEmailTemplateRequest generates a "aws/request.Request" representing the
4644// client's request for the GetEmailTemplate operation. The "output" return
4645// value will be populated with the request's response once the request completes
4646// successfully.
4647//
4648// Use "Send" method on the returned Request to send the API call to the service.
4649// the "output" return value is not valid until after Send returns without error.
4650//
4651// See GetEmailTemplate for more information on using the GetEmailTemplate
4652// API call, and error handling.
4653//
4654// This method is useful when you want to inject custom logic or configuration
4655// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4656//
4657//
4658//    // Example sending a request using the GetEmailTemplateRequest method.
4659//    req, resp := client.GetEmailTemplateRequest(params)
4660//
4661//    err := req.Send()
4662//    if err == nil { // resp is now filled
4663//        fmt.Println(resp)
4664//    }
4665//
4666// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailTemplate
4667func (c *Pinpoint) GetEmailTemplateRequest(input *GetEmailTemplateInput) (req *request.Request, output *GetEmailTemplateOutput) {
4668	op := &request.Operation{
4669		Name:       opGetEmailTemplate,
4670		HTTPMethod: "GET",
4671		HTTPPath:   "/v1/templates/{template-name}/email",
4672	}
4673
4674	if input == nil {
4675		input = &GetEmailTemplateInput{}
4676	}
4677
4678	output = &GetEmailTemplateOutput{}
4679	req = c.newRequest(op, input, output)
4680	return
4681}
4682
4683// GetEmailTemplate API operation for Amazon Pinpoint.
4684//
4685// Retrieves the content and settings of a message template for messages that
4686// are sent through the email channel.
4687//
4688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4689// with awserr.Error's Code and Message methods to get detailed information about
4690// the error.
4691//
4692// See the AWS API reference guide for Amazon Pinpoint's
4693// API operation GetEmailTemplate for usage and error information.
4694//
4695// Returned Error Codes:
4696//   * ErrCodeBadRequestException "BadRequestException"
4697//   Provides information about an API request or response.
4698//
4699//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4700//   Provides information about an API request or response.
4701//
4702//   * ErrCodeForbiddenException "ForbiddenException"
4703//   Provides information about an API request or response.
4704//
4705//   * ErrCodeNotFoundException "NotFoundException"
4706//   Provides information about an API request or response.
4707//
4708//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4709//   Provides information about an API request or response.
4710//
4711//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4712//   Provides information about an API request or response.
4713//
4714// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailTemplate
4715func (c *Pinpoint) GetEmailTemplate(input *GetEmailTemplateInput) (*GetEmailTemplateOutput, error) {
4716	req, out := c.GetEmailTemplateRequest(input)
4717	return out, req.Send()
4718}
4719
4720// GetEmailTemplateWithContext is the same as GetEmailTemplate with the addition of
4721// the ability to pass a context and additional request options.
4722//
4723// See GetEmailTemplate for details on how to use this API operation.
4724//
4725// The context must be non-nil and will be used for request cancellation. If
4726// the context is nil a panic will occur. In the future the SDK may create
4727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4728// for more information on using Contexts.
4729func (c *Pinpoint) GetEmailTemplateWithContext(ctx aws.Context, input *GetEmailTemplateInput, opts ...request.Option) (*GetEmailTemplateOutput, error) {
4730	req, out := c.GetEmailTemplateRequest(input)
4731	req.SetContext(ctx)
4732	req.ApplyOptions(opts...)
4733	return out, req.Send()
4734}
4735
4736const opGetEndpoint = "GetEndpoint"
4737
4738// GetEndpointRequest generates a "aws/request.Request" representing the
4739// client's request for the GetEndpoint operation. The "output" return
4740// value will be populated with the request's response once the request completes
4741// successfully.
4742//
4743// Use "Send" method on the returned Request to send the API call to the service.
4744// the "output" return value is not valid until after Send returns without error.
4745//
4746// See GetEndpoint for more information on using the GetEndpoint
4747// API call, and error handling.
4748//
4749// This method is useful when you want to inject custom logic or configuration
4750// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4751//
4752//
4753//    // Example sending a request using the GetEndpointRequest method.
4754//    req, resp := client.GetEndpointRequest(params)
4755//
4756//    err := req.Send()
4757//    if err == nil { // resp is now filled
4758//        fmt.Println(resp)
4759//    }
4760//
4761// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpoint
4762func (c *Pinpoint) GetEndpointRequest(input *GetEndpointInput) (req *request.Request, output *GetEndpointOutput) {
4763	op := &request.Operation{
4764		Name:       opGetEndpoint,
4765		HTTPMethod: "GET",
4766		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
4767	}
4768
4769	if input == nil {
4770		input = &GetEndpointInput{}
4771	}
4772
4773	output = &GetEndpointOutput{}
4774	req = c.newRequest(op, input, output)
4775	return
4776}
4777
4778// GetEndpoint API operation for Amazon Pinpoint.
4779//
4780// Retrieves information about the settings and attributes of a specific endpoint
4781// for an application.
4782//
4783// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4784// with awserr.Error's Code and Message methods to get detailed information about
4785// the error.
4786//
4787// See the AWS API reference guide for Amazon Pinpoint's
4788// API operation GetEndpoint for usage and error information.
4789//
4790// Returned Error Codes:
4791//   * ErrCodeBadRequestException "BadRequestException"
4792//   Provides information about an API request or response.
4793//
4794//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4795//   Provides information about an API request or response.
4796//
4797//   * ErrCodeForbiddenException "ForbiddenException"
4798//   Provides information about an API request or response.
4799//
4800//   * ErrCodeNotFoundException "NotFoundException"
4801//   Provides information about an API request or response.
4802//
4803//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4804//   Provides information about an API request or response.
4805//
4806//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4807//   Provides information about an API request or response.
4808//
4809// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpoint
4810func (c *Pinpoint) GetEndpoint(input *GetEndpointInput) (*GetEndpointOutput, error) {
4811	req, out := c.GetEndpointRequest(input)
4812	return out, req.Send()
4813}
4814
4815// GetEndpointWithContext is the same as GetEndpoint with the addition of
4816// the ability to pass a context and additional request options.
4817//
4818// See GetEndpoint for details on how to use this API operation.
4819//
4820// The context must be non-nil and will be used for request cancellation. If
4821// the context is nil a panic will occur. In the future the SDK may create
4822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4823// for more information on using Contexts.
4824func (c *Pinpoint) GetEndpointWithContext(ctx aws.Context, input *GetEndpointInput, opts ...request.Option) (*GetEndpointOutput, error) {
4825	req, out := c.GetEndpointRequest(input)
4826	req.SetContext(ctx)
4827	req.ApplyOptions(opts...)
4828	return out, req.Send()
4829}
4830
4831const opGetEventStream = "GetEventStream"
4832
4833// GetEventStreamRequest generates a "aws/request.Request" representing the
4834// client's request for the GetEventStream operation. The "output" return
4835// value will be populated with the request's response once the request completes
4836// successfully.
4837//
4838// Use "Send" method on the returned Request to send the API call to the service.
4839// the "output" return value is not valid until after Send returns without error.
4840//
4841// See GetEventStream for more information on using the GetEventStream
4842// API call, and error handling.
4843//
4844// This method is useful when you want to inject custom logic or configuration
4845// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4846//
4847//
4848//    // Example sending a request using the GetEventStreamRequest method.
4849//    req, resp := client.GetEventStreamRequest(params)
4850//
4851//    err := req.Send()
4852//    if err == nil { // resp is now filled
4853//        fmt.Println(resp)
4854//    }
4855//
4856// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEventStream
4857func (c *Pinpoint) GetEventStreamRequest(input *GetEventStreamInput) (req *request.Request, output *GetEventStreamOutput) {
4858	op := &request.Operation{
4859		Name:       opGetEventStream,
4860		HTTPMethod: "GET",
4861		HTTPPath:   "/v1/apps/{application-id}/eventstream",
4862	}
4863
4864	if input == nil {
4865		input = &GetEventStreamInput{}
4866	}
4867
4868	output = &GetEventStreamOutput{}
4869	req = c.newRequest(op, input, output)
4870	return
4871}
4872
4873// GetEventStream API operation for Amazon Pinpoint.
4874//
4875// Retrieves information about the event stream settings for an application.
4876//
4877// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4878// with awserr.Error's Code and Message methods to get detailed information about
4879// the error.
4880//
4881// See the AWS API reference guide for Amazon Pinpoint's
4882// API operation GetEventStream for usage and error information.
4883//
4884// Returned Error Codes:
4885//   * ErrCodeBadRequestException "BadRequestException"
4886//   Provides information about an API request or response.
4887//
4888//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4889//   Provides information about an API request or response.
4890//
4891//   * ErrCodeForbiddenException "ForbiddenException"
4892//   Provides information about an API request or response.
4893//
4894//   * ErrCodeNotFoundException "NotFoundException"
4895//   Provides information about an API request or response.
4896//
4897//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4898//   Provides information about an API request or response.
4899//
4900//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4901//   Provides information about an API request or response.
4902//
4903// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEventStream
4904func (c *Pinpoint) GetEventStream(input *GetEventStreamInput) (*GetEventStreamOutput, error) {
4905	req, out := c.GetEventStreamRequest(input)
4906	return out, req.Send()
4907}
4908
4909// GetEventStreamWithContext is the same as GetEventStream with the addition of
4910// the ability to pass a context and additional request options.
4911//
4912// See GetEventStream for details on how to use this API operation.
4913//
4914// The context must be non-nil and will be used for request cancellation. If
4915// the context is nil a panic will occur. In the future the SDK may create
4916// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4917// for more information on using Contexts.
4918func (c *Pinpoint) GetEventStreamWithContext(ctx aws.Context, input *GetEventStreamInput, opts ...request.Option) (*GetEventStreamOutput, error) {
4919	req, out := c.GetEventStreamRequest(input)
4920	req.SetContext(ctx)
4921	req.ApplyOptions(opts...)
4922	return out, req.Send()
4923}
4924
4925const opGetExportJob = "GetExportJob"
4926
4927// GetExportJobRequest generates a "aws/request.Request" representing the
4928// client's request for the GetExportJob operation. The "output" return
4929// value will be populated with the request's response once the request completes
4930// successfully.
4931//
4932// Use "Send" method on the returned Request to send the API call to the service.
4933// the "output" return value is not valid until after Send returns without error.
4934//
4935// See GetExportJob for more information on using the GetExportJob
4936// API call, and error handling.
4937//
4938// This method is useful when you want to inject custom logic or configuration
4939// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4940//
4941//
4942//    // Example sending a request using the GetExportJobRequest method.
4943//    req, resp := client.GetExportJobRequest(params)
4944//
4945//    err := req.Send()
4946//    if err == nil { // resp is now filled
4947//        fmt.Println(resp)
4948//    }
4949//
4950// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJob
4951func (c *Pinpoint) GetExportJobRequest(input *GetExportJobInput) (req *request.Request, output *GetExportJobOutput) {
4952	op := &request.Operation{
4953		Name:       opGetExportJob,
4954		HTTPMethod: "GET",
4955		HTTPPath:   "/v1/apps/{application-id}/jobs/export/{job-id}",
4956	}
4957
4958	if input == nil {
4959		input = &GetExportJobInput{}
4960	}
4961
4962	output = &GetExportJobOutput{}
4963	req = c.newRequest(op, input, output)
4964	return
4965}
4966
4967// GetExportJob API operation for Amazon Pinpoint.
4968//
4969// Retrieves information about the status and settings of a specific export
4970// job for an application.
4971//
4972// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4973// with awserr.Error's Code and Message methods to get detailed information about
4974// the error.
4975//
4976// See the AWS API reference guide for Amazon Pinpoint's
4977// API operation GetExportJob for usage and error information.
4978//
4979// Returned Error Codes:
4980//   * ErrCodeBadRequestException "BadRequestException"
4981//   Provides information about an API request or response.
4982//
4983//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4984//   Provides information about an API request or response.
4985//
4986//   * ErrCodeForbiddenException "ForbiddenException"
4987//   Provides information about an API request or response.
4988//
4989//   * ErrCodeNotFoundException "NotFoundException"
4990//   Provides information about an API request or response.
4991//
4992//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4993//   Provides information about an API request or response.
4994//
4995//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4996//   Provides information about an API request or response.
4997//
4998// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJob
4999func (c *Pinpoint) GetExportJob(input *GetExportJobInput) (*GetExportJobOutput, error) {
5000	req, out := c.GetExportJobRequest(input)
5001	return out, req.Send()
5002}
5003
5004// GetExportJobWithContext is the same as GetExportJob with the addition of
5005// the ability to pass a context and additional request options.
5006//
5007// See GetExportJob for details on how to use this API operation.
5008//
5009// The context must be non-nil and will be used for request cancellation. If
5010// the context is nil a panic will occur. In the future the SDK may create
5011// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5012// for more information on using Contexts.
5013func (c *Pinpoint) GetExportJobWithContext(ctx aws.Context, input *GetExportJobInput, opts ...request.Option) (*GetExportJobOutput, error) {
5014	req, out := c.GetExportJobRequest(input)
5015	req.SetContext(ctx)
5016	req.ApplyOptions(opts...)
5017	return out, req.Send()
5018}
5019
5020const opGetExportJobs = "GetExportJobs"
5021
5022// GetExportJobsRequest generates a "aws/request.Request" representing the
5023// client's request for the GetExportJobs operation. The "output" return
5024// value will be populated with the request's response once the request completes
5025// successfully.
5026//
5027// Use "Send" method on the returned Request to send the API call to the service.
5028// the "output" return value is not valid until after Send returns without error.
5029//
5030// See GetExportJobs for more information on using the GetExportJobs
5031// API call, and error handling.
5032//
5033// This method is useful when you want to inject custom logic or configuration
5034// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5035//
5036//
5037//    // Example sending a request using the GetExportJobsRequest method.
5038//    req, resp := client.GetExportJobsRequest(params)
5039//
5040//    err := req.Send()
5041//    if err == nil { // resp is now filled
5042//        fmt.Println(resp)
5043//    }
5044//
5045// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJobs
5046func (c *Pinpoint) GetExportJobsRequest(input *GetExportJobsInput) (req *request.Request, output *GetExportJobsOutput) {
5047	op := &request.Operation{
5048		Name:       opGetExportJobs,
5049		HTTPMethod: "GET",
5050		HTTPPath:   "/v1/apps/{application-id}/jobs/export",
5051	}
5052
5053	if input == nil {
5054		input = &GetExportJobsInput{}
5055	}
5056
5057	output = &GetExportJobsOutput{}
5058	req = c.newRequest(op, input, output)
5059	return
5060}
5061
5062// GetExportJobs API operation for Amazon Pinpoint.
5063//
5064// Retrieves information about the status and settings of all the export jobs
5065// for an application.
5066//
5067// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5068// with awserr.Error's Code and Message methods to get detailed information about
5069// the error.
5070//
5071// See the AWS API reference guide for Amazon Pinpoint's
5072// API operation GetExportJobs for usage and error information.
5073//
5074// Returned Error Codes:
5075//   * ErrCodeBadRequestException "BadRequestException"
5076//   Provides information about an API request or response.
5077//
5078//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5079//   Provides information about an API request or response.
5080//
5081//   * ErrCodeForbiddenException "ForbiddenException"
5082//   Provides information about an API request or response.
5083//
5084//   * ErrCodeNotFoundException "NotFoundException"
5085//   Provides information about an API request or response.
5086//
5087//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5088//   Provides information about an API request or response.
5089//
5090//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5091//   Provides information about an API request or response.
5092//
5093// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJobs
5094func (c *Pinpoint) GetExportJobs(input *GetExportJobsInput) (*GetExportJobsOutput, error) {
5095	req, out := c.GetExportJobsRequest(input)
5096	return out, req.Send()
5097}
5098
5099// GetExportJobsWithContext is the same as GetExportJobs with the addition of
5100// the ability to pass a context and additional request options.
5101//
5102// See GetExportJobs for details on how to use this API operation.
5103//
5104// The context must be non-nil and will be used for request cancellation. If
5105// the context is nil a panic will occur. In the future the SDK may create
5106// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5107// for more information on using Contexts.
5108func (c *Pinpoint) GetExportJobsWithContext(ctx aws.Context, input *GetExportJobsInput, opts ...request.Option) (*GetExportJobsOutput, error) {
5109	req, out := c.GetExportJobsRequest(input)
5110	req.SetContext(ctx)
5111	req.ApplyOptions(opts...)
5112	return out, req.Send()
5113}
5114
5115const opGetGcmChannel = "GetGcmChannel"
5116
5117// GetGcmChannelRequest generates a "aws/request.Request" representing the
5118// client's request for the GetGcmChannel operation. The "output" return
5119// value will be populated with the request's response once the request completes
5120// successfully.
5121//
5122// Use "Send" method on the returned Request to send the API call to the service.
5123// the "output" return value is not valid until after Send returns without error.
5124//
5125// See GetGcmChannel for more information on using the GetGcmChannel
5126// API call, and error handling.
5127//
5128// This method is useful when you want to inject custom logic or configuration
5129// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5130//
5131//
5132//    // Example sending a request using the GetGcmChannelRequest method.
5133//    req, resp := client.GetGcmChannelRequest(params)
5134//
5135//    err := req.Send()
5136//    if err == nil { // resp is now filled
5137//        fmt.Println(resp)
5138//    }
5139//
5140// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetGcmChannel
5141func (c *Pinpoint) GetGcmChannelRequest(input *GetGcmChannelInput) (req *request.Request, output *GetGcmChannelOutput) {
5142	op := &request.Operation{
5143		Name:       opGetGcmChannel,
5144		HTTPMethod: "GET",
5145		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
5146	}
5147
5148	if input == nil {
5149		input = &GetGcmChannelInput{}
5150	}
5151
5152	output = &GetGcmChannelOutput{}
5153	req = c.newRequest(op, input, output)
5154	return
5155}
5156
5157// GetGcmChannel API operation for Amazon Pinpoint.
5158//
5159// Retrieves information about the status and settings of the GCM channel for
5160// an application.
5161//
5162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5163// with awserr.Error's Code and Message methods to get detailed information about
5164// the error.
5165//
5166// See the AWS API reference guide for Amazon Pinpoint's
5167// API operation GetGcmChannel for usage and error information.
5168//
5169// Returned Error Codes:
5170//   * ErrCodeBadRequestException "BadRequestException"
5171//   Provides information about an API request or response.
5172//
5173//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5174//   Provides information about an API request or response.
5175//
5176//   * ErrCodeForbiddenException "ForbiddenException"
5177//   Provides information about an API request or response.
5178//
5179//   * ErrCodeNotFoundException "NotFoundException"
5180//   Provides information about an API request or response.
5181//
5182//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5183//   Provides information about an API request or response.
5184//
5185//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5186//   Provides information about an API request or response.
5187//
5188// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetGcmChannel
5189func (c *Pinpoint) GetGcmChannel(input *GetGcmChannelInput) (*GetGcmChannelOutput, error) {
5190	req, out := c.GetGcmChannelRequest(input)
5191	return out, req.Send()
5192}
5193
5194// GetGcmChannelWithContext is the same as GetGcmChannel with the addition of
5195// the ability to pass a context and additional request options.
5196//
5197// See GetGcmChannel for details on how to use this API operation.
5198//
5199// The context must be non-nil and will be used for request cancellation. If
5200// the context is nil a panic will occur. In the future the SDK may create
5201// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5202// for more information on using Contexts.
5203func (c *Pinpoint) GetGcmChannelWithContext(ctx aws.Context, input *GetGcmChannelInput, opts ...request.Option) (*GetGcmChannelOutput, error) {
5204	req, out := c.GetGcmChannelRequest(input)
5205	req.SetContext(ctx)
5206	req.ApplyOptions(opts...)
5207	return out, req.Send()
5208}
5209
5210const opGetImportJob = "GetImportJob"
5211
5212// GetImportJobRequest generates a "aws/request.Request" representing the
5213// client's request for the GetImportJob operation. The "output" return
5214// value will be populated with the request's response once the request completes
5215// successfully.
5216//
5217// Use "Send" method on the returned Request to send the API call to the service.
5218// the "output" return value is not valid until after Send returns without error.
5219//
5220// See GetImportJob for more information on using the GetImportJob
5221// API call, and error handling.
5222//
5223// This method is useful when you want to inject custom logic or configuration
5224// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5225//
5226//
5227//    // Example sending a request using the GetImportJobRequest method.
5228//    req, resp := client.GetImportJobRequest(params)
5229//
5230//    err := req.Send()
5231//    if err == nil { // resp is now filled
5232//        fmt.Println(resp)
5233//    }
5234//
5235// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJob
5236func (c *Pinpoint) GetImportJobRequest(input *GetImportJobInput) (req *request.Request, output *GetImportJobOutput) {
5237	op := &request.Operation{
5238		Name:       opGetImportJob,
5239		HTTPMethod: "GET",
5240		HTTPPath:   "/v1/apps/{application-id}/jobs/import/{job-id}",
5241	}
5242
5243	if input == nil {
5244		input = &GetImportJobInput{}
5245	}
5246
5247	output = &GetImportJobOutput{}
5248	req = c.newRequest(op, input, output)
5249	return
5250}
5251
5252// GetImportJob API operation for Amazon Pinpoint.
5253//
5254// Retrieves information about the status and settings of a specific import
5255// job for an application.
5256//
5257// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5258// with awserr.Error's Code and Message methods to get detailed information about
5259// the error.
5260//
5261// See the AWS API reference guide for Amazon Pinpoint's
5262// API operation GetImportJob for usage and error information.
5263//
5264// Returned Error Codes:
5265//   * ErrCodeBadRequestException "BadRequestException"
5266//   Provides information about an API request or response.
5267//
5268//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5269//   Provides information about an API request or response.
5270//
5271//   * ErrCodeForbiddenException "ForbiddenException"
5272//   Provides information about an API request or response.
5273//
5274//   * ErrCodeNotFoundException "NotFoundException"
5275//   Provides information about an API request or response.
5276//
5277//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5278//   Provides information about an API request or response.
5279//
5280//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5281//   Provides information about an API request or response.
5282//
5283// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJob
5284func (c *Pinpoint) GetImportJob(input *GetImportJobInput) (*GetImportJobOutput, error) {
5285	req, out := c.GetImportJobRequest(input)
5286	return out, req.Send()
5287}
5288
5289// GetImportJobWithContext is the same as GetImportJob with the addition of
5290// the ability to pass a context and additional request options.
5291//
5292// See GetImportJob for details on how to use this API operation.
5293//
5294// The context must be non-nil and will be used for request cancellation. If
5295// the context is nil a panic will occur. In the future the SDK may create
5296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5297// for more information on using Contexts.
5298func (c *Pinpoint) GetImportJobWithContext(ctx aws.Context, input *GetImportJobInput, opts ...request.Option) (*GetImportJobOutput, error) {
5299	req, out := c.GetImportJobRequest(input)
5300	req.SetContext(ctx)
5301	req.ApplyOptions(opts...)
5302	return out, req.Send()
5303}
5304
5305const opGetImportJobs = "GetImportJobs"
5306
5307// GetImportJobsRequest generates a "aws/request.Request" representing the
5308// client's request for the GetImportJobs operation. The "output" return
5309// value will be populated with the request's response once the request completes
5310// successfully.
5311//
5312// Use "Send" method on the returned Request to send the API call to the service.
5313// the "output" return value is not valid until after Send returns without error.
5314//
5315// See GetImportJobs for more information on using the GetImportJobs
5316// API call, and error handling.
5317//
5318// This method is useful when you want to inject custom logic or configuration
5319// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5320//
5321//
5322//    // Example sending a request using the GetImportJobsRequest method.
5323//    req, resp := client.GetImportJobsRequest(params)
5324//
5325//    err := req.Send()
5326//    if err == nil { // resp is now filled
5327//        fmt.Println(resp)
5328//    }
5329//
5330// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobs
5331func (c *Pinpoint) GetImportJobsRequest(input *GetImportJobsInput) (req *request.Request, output *GetImportJobsOutput) {
5332	op := &request.Operation{
5333		Name:       opGetImportJobs,
5334		HTTPMethod: "GET",
5335		HTTPPath:   "/v1/apps/{application-id}/jobs/import",
5336	}
5337
5338	if input == nil {
5339		input = &GetImportJobsInput{}
5340	}
5341
5342	output = &GetImportJobsOutput{}
5343	req = c.newRequest(op, input, output)
5344	return
5345}
5346
5347// GetImportJobs API operation for Amazon Pinpoint.
5348//
5349// Retrieves information about the status and settings of all the import jobs
5350// for an application.
5351//
5352// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5353// with awserr.Error's Code and Message methods to get detailed information about
5354// the error.
5355//
5356// See the AWS API reference guide for Amazon Pinpoint's
5357// API operation GetImportJobs for usage and error information.
5358//
5359// Returned Error Codes:
5360//   * ErrCodeBadRequestException "BadRequestException"
5361//   Provides information about an API request or response.
5362//
5363//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5364//   Provides information about an API request or response.
5365//
5366//   * ErrCodeForbiddenException "ForbiddenException"
5367//   Provides information about an API request or response.
5368//
5369//   * ErrCodeNotFoundException "NotFoundException"
5370//   Provides information about an API request or response.
5371//
5372//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5373//   Provides information about an API request or response.
5374//
5375//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5376//   Provides information about an API request or response.
5377//
5378// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobs
5379func (c *Pinpoint) GetImportJobs(input *GetImportJobsInput) (*GetImportJobsOutput, error) {
5380	req, out := c.GetImportJobsRequest(input)
5381	return out, req.Send()
5382}
5383
5384// GetImportJobsWithContext is the same as GetImportJobs with the addition of
5385// the ability to pass a context and additional request options.
5386//
5387// See GetImportJobs for details on how to use this API operation.
5388//
5389// The context must be non-nil and will be used for request cancellation. If
5390// the context is nil a panic will occur. In the future the SDK may create
5391// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5392// for more information on using Contexts.
5393func (c *Pinpoint) GetImportJobsWithContext(ctx aws.Context, input *GetImportJobsInput, opts ...request.Option) (*GetImportJobsOutput, error) {
5394	req, out := c.GetImportJobsRequest(input)
5395	req.SetContext(ctx)
5396	req.ApplyOptions(opts...)
5397	return out, req.Send()
5398}
5399
5400const opGetJourney = "GetJourney"
5401
5402// GetJourneyRequest generates a "aws/request.Request" representing the
5403// client's request for the GetJourney operation. The "output" return
5404// value will be populated with the request's response once the request completes
5405// successfully.
5406//
5407// Use "Send" method on the returned Request to send the API call to the service.
5408// the "output" return value is not valid until after Send returns without error.
5409//
5410// See GetJourney for more information on using the GetJourney
5411// API call, and error handling.
5412//
5413// This method is useful when you want to inject custom logic or configuration
5414// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5415//
5416//
5417//    // Example sending a request using the GetJourneyRequest method.
5418//    req, resp := client.GetJourneyRequest(params)
5419//
5420//    err := req.Send()
5421//    if err == nil { // resp is now filled
5422//        fmt.Println(resp)
5423//    }
5424//
5425// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourney
5426func (c *Pinpoint) GetJourneyRequest(input *GetJourneyInput) (req *request.Request, output *GetJourneyOutput) {
5427	op := &request.Operation{
5428		Name:       opGetJourney,
5429		HTTPMethod: "GET",
5430		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}",
5431	}
5432
5433	if input == nil {
5434		input = &GetJourneyInput{}
5435	}
5436
5437	output = &GetJourneyOutput{}
5438	req = c.newRequest(op, input, output)
5439	return
5440}
5441
5442// GetJourney API operation for Amazon Pinpoint.
5443//
5444// Retrieves information about the status, configuration, and other settings
5445// for a journey.
5446//
5447// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5448// with awserr.Error's Code and Message methods to get detailed information about
5449// the error.
5450//
5451// See the AWS API reference guide for Amazon Pinpoint's
5452// API operation GetJourney for usage and error information.
5453//
5454// Returned Error Codes:
5455//   * ErrCodeBadRequestException "BadRequestException"
5456//   Provides information about an API request or response.
5457//
5458//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5459//   Provides information about an API request or response.
5460//
5461//   * ErrCodeForbiddenException "ForbiddenException"
5462//   Provides information about an API request or response.
5463//
5464//   * ErrCodeNotFoundException "NotFoundException"
5465//   Provides information about an API request or response.
5466//
5467//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5468//   Provides information about an API request or response.
5469//
5470//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5471//   Provides information about an API request or response.
5472//
5473// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourney
5474func (c *Pinpoint) GetJourney(input *GetJourneyInput) (*GetJourneyOutput, error) {
5475	req, out := c.GetJourneyRequest(input)
5476	return out, req.Send()
5477}
5478
5479// GetJourneyWithContext is the same as GetJourney with the addition of
5480// the ability to pass a context and additional request options.
5481//
5482// See GetJourney for details on how to use this API operation.
5483//
5484// The context must be non-nil and will be used for request cancellation. If
5485// the context is nil a panic will occur. In the future the SDK may create
5486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5487// for more information on using Contexts.
5488func (c *Pinpoint) GetJourneyWithContext(ctx aws.Context, input *GetJourneyInput, opts ...request.Option) (*GetJourneyOutput, error) {
5489	req, out := c.GetJourneyRequest(input)
5490	req.SetContext(ctx)
5491	req.ApplyOptions(opts...)
5492	return out, req.Send()
5493}
5494
5495const opGetJourneyDateRangeKpi = "GetJourneyDateRangeKpi"
5496
5497// GetJourneyDateRangeKpiRequest generates a "aws/request.Request" representing the
5498// client's request for the GetJourneyDateRangeKpi operation. The "output" return
5499// value will be populated with the request's response once the request completes
5500// successfully.
5501//
5502// Use "Send" method on the returned Request to send the API call to the service.
5503// the "output" return value is not valid until after Send returns without error.
5504//
5505// See GetJourneyDateRangeKpi for more information on using the GetJourneyDateRangeKpi
5506// API call, and error handling.
5507//
5508// This method is useful when you want to inject custom logic or configuration
5509// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5510//
5511//
5512//    // Example sending a request using the GetJourneyDateRangeKpiRequest method.
5513//    req, resp := client.GetJourneyDateRangeKpiRequest(params)
5514//
5515//    err := req.Send()
5516//    if err == nil { // resp is now filled
5517//        fmt.Println(resp)
5518//    }
5519//
5520// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyDateRangeKpi
5521func (c *Pinpoint) GetJourneyDateRangeKpiRequest(input *GetJourneyDateRangeKpiInput) (req *request.Request, output *GetJourneyDateRangeKpiOutput) {
5522	op := &request.Operation{
5523		Name:       opGetJourneyDateRangeKpi,
5524		HTTPMethod: "GET",
5525		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}/kpis/daterange/{kpi-name}",
5526	}
5527
5528	if input == nil {
5529		input = &GetJourneyDateRangeKpiInput{}
5530	}
5531
5532	output = &GetJourneyDateRangeKpiOutput{}
5533	req = c.newRequest(op, input, output)
5534	return
5535}
5536
5537// GetJourneyDateRangeKpi API operation for Amazon Pinpoint.
5538//
5539// Retrieves (queries) pre-aggregated data for a standard engagement metric
5540// that applies to a journey.
5541//
5542// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5543// with awserr.Error's Code and Message methods to get detailed information about
5544// the error.
5545//
5546// See the AWS API reference guide for Amazon Pinpoint's
5547// API operation GetJourneyDateRangeKpi for usage and error information.
5548//
5549// Returned Error Codes:
5550//   * ErrCodeBadRequestException "BadRequestException"
5551//   Provides information about an API request or response.
5552//
5553//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5554//   Provides information about an API request or response.
5555//
5556//   * ErrCodeForbiddenException "ForbiddenException"
5557//   Provides information about an API request or response.
5558//
5559//   * ErrCodeNotFoundException "NotFoundException"
5560//   Provides information about an API request or response.
5561//
5562//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5563//   Provides information about an API request or response.
5564//
5565//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5566//   Provides information about an API request or response.
5567//
5568// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyDateRangeKpi
5569func (c *Pinpoint) GetJourneyDateRangeKpi(input *GetJourneyDateRangeKpiInput) (*GetJourneyDateRangeKpiOutput, error) {
5570	req, out := c.GetJourneyDateRangeKpiRequest(input)
5571	return out, req.Send()
5572}
5573
5574// GetJourneyDateRangeKpiWithContext is the same as GetJourneyDateRangeKpi with the addition of
5575// the ability to pass a context and additional request options.
5576//
5577// See GetJourneyDateRangeKpi for details on how to use this API operation.
5578//
5579// The context must be non-nil and will be used for request cancellation. If
5580// the context is nil a panic will occur. In the future the SDK may create
5581// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5582// for more information on using Contexts.
5583func (c *Pinpoint) GetJourneyDateRangeKpiWithContext(ctx aws.Context, input *GetJourneyDateRangeKpiInput, opts ...request.Option) (*GetJourneyDateRangeKpiOutput, error) {
5584	req, out := c.GetJourneyDateRangeKpiRequest(input)
5585	req.SetContext(ctx)
5586	req.ApplyOptions(opts...)
5587	return out, req.Send()
5588}
5589
5590const opGetJourneyExecutionActivityMetrics = "GetJourneyExecutionActivityMetrics"
5591
5592// GetJourneyExecutionActivityMetricsRequest generates a "aws/request.Request" representing the
5593// client's request for the GetJourneyExecutionActivityMetrics operation. The "output" return
5594// value will be populated with the request's response once the request completes
5595// successfully.
5596//
5597// Use "Send" method on the returned Request to send the API call to the service.
5598// the "output" return value is not valid until after Send returns without error.
5599//
5600// See GetJourneyExecutionActivityMetrics for more information on using the GetJourneyExecutionActivityMetrics
5601// API call, and error handling.
5602//
5603// This method is useful when you want to inject custom logic or configuration
5604// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5605//
5606//
5607//    // Example sending a request using the GetJourneyExecutionActivityMetricsRequest method.
5608//    req, resp := client.GetJourneyExecutionActivityMetricsRequest(params)
5609//
5610//    err := req.Send()
5611//    if err == nil { // resp is now filled
5612//        fmt.Println(resp)
5613//    }
5614//
5615// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionActivityMetrics
5616func (c *Pinpoint) GetJourneyExecutionActivityMetricsRequest(input *GetJourneyExecutionActivityMetricsInput) (req *request.Request, output *GetJourneyExecutionActivityMetricsOutput) {
5617	op := &request.Operation{
5618		Name:       opGetJourneyExecutionActivityMetrics,
5619		HTTPMethod: "GET",
5620		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}/activities/{journey-activity-id}/execution-metrics",
5621	}
5622
5623	if input == nil {
5624		input = &GetJourneyExecutionActivityMetricsInput{}
5625	}
5626
5627	output = &GetJourneyExecutionActivityMetricsOutput{}
5628	req = c.newRequest(op, input, output)
5629	return
5630}
5631
5632// GetJourneyExecutionActivityMetrics API operation for Amazon Pinpoint.
5633//
5634// Retrieves (queries) pre-aggregated data for a standard execution metric that
5635// applies to a journey activity.
5636//
5637// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5638// with awserr.Error's Code and Message methods to get detailed information about
5639// the error.
5640//
5641// See the AWS API reference guide for Amazon Pinpoint's
5642// API operation GetJourneyExecutionActivityMetrics for usage and error information.
5643//
5644// Returned Error Codes:
5645//   * ErrCodeBadRequestException "BadRequestException"
5646//   Provides information about an API request or response.
5647//
5648//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5649//   Provides information about an API request or response.
5650//
5651//   * ErrCodeForbiddenException "ForbiddenException"
5652//   Provides information about an API request or response.
5653//
5654//   * ErrCodeNotFoundException "NotFoundException"
5655//   Provides information about an API request or response.
5656//
5657//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5658//   Provides information about an API request or response.
5659//
5660//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5661//   Provides information about an API request or response.
5662//
5663// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionActivityMetrics
5664func (c *Pinpoint) GetJourneyExecutionActivityMetrics(input *GetJourneyExecutionActivityMetricsInput) (*GetJourneyExecutionActivityMetricsOutput, error) {
5665	req, out := c.GetJourneyExecutionActivityMetricsRequest(input)
5666	return out, req.Send()
5667}
5668
5669// GetJourneyExecutionActivityMetricsWithContext is the same as GetJourneyExecutionActivityMetrics with the addition of
5670// the ability to pass a context and additional request options.
5671//
5672// See GetJourneyExecutionActivityMetrics for details on how to use this API operation.
5673//
5674// The context must be non-nil and will be used for request cancellation. If
5675// the context is nil a panic will occur. In the future the SDK may create
5676// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5677// for more information on using Contexts.
5678func (c *Pinpoint) GetJourneyExecutionActivityMetricsWithContext(ctx aws.Context, input *GetJourneyExecutionActivityMetricsInput, opts ...request.Option) (*GetJourneyExecutionActivityMetricsOutput, error) {
5679	req, out := c.GetJourneyExecutionActivityMetricsRequest(input)
5680	req.SetContext(ctx)
5681	req.ApplyOptions(opts...)
5682	return out, req.Send()
5683}
5684
5685const opGetJourneyExecutionMetrics = "GetJourneyExecutionMetrics"
5686
5687// GetJourneyExecutionMetricsRequest generates a "aws/request.Request" representing the
5688// client's request for the GetJourneyExecutionMetrics operation. The "output" return
5689// value will be populated with the request's response once the request completes
5690// successfully.
5691//
5692// Use "Send" method on the returned Request to send the API call to the service.
5693// the "output" return value is not valid until after Send returns without error.
5694//
5695// See GetJourneyExecutionMetrics for more information on using the GetJourneyExecutionMetrics
5696// API call, and error handling.
5697//
5698// This method is useful when you want to inject custom logic or configuration
5699// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5700//
5701//
5702//    // Example sending a request using the GetJourneyExecutionMetricsRequest method.
5703//    req, resp := client.GetJourneyExecutionMetricsRequest(params)
5704//
5705//    err := req.Send()
5706//    if err == nil { // resp is now filled
5707//        fmt.Println(resp)
5708//    }
5709//
5710// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionMetrics
5711func (c *Pinpoint) GetJourneyExecutionMetricsRequest(input *GetJourneyExecutionMetricsInput) (req *request.Request, output *GetJourneyExecutionMetricsOutput) {
5712	op := &request.Operation{
5713		Name:       opGetJourneyExecutionMetrics,
5714		HTTPMethod: "GET",
5715		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}/execution-metrics",
5716	}
5717
5718	if input == nil {
5719		input = &GetJourneyExecutionMetricsInput{}
5720	}
5721
5722	output = &GetJourneyExecutionMetricsOutput{}
5723	req = c.newRequest(op, input, output)
5724	return
5725}
5726
5727// GetJourneyExecutionMetrics API operation for Amazon Pinpoint.
5728//
5729// Retrieves (queries) pre-aggregated data for a standard execution metric that
5730// applies to a journey.
5731//
5732// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5733// with awserr.Error's Code and Message methods to get detailed information about
5734// the error.
5735//
5736// See the AWS API reference guide for Amazon Pinpoint's
5737// API operation GetJourneyExecutionMetrics for usage and error information.
5738//
5739// Returned Error Codes:
5740//   * ErrCodeBadRequestException "BadRequestException"
5741//   Provides information about an API request or response.
5742//
5743//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5744//   Provides information about an API request or response.
5745//
5746//   * ErrCodeForbiddenException "ForbiddenException"
5747//   Provides information about an API request or response.
5748//
5749//   * ErrCodeNotFoundException "NotFoundException"
5750//   Provides information about an API request or response.
5751//
5752//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5753//   Provides information about an API request or response.
5754//
5755//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5756//   Provides information about an API request or response.
5757//
5758// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyExecutionMetrics
5759func (c *Pinpoint) GetJourneyExecutionMetrics(input *GetJourneyExecutionMetricsInput) (*GetJourneyExecutionMetricsOutput, error) {
5760	req, out := c.GetJourneyExecutionMetricsRequest(input)
5761	return out, req.Send()
5762}
5763
5764// GetJourneyExecutionMetricsWithContext is the same as GetJourneyExecutionMetrics with the addition of
5765// the ability to pass a context and additional request options.
5766//
5767// See GetJourneyExecutionMetrics for details on how to use this API operation.
5768//
5769// The context must be non-nil and will be used for request cancellation. If
5770// the context is nil a panic will occur. In the future the SDK may create
5771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5772// for more information on using Contexts.
5773func (c *Pinpoint) GetJourneyExecutionMetricsWithContext(ctx aws.Context, input *GetJourneyExecutionMetricsInput, opts ...request.Option) (*GetJourneyExecutionMetricsOutput, error) {
5774	req, out := c.GetJourneyExecutionMetricsRequest(input)
5775	req.SetContext(ctx)
5776	req.ApplyOptions(opts...)
5777	return out, req.Send()
5778}
5779
5780const opGetPushTemplate = "GetPushTemplate"
5781
5782// GetPushTemplateRequest generates a "aws/request.Request" representing the
5783// client's request for the GetPushTemplate operation. The "output" return
5784// value will be populated with the request's response once the request completes
5785// successfully.
5786//
5787// Use "Send" method on the returned Request to send the API call to the service.
5788// the "output" return value is not valid until after Send returns without error.
5789//
5790// See GetPushTemplate for more information on using the GetPushTemplate
5791// API call, and error handling.
5792//
5793// This method is useful when you want to inject custom logic or configuration
5794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5795//
5796//
5797//    // Example sending a request using the GetPushTemplateRequest method.
5798//    req, resp := client.GetPushTemplateRequest(params)
5799//
5800//    err := req.Send()
5801//    if err == nil { // resp is now filled
5802//        fmt.Println(resp)
5803//    }
5804//
5805// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetPushTemplate
5806func (c *Pinpoint) GetPushTemplateRequest(input *GetPushTemplateInput) (req *request.Request, output *GetPushTemplateOutput) {
5807	op := &request.Operation{
5808		Name:       opGetPushTemplate,
5809		HTTPMethod: "GET",
5810		HTTPPath:   "/v1/templates/{template-name}/push",
5811	}
5812
5813	if input == nil {
5814		input = &GetPushTemplateInput{}
5815	}
5816
5817	output = &GetPushTemplateOutput{}
5818	req = c.newRequest(op, input, output)
5819	return
5820}
5821
5822// GetPushTemplate API operation for Amazon Pinpoint.
5823//
5824// Retrieves the content and settings of a message template for messages that
5825// are sent through a push notification channel.
5826//
5827// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5828// with awserr.Error's Code and Message methods to get detailed information about
5829// the error.
5830//
5831// See the AWS API reference guide for Amazon Pinpoint's
5832// API operation GetPushTemplate for usage and error information.
5833//
5834// Returned Error Codes:
5835//   * ErrCodeBadRequestException "BadRequestException"
5836//   Provides information about an API request or response.
5837//
5838//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5839//   Provides information about an API request or response.
5840//
5841//   * ErrCodeForbiddenException "ForbiddenException"
5842//   Provides information about an API request or response.
5843//
5844//   * ErrCodeNotFoundException "NotFoundException"
5845//   Provides information about an API request or response.
5846//
5847//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5848//   Provides information about an API request or response.
5849//
5850//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5851//   Provides information about an API request or response.
5852//
5853// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetPushTemplate
5854func (c *Pinpoint) GetPushTemplate(input *GetPushTemplateInput) (*GetPushTemplateOutput, error) {
5855	req, out := c.GetPushTemplateRequest(input)
5856	return out, req.Send()
5857}
5858
5859// GetPushTemplateWithContext is the same as GetPushTemplate with the addition of
5860// the ability to pass a context and additional request options.
5861//
5862// See GetPushTemplate for details on how to use this API operation.
5863//
5864// The context must be non-nil and will be used for request cancellation. If
5865// the context is nil a panic will occur. In the future the SDK may create
5866// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5867// for more information on using Contexts.
5868func (c *Pinpoint) GetPushTemplateWithContext(ctx aws.Context, input *GetPushTemplateInput, opts ...request.Option) (*GetPushTemplateOutput, error) {
5869	req, out := c.GetPushTemplateRequest(input)
5870	req.SetContext(ctx)
5871	req.ApplyOptions(opts...)
5872	return out, req.Send()
5873}
5874
5875const opGetSegment = "GetSegment"
5876
5877// GetSegmentRequest generates a "aws/request.Request" representing the
5878// client's request for the GetSegment operation. The "output" return
5879// value will be populated with the request's response once the request completes
5880// successfully.
5881//
5882// Use "Send" method on the returned Request to send the API call to the service.
5883// the "output" return value is not valid until after Send returns without error.
5884//
5885// See GetSegment for more information on using the GetSegment
5886// API call, and error handling.
5887//
5888// This method is useful when you want to inject custom logic or configuration
5889// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5890//
5891//
5892//    // Example sending a request using the GetSegmentRequest method.
5893//    req, resp := client.GetSegmentRequest(params)
5894//
5895//    err := req.Send()
5896//    if err == nil { // resp is now filled
5897//        fmt.Println(resp)
5898//    }
5899//
5900// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment
5901func (c *Pinpoint) GetSegmentRequest(input *GetSegmentInput) (req *request.Request, output *GetSegmentOutput) {
5902	op := &request.Operation{
5903		Name:       opGetSegment,
5904		HTTPMethod: "GET",
5905		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
5906	}
5907
5908	if input == nil {
5909		input = &GetSegmentInput{}
5910	}
5911
5912	output = &GetSegmentOutput{}
5913	req = c.newRequest(op, input, output)
5914	return
5915}
5916
5917// GetSegment API operation for Amazon Pinpoint.
5918//
5919// Retrieves information about the configuration, dimension, and other settings
5920// for a specific segment that's associated with an application.
5921//
5922// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5923// with awserr.Error's Code and Message methods to get detailed information about
5924// the error.
5925//
5926// See the AWS API reference guide for Amazon Pinpoint's
5927// API operation GetSegment for usage and error information.
5928//
5929// Returned Error Codes:
5930//   * ErrCodeBadRequestException "BadRequestException"
5931//   Provides information about an API request or response.
5932//
5933//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5934//   Provides information about an API request or response.
5935//
5936//   * ErrCodeForbiddenException "ForbiddenException"
5937//   Provides information about an API request or response.
5938//
5939//   * ErrCodeNotFoundException "NotFoundException"
5940//   Provides information about an API request or response.
5941//
5942//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5943//   Provides information about an API request or response.
5944//
5945//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5946//   Provides information about an API request or response.
5947//
5948// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment
5949func (c *Pinpoint) GetSegment(input *GetSegmentInput) (*GetSegmentOutput, error) {
5950	req, out := c.GetSegmentRequest(input)
5951	return out, req.Send()
5952}
5953
5954// GetSegmentWithContext is the same as GetSegment with the addition of
5955// the ability to pass a context and additional request options.
5956//
5957// See GetSegment for details on how to use this API operation.
5958//
5959// The context must be non-nil and will be used for request cancellation. If
5960// the context is nil a panic will occur. In the future the SDK may create
5961// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5962// for more information on using Contexts.
5963func (c *Pinpoint) GetSegmentWithContext(ctx aws.Context, input *GetSegmentInput, opts ...request.Option) (*GetSegmentOutput, error) {
5964	req, out := c.GetSegmentRequest(input)
5965	req.SetContext(ctx)
5966	req.ApplyOptions(opts...)
5967	return out, req.Send()
5968}
5969
5970const opGetSegmentExportJobs = "GetSegmentExportJobs"
5971
5972// GetSegmentExportJobsRequest generates a "aws/request.Request" representing the
5973// client's request for the GetSegmentExportJobs operation. The "output" return
5974// value will be populated with the request's response once the request completes
5975// successfully.
5976//
5977// Use "Send" method on the returned Request to send the API call to the service.
5978// the "output" return value is not valid until after Send returns without error.
5979//
5980// See GetSegmentExportJobs for more information on using the GetSegmentExportJobs
5981// API call, and error handling.
5982//
5983// This method is useful when you want to inject custom logic or configuration
5984// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5985//
5986//
5987//    // Example sending a request using the GetSegmentExportJobsRequest method.
5988//    req, resp := client.GetSegmentExportJobsRequest(params)
5989//
5990//    err := req.Send()
5991//    if err == nil { // resp is now filled
5992//        fmt.Println(resp)
5993//    }
5994//
5995// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs
5996func (c *Pinpoint) GetSegmentExportJobsRequest(input *GetSegmentExportJobsInput) (req *request.Request, output *GetSegmentExportJobsOutput) {
5997	op := &request.Operation{
5998		Name:       opGetSegmentExportJobs,
5999		HTTPMethod: "GET",
6000		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/jobs/export",
6001	}
6002
6003	if input == nil {
6004		input = &GetSegmentExportJobsInput{}
6005	}
6006
6007	output = &GetSegmentExportJobsOutput{}
6008	req = c.newRequest(op, input, output)
6009	return
6010}
6011
6012// GetSegmentExportJobs API operation for Amazon Pinpoint.
6013//
6014// Retrieves information about the status and settings of the export jobs for
6015// a segment.
6016//
6017// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6018// with awserr.Error's Code and Message methods to get detailed information about
6019// the error.
6020//
6021// See the AWS API reference guide for Amazon Pinpoint's
6022// API operation GetSegmentExportJobs for usage and error information.
6023//
6024// Returned Error Codes:
6025//   * ErrCodeBadRequestException "BadRequestException"
6026//   Provides information about an API request or response.
6027//
6028//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6029//   Provides information about an API request or response.
6030//
6031//   * ErrCodeForbiddenException "ForbiddenException"
6032//   Provides information about an API request or response.
6033//
6034//   * ErrCodeNotFoundException "NotFoundException"
6035//   Provides information about an API request or response.
6036//
6037//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6038//   Provides information about an API request or response.
6039//
6040//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6041//   Provides information about an API request or response.
6042//
6043// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs
6044func (c *Pinpoint) GetSegmentExportJobs(input *GetSegmentExportJobsInput) (*GetSegmentExportJobsOutput, error) {
6045	req, out := c.GetSegmentExportJobsRequest(input)
6046	return out, req.Send()
6047}
6048
6049// GetSegmentExportJobsWithContext is the same as GetSegmentExportJobs with the addition of
6050// the ability to pass a context and additional request options.
6051//
6052// See GetSegmentExportJobs for details on how to use this API operation.
6053//
6054// The context must be non-nil and will be used for request cancellation. If
6055// the context is nil a panic will occur. In the future the SDK may create
6056// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6057// for more information on using Contexts.
6058func (c *Pinpoint) GetSegmentExportJobsWithContext(ctx aws.Context, input *GetSegmentExportJobsInput, opts ...request.Option) (*GetSegmentExportJobsOutput, error) {
6059	req, out := c.GetSegmentExportJobsRequest(input)
6060	req.SetContext(ctx)
6061	req.ApplyOptions(opts...)
6062	return out, req.Send()
6063}
6064
6065const opGetSegmentImportJobs = "GetSegmentImportJobs"
6066
6067// GetSegmentImportJobsRequest generates a "aws/request.Request" representing the
6068// client's request for the GetSegmentImportJobs operation. The "output" return
6069// value will be populated with the request's response once the request completes
6070// successfully.
6071//
6072// Use "Send" method on the returned Request to send the API call to the service.
6073// the "output" return value is not valid until after Send returns without error.
6074//
6075// See GetSegmentImportJobs for more information on using the GetSegmentImportJobs
6076// API call, and error handling.
6077//
6078// This method is useful when you want to inject custom logic or configuration
6079// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6080//
6081//
6082//    // Example sending a request using the GetSegmentImportJobsRequest method.
6083//    req, resp := client.GetSegmentImportJobsRequest(params)
6084//
6085//    err := req.Send()
6086//    if err == nil { // resp is now filled
6087//        fmt.Println(resp)
6088//    }
6089//
6090// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs
6091func (c *Pinpoint) GetSegmentImportJobsRequest(input *GetSegmentImportJobsInput) (req *request.Request, output *GetSegmentImportJobsOutput) {
6092	op := &request.Operation{
6093		Name:       opGetSegmentImportJobs,
6094		HTTPMethod: "GET",
6095		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/jobs/import",
6096	}
6097
6098	if input == nil {
6099		input = &GetSegmentImportJobsInput{}
6100	}
6101
6102	output = &GetSegmentImportJobsOutput{}
6103	req = c.newRequest(op, input, output)
6104	return
6105}
6106
6107// GetSegmentImportJobs API operation for Amazon Pinpoint.
6108//
6109// Retrieves information about the status and settings of the import jobs for
6110// a segment.
6111//
6112// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6113// with awserr.Error's Code and Message methods to get detailed information about
6114// the error.
6115//
6116// See the AWS API reference guide for Amazon Pinpoint's
6117// API operation GetSegmentImportJobs for usage and error information.
6118//
6119// Returned Error Codes:
6120//   * ErrCodeBadRequestException "BadRequestException"
6121//   Provides information about an API request or response.
6122//
6123//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6124//   Provides information about an API request or response.
6125//
6126//   * ErrCodeForbiddenException "ForbiddenException"
6127//   Provides information about an API request or response.
6128//
6129//   * ErrCodeNotFoundException "NotFoundException"
6130//   Provides information about an API request or response.
6131//
6132//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6133//   Provides information about an API request or response.
6134//
6135//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6136//   Provides information about an API request or response.
6137//
6138// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs
6139func (c *Pinpoint) GetSegmentImportJobs(input *GetSegmentImportJobsInput) (*GetSegmentImportJobsOutput, error) {
6140	req, out := c.GetSegmentImportJobsRequest(input)
6141	return out, req.Send()
6142}
6143
6144// GetSegmentImportJobsWithContext is the same as GetSegmentImportJobs with the addition of
6145// the ability to pass a context and additional request options.
6146//
6147// See GetSegmentImportJobs for details on how to use this API operation.
6148//
6149// The context must be non-nil and will be used for request cancellation. If
6150// the context is nil a panic will occur. In the future the SDK may create
6151// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6152// for more information on using Contexts.
6153func (c *Pinpoint) GetSegmentImportJobsWithContext(ctx aws.Context, input *GetSegmentImportJobsInput, opts ...request.Option) (*GetSegmentImportJobsOutput, error) {
6154	req, out := c.GetSegmentImportJobsRequest(input)
6155	req.SetContext(ctx)
6156	req.ApplyOptions(opts...)
6157	return out, req.Send()
6158}
6159
6160const opGetSegmentVersion = "GetSegmentVersion"
6161
6162// GetSegmentVersionRequest generates a "aws/request.Request" representing the
6163// client's request for the GetSegmentVersion operation. The "output" return
6164// value will be populated with the request's response once the request completes
6165// successfully.
6166//
6167// Use "Send" method on the returned Request to send the API call to the service.
6168// the "output" return value is not valid until after Send returns without error.
6169//
6170// See GetSegmentVersion for more information on using the GetSegmentVersion
6171// API call, and error handling.
6172//
6173// This method is useful when you want to inject custom logic or configuration
6174// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6175//
6176//
6177//    // Example sending a request using the GetSegmentVersionRequest method.
6178//    req, resp := client.GetSegmentVersionRequest(params)
6179//
6180//    err := req.Send()
6181//    if err == nil { // resp is now filled
6182//        fmt.Println(resp)
6183//    }
6184//
6185// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion
6186func (c *Pinpoint) GetSegmentVersionRequest(input *GetSegmentVersionInput) (req *request.Request, output *GetSegmentVersionOutput) {
6187	op := &request.Operation{
6188		Name:       opGetSegmentVersion,
6189		HTTPMethod: "GET",
6190		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/versions/{version}",
6191	}
6192
6193	if input == nil {
6194		input = &GetSegmentVersionInput{}
6195	}
6196
6197	output = &GetSegmentVersionOutput{}
6198	req = c.newRequest(op, input, output)
6199	return
6200}
6201
6202// GetSegmentVersion API operation for Amazon Pinpoint.
6203//
6204// Retrieves information about the configuration, dimension, and other settings
6205// for a specific version of a segment that's associated with an application.
6206//
6207// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6208// with awserr.Error's Code and Message methods to get detailed information about
6209// the error.
6210//
6211// See the AWS API reference guide for Amazon Pinpoint's
6212// API operation GetSegmentVersion for usage and error information.
6213//
6214// Returned Error Codes:
6215//   * ErrCodeBadRequestException "BadRequestException"
6216//   Provides information about an API request or response.
6217//
6218//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6219//   Provides information about an API request or response.
6220//
6221//   * ErrCodeForbiddenException "ForbiddenException"
6222//   Provides information about an API request or response.
6223//
6224//   * ErrCodeNotFoundException "NotFoundException"
6225//   Provides information about an API request or response.
6226//
6227//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6228//   Provides information about an API request or response.
6229//
6230//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6231//   Provides information about an API request or response.
6232//
6233// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion
6234func (c *Pinpoint) GetSegmentVersion(input *GetSegmentVersionInput) (*GetSegmentVersionOutput, error) {
6235	req, out := c.GetSegmentVersionRequest(input)
6236	return out, req.Send()
6237}
6238
6239// GetSegmentVersionWithContext is the same as GetSegmentVersion with the addition of
6240// the ability to pass a context and additional request options.
6241//
6242// See GetSegmentVersion for details on how to use this API operation.
6243//
6244// The context must be non-nil and will be used for request cancellation. If
6245// the context is nil a panic will occur. In the future the SDK may create
6246// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6247// for more information on using Contexts.
6248func (c *Pinpoint) GetSegmentVersionWithContext(ctx aws.Context, input *GetSegmentVersionInput, opts ...request.Option) (*GetSegmentVersionOutput, error) {
6249	req, out := c.GetSegmentVersionRequest(input)
6250	req.SetContext(ctx)
6251	req.ApplyOptions(opts...)
6252	return out, req.Send()
6253}
6254
6255const opGetSegmentVersions = "GetSegmentVersions"
6256
6257// GetSegmentVersionsRequest generates a "aws/request.Request" representing the
6258// client's request for the GetSegmentVersions operation. The "output" return
6259// value will be populated with the request's response once the request completes
6260// successfully.
6261//
6262// Use "Send" method on the returned Request to send the API call to the service.
6263// the "output" return value is not valid until after Send returns without error.
6264//
6265// See GetSegmentVersions for more information on using the GetSegmentVersions
6266// API call, and error handling.
6267//
6268// This method is useful when you want to inject custom logic or configuration
6269// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6270//
6271//
6272//    // Example sending a request using the GetSegmentVersionsRequest method.
6273//    req, resp := client.GetSegmentVersionsRequest(params)
6274//
6275//    err := req.Send()
6276//    if err == nil { // resp is now filled
6277//        fmt.Println(resp)
6278//    }
6279//
6280// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions
6281func (c *Pinpoint) GetSegmentVersionsRequest(input *GetSegmentVersionsInput) (req *request.Request, output *GetSegmentVersionsOutput) {
6282	op := &request.Operation{
6283		Name:       opGetSegmentVersions,
6284		HTTPMethod: "GET",
6285		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/versions",
6286	}
6287
6288	if input == nil {
6289		input = &GetSegmentVersionsInput{}
6290	}
6291
6292	output = &GetSegmentVersionsOutput{}
6293	req = c.newRequest(op, input, output)
6294	return
6295}
6296
6297// GetSegmentVersions API operation for Amazon Pinpoint.
6298//
6299// Retrieves information about the configuration, dimension, and other settings
6300// for all the versions of a specific segment that's associated with an application.
6301//
6302// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6303// with awserr.Error's Code and Message methods to get detailed information about
6304// the error.
6305//
6306// See the AWS API reference guide for Amazon Pinpoint's
6307// API operation GetSegmentVersions for usage and error information.
6308//
6309// Returned Error Codes:
6310//   * ErrCodeBadRequestException "BadRequestException"
6311//   Provides information about an API request or response.
6312//
6313//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6314//   Provides information about an API request or response.
6315//
6316//   * ErrCodeForbiddenException "ForbiddenException"
6317//   Provides information about an API request or response.
6318//
6319//   * ErrCodeNotFoundException "NotFoundException"
6320//   Provides information about an API request or response.
6321//
6322//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6323//   Provides information about an API request or response.
6324//
6325//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6326//   Provides information about an API request or response.
6327//
6328// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions
6329func (c *Pinpoint) GetSegmentVersions(input *GetSegmentVersionsInput) (*GetSegmentVersionsOutput, error) {
6330	req, out := c.GetSegmentVersionsRequest(input)
6331	return out, req.Send()
6332}
6333
6334// GetSegmentVersionsWithContext is the same as GetSegmentVersions with the addition of
6335// the ability to pass a context and additional request options.
6336//
6337// See GetSegmentVersions for details on how to use this API operation.
6338//
6339// The context must be non-nil and will be used for request cancellation. If
6340// the context is nil a panic will occur. In the future the SDK may create
6341// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6342// for more information on using Contexts.
6343func (c *Pinpoint) GetSegmentVersionsWithContext(ctx aws.Context, input *GetSegmentVersionsInput, opts ...request.Option) (*GetSegmentVersionsOutput, error) {
6344	req, out := c.GetSegmentVersionsRequest(input)
6345	req.SetContext(ctx)
6346	req.ApplyOptions(opts...)
6347	return out, req.Send()
6348}
6349
6350const opGetSegments = "GetSegments"
6351
6352// GetSegmentsRequest generates a "aws/request.Request" representing the
6353// client's request for the GetSegments operation. The "output" return
6354// value will be populated with the request's response once the request completes
6355// successfully.
6356//
6357// Use "Send" method on the returned Request to send the API call to the service.
6358// the "output" return value is not valid until after Send returns without error.
6359//
6360// See GetSegments for more information on using the GetSegments
6361// API call, and error handling.
6362//
6363// This method is useful when you want to inject custom logic or configuration
6364// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6365//
6366//
6367//    // Example sending a request using the GetSegmentsRequest method.
6368//    req, resp := client.GetSegmentsRequest(params)
6369//
6370//    err := req.Send()
6371//    if err == nil { // resp is now filled
6372//        fmt.Println(resp)
6373//    }
6374//
6375// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments
6376func (c *Pinpoint) GetSegmentsRequest(input *GetSegmentsInput) (req *request.Request, output *GetSegmentsOutput) {
6377	op := &request.Operation{
6378		Name:       opGetSegments,
6379		HTTPMethod: "GET",
6380		HTTPPath:   "/v1/apps/{application-id}/segments",
6381	}
6382
6383	if input == nil {
6384		input = &GetSegmentsInput{}
6385	}
6386
6387	output = &GetSegmentsOutput{}
6388	req = c.newRequest(op, input, output)
6389	return
6390}
6391
6392// GetSegments API operation for Amazon Pinpoint.
6393//
6394// Retrieves information about the configuration, dimension, and other settings
6395// for all the segments that are associated with an application.
6396//
6397// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6398// with awserr.Error's Code and Message methods to get detailed information about
6399// the error.
6400//
6401// See the AWS API reference guide for Amazon Pinpoint's
6402// API operation GetSegments for usage and error information.
6403//
6404// Returned Error Codes:
6405//   * ErrCodeBadRequestException "BadRequestException"
6406//   Provides information about an API request or response.
6407//
6408//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6409//   Provides information about an API request or response.
6410//
6411//   * ErrCodeForbiddenException "ForbiddenException"
6412//   Provides information about an API request or response.
6413//
6414//   * ErrCodeNotFoundException "NotFoundException"
6415//   Provides information about an API request or response.
6416//
6417//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6418//   Provides information about an API request or response.
6419//
6420//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6421//   Provides information about an API request or response.
6422//
6423// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments
6424func (c *Pinpoint) GetSegments(input *GetSegmentsInput) (*GetSegmentsOutput, error) {
6425	req, out := c.GetSegmentsRequest(input)
6426	return out, req.Send()
6427}
6428
6429// GetSegmentsWithContext is the same as GetSegments with the addition of
6430// the ability to pass a context and additional request options.
6431//
6432// See GetSegments for details on how to use this API operation.
6433//
6434// The context must be non-nil and will be used for request cancellation. If
6435// the context is nil a panic will occur. In the future the SDK may create
6436// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6437// for more information on using Contexts.
6438func (c *Pinpoint) GetSegmentsWithContext(ctx aws.Context, input *GetSegmentsInput, opts ...request.Option) (*GetSegmentsOutput, error) {
6439	req, out := c.GetSegmentsRequest(input)
6440	req.SetContext(ctx)
6441	req.ApplyOptions(opts...)
6442	return out, req.Send()
6443}
6444
6445const opGetSmsChannel = "GetSmsChannel"
6446
6447// GetSmsChannelRequest generates a "aws/request.Request" representing the
6448// client's request for the GetSmsChannel operation. The "output" return
6449// value will be populated with the request's response once the request completes
6450// successfully.
6451//
6452// Use "Send" method on the returned Request to send the API call to the service.
6453// the "output" return value is not valid until after Send returns without error.
6454//
6455// See GetSmsChannel for more information on using the GetSmsChannel
6456// API call, and error handling.
6457//
6458// This method is useful when you want to inject custom logic or configuration
6459// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6460//
6461//
6462//    // Example sending a request using the GetSmsChannelRequest method.
6463//    req, resp := client.GetSmsChannelRequest(params)
6464//
6465//    err := req.Send()
6466//    if err == nil { // resp is now filled
6467//        fmt.Println(resp)
6468//    }
6469//
6470// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel
6471func (c *Pinpoint) GetSmsChannelRequest(input *GetSmsChannelInput) (req *request.Request, output *GetSmsChannelOutput) {
6472	op := &request.Operation{
6473		Name:       opGetSmsChannel,
6474		HTTPMethod: "GET",
6475		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
6476	}
6477
6478	if input == nil {
6479		input = &GetSmsChannelInput{}
6480	}
6481
6482	output = &GetSmsChannelOutput{}
6483	req = c.newRequest(op, input, output)
6484	return
6485}
6486
6487// GetSmsChannel API operation for Amazon Pinpoint.
6488//
6489// Retrieves information about the status and settings of the SMS channel for
6490// an application.
6491//
6492// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6493// with awserr.Error's Code and Message methods to get detailed information about
6494// the error.
6495//
6496// See the AWS API reference guide for Amazon Pinpoint's
6497// API operation GetSmsChannel for usage and error information.
6498//
6499// Returned Error Codes:
6500//   * ErrCodeBadRequestException "BadRequestException"
6501//   Provides information about an API request or response.
6502//
6503//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6504//   Provides information about an API request or response.
6505//
6506//   * ErrCodeForbiddenException "ForbiddenException"
6507//   Provides information about an API request or response.
6508//
6509//   * ErrCodeNotFoundException "NotFoundException"
6510//   Provides information about an API request or response.
6511//
6512//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6513//   Provides information about an API request or response.
6514//
6515//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6516//   Provides information about an API request or response.
6517//
6518// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel
6519func (c *Pinpoint) GetSmsChannel(input *GetSmsChannelInput) (*GetSmsChannelOutput, error) {
6520	req, out := c.GetSmsChannelRequest(input)
6521	return out, req.Send()
6522}
6523
6524// GetSmsChannelWithContext is the same as GetSmsChannel with the addition of
6525// the ability to pass a context and additional request options.
6526//
6527// See GetSmsChannel for details on how to use this API operation.
6528//
6529// The context must be non-nil and will be used for request cancellation. If
6530// the context is nil a panic will occur. In the future the SDK may create
6531// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6532// for more information on using Contexts.
6533func (c *Pinpoint) GetSmsChannelWithContext(ctx aws.Context, input *GetSmsChannelInput, opts ...request.Option) (*GetSmsChannelOutput, error) {
6534	req, out := c.GetSmsChannelRequest(input)
6535	req.SetContext(ctx)
6536	req.ApplyOptions(opts...)
6537	return out, req.Send()
6538}
6539
6540const opGetSmsTemplate = "GetSmsTemplate"
6541
6542// GetSmsTemplateRequest generates a "aws/request.Request" representing the
6543// client's request for the GetSmsTemplate operation. The "output" return
6544// value will be populated with the request's response once the request completes
6545// successfully.
6546//
6547// Use "Send" method on the returned Request to send the API call to the service.
6548// the "output" return value is not valid until after Send returns without error.
6549//
6550// See GetSmsTemplate for more information on using the GetSmsTemplate
6551// API call, and error handling.
6552//
6553// This method is useful when you want to inject custom logic or configuration
6554// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6555//
6556//
6557//    // Example sending a request using the GetSmsTemplateRequest method.
6558//    req, resp := client.GetSmsTemplateRequest(params)
6559//
6560//    err := req.Send()
6561//    if err == nil { // resp is now filled
6562//        fmt.Println(resp)
6563//    }
6564//
6565// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsTemplate
6566func (c *Pinpoint) GetSmsTemplateRequest(input *GetSmsTemplateInput) (req *request.Request, output *GetSmsTemplateOutput) {
6567	op := &request.Operation{
6568		Name:       opGetSmsTemplate,
6569		HTTPMethod: "GET",
6570		HTTPPath:   "/v1/templates/{template-name}/sms",
6571	}
6572
6573	if input == nil {
6574		input = &GetSmsTemplateInput{}
6575	}
6576
6577	output = &GetSmsTemplateOutput{}
6578	req = c.newRequest(op, input, output)
6579	return
6580}
6581
6582// GetSmsTemplate API operation for Amazon Pinpoint.
6583//
6584// Retrieves the content and settings of a message template for messages that
6585// are sent through the SMS channel.
6586//
6587// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6588// with awserr.Error's Code and Message methods to get detailed information about
6589// the error.
6590//
6591// See the AWS API reference guide for Amazon Pinpoint's
6592// API operation GetSmsTemplate for usage and error information.
6593//
6594// Returned Error Codes:
6595//   * ErrCodeBadRequestException "BadRequestException"
6596//   Provides information about an API request or response.
6597//
6598//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6599//   Provides information about an API request or response.
6600//
6601//   * ErrCodeForbiddenException "ForbiddenException"
6602//   Provides information about an API request or response.
6603//
6604//   * ErrCodeNotFoundException "NotFoundException"
6605//   Provides information about an API request or response.
6606//
6607//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6608//   Provides information about an API request or response.
6609//
6610//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6611//   Provides information about an API request or response.
6612//
6613// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsTemplate
6614func (c *Pinpoint) GetSmsTemplate(input *GetSmsTemplateInput) (*GetSmsTemplateOutput, error) {
6615	req, out := c.GetSmsTemplateRequest(input)
6616	return out, req.Send()
6617}
6618
6619// GetSmsTemplateWithContext is the same as GetSmsTemplate with the addition of
6620// the ability to pass a context and additional request options.
6621//
6622// See GetSmsTemplate for details on how to use this API operation.
6623//
6624// The context must be non-nil and will be used for request cancellation. If
6625// the context is nil a panic will occur. In the future the SDK may create
6626// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6627// for more information on using Contexts.
6628func (c *Pinpoint) GetSmsTemplateWithContext(ctx aws.Context, input *GetSmsTemplateInput, opts ...request.Option) (*GetSmsTemplateOutput, error) {
6629	req, out := c.GetSmsTemplateRequest(input)
6630	req.SetContext(ctx)
6631	req.ApplyOptions(opts...)
6632	return out, req.Send()
6633}
6634
6635const opGetUserEndpoints = "GetUserEndpoints"
6636
6637// GetUserEndpointsRequest generates a "aws/request.Request" representing the
6638// client's request for the GetUserEndpoints operation. The "output" return
6639// value will be populated with the request's response once the request completes
6640// successfully.
6641//
6642// Use "Send" method on the returned Request to send the API call to the service.
6643// the "output" return value is not valid until after Send returns without error.
6644//
6645// See GetUserEndpoints for more information on using the GetUserEndpoints
6646// API call, and error handling.
6647//
6648// This method is useful when you want to inject custom logic or configuration
6649// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6650//
6651//
6652//    // Example sending a request using the GetUserEndpointsRequest method.
6653//    req, resp := client.GetUserEndpointsRequest(params)
6654//
6655//    err := req.Send()
6656//    if err == nil { // resp is now filled
6657//        fmt.Println(resp)
6658//    }
6659//
6660// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints
6661func (c *Pinpoint) GetUserEndpointsRequest(input *GetUserEndpointsInput) (req *request.Request, output *GetUserEndpointsOutput) {
6662	op := &request.Operation{
6663		Name:       opGetUserEndpoints,
6664		HTTPMethod: "GET",
6665		HTTPPath:   "/v1/apps/{application-id}/users/{user-id}",
6666	}
6667
6668	if input == nil {
6669		input = &GetUserEndpointsInput{}
6670	}
6671
6672	output = &GetUserEndpointsOutput{}
6673	req = c.newRequest(op, input, output)
6674	return
6675}
6676
6677// GetUserEndpoints API operation for Amazon Pinpoint.
6678//
6679// Retrieves information about all the endpoints that are associated with a
6680// specific user ID.
6681//
6682// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6683// with awserr.Error's Code and Message methods to get detailed information about
6684// the error.
6685//
6686// See the AWS API reference guide for Amazon Pinpoint's
6687// API operation GetUserEndpoints for usage and error information.
6688//
6689// Returned Error Codes:
6690//   * ErrCodeBadRequestException "BadRequestException"
6691//   Provides information about an API request or response.
6692//
6693//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6694//   Provides information about an API request or response.
6695//
6696//   * ErrCodeForbiddenException "ForbiddenException"
6697//   Provides information about an API request or response.
6698//
6699//   * ErrCodeNotFoundException "NotFoundException"
6700//   Provides information about an API request or response.
6701//
6702//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6703//   Provides information about an API request or response.
6704//
6705//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6706//   Provides information about an API request or response.
6707//
6708// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints
6709func (c *Pinpoint) GetUserEndpoints(input *GetUserEndpointsInput) (*GetUserEndpointsOutput, error) {
6710	req, out := c.GetUserEndpointsRequest(input)
6711	return out, req.Send()
6712}
6713
6714// GetUserEndpointsWithContext is the same as GetUserEndpoints with the addition of
6715// the ability to pass a context and additional request options.
6716//
6717// See GetUserEndpoints for details on how to use this API operation.
6718//
6719// The context must be non-nil and will be used for request cancellation. If
6720// the context is nil a panic will occur. In the future the SDK may create
6721// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6722// for more information on using Contexts.
6723func (c *Pinpoint) GetUserEndpointsWithContext(ctx aws.Context, input *GetUserEndpointsInput, opts ...request.Option) (*GetUserEndpointsOutput, error) {
6724	req, out := c.GetUserEndpointsRequest(input)
6725	req.SetContext(ctx)
6726	req.ApplyOptions(opts...)
6727	return out, req.Send()
6728}
6729
6730const opGetVoiceChannel = "GetVoiceChannel"
6731
6732// GetVoiceChannelRequest generates a "aws/request.Request" representing the
6733// client's request for the GetVoiceChannel operation. The "output" return
6734// value will be populated with the request's response once the request completes
6735// successfully.
6736//
6737// Use "Send" method on the returned Request to send the API call to the service.
6738// the "output" return value is not valid until after Send returns without error.
6739//
6740// See GetVoiceChannel for more information on using the GetVoiceChannel
6741// API call, and error handling.
6742//
6743// This method is useful when you want to inject custom logic or configuration
6744// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6745//
6746//
6747//    // Example sending a request using the GetVoiceChannelRequest method.
6748//    req, resp := client.GetVoiceChannelRequest(params)
6749//
6750//    err := req.Send()
6751//    if err == nil { // resp is now filled
6752//        fmt.Println(resp)
6753//    }
6754//
6755// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel
6756func (c *Pinpoint) GetVoiceChannelRequest(input *GetVoiceChannelInput) (req *request.Request, output *GetVoiceChannelOutput) {
6757	op := &request.Operation{
6758		Name:       opGetVoiceChannel,
6759		HTTPMethod: "GET",
6760		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
6761	}
6762
6763	if input == nil {
6764		input = &GetVoiceChannelInput{}
6765	}
6766
6767	output = &GetVoiceChannelOutput{}
6768	req = c.newRequest(op, input, output)
6769	return
6770}
6771
6772// GetVoiceChannel API operation for Amazon Pinpoint.
6773//
6774// Retrieves information about the status and settings of the voice channel
6775// for an application.
6776//
6777// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6778// with awserr.Error's Code and Message methods to get detailed information about
6779// the error.
6780//
6781// See the AWS API reference guide for Amazon Pinpoint's
6782// API operation GetVoiceChannel for usage and error information.
6783//
6784// Returned Error Codes:
6785//   * ErrCodeBadRequestException "BadRequestException"
6786//   Provides information about an API request or response.
6787//
6788//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6789//   Provides information about an API request or response.
6790//
6791//   * ErrCodeForbiddenException "ForbiddenException"
6792//   Provides information about an API request or response.
6793//
6794//   * ErrCodeNotFoundException "NotFoundException"
6795//   Provides information about an API request or response.
6796//
6797//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6798//   Provides information about an API request or response.
6799//
6800//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6801//   Provides information about an API request or response.
6802//
6803// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel
6804func (c *Pinpoint) GetVoiceChannel(input *GetVoiceChannelInput) (*GetVoiceChannelOutput, error) {
6805	req, out := c.GetVoiceChannelRequest(input)
6806	return out, req.Send()
6807}
6808
6809// GetVoiceChannelWithContext is the same as GetVoiceChannel with the addition of
6810// the ability to pass a context and additional request options.
6811//
6812// See GetVoiceChannel for details on how to use this API operation.
6813//
6814// The context must be non-nil and will be used for request cancellation. If
6815// the context is nil a panic will occur. In the future the SDK may create
6816// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6817// for more information on using Contexts.
6818func (c *Pinpoint) GetVoiceChannelWithContext(ctx aws.Context, input *GetVoiceChannelInput, opts ...request.Option) (*GetVoiceChannelOutput, error) {
6819	req, out := c.GetVoiceChannelRequest(input)
6820	req.SetContext(ctx)
6821	req.ApplyOptions(opts...)
6822	return out, req.Send()
6823}
6824
6825const opGetVoiceTemplate = "GetVoiceTemplate"
6826
6827// GetVoiceTemplateRequest generates a "aws/request.Request" representing the
6828// client's request for the GetVoiceTemplate operation. The "output" return
6829// value will be populated with the request's response once the request completes
6830// successfully.
6831//
6832// Use "Send" method on the returned Request to send the API call to the service.
6833// the "output" return value is not valid until after Send returns without error.
6834//
6835// See GetVoiceTemplate for more information on using the GetVoiceTemplate
6836// API call, and error handling.
6837//
6838// This method is useful when you want to inject custom logic or configuration
6839// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6840//
6841//
6842//    // Example sending a request using the GetVoiceTemplateRequest method.
6843//    req, resp := client.GetVoiceTemplateRequest(params)
6844//
6845//    err := req.Send()
6846//    if err == nil { // resp is now filled
6847//        fmt.Println(resp)
6848//    }
6849//
6850// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceTemplate
6851func (c *Pinpoint) GetVoiceTemplateRequest(input *GetVoiceTemplateInput) (req *request.Request, output *GetVoiceTemplateOutput) {
6852	op := &request.Operation{
6853		Name:       opGetVoiceTemplate,
6854		HTTPMethod: "GET",
6855		HTTPPath:   "/v1/templates/{template-name}/voice",
6856	}
6857
6858	if input == nil {
6859		input = &GetVoiceTemplateInput{}
6860	}
6861
6862	output = &GetVoiceTemplateOutput{}
6863	req = c.newRequest(op, input, output)
6864	return
6865}
6866
6867// GetVoiceTemplate API operation for Amazon Pinpoint.
6868//
6869// Retrieves the content and settings of a message template for messages that
6870// are sent through the voice channel.
6871//
6872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6873// with awserr.Error's Code and Message methods to get detailed information about
6874// the error.
6875//
6876// See the AWS API reference guide for Amazon Pinpoint's
6877// API operation GetVoiceTemplate for usage and error information.
6878//
6879// Returned Error Codes:
6880//   * ErrCodeBadRequestException "BadRequestException"
6881//   Provides information about an API request or response.
6882//
6883//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6884//   Provides information about an API request or response.
6885//
6886//   * ErrCodeForbiddenException "ForbiddenException"
6887//   Provides information about an API request or response.
6888//
6889//   * ErrCodeNotFoundException "NotFoundException"
6890//   Provides information about an API request or response.
6891//
6892//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6893//   Provides information about an API request or response.
6894//
6895//   * ErrCodeTooManyRequestsException "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/GetVoiceTemplate
6899func (c *Pinpoint) GetVoiceTemplate(input *GetVoiceTemplateInput) (*GetVoiceTemplateOutput, error) {
6900	req, out := c.GetVoiceTemplateRequest(input)
6901	return out, req.Send()
6902}
6903
6904// GetVoiceTemplateWithContext is the same as GetVoiceTemplate with the addition of
6905// the ability to pass a context and additional request options.
6906//
6907// See GetVoiceTemplate 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) GetVoiceTemplateWithContext(ctx aws.Context, input *GetVoiceTemplateInput, opts ...request.Option) (*GetVoiceTemplateOutput, error) {
6914	req, out := c.GetVoiceTemplateRequest(input)
6915	req.SetContext(ctx)
6916	req.ApplyOptions(opts...)
6917	return out, req.Send()
6918}
6919
6920const opListJourneys = "ListJourneys"
6921
6922// ListJourneysRequest generates a "aws/request.Request" representing the
6923// client's request for the ListJourneys 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 ListJourneys for more information on using the ListJourneys
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 ListJourneysRequest method.
6938//    req, resp := client.ListJourneysRequest(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/ListJourneys
6946func (c *Pinpoint) ListJourneysRequest(input *ListJourneysInput) (req *request.Request, output *ListJourneysOutput) {
6947	op := &request.Operation{
6948		Name:       opListJourneys,
6949		HTTPMethod: "GET",
6950		HTTPPath:   "/v1/apps/{application-id}/journeys",
6951	}
6952
6953	if input == nil {
6954		input = &ListJourneysInput{}
6955	}
6956
6957	output = &ListJourneysOutput{}
6958	req = c.newRequest(op, input, output)
6959	return
6960}
6961
6962// ListJourneys API operation for Amazon Pinpoint.
6963//
6964// Retrieves information about the status, configuration, and other settings
6965// for all the journeys that are associated with an application.
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 ListJourneys for usage and error information.
6973//
6974// Returned Error Codes:
6975//   * ErrCodeBadRequestException "BadRequestException"
6976//   Provides information about an API request or response.
6977//
6978//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6979//   Provides information about an API request or response.
6980//
6981//   * ErrCodeForbiddenException "ForbiddenException"
6982//   Provides information about an API request or response.
6983//
6984//   * ErrCodeNotFoundException "NotFoundException"
6985//   Provides information about an API request or response.
6986//
6987//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6988//   Provides information about an API request or response.
6989//
6990//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6991//   Provides information about an API request or response.
6992//
6993// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListJourneys
6994func (c *Pinpoint) ListJourneys(input *ListJourneysInput) (*ListJourneysOutput, error) {
6995	req, out := c.ListJourneysRequest(input)
6996	return out, req.Send()
6997}
6998
6999// ListJourneysWithContext is the same as ListJourneys with the addition of
7000// the ability to pass a context and additional request options.
7001//
7002// See ListJourneys for details on how to use this API operation.
7003//
7004// The context must be non-nil and will be used for request cancellation. If
7005// the context is nil a panic will occur. In the future the SDK may create
7006// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7007// for more information on using Contexts.
7008func (c *Pinpoint) ListJourneysWithContext(ctx aws.Context, input *ListJourneysInput, opts ...request.Option) (*ListJourneysOutput, error) {
7009	req, out := c.ListJourneysRequest(input)
7010	req.SetContext(ctx)
7011	req.ApplyOptions(opts...)
7012	return out, req.Send()
7013}
7014
7015const opListTagsForResource = "ListTagsForResource"
7016
7017// ListTagsForResourceRequest generates a "aws/request.Request" representing the
7018// client's request for the ListTagsForResource operation. The "output" return
7019// value will be populated with the request's response once the request completes
7020// successfully.
7021//
7022// Use "Send" method on the returned Request to send the API call to the service.
7023// the "output" return value is not valid until after Send returns without error.
7024//
7025// See ListTagsForResource for more information on using the ListTagsForResource
7026// API call, and error handling.
7027//
7028// This method is useful when you want to inject custom logic or configuration
7029// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7030//
7031//
7032//    // Example sending a request using the ListTagsForResourceRequest method.
7033//    req, resp := client.ListTagsForResourceRequest(params)
7034//
7035//    err := req.Send()
7036//    if err == nil { // resp is now filled
7037//        fmt.Println(resp)
7038//    }
7039//
7040// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTagsForResource
7041func (c *Pinpoint) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
7042	op := &request.Operation{
7043		Name:       opListTagsForResource,
7044		HTTPMethod: "GET",
7045		HTTPPath:   "/v1/tags/{resource-arn}",
7046	}
7047
7048	if input == nil {
7049		input = &ListTagsForResourceInput{}
7050	}
7051
7052	output = &ListTagsForResourceOutput{}
7053	req = c.newRequest(op, input, output)
7054	return
7055}
7056
7057// ListTagsForResource API operation for Amazon Pinpoint.
7058//
7059// Retrieves all the tags (keys and values) that are associated with an application,
7060// campaign, journey, message template, or segment.
7061//
7062// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7063// with awserr.Error's Code and Message methods to get detailed information about
7064// the error.
7065//
7066// See the AWS API reference guide for Amazon Pinpoint's
7067// API operation ListTagsForResource for usage and error information.
7068// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTagsForResource
7069func (c *Pinpoint) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
7070	req, out := c.ListTagsForResourceRequest(input)
7071	return out, req.Send()
7072}
7073
7074// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
7075// the ability to pass a context and additional request options.
7076//
7077// See ListTagsForResource for details on how to use this API operation.
7078//
7079// The context must be non-nil and will be used for request cancellation. If
7080// the context is nil a panic will occur. In the future the SDK may create
7081// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7082// for more information on using Contexts.
7083func (c *Pinpoint) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
7084	req, out := c.ListTagsForResourceRequest(input)
7085	req.SetContext(ctx)
7086	req.ApplyOptions(opts...)
7087	return out, req.Send()
7088}
7089
7090const opListTemplateVersions = "ListTemplateVersions"
7091
7092// ListTemplateVersionsRequest generates a "aws/request.Request" representing the
7093// client's request for the ListTemplateVersions operation. The "output" return
7094// value will be populated with the request's response once the request completes
7095// successfully.
7096//
7097// Use "Send" method on the returned Request to send the API call to the service.
7098// the "output" return value is not valid until after Send returns without error.
7099//
7100// See ListTemplateVersions for more information on using the ListTemplateVersions
7101// API call, and error handling.
7102//
7103// This method is useful when you want to inject custom logic or configuration
7104// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7105//
7106//
7107//    // Example sending a request using the ListTemplateVersionsRequest method.
7108//    req, resp := client.ListTemplateVersionsRequest(params)
7109//
7110//    err := req.Send()
7111//    if err == nil { // resp is now filled
7112//        fmt.Println(resp)
7113//    }
7114//
7115// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplateVersions
7116func (c *Pinpoint) ListTemplateVersionsRequest(input *ListTemplateVersionsInput) (req *request.Request, output *ListTemplateVersionsOutput) {
7117	op := &request.Operation{
7118		Name:       opListTemplateVersions,
7119		HTTPMethod: "GET",
7120		HTTPPath:   "/v1/templates/{template-name}/{template-type}/versions",
7121	}
7122
7123	if input == nil {
7124		input = &ListTemplateVersionsInput{}
7125	}
7126
7127	output = &ListTemplateVersionsOutput{}
7128	req = c.newRequest(op, input, output)
7129	return
7130}
7131
7132// ListTemplateVersions API operation for Amazon Pinpoint.
7133//
7134// Retrieves information about all the versions of a specific message template.
7135//
7136// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7137// with awserr.Error's Code and Message methods to get detailed information about
7138// the error.
7139//
7140// See the AWS API reference guide for Amazon Pinpoint's
7141// API operation ListTemplateVersions for usage and error information.
7142//
7143// Returned Error Codes:
7144//   * ErrCodeBadRequestException "BadRequestException"
7145//   Provides information about an API request or response.
7146//
7147//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7148//   Provides information about an API request or response.
7149//
7150//   * ErrCodeForbiddenException "ForbiddenException"
7151//   Provides information about an API request or response.
7152//
7153//   * ErrCodeNotFoundException "NotFoundException"
7154//   Provides information about an API request or response.
7155//
7156//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7157//   Provides information about an API request or response.
7158//
7159//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7160//   Provides information about an API request or response.
7161//
7162// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplateVersions
7163func (c *Pinpoint) ListTemplateVersions(input *ListTemplateVersionsInput) (*ListTemplateVersionsOutput, error) {
7164	req, out := c.ListTemplateVersionsRequest(input)
7165	return out, req.Send()
7166}
7167
7168// ListTemplateVersionsWithContext is the same as ListTemplateVersions with the addition of
7169// the ability to pass a context and additional request options.
7170//
7171// See ListTemplateVersions for details on how to use this API operation.
7172//
7173// The context must be non-nil and will be used for request cancellation. If
7174// the context is nil a panic will occur. In the future the SDK may create
7175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7176// for more information on using Contexts.
7177func (c *Pinpoint) ListTemplateVersionsWithContext(ctx aws.Context, input *ListTemplateVersionsInput, opts ...request.Option) (*ListTemplateVersionsOutput, error) {
7178	req, out := c.ListTemplateVersionsRequest(input)
7179	req.SetContext(ctx)
7180	req.ApplyOptions(opts...)
7181	return out, req.Send()
7182}
7183
7184const opListTemplates = "ListTemplates"
7185
7186// ListTemplatesRequest generates a "aws/request.Request" representing the
7187// client's request for the ListTemplates operation. The "output" return
7188// value will be populated with the request's response once the request completes
7189// successfully.
7190//
7191// Use "Send" method on the returned Request to send the API call to the service.
7192// the "output" return value is not valid until after Send returns without error.
7193//
7194// See ListTemplates for more information on using the ListTemplates
7195// API call, and error handling.
7196//
7197// This method is useful when you want to inject custom logic or configuration
7198// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7199//
7200//
7201//    // Example sending a request using the ListTemplatesRequest method.
7202//    req, resp := client.ListTemplatesRequest(params)
7203//
7204//    err := req.Send()
7205//    if err == nil { // resp is now filled
7206//        fmt.Println(resp)
7207//    }
7208//
7209// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplates
7210func (c *Pinpoint) ListTemplatesRequest(input *ListTemplatesInput) (req *request.Request, output *ListTemplatesOutput) {
7211	op := &request.Operation{
7212		Name:       opListTemplates,
7213		HTTPMethod: "GET",
7214		HTTPPath:   "/v1/templates",
7215	}
7216
7217	if input == nil {
7218		input = &ListTemplatesInput{}
7219	}
7220
7221	output = &ListTemplatesOutput{}
7222	req = c.newRequest(op, input, output)
7223	return
7224}
7225
7226// ListTemplates API operation for Amazon Pinpoint.
7227//
7228// Retrieves information about all the message templates that are associated
7229// with your Amazon Pinpoint account.
7230//
7231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7232// with awserr.Error's Code and Message methods to get detailed information about
7233// the error.
7234//
7235// See the AWS API reference guide for Amazon Pinpoint's
7236// API operation ListTemplates for usage and error information.
7237//
7238// Returned Error Codes:
7239//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7240//   Provides information about an API request or response.
7241//
7242//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7243//   Provides information about an API request or response.
7244//
7245//   * ErrCodeBadRequestException "BadRequestException"
7246//   Provides information about an API request or response.
7247//
7248//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7249//   Provides information about an API request or response.
7250//
7251//   * ErrCodeForbiddenException "ForbiddenException"
7252//   Provides information about an API request or response.
7253//
7254// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplates
7255func (c *Pinpoint) ListTemplates(input *ListTemplatesInput) (*ListTemplatesOutput, error) {
7256	req, out := c.ListTemplatesRequest(input)
7257	return out, req.Send()
7258}
7259
7260// ListTemplatesWithContext is the same as ListTemplates with the addition of
7261// the ability to pass a context and additional request options.
7262//
7263// See ListTemplates for details on how to use this API operation.
7264//
7265// The context must be non-nil and will be used for request cancellation. If
7266// the context is nil a panic will occur. In the future the SDK may create
7267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7268// for more information on using Contexts.
7269func (c *Pinpoint) ListTemplatesWithContext(ctx aws.Context, input *ListTemplatesInput, opts ...request.Option) (*ListTemplatesOutput, error) {
7270	req, out := c.ListTemplatesRequest(input)
7271	req.SetContext(ctx)
7272	req.ApplyOptions(opts...)
7273	return out, req.Send()
7274}
7275
7276const opPhoneNumberValidate = "PhoneNumberValidate"
7277
7278// PhoneNumberValidateRequest generates a "aws/request.Request" representing the
7279// client's request for the PhoneNumberValidate operation. The "output" return
7280// value will be populated with the request's response once the request completes
7281// successfully.
7282//
7283// Use "Send" method on the returned Request to send the API call to the service.
7284// the "output" return value is not valid until after Send returns without error.
7285//
7286// See PhoneNumberValidate for more information on using the PhoneNumberValidate
7287// API call, and error handling.
7288//
7289// This method is useful when you want to inject custom logic or configuration
7290// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7291//
7292//
7293//    // Example sending a request using the PhoneNumberValidateRequest method.
7294//    req, resp := client.PhoneNumberValidateRequest(params)
7295//
7296//    err := req.Send()
7297//    if err == nil { // resp is now filled
7298//        fmt.Println(resp)
7299//    }
7300//
7301// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PhoneNumberValidate
7302func (c *Pinpoint) PhoneNumberValidateRequest(input *PhoneNumberValidateInput) (req *request.Request, output *PhoneNumberValidateOutput) {
7303	op := &request.Operation{
7304		Name:       opPhoneNumberValidate,
7305		HTTPMethod: "POST",
7306		HTTPPath:   "/v1/phone/number/validate",
7307	}
7308
7309	if input == nil {
7310		input = &PhoneNumberValidateInput{}
7311	}
7312
7313	output = &PhoneNumberValidateOutput{}
7314	req = c.newRequest(op, input, output)
7315	return
7316}
7317
7318// PhoneNumberValidate API operation for Amazon Pinpoint.
7319//
7320// Retrieves information about a phone number.
7321//
7322// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7323// with awserr.Error's Code and Message methods to get detailed information about
7324// the error.
7325//
7326// See the AWS API reference guide for Amazon Pinpoint's
7327// API operation PhoneNumberValidate for usage and error information.
7328//
7329// Returned Error Codes:
7330//   * ErrCodeBadRequestException "BadRequestException"
7331//   Provides information about an API request or response.
7332//
7333//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7334//   Provides information about an API request or response.
7335//
7336//   * ErrCodeForbiddenException "ForbiddenException"
7337//   Provides information about an API request or response.
7338//
7339//   * ErrCodeNotFoundException "NotFoundException"
7340//   Provides information about an API request or response.
7341//
7342//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7343//   Provides information about an API request or response.
7344//
7345//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7346//   Provides information about an API request or response.
7347//
7348// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PhoneNumberValidate
7349func (c *Pinpoint) PhoneNumberValidate(input *PhoneNumberValidateInput) (*PhoneNumberValidateOutput, error) {
7350	req, out := c.PhoneNumberValidateRequest(input)
7351	return out, req.Send()
7352}
7353
7354// PhoneNumberValidateWithContext is the same as PhoneNumberValidate with the addition of
7355// the ability to pass a context and additional request options.
7356//
7357// See PhoneNumberValidate for details on how to use this API operation.
7358//
7359// The context must be non-nil and will be used for request cancellation. If
7360// the context is nil a panic will occur. In the future the SDK may create
7361// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7362// for more information on using Contexts.
7363func (c *Pinpoint) PhoneNumberValidateWithContext(ctx aws.Context, input *PhoneNumberValidateInput, opts ...request.Option) (*PhoneNumberValidateOutput, error) {
7364	req, out := c.PhoneNumberValidateRequest(input)
7365	req.SetContext(ctx)
7366	req.ApplyOptions(opts...)
7367	return out, req.Send()
7368}
7369
7370const opPutEventStream = "PutEventStream"
7371
7372// PutEventStreamRequest generates a "aws/request.Request" representing the
7373// client's request for the PutEventStream operation. The "output" return
7374// value will be populated with the request's response once the request completes
7375// successfully.
7376//
7377// Use "Send" method on the returned Request to send the API call to the service.
7378// the "output" return value is not valid until after Send returns without error.
7379//
7380// See PutEventStream for more information on using the PutEventStream
7381// API call, and error handling.
7382//
7383// This method is useful when you want to inject custom logic or configuration
7384// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7385//
7386//
7387//    // Example sending a request using the PutEventStreamRequest method.
7388//    req, resp := client.PutEventStreamRequest(params)
7389//
7390//    err := req.Send()
7391//    if err == nil { // resp is now filled
7392//        fmt.Println(resp)
7393//    }
7394//
7395// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStream
7396func (c *Pinpoint) PutEventStreamRequest(input *PutEventStreamInput) (req *request.Request, output *PutEventStreamOutput) {
7397	op := &request.Operation{
7398		Name:       opPutEventStream,
7399		HTTPMethod: "POST",
7400		HTTPPath:   "/v1/apps/{application-id}/eventstream",
7401	}
7402
7403	if input == nil {
7404		input = &PutEventStreamInput{}
7405	}
7406
7407	output = &PutEventStreamOutput{}
7408	req = c.newRequest(op, input, output)
7409	return
7410}
7411
7412// PutEventStream API operation for Amazon Pinpoint.
7413//
7414// Creates a new event stream for an application or updates the settings of
7415// an existing event stream for an application.
7416//
7417// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7418// with awserr.Error's Code and Message methods to get detailed information about
7419// the error.
7420//
7421// See the AWS API reference guide for Amazon Pinpoint's
7422// API operation PutEventStream for usage and error information.
7423//
7424// Returned Error Codes:
7425//   * ErrCodeBadRequestException "BadRequestException"
7426//   Provides information about an API request or response.
7427//
7428//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7429//   Provides information about an API request or response.
7430//
7431//   * ErrCodeForbiddenException "ForbiddenException"
7432//   Provides information about an API request or response.
7433//
7434//   * ErrCodeNotFoundException "NotFoundException"
7435//   Provides information about an API request or response.
7436//
7437//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7438//   Provides information about an API request or response.
7439//
7440//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7441//   Provides information about an API request or response.
7442//
7443// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStream
7444func (c *Pinpoint) PutEventStream(input *PutEventStreamInput) (*PutEventStreamOutput, error) {
7445	req, out := c.PutEventStreamRequest(input)
7446	return out, req.Send()
7447}
7448
7449// PutEventStreamWithContext is the same as PutEventStream with the addition of
7450// the ability to pass a context and additional request options.
7451//
7452// See PutEventStream for details on how to use this API operation.
7453//
7454// The context must be non-nil and will be used for request cancellation. If
7455// the context is nil a panic will occur. In the future the SDK may create
7456// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7457// for more information on using Contexts.
7458func (c *Pinpoint) PutEventStreamWithContext(ctx aws.Context, input *PutEventStreamInput, opts ...request.Option) (*PutEventStreamOutput, error) {
7459	req, out := c.PutEventStreamRequest(input)
7460	req.SetContext(ctx)
7461	req.ApplyOptions(opts...)
7462	return out, req.Send()
7463}
7464
7465const opPutEvents = "PutEvents"
7466
7467// PutEventsRequest generates a "aws/request.Request" representing the
7468// client's request for the PutEvents operation. The "output" return
7469// value will be populated with the request's response once the request completes
7470// successfully.
7471//
7472// Use "Send" method on the returned Request to send the API call to the service.
7473// the "output" return value is not valid until after Send returns without error.
7474//
7475// See PutEvents for more information on using the PutEvents
7476// API call, and error handling.
7477//
7478// This method is useful when you want to inject custom logic or configuration
7479// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7480//
7481//
7482//    // Example sending a request using the PutEventsRequest method.
7483//    req, resp := client.PutEventsRequest(params)
7484//
7485//    err := req.Send()
7486//    if err == nil { // resp is now filled
7487//        fmt.Println(resp)
7488//    }
7489//
7490// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEvents
7491func (c *Pinpoint) PutEventsRequest(input *PutEventsInput) (req *request.Request, output *PutEventsOutput) {
7492	op := &request.Operation{
7493		Name:       opPutEvents,
7494		HTTPMethod: "POST",
7495		HTTPPath:   "/v1/apps/{application-id}/events",
7496	}
7497
7498	if input == nil {
7499		input = &PutEventsInput{}
7500	}
7501
7502	output = &PutEventsOutput{}
7503	req = c.newRequest(op, input, output)
7504	return
7505}
7506
7507// PutEvents API operation for Amazon Pinpoint.
7508//
7509// Creates a new event to record for endpoints, or creates or updates endpoint
7510// data that existing events are associated with.
7511//
7512// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7513// with awserr.Error's Code and Message methods to get detailed information about
7514// the error.
7515//
7516// See the AWS API reference guide for Amazon Pinpoint's
7517// API operation PutEvents for usage and error information.
7518//
7519// Returned Error Codes:
7520//   * ErrCodeBadRequestException "BadRequestException"
7521//   Provides information about an API request or response.
7522//
7523//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7524//   Provides information about an API request or response.
7525//
7526//   * ErrCodeForbiddenException "ForbiddenException"
7527//   Provides information about an API request or response.
7528//
7529//   * ErrCodeNotFoundException "NotFoundException"
7530//   Provides information about an API request or response.
7531//
7532//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7533//   Provides information about an API request or response.
7534//
7535//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7536//   Provides information about an API request or response.
7537//
7538// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEvents
7539func (c *Pinpoint) PutEvents(input *PutEventsInput) (*PutEventsOutput, error) {
7540	req, out := c.PutEventsRequest(input)
7541	return out, req.Send()
7542}
7543
7544// PutEventsWithContext is the same as PutEvents with the addition of
7545// the ability to pass a context and additional request options.
7546//
7547// See PutEvents for details on how to use this API operation.
7548//
7549// The context must be non-nil and will be used for request cancellation. If
7550// the context is nil a panic will occur. In the future the SDK may create
7551// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7552// for more information on using Contexts.
7553func (c *Pinpoint) PutEventsWithContext(ctx aws.Context, input *PutEventsInput, opts ...request.Option) (*PutEventsOutput, error) {
7554	req, out := c.PutEventsRequest(input)
7555	req.SetContext(ctx)
7556	req.ApplyOptions(opts...)
7557	return out, req.Send()
7558}
7559
7560const opRemoveAttributes = "RemoveAttributes"
7561
7562// RemoveAttributesRequest generates a "aws/request.Request" representing the
7563// client's request for the RemoveAttributes operation. The "output" return
7564// value will be populated with the request's response once the request completes
7565// successfully.
7566//
7567// Use "Send" method on the returned Request to send the API call to the service.
7568// the "output" return value is not valid until after Send returns without error.
7569//
7570// See RemoveAttributes for more information on using the RemoveAttributes
7571// API call, and error handling.
7572//
7573// This method is useful when you want to inject custom logic or configuration
7574// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7575//
7576//
7577//    // Example sending a request using the RemoveAttributesRequest method.
7578//    req, resp := client.RemoveAttributesRequest(params)
7579//
7580//    err := req.Send()
7581//    if err == nil { // resp is now filled
7582//        fmt.Println(resp)
7583//    }
7584//
7585// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/RemoveAttributes
7586func (c *Pinpoint) RemoveAttributesRequest(input *RemoveAttributesInput) (req *request.Request, output *RemoveAttributesOutput) {
7587	op := &request.Operation{
7588		Name:       opRemoveAttributes,
7589		HTTPMethod: "PUT",
7590		HTTPPath:   "/v1/apps/{application-id}/attributes/{attribute-type}",
7591	}
7592
7593	if input == nil {
7594		input = &RemoveAttributesInput{}
7595	}
7596
7597	output = &RemoveAttributesOutput{}
7598	req = c.newRequest(op, input, output)
7599	return
7600}
7601
7602// RemoveAttributes API operation for Amazon Pinpoint.
7603//
7604// Removes one or more attributes, of the same attribute type, from all the
7605// endpoints that are associated with an application.
7606//
7607// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7608// with awserr.Error's Code and Message methods to get detailed information about
7609// the error.
7610//
7611// See the AWS API reference guide for Amazon Pinpoint's
7612// API operation RemoveAttributes for usage and error information.
7613//
7614// Returned Error Codes:
7615//   * ErrCodeBadRequestException "BadRequestException"
7616//   Provides information about an API request or response.
7617//
7618//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7619//   Provides information about an API request or response.
7620//
7621//   * ErrCodeForbiddenException "ForbiddenException"
7622//   Provides information about an API request or response.
7623//
7624//   * ErrCodeNotFoundException "NotFoundException"
7625//   Provides information about an API request or response.
7626//
7627//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7628//   Provides information about an API request or response.
7629//
7630//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7631//   Provides information about an API request or response.
7632//
7633// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/RemoveAttributes
7634func (c *Pinpoint) RemoveAttributes(input *RemoveAttributesInput) (*RemoveAttributesOutput, error) {
7635	req, out := c.RemoveAttributesRequest(input)
7636	return out, req.Send()
7637}
7638
7639// RemoveAttributesWithContext is the same as RemoveAttributes with the addition of
7640// the ability to pass a context and additional request options.
7641//
7642// See RemoveAttributes for details on how to use this API operation.
7643//
7644// The context must be non-nil and will be used for request cancellation. If
7645// the context is nil a panic will occur. In the future the SDK may create
7646// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7647// for more information on using Contexts.
7648func (c *Pinpoint) RemoveAttributesWithContext(ctx aws.Context, input *RemoveAttributesInput, opts ...request.Option) (*RemoveAttributesOutput, error) {
7649	req, out := c.RemoveAttributesRequest(input)
7650	req.SetContext(ctx)
7651	req.ApplyOptions(opts...)
7652	return out, req.Send()
7653}
7654
7655const opSendMessages = "SendMessages"
7656
7657// SendMessagesRequest generates a "aws/request.Request" representing the
7658// client's request for the SendMessages operation. The "output" return
7659// value will be populated with the request's response once the request completes
7660// successfully.
7661//
7662// Use "Send" method on the returned Request to send the API call to the service.
7663// the "output" return value is not valid until after Send returns without error.
7664//
7665// See SendMessages for more information on using the SendMessages
7666// API call, and error handling.
7667//
7668// This method is useful when you want to inject custom logic or configuration
7669// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7670//
7671//
7672//    // Example sending a request using the SendMessagesRequest method.
7673//    req, resp := client.SendMessagesRequest(params)
7674//
7675//    err := req.Send()
7676//    if err == nil { // resp is now filled
7677//        fmt.Println(resp)
7678//    }
7679//
7680// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages
7681func (c *Pinpoint) SendMessagesRequest(input *SendMessagesInput) (req *request.Request, output *SendMessagesOutput) {
7682	op := &request.Operation{
7683		Name:       opSendMessages,
7684		HTTPMethod: "POST",
7685		HTTPPath:   "/v1/apps/{application-id}/messages",
7686	}
7687
7688	if input == nil {
7689		input = &SendMessagesInput{}
7690	}
7691
7692	output = &SendMessagesOutput{}
7693	req = c.newRequest(op, input, output)
7694	return
7695}
7696
7697// SendMessages API operation for Amazon Pinpoint.
7698//
7699// Creates and sends a direct message.
7700//
7701// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7702// with awserr.Error's Code and Message methods to get detailed information about
7703// the error.
7704//
7705// See the AWS API reference guide for Amazon Pinpoint's
7706// API operation SendMessages for usage and error information.
7707//
7708// Returned Error Codes:
7709//   * ErrCodeBadRequestException "BadRequestException"
7710//   Provides information about an API request or response.
7711//
7712//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7713//   Provides information about an API request or response.
7714//
7715//   * ErrCodeForbiddenException "ForbiddenException"
7716//   Provides information about an API request or response.
7717//
7718//   * ErrCodeNotFoundException "NotFoundException"
7719//   Provides information about an API request or response.
7720//
7721//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7722//   Provides information about an API request or response.
7723//
7724//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7725//   Provides information about an API request or response.
7726//
7727// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages
7728func (c *Pinpoint) SendMessages(input *SendMessagesInput) (*SendMessagesOutput, error) {
7729	req, out := c.SendMessagesRequest(input)
7730	return out, req.Send()
7731}
7732
7733// SendMessagesWithContext is the same as SendMessages with the addition of
7734// the ability to pass a context and additional request options.
7735//
7736// See SendMessages for details on how to use this API operation.
7737//
7738// The context must be non-nil and will be used for request cancellation. If
7739// the context is nil a panic will occur. In the future the SDK may create
7740// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7741// for more information on using Contexts.
7742func (c *Pinpoint) SendMessagesWithContext(ctx aws.Context, input *SendMessagesInput, opts ...request.Option) (*SendMessagesOutput, error) {
7743	req, out := c.SendMessagesRequest(input)
7744	req.SetContext(ctx)
7745	req.ApplyOptions(opts...)
7746	return out, req.Send()
7747}
7748
7749const opSendUsersMessages = "SendUsersMessages"
7750
7751// SendUsersMessagesRequest generates a "aws/request.Request" representing the
7752// client's request for the SendUsersMessages operation. The "output" return
7753// value will be populated with the request's response once the request completes
7754// successfully.
7755//
7756// Use "Send" method on the returned Request to send the API call to the service.
7757// the "output" return value is not valid until after Send returns without error.
7758//
7759// See SendUsersMessages for more information on using the SendUsersMessages
7760// API call, and error handling.
7761//
7762// This method is useful when you want to inject custom logic or configuration
7763// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7764//
7765//
7766//    // Example sending a request using the SendUsersMessagesRequest method.
7767//    req, resp := client.SendUsersMessagesRequest(params)
7768//
7769//    err := req.Send()
7770//    if err == nil { // resp is now filled
7771//        fmt.Println(resp)
7772//    }
7773//
7774// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages
7775func (c *Pinpoint) SendUsersMessagesRequest(input *SendUsersMessagesInput) (req *request.Request, output *SendUsersMessagesOutput) {
7776	op := &request.Operation{
7777		Name:       opSendUsersMessages,
7778		HTTPMethod: "POST",
7779		HTTPPath:   "/v1/apps/{application-id}/users-messages",
7780	}
7781
7782	if input == nil {
7783		input = &SendUsersMessagesInput{}
7784	}
7785
7786	output = &SendUsersMessagesOutput{}
7787	req = c.newRequest(op, input, output)
7788	return
7789}
7790
7791// SendUsersMessages API operation for Amazon Pinpoint.
7792//
7793// Creates and sends a message to a list of users.
7794//
7795// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7796// with awserr.Error's Code and Message methods to get detailed information about
7797// the error.
7798//
7799// See the AWS API reference guide for Amazon Pinpoint's
7800// API operation SendUsersMessages for usage and error information.
7801//
7802// Returned Error Codes:
7803//   * ErrCodeBadRequestException "BadRequestException"
7804//   Provides information about an API request or response.
7805//
7806//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7807//   Provides information about an API request or response.
7808//
7809//   * ErrCodeForbiddenException "ForbiddenException"
7810//   Provides information about an API request or response.
7811//
7812//   * ErrCodeNotFoundException "NotFoundException"
7813//   Provides information about an API request or response.
7814//
7815//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7816//   Provides information about an API request or response.
7817//
7818//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7819//   Provides information about an API request or response.
7820//
7821// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages
7822func (c *Pinpoint) SendUsersMessages(input *SendUsersMessagesInput) (*SendUsersMessagesOutput, error) {
7823	req, out := c.SendUsersMessagesRequest(input)
7824	return out, req.Send()
7825}
7826
7827// SendUsersMessagesWithContext is the same as SendUsersMessages with the addition of
7828// the ability to pass a context and additional request options.
7829//
7830// See SendUsersMessages for details on how to use this API operation.
7831//
7832// The context must be non-nil and will be used for request cancellation. If
7833// the context is nil a panic will occur. In the future the SDK may create
7834// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7835// for more information on using Contexts.
7836func (c *Pinpoint) SendUsersMessagesWithContext(ctx aws.Context, input *SendUsersMessagesInput, opts ...request.Option) (*SendUsersMessagesOutput, error) {
7837	req, out := c.SendUsersMessagesRequest(input)
7838	req.SetContext(ctx)
7839	req.ApplyOptions(opts...)
7840	return out, req.Send()
7841}
7842
7843const opTagResource = "TagResource"
7844
7845// TagResourceRequest generates a "aws/request.Request" representing the
7846// client's request for the TagResource operation. The "output" return
7847// value will be populated with the request's response once the request completes
7848// successfully.
7849//
7850// Use "Send" method on the returned Request to send the API call to the service.
7851// the "output" return value is not valid until after Send returns without error.
7852//
7853// See TagResource for more information on using the TagResource
7854// API call, and error handling.
7855//
7856// This method is useful when you want to inject custom logic or configuration
7857// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7858//
7859//
7860//    // Example sending a request using the TagResourceRequest method.
7861//    req, resp := client.TagResourceRequest(params)
7862//
7863//    err := req.Send()
7864//    if err == nil { // resp is now filled
7865//        fmt.Println(resp)
7866//    }
7867//
7868// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource
7869func (c *Pinpoint) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
7870	op := &request.Operation{
7871		Name:       opTagResource,
7872		HTTPMethod: "POST",
7873		HTTPPath:   "/v1/tags/{resource-arn}",
7874	}
7875
7876	if input == nil {
7877		input = &TagResourceInput{}
7878	}
7879
7880	output = &TagResourceOutput{}
7881	req = c.newRequest(op, input, output)
7882	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7883	return
7884}
7885
7886// TagResource API operation for Amazon Pinpoint.
7887//
7888// Adds one or more tags (keys and values) to an application, campaign, journey,
7889// message template, or segment.
7890//
7891// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7892// with awserr.Error's Code and Message methods to get detailed information about
7893// the error.
7894//
7895// See the AWS API reference guide for Amazon Pinpoint's
7896// API operation TagResource for usage and error information.
7897// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource
7898func (c *Pinpoint) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
7899	req, out := c.TagResourceRequest(input)
7900	return out, req.Send()
7901}
7902
7903// TagResourceWithContext is the same as TagResource with the addition of
7904// the ability to pass a context and additional request options.
7905//
7906// See TagResource for details on how to use this API operation.
7907//
7908// The context must be non-nil and will be used for request cancellation. If
7909// the context is nil a panic will occur. In the future the SDK may create
7910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7911// for more information on using Contexts.
7912func (c *Pinpoint) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
7913	req, out := c.TagResourceRequest(input)
7914	req.SetContext(ctx)
7915	req.ApplyOptions(opts...)
7916	return out, req.Send()
7917}
7918
7919const opUntagResource = "UntagResource"
7920
7921// UntagResourceRequest generates a "aws/request.Request" representing the
7922// client's request for the UntagResource operation. The "output" return
7923// value will be populated with the request's response once the request completes
7924// successfully.
7925//
7926// Use "Send" method on the returned Request to send the API call to the service.
7927// the "output" return value is not valid until after Send returns without error.
7928//
7929// See UntagResource for more information on using the UntagResource
7930// API call, and error handling.
7931//
7932// This method is useful when you want to inject custom logic or configuration
7933// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7934//
7935//
7936//    // Example sending a request using the UntagResourceRequest method.
7937//    req, resp := client.UntagResourceRequest(params)
7938//
7939//    err := req.Send()
7940//    if err == nil { // resp is now filled
7941//        fmt.Println(resp)
7942//    }
7943//
7944// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource
7945func (c *Pinpoint) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
7946	op := &request.Operation{
7947		Name:       opUntagResource,
7948		HTTPMethod: "DELETE",
7949		HTTPPath:   "/v1/tags/{resource-arn}",
7950	}
7951
7952	if input == nil {
7953		input = &UntagResourceInput{}
7954	}
7955
7956	output = &UntagResourceOutput{}
7957	req = c.newRequest(op, input, output)
7958	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7959	return
7960}
7961
7962// UntagResource API operation for Amazon Pinpoint.
7963//
7964// Removes one or more tags (keys and values) from an application, campaign,
7965// journey, message template, or segment.
7966//
7967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7968// with awserr.Error's Code and Message methods to get detailed information about
7969// the error.
7970//
7971// See the AWS API reference guide for Amazon Pinpoint's
7972// API operation UntagResource for usage and error information.
7973// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource
7974func (c *Pinpoint) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
7975	req, out := c.UntagResourceRequest(input)
7976	return out, req.Send()
7977}
7978
7979// UntagResourceWithContext is the same as UntagResource with the addition of
7980// the ability to pass a context and additional request options.
7981//
7982// See UntagResource for details on how to use this API operation.
7983//
7984// The context must be non-nil and will be used for request cancellation. If
7985// the context is nil a panic will occur. In the future the SDK may create
7986// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7987// for more information on using Contexts.
7988func (c *Pinpoint) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
7989	req, out := c.UntagResourceRequest(input)
7990	req.SetContext(ctx)
7991	req.ApplyOptions(opts...)
7992	return out, req.Send()
7993}
7994
7995const opUpdateAdmChannel = "UpdateAdmChannel"
7996
7997// UpdateAdmChannelRequest generates a "aws/request.Request" representing the
7998// client's request for the UpdateAdmChannel operation. The "output" return
7999// value will be populated with the request's response once the request completes
8000// successfully.
8001//
8002// Use "Send" method on the returned Request to send the API call to the service.
8003// the "output" return value is not valid until after Send returns without error.
8004//
8005// See UpdateAdmChannel for more information on using the UpdateAdmChannel
8006// API call, and error handling.
8007//
8008// This method is useful when you want to inject custom logic or configuration
8009// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8010//
8011//
8012//    // Example sending a request using the UpdateAdmChannelRequest method.
8013//    req, resp := client.UpdateAdmChannelRequest(params)
8014//
8015//    err := req.Send()
8016//    if err == nil { // resp is now filled
8017//        fmt.Println(resp)
8018//    }
8019//
8020// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel
8021func (c *Pinpoint) UpdateAdmChannelRequest(input *UpdateAdmChannelInput) (req *request.Request, output *UpdateAdmChannelOutput) {
8022	op := &request.Operation{
8023		Name:       opUpdateAdmChannel,
8024		HTTPMethod: "PUT",
8025		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
8026	}
8027
8028	if input == nil {
8029		input = &UpdateAdmChannelInput{}
8030	}
8031
8032	output = &UpdateAdmChannelOutput{}
8033	req = c.newRequest(op, input, output)
8034	return
8035}
8036
8037// UpdateAdmChannel API operation for Amazon Pinpoint.
8038//
8039// Enables the ADM channel for an application or updates the status and settings
8040// of the ADM channel for an application.
8041//
8042// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8043// with awserr.Error's Code and Message methods to get detailed information about
8044// the error.
8045//
8046// See the AWS API reference guide for Amazon Pinpoint's
8047// API operation UpdateAdmChannel for usage and error information.
8048//
8049// Returned Error Codes:
8050//   * ErrCodeBadRequestException "BadRequestException"
8051//   Provides information about an API request or response.
8052//
8053//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8054//   Provides information about an API request or response.
8055//
8056//   * ErrCodeForbiddenException "ForbiddenException"
8057//   Provides information about an API request or response.
8058//
8059//   * ErrCodeNotFoundException "NotFoundException"
8060//   Provides information about an API request or response.
8061//
8062//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8063//   Provides information about an API request or response.
8064//
8065//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8066//   Provides information about an API request or response.
8067//
8068// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel
8069func (c *Pinpoint) UpdateAdmChannel(input *UpdateAdmChannelInput) (*UpdateAdmChannelOutput, error) {
8070	req, out := c.UpdateAdmChannelRequest(input)
8071	return out, req.Send()
8072}
8073
8074// UpdateAdmChannelWithContext is the same as UpdateAdmChannel with the addition of
8075// the ability to pass a context and additional request options.
8076//
8077// See UpdateAdmChannel for details on how to use this API operation.
8078//
8079// The context must be non-nil and will be used for request cancellation. If
8080// the context is nil a panic will occur. In the future the SDK may create
8081// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8082// for more information on using Contexts.
8083func (c *Pinpoint) UpdateAdmChannelWithContext(ctx aws.Context, input *UpdateAdmChannelInput, opts ...request.Option) (*UpdateAdmChannelOutput, error) {
8084	req, out := c.UpdateAdmChannelRequest(input)
8085	req.SetContext(ctx)
8086	req.ApplyOptions(opts...)
8087	return out, req.Send()
8088}
8089
8090const opUpdateApnsChannel = "UpdateApnsChannel"
8091
8092// UpdateApnsChannelRequest generates a "aws/request.Request" representing the
8093// client's request for the UpdateApnsChannel operation. The "output" return
8094// value will be populated with the request's response once the request completes
8095// successfully.
8096//
8097// Use "Send" method on the returned Request to send the API call to the service.
8098// the "output" return value is not valid until after Send returns without error.
8099//
8100// See UpdateApnsChannel for more information on using the UpdateApnsChannel
8101// API call, and error handling.
8102//
8103// This method is useful when you want to inject custom logic or configuration
8104// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8105//
8106//
8107//    // Example sending a request using the UpdateApnsChannelRequest method.
8108//    req, resp := client.UpdateApnsChannelRequest(params)
8109//
8110//    err := req.Send()
8111//    if err == nil { // resp is now filled
8112//        fmt.Println(resp)
8113//    }
8114//
8115// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel
8116func (c *Pinpoint) UpdateApnsChannelRequest(input *UpdateApnsChannelInput) (req *request.Request, output *UpdateApnsChannelOutput) {
8117	op := &request.Operation{
8118		Name:       opUpdateApnsChannel,
8119		HTTPMethod: "PUT",
8120		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
8121	}
8122
8123	if input == nil {
8124		input = &UpdateApnsChannelInput{}
8125	}
8126
8127	output = &UpdateApnsChannelOutput{}
8128	req = c.newRequest(op, input, output)
8129	return
8130}
8131
8132// UpdateApnsChannel API operation for Amazon Pinpoint.
8133//
8134// Enables the APNs channel for an application or updates the status and settings
8135// of the APNs channel for an application.
8136//
8137// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8138// with awserr.Error's Code and Message methods to get detailed information about
8139// the error.
8140//
8141// See the AWS API reference guide for Amazon Pinpoint's
8142// API operation UpdateApnsChannel for usage and error information.
8143//
8144// Returned Error Codes:
8145//   * ErrCodeBadRequestException "BadRequestException"
8146//   Provides information about an API request or response.
8147//
8148//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8149//   Provides information about an API request or response.
8150//
8151//   * ErrCodeForbiddenException "ForbiddenException"
8152//   Provides information about an API request or response.
8153//
8154//   * ErrCodeNotFoundException "NotFoundException"
8155//   Provides information about an API request or response.
8156//
8157//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8158//   Provides information about an API request or response.
8159//
8160//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8161//   Provides information about an API request or response.
8162//
8163// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel
8164func (c *Pinpoint) UpdateApnsChannel(input *UpdateApnsChannelInput) (*UpdateApnsChannelOutput, error) {
8165	req, out := c.UpdateApnsChannelRequest(input)
8166	return out, req.Send()
8167}
8168
8169// UpdateApnsChannelWithContext is the same as UpdateApnsChannel with the addition of
8170// the ability to pass a context and additional request options.
8171//
8172// See UpdateApnsChannel for details on how to use this API operation.
8173//
8174// The context must be non-nil and will be used for request cancellation. If
8175// the context is nil a panic will occur. In the future the SDK may create
8176// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8177// for more information on using Contexts.
8178func (c *Pinpoint) UpdateApnsChannelWithContext(ctx aws.Context, input *UpdateApnsChannelInput, opts ...request.Option) (*UpdateApnsChannelOutput, error) {
8179	req, out := c.UpdateApnsChannelRequest(input)
8180	req.SetContext(ctx)
8181	req.ApplyOptions(opts...)
8182	return out, req.Send()
8183}
8184
8185const opUpdateApnsSandboxChannel = "UpdateApnsSandboxChannel"
8186
8187// UpdateApnsSandboxChannelRequest generates a "aws/request.Request" representing the
8188// client's request for the UpdateApnsSandboxChannel operation. The "output" return
8189// value will be populated with the request's response once the request completes
8190// successfully.
8191//
8192// Use "Send" method on the returned Request to send the API call to the service.
8193// the "output" return value is not valid until after Send returns without error.
8194//
8195// See UpdateApnsSandboxChannel for more information on using the UpdateApnsSandboxChannel
8196// API call, and error handling.
8197//
8198// This method is useful when you want to inject custom logic or configuration
8199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8200//
8201//
8202//    // Example sending a request using the UpdateApnsSandboxChannelRequest method.
8203//    req, resp := client.UpdateApnsSandboxChannelRequest(params)
8204//
8205//    err := req.Send()
8206//    if err == nil { // resp is now filled
8207//        fmt.Println(resp)
8208//    }
8209//
8210// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel
8211func (c *Pinpoint) UpdateApnsSandboxChannelRequest(input *UpdateApnsSandboxChannelInput) (req *request.Request, output *UpdateApnsSandboxChannelOutput) {
8212	op := &request.Operation{
8213		Name:       opUpdateApnsSandboxChannel,
8214		HTTPMethod: "PUT",
8215		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
8216	}
8217
8218	if input == nil {
8219		input = &UpdateApnsSandboxChannelInput{}
8220	}
8221
8222	output = &UpdateApnsSandboxChannelOutput{}
8223	req = c.newRequest(op, input, output)
8224	return
8225}
8226
8227// UpdateApnsSandboxChannel API operation for Amazon Pinpoint.
8228//
8229// Enables the APNs sandbox channel for an application or updates the status
8230// and settings of the APNs sandbox channel for an application.
8231//
8232// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8233// with awserr.Error's Code and Message methods to get detailed information about
8234// the error.
8235//
8236// See the AWS API reference guide for Amazon Pinpoint's
8237// API operation UpdateApnsSandboxChannel for usage and error information.
8238//
8239// Returned Error Codes:
8240//   * ErrCodeBadRequestException "BadRequestException"
8241//   Provides information about an API request or response.
8242//
8243//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8244//   Provides information about an API request or response.
8245//
8246//   * ErrCodeForbiddenException "ForbiddenException"
8247//   Provides information about an API request or response.
8248//
8249//   * ErrCodeNotFoundException "NotFoundException"
8250//   Provides information about an API request or response.
8251//
8252//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8253//   Provides information about an API request or response.
8254//
8255//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8256//   Provides information about an API request or response.
8257//
8258// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel
8259func (c *Pinpoint) UpdateApnsSandboxChannel(input *UpdateApnsSandboxChannelInput) (*UpdateApnsSandboxChannelOutput, error) {
8260	req, out := c.UpdateApnsSandboxChannelRequest(input)
8261	return out, req.Send()
8262}
8263
8264// UpdateApnsSandboxChannelWithContext is the same as UpdateApnsSandboxChannel with the addition of
8265// the ability to pass a context and additional request options.
8266//
8267// See UpdateApnsSandboxChannel for details on how to use this API operation.
8268//
8269// The context must be non-nil and will be used for request cancellation. If
8270// the context is nil a panic will occur. In the future the SDK may create
8271// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8272// for more information on using Contexts.
8273func (c *Pinpoint) UpdateApnsSandboxChannelWithContext(ctx aws.Context, input *UpdateApnsSandboxChannelInput, opts ...request.Option) (*UpdateApnsSandboxChannelOutput, error) {
8274	req, out := c.UpdateApnsSandboxChannelRequest(input)
8275	req.SetContext(ctx)
8276	req.ApplyOptions(opts...)
8277	return out, req.Send()
8278}
8279
8280const opUpdateApnsVoipChannel = "UpdateApnsVoipChannel"
8281
8282// UpdateApnsVoipChannelRequest generates a "aws/request.Request" representing the
8283// client's request for the UpdateApnsVoipChannel operation. The "output" return
8284// value will be populated with the request's response once the request completes
8285// successfully.
8286//
8287// Use "Send" method on the returned Request to send the API call to the service.
8288// the "output" return value is not valid until after Send returns without error.
8289//
8290// See UpdateApnsVoipChannel for more information on using the UpdateApnsVoipChannel
8291// API call, and error handling.
8292//
8293// This method is useful when you want to inject custom logic or configuration
8294// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8295//
8296//
8297//    // Example sending a request using the UpdateApnsVoipChannelRequest method.
8298//    req, resp := client.UpdateApnsVoipChannelRequest(params)
8299//
8300//    err := req.Send()
8301//    if err == nil { // resp is now filled
8302//        fmt.Println(resp)
8303//    }
8304//
8305// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipChannel
8306func (c *Pinpoint) UpdateApnsVoipChannelRequest(input *UpdateApnsVoipChannelInput) (req *request.Request, output *UpdateApnsVoipChannelOutput) {
8307	op := &request.Operation{
8308		Name:       opUpdateApnsVoipChannel,
8309		HTTPMethod: "PUT",
8310		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
8311	}
8312
8313	if input == nil {
8314		input = &UpdateApnsVoipChannelInput{}
8315	}
8316
8317	output = &UpdateApnsVoipChannelOutput{}
8318	req = c.newRequest(op, input, output)
8319	return
8320}
8321
8322// UpdateApnsVoipChannel API operation for Amazon Pinpoint.
8323//
8324// Enables the APNs VoIP channel for an application or updates the status and
8325// settings of the APNs VoIP channel for an application.
8326//
8327// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8328// with awserr.Error's Code and Message methods to get detailed information about
8329// the error.
8330//
8331// See the AWS API reference guide for Amazon Pinpoint's
8332// API operation UpdateApnsVoipChannel for usage and error information.
8333//
8334// Returned Error Codes:
8335//   * ErrCodeBadRequestException "BadRequestException"
8336//   Provides information about an API request or response.
8337//
8338//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8339//   Provides information about an API request or response.
8340//
8341//   * ErrCodeForbiddenException "ForbiddenException"
8342//   Provides information about an API request or response.
8343//
8344//   * ErrCodeNotFoundException "NotFoundException"
8345//   Provides information about an API request or response.
8346//
8347//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8348//   Provides information about an API request or response.
8349//
8350//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8351//   Provides information about an API request or response.
8352//
8353// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipChannel
8354func (c *Pinpoint) UpdateApnsVoipChannel(input *UpdateApnsVoipChannelInput) (*UpdateApnsVoipChannelOutput, error) {
8355	req, out := c.UpdateApnsVoipChannelRequest(input)
8356	return out, req.Send()
8357}
8358
8359// UpdateApnsVoipChannelWithContext is the same as UpdateApnsVoipChannel with the addition of
8360// the ability to pass a context and additional request options.
8361//
8362// See UpdateApnsVoipChannel for details on how to use this API operation.
8363//
8364// The context must be non-nil and will be used for request cancellation. If
8365// the context is nil a panic will occur. In the future the SDK may create
8366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8367// for more information on using Contexts.
8368func (c *Pinpoint) UpdateApnsVoipChannelWithContext(ctx aws.Context, input *UpdateApnsVoipChannelInput, opts ...request.Option) (*UpdateApnsVoipChannelOutput, error) {
8369	req, out := c.UpdateApnsVoipChannelRequest(input)
8370	req.SetContext(ctx)
8371	req.ApplyOptions(opts...)
8372	return out, req.Send()
8373}
8374
8375const opUpdateApnsVoipSandboxChannel = "UpdateApnsVoipSandboxChannel"
8376
8377// UpdateApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
8378// client's request for the UpdateApnsVoipSandboxChannel operation. The "output" return
8379// value will be populated with the request's response once the request completes
8380// successfully.
8381//
8382// Use "Send" method on the returned Request to send the API call to the service.
8383// the "output" return value is not valid until after Send returns without error.
8384//
8385// See UpdateApnsVoipSandboxChannel for more information on using the UpdateApnsVoipSandboxChannel
8386// API call, and error handling.
8387//
8388// This method is useful when you want to inject custom logic or configuration
8389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8390//
8391//
8392//    // Example sending a request using the UpdateApnsVoipSandboxChannelRequest method.
8393//    req, resp := client.UpdateApnsVoipSandboxChannelRequest(params)
8394//
8395//    err := req.Send()
8396//    if err == nil { // resp is now filled
8397//        fmt.Println(resp)
8398//    }
8399//
8400// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipSandboxChannel
8401func (c *Pinpoint) UpdateApnsVoipSandboxChannelRequest(input *UpdateApnsVoipSandboxChannelInput) (req *request.Request, output *UpdateApnsVoipSandboxChannelOutput) {
8402	op := &request.Operation{
8403		Name:       opUpdateApnsVoipSandboxChannel,
8404		HTTPMethod: "PUT",
8405		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
8406	}
8407
8408	if input == nil {
8409		input = &UpdateApnsVoipSandboxChannelInput{}
8410	}
8411
8412	output = &UpdateApnsVoipSandboxChannelOutput{}
8413	req = c.newRequest(op, input, output)
8414	return
8415}
8416
8417// UpdateApnsVoipSandboxChannel API operation for Amazon Pinpoint.
8418//
8419// Enables the APNs VoIP sandbox channel for an application or updates the status
8420// and settings of the APNs VoIP sandbox channel for an application.
8421//
8422// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8423// with awserr.Error's Code and Message methods to get detailed information about
8424// the error.
8425//
8426// See the AWS API reference guide for Amazon Pinpoint's
8427// API operation UpdateApnsVoipSandboxChannel for usage and error information.
8428//
8429// Returned Error Codes:
8430//   * ErrCodeBadRequestException "BadRequestException"
8431//   Provides information about an API request or response.
8432//
8433//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8434//   Provides information about an API request or response.
8435//
8436//   * ErrCodeForbiddenException "ForbiddenException"
8437//   Provides information about an API request or response.
8438//
8439//   * ErrCodeNotFoundException "NotFoundException"
8440//   Provides information about an API request or response.
8441//
8442//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8443//   Provides information about an API request or response.
8444//
8445//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8446//   Provides information about an API request or response.
8447//
8448// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipSandboxChannel
8449func (c *Pinpoint) UpdateApnsVoipSandboxChannel(input *UpdateApnsVoipSandboxChannelInput) (*UpdateApnsVoipSandboxChannelOutput, error) {
8450	req, out := c.UpdateApnsVoipSandboxChannelRequest(input)
8451	return out, req.Send()
8452}
8453
8454// UpdateApnsVoipSandboxChannelWithContext is the same as UpdateApnsVoipSandboxChannel with the addition of
8455// the ability to pass a context and additional request options.
8456//
8457// See UpdateApnsVoipSandboxChannel for details on how to use this API operation.
8458//
8459// The context must be non-nil and will be used for request cancellation. If
8460// the context is nil a panic will occur. In the future the SDK may create
8461// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8462// for more information on using Contexts.
8463func (c *Pinpoint) UpdateApnsVoipSandboxChannelWithContext(ctx aws.Context, input *UpdateApnsVoipSandboxChannelInput, opts ...request.Option) (*UpdateApnsVoipSandboxChannelOutput, error) {
8464	req, out := c.UpdateApnsVoipSandboxChannelRequest(input)
8465	req.SetContext(ctx)
8466	req.ApplyOptions(opts...)
8467	return out, req.Send()
8468}
8469
8470const opUpdateApplicationSettings = "UpdateApplicationSettings"
8471
8472// UpdateApplicationSettingsRequest generates a "aws/request.Request" representing the
8473// client's request for the UpdateApplicationSettings operation. The "output" return
8474// value will be populated with the request's response once the request completes
8475// successfully.
8476//
8477// Use "Send" method on the returned Request to send the API call to the service.
8478// the "output" return value is not valid until after Send returns without error.
8479//
8480// See UpdateApplicationSettings for more information on using the UpdateApplicationSettings
8481// API call, and error handling.
8482//
8483// This method is useful when you want to inject custom logic or configuration
8484// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8485//
8486//
8487//    // Example sending a request using the UpdateApplicationSettingsRequest method.
8488//    req, resp := client.UpdateApplicationSettingsRequest(params)
8489//
8490//    err := req.Send()
8491//    if err == nil { // resp is now filled
8492//        fmt.Println(resp)
8493//    }
8494//
8495// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettings
8496func (c *Pinpoint) UpdateApplicationSettingsRequest(input *UpdateApplicationSettingsInput) (req *request.Request, output *UpdateApplicationSettingsOutput) {
8497	op := &request.Operation{
8498		Name:       opUpdateApplicationSettings,
8499		HTTPMethod: "PUT",
8500		HTTPPath:   "/v1/apps/{application-id}/settings",
8501	}
8502
8503	if input == nil {
8504		input = &UpdateApplicationSettingsInput{}
8505	}
8506
8507	output = &UpdateApplicationSettingsOutput{}
8508	req = c.newRequest(op, input, output)
8509	return
8510}
8511
8512// UpdateApplicationSettings API operation for Amazon Pinpoint.
8513//
8514// Updates the settings for an application.
8515//
8516// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8517// with awserr.Error's Code and Message methods to get detailed information about
8518// the error.
8519//
8520// See the AWS API reference guide for Amazon Pinpoint's
8521// API operation UpdateApplicationSettings for usage and error information.
8522//
8523// Returned Error Codes:
8524//   * ErrCodeBadRequestException "BadRequestException"
8525//   Provides information about an API request or response.
8526//
8527//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8528//   Provides information about an API request or response.
8529//
8530//   * ErrCodeForbiddenException "ForbiddenException"
8531//   Provides information about an API request or response.
8532//
8533//   * ErrCodeNotFoundException "NotFoundException"
8534//   Provides information about an API request or response.
8535//
8536//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8537//   Provides information about an API request or response.
8538//
8539//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8540//   Provides information about an API request or response.
8541//
8542// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettings
8543func (c *Pinpoint) UpdateApplicationSettings(input *UpdateApplicationSettingsInput) (*UpdateApplicationSettingsOutput, error) {
8544	req, out := c.UpdateApplicationSettingsRequest(input)
8545	return out, req.Send()
8546}
8547
8548// UpdateApplicationSettingsWithContext is the same as UpdateApplicationSettings with the addition of
8549// the ability to pass a context and additional request options.
8550//
8551// See UpdateApplicationSettings for details on how to use this API operation.
8552//
8553// The context must be non-nil and will be used for request cancellation. If
8554// the context is nil a panic will occur. In the future the SDK may create
8555// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8556// for more information on using Contexts.
8557func (c *Pinpoint) UpdateApplicationSettingsWithContext(ctx aws.Context, input *UpdateApplicationSettingsInput, opts ...request.Option) (*UpdateApplicationSettingsOutput, error) {
8558	req, out := c.UpdateApplicationSettingsRequest(input)
8559	req.SetContext(ctx)
8560	req.ApplyOptions(opts...)
8561	return out, req.Send()
8562}
8563
8564const opUpdateBaiduChannel = "UpdateBaiduChannel"
8565
8566// UpdateBaiduChannelRequest generates a "aws/request.Request" representing the
8567// client's request for the UpdateBaiduChannel operation. The "output" return
8568// value will be populated with the request's response once the request completes
8569// successfully.
8570//
8571// Use "Send" method on the returned Request to send the API call to the service.
8572// the "output" return value is not valid until after Send returns without error.
8573//
8574// See UpdateBaiduChannel for more information on using the UpdateBaiduChannel
8575// API call, and error handling.
8576//
8577// This method is useful when you want to inject custom logic or configuration
8578// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8579//
8580//
8581//    // Example sending a request using the UpdateBaiduChannelRequest method.
8582//    req, resp := client.UpdateBaiduChannelRequest(params)
8583//
8584//    err := req.Send()
8585//    if err == nil { // resp is now filled
8586//        fmt.Println(resp)
8587//    }
8588//
8589// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel
8590func (c *Pinpoint) UpdateBaiduChannelRequest(input *UpdateBaiduChannelInput) (req *request.Request, output *UpdateBaiduChannelOutput) {
8591	op := &request.Operation{
8592		Name:       opUpdateBaiduChannel,
8593		HTTPMethod: "PUT",
8594		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
8595	}
8596
8597	if input == nil {
8598		input = &UpdateBaiduChannelInput{}
8599	}
8600
8601	output = &UpdateBaiduChannelOutput{}
8602	req = c.newRequest(op, input, output)
8603	return
8604}
8605
8606// UpdateBaiduChannel API operation for Amazon Pinpoint.
8607//
8608// Enables the Baidu channel for an application or updates the status and settings
8609// of the Baidu channel for an application.
8610//
8611// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8612// with awserr.Error's Code and Message methods to get detailed information about
8613// the error.
8614//
8615// See the AWS API reference guide for Amazon Pinpoint's
8616// API operation UpdateBaiduChannel for usage and error information.
8617//
8618// Returned Error Codes:
8619//   * ErrCodeBadRequestException "BadRequestException"
8620//   Provides information about an API request or response.
8621//
8622//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8623//   Provides information about an API request or response.
8624//
8625//   * ErrCodeForbiddenException "ForbiddenException"
8626//   Provides information about an API request or response.
8627//
8628//   * ErrCodeNotFoundException "NotFoundException"
8629//   Provides information about an API request or response.
8630//
8631//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8632//   Provides information about an API request or response.
8633//
8634//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8635//   Provides information about an API request or response.
8636//
8637// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel
8638func (c *Pinpoint) UpdateBaiduChannel(input *UpdateBaiduChannelInput) (*UpdateBaiduChannelOutput, error) {
8639	req, out := c.UpdateBaiduChannelRequest(input)
8640	return out, req.Send()
8641}
8642
8643// UpdateBaiduChannelWithContext is the same as UpdateBaiduChannel with the addition of
8644// the ability to pass a context and additional request options.
8645//
8646// See UpdateBaiduChannel for details on how to use this API operation.
8647//
8648// The context must be non-nil and will be used for request cancellation. If
8649// the context is nil a panic will occur. In the future the SDK may create
8650// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8651// for more information on using Contexts.
8652func (c *Pinpoint) UpdateBaiduChannelWithContext(ctx aws.Context, input *UpdateBaiduChannelInput, opts ...request.Option) (*UpdateBaiduChannelOutput, error) {
8653	req, out := c.UpdateBaiduChannelRequest(input)
8654	req.SetContext(ctx)
8655	req.ApplyOptions(opts...)
8656	return out, req.Send()
8657}
8658
8659const opUpdateCampaign = "UpdateCampaign"
8660
8661// UpdateCampaignRequest generates a "aws/request.Request" representing the
8662// client's request for the UpdateCampaign operation. The "output" return
8663// value will be populated with the request's response once the request completes
8664// successfully.
8665//
8666// Use "Send" method on the returned Request to send the API call to the service.
8667// the "output" return value is not valid until after Send returns without error.
8668//
8669// See UpdateCampaign for more information on using the UpdateCampaign
8670// API call, and error handling.
8671//
8672// This method is useful when you want to inject custom logic or configuration
8673// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8674//
8675//
8676//    // Example sending a request using the UpdateCampaignRequest method.
8677//    req, resp := client.UpdateCampaignRequest(params)
8678//
8679//    err := req.Send()
8680//    if err == nil { // resp is now filled
8681//        fmt.Println(resp)
8682//    }
8683//
8684// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaign
8685func (c *Pinpoint) UpdateCampaignRequest(input *UpdateCampaignInput) (req *request.Request, output *UpdateCampaignOutput) {
8686	op := &request.Operation{
8687		Name:       opUpdateCampaign,
8688		HTTPMethod: "PUT",
8689		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
8690	}
8691
8692	if input == nil {
8693		input = &UpdateCampaignInput{}
8694	}
8695
8696	output = &UpdateCampaignOutput{}
8697	req = c.newRequest(op, input, output)
8698	return
8699}
8700
8701// UpdateCampaign API operation for Amazon Pinpoint.
8702//
8703// Updates the configuration and other settings for a campaign.
8704//
8705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8706// with awserr.Error's Code and Message methods to get detailed information about
8707// the error.
8708//
8709// See the AWS API reference guide for Amazon Pinpoint's
8710// API operation UpdateCampaign for usage and error information.
8711//
8712// Returned Error Codes:
8713//   * ErrCodeBadRequestException "BadRequestException"
8714//   Provides information about an API request or response.
8715//
8716//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8717//   Provides information about an API request or response.
8718//
8719//   * ErrCodeForbiddenException "ForbiddenException"
8720//   Provides information about an API request or response.
8721//
8722//   * ErrCodeNotFoundException "NotFoundException"
8723//   Provides information about an API request or response.
8724//
8725//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8726//   Provides information about an API request or response.
8727//
8728//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8729//   Provides information about an API request or response.
8730//
8731// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaign
8732func (c *Pinpoint) UpdateCampaign(input *UpdateCampaignInput) (*UpdateCampaignOutput, error) {
8733	req, out := c.UpdateCampaignRequest(input)
8734	return out, req.Send()
8735}
8736
8737// UpdateCampaignWithContext is the same as UpdateCampaign with the addition of
8738// the ability to pass a context and additional request options.
8739//
8740// See UpdateCampaign for details on how to use this API operation.
8741//
8742// The context must be non-nil and will be used for request cancellation. If
8743// the context is nil a panic will occur. In the future the SDK may create
8744// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8745// for more information on using Contexts.
8746func (c *Pinpoint) UpdateCampaignWithContext(ctx aws.Context, input *UpdateCampaignInput, opts ...request.Option) (*UpdateCampaignOutput, error) {
8747	req, out := c.UpdateCampaignRequest(input)
8748	req.SetContext(ctx)
8749	req.ApplyOptions(opts...)
8750	return out, req.Send()
8751}
8752
8753const opUpdateEmailChannel = "UpdateEmailChannel"
8754
8755// UpdateEmailChannelRequest generates a "aws/request.Request" representing the
8756// client's request for the UpdateEmailChannel operation. The "output" return
8757// value will be populated with the request's response once the request completes
8758// successfully.
8759//
8760// Use "Send" method on the returned Request to send the API call to the service.
8761// the "output" return value is not valid until after Send returns without error.
8762//
8763// See UpdateEmailChannel for more information on using the UpdateEmailChannel
8764// API call, and error handling.
8765//
8766// This method is useful when you want to inject custom logic or configuration
8767// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8768//
8769//
8770//    // Example sending a request using the UpdateEmailChannelRequest method.
8771//    req, resp := client.UpdateEmailChannelRequest(params)
8772//
8773//    err := req.Send()
8774//    if err == nil { // resp is now filled
8775//        fmt.Println(resp)
8776//    }
8777//
8778// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel
8779func (c *Pinpoint) UpdateEmailChannelRequest(input *UpdateEmailChannelInput) (req *request.Request, output *UpdateEmailChannelOutput) {
8780	op := &request.Operation{
8781		Name:       opUpdateEmailChannel,
8782		HTTPMethod: "PUT",
8783		HTTPPath:   "/v1/apps/{application-id}/channels/email",
8784	}
8785
8786	if input == nil {
8787		input = &UpdateEmailChannelInput{}
8788	}
8789
8790	output = &UpdateEmailChannelOutput{}
8791	req = c.newRequest(op, input, output)
8792	return
8793}
8794
8795// UpdateEmailChannel API operation for Amazon Pinpoint.
8796//
8797// Enables the email channel for an application or updates the status and settings
8798// of the email channel for an application.
8799//
8800// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8801// with awserr.Error's Code and Message methods to get detailed information about
8802// the error.
8803//
8804// See the AWS API reference guide for Amazon Pinpoint's
8805// API operation UpdateEmailChannel for usage and error information.
8806//
8807// Returned Error Codes:
8808//   * ErrCodeBadRequestException "BadRequestException"
8809//   Provides information about an API request or response.
8810//
8811//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8812//   Provides information about an API request or response.
8813//
8814//   * ErrCodeForbiddenException "ForbiddenException"
8815//   Provides information about an API request or response.
8816//
8817//   * ErrCodeNotFoundException "NotFoundException"
8818//   Provides information about an API request or response.
8819//
8820//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8821//   Provides information about an API request or response.
8822//
8823//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8824//   Provides information about an API request or response.
8825//
8826// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel
8827func (c *Pinpoint) UpdateEmailChannel(input *UpdateEmailChannelInput) (*UpdateEmailChannelOutput, error) {
8828	req, out := c.UpdateEmailChannelRequest(input)
8829	return out, req.Send()
8830}
8831
8832// UpdateEmailChannelWithContext is the same as UpdateEmailChannel with the addition of
8833// the ability to pass a context and additional request options.
8834//
8835// See UpdateEmailChannel for details on how to use this API operation.
8836//
8837// The context must be non-nil and will be used for request cancellation. If
8838// the context is nil a panic will occur. In the future the SDK may create
8839// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8840// for more information on using Contexts.
8841func (c *Pinpoint) UpdateEmailChannelWithContext(ctx aws.Context, input *UpdateEmailChannelInput, opts ...request.Option) (*UpdateEmailChannelOutput, error) {
8842	req, out := c.UpdateEmailChannelRequest(input)
8843	req.SetContext(ctx)
8844	req.ApplyOptions(opts...)
8845	return out, req.Send()
8846}
8847
8848const opUpdateEmailTemplate = "UpdateEmailTemplate"
8849
8850// UpdateEmailTemplateRequest generates a "aws/request.Request" representing the
8851// client's request for the UpdateEmailTemplate operation. The "output" return
8852// value will be populated with the request's response once the request completes
8853// successfully.
8854//
8855// Use "Send" method on the returned Request to send the API call to the service.
8856// the "output" return value is not valid until after Send returns without error.
8857//
8858// See UpdateEmailTemplate for more information on using the UpdateEmailTemplate
8859// API call, and error handling.
8860//
8861// This method is useful when you want to inject custom logic or configuration
8862// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8863//
8864//
8865//    // Example sending a request using the UpdateEmailTemplateRequest method.
8866//    req, resp := client.UpdateEmailTemplateRequest(params)
8867//
8868//    err := req.Send()
8869//    if err == nil { // resp is now filled
8870//        fmt.Println(resp)
8871//    }
8872//
8873// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailTemplate
8874func (c *Pinpoint) UpdateEmailTemplateRequest(input *UpdateEmailTemplateInput) (req *request.Request, output *UpdateEmailTemplateOutput) {
8875	op := &request.Operation{
8876		Name:       opUpdateEmailTemplate,
8877		HTTPMethod: "PUT",
8878		HTTPPath:   "/v1/templates/{template-name}/email",
8879	}
8880
8881	if input == nil {
8882		input = &UpdateEmailTemplateInput{}
8883	}
8884
8885	output = &UpdateEmailTemplateOutput{}
8886	req = c.newRequest(op, input, output)
8887	return
8888}
8889
8890// UpdateEmailTemplate API operation for Amazon Pinpoint.
8891//
8892// Updates an existing message template for messages that are sent through the
8893// email channel.
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 UpdateEmailTemplate for usage and error information.
8901//
8902// Returned Error Codes:
8903//   * ErrCodeBadRequestException "BadRequestException"
8904//   Provides information about an API request or response.
8905//
8906//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8907//   Provides information about an API request or response.
8908//
8909//   * ErrCodeForbiddenException "ForbiddenException"
8910//   Provides information about an API request or response.
8911//
8912//   * ErrCodeNotFoundException "NotFoundException"
8913//   Provides information about an API request or response.
8914//
8915//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8916//   Provides information about an API request or response.
8917//
8918//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8919//   Provides information about an API request or response.
8920//
8921// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailTemplate
8922func (c *Pinpoint) UpdateEmailTemplate(input *UpdateEmailTemplateInput) (*UpdateEmailTemplateOutput, error) {
8923	req, out := c.UpdateEmailTemplateRequest(input)
8924	return out, req.Send()
8925}
8926
8927// UpdateEmailTemplateWithContext is the same as UpdateEmailTemplate with the addition of
8928// the ability to pass a context and additional request options.
8929//
8930// See UpdateEmailTemplate for details on how to use this API operation.
8931//
8932// The context must be non-nil and will be used for request cancellation. If
8933// the context is nil a panic will occur. In the future the SDK may create
8934// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8935// for more information on using Contexts.
8936func (c *Pinpoint) UpdateEmailTemplateWithContext(ctx aws.Context, input *UpdateEmailTemplateInput, opts ...request.Option) (*UpdateEmailTemplateOutput, error) {
8937	req, out := c.UpdateEmailTemplateRequest(input)
8938	req.SetContext(ctx)
8939	req.ApplyOptions(opts...)
8940	return out, req.Send()
8941}
8942
8943const opUpdateEndpoint = "UpdateEndpoint"
8944
8945// UpdateEndpointRequest generates a "aws/request.Request" representing the
8946// client's request for the UpdateEndpoint operation. The "output" return
8947// value will be populated with the request's response once the request completes
8948// successfully.
8949//
8950// Use "Send" method on the returned Request to send the API call to the service.
8951// the "output" return value is not valid until after Send returns without error.
8952//
8953// See UpdateEndpoint for more information on using the UpdateEndpoint
8954// API call, and error handling.
8955//
8956// This method is useful when you want to inject custom logic or configuration
8957// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8958//
8959//
8960//    // Example sending a request using the UpdateEndpointRequest method.
8961//    req, resp := client.UpdateEndpointRequest(params)
8962//
8963//    err := req.Send()
8964//    if err == nil { // resp is now filled
8965//        fmt.Println(resp)
8966//    }
8967//
8968// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpoint
8969func (c *Pinpoint) UpdateEndpointRequest(input *UpdateEndpointInput) (req *request.Request, output *UpdateEndpointOutput) {
8970	op := &request.Operation{
8971		Name:       opUpdateEndpoint,
8972		HTTPMethod: "PUT",
8973		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
8974	}
8975
8976	if input == nil {
8977		input = &UpdateEndpointInput{}
8978	}
8979
8980	output = &UpdateEndpointOutput{}
8981	req = c.newRequest(op, input, output)
8982	return
8983}
8984
8985// UpdateEndpoint API operation for Amazon Pinpoint.
8986//
8987// Creates a new endpoint for an application or updates the settings and attributes
8988// of an existing endpoint for an application. You can also use this operation
8989// to define custom attributes (Attributes, Metrics, and UserAttributes properties)
8990// for an endpoint.
8991//
8992// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8993// with awserr.Error's Code and Message methods to get detailed information about
8994// the error.
8995//
8996// See the AWS API reference guide for Amazon Pinpoint's
8997// API operation UpdateEndpoint for usage and error information.
8998//
8999// Returned Error Codes:
9000//   * ErrCodeBadRequestException "BadRequestException"
9001//   Provides information about an API request or response.
9002//
9003//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
9004//   Provides information about an API request or response.
9005//
9006//   * ErrCodeForbiddenException "ForbiddenException"
9007//   Provides information about an API request or response.
9008//
9009//   * ErrCodeNotFoundException "NotFoundException"
9010//   Provides information about an API request or response.
9011//
9012//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
9013//   Provides information about an API request or response.
9014//
9015//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
9016//   Provides information about an API request or response.
9017//
9018// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpoint
9019func (c *Pinpoint) UpdateEndpoint(input *UpdateEndpointInput) (*UpdateEndpointOutput, error) {
9020	req, out := c.UpdateEndpointRequest(input)
9021	return out, req.Send()
9022}
9023
9024// UpdateEndpointWithContext is the same as UpdateEndpoint with the addition of
9025// the ability to pass a context and additional request options.
9026//
9027// See UpdateEndpoint for details on how to use this API operation.
9028//
9029// The context must be non-nil and will be used for request cancellation. If
9030// the context is nil a panic will occur. In the future the SDK may create
9031// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9032// for more information on using Contexts.
9033func (c *Pinpoint) UpdateEndpointWithContext(ctx aws.Context, input *UpdateEndpointInput, opts ...request.Option) (*UpdateEndpointOutput, error) {
9034	req, out := c.UpdateEndpointRequest(input)
9035	req.SetContext(ctx)
9036	req.ApplyOptions(opts...)
9037	return out, req.Send()
9038}
9039
9040const opUpdateEndpointsBatch = "UpdateEndpointsBatch"
9041
9042// UpdateEndpointsBatchRequest generates a "aws/request.Request" representing the
9043// client's request for the UpdateEndpointsBatch operation. The "output" return
9044// value will be populated with the request's response once the request completes
9045// successfully.
9046//
9047// Use "Send" method on the returned Request to send the API call to the service.
9048// the "output" return value is not valid until after Send returns without error.
9049//
9050// See UpdateEndpointsBatch for more information on using the UpdateEndpointsBatch
9051// API call, and error handling.
9052//
9053// This method is useful when you want to inject custom logic or configuration
9054// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9055//
9056//
9057//    // Example sending a request using the UpdateEndpointsBatchRequest method.
9058//    req, resp := client.UpdateEndpointsBatchRequest(params)
9059//
9060//    err := req.Send()
9061//    if err == nil { // resp is now filled
9062//        fmt.Println(resp)
9063//    }
9064//
9065// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatch
9066func (c *Pinpoint) UpdateEndpointsBatchRequest(input *UpdateEndpointsBatchInput) (req *request.Request, output *UpdateEndpointsBatchOutput) {
9067	op := &request.Operation{
9068		Name:       opUpdateEndpointsBatch,
9069		HTTPMethod: "PUT",
9070		HTTPPath:   "/v1/apps/{application-id}/endpoints",
9071	}
9072
9073	if input == nil {
9074		input = &UpdateEndpointsBatchInput{}
9075	}
9076
9077	output = &UpdateEndpointsBatchOutput{}
9078	req = c.newRequest(op, input, output)
9079	return
9080}
9081
9082// UpdateEndpointsBatch API operation for Amazon Pinpoint.
9083//
9084// Creates a new batch of endpoints for an application or updates the settings
9085// and attributes of a batch of existing endpoints for an application. You can
9086// also use this operation to define custom attributes (Attributes, Metrics,
9087// and UserAttributes properties) for a batch of endpoints.
9088//
9089// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9090// with awserr.Error's Code and Message methods to get detailed information about
9091// the error.
9092//
9093// See the AWS API reference guide for Amazon Pinpoint's
9094// API operation UpdateEndpointsBatch for usage and error information.
9095//
9096// Returned Error Codes:
9097//   * ErrCodeBadRequestException "BadRequestException"
9098//   Provides information about an API request or response.
9099//
9100//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
9101//   Provides information about an API request or response.
9102//
9103//   * ErrCodeForbiddenException "ForbiddenException"
9104//   Provides information about an API request or response.
9105//
9106//   * ErrCodeNotFoundException "NotFoundException"
9107//   Provides information about an API request or response.
9108//
9109//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
9110//   Provides information about an API request or response.
9111//
9112//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
9113//   Provides information about an API request or response.
9114//
9115// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatch
9116func (c *Pinpoint) UpdateEndpointsBatch(input *UpdateEndpointsBatchInput) (*UpdateEndpointsBatchOutput, error) {
9117	req, out := c.UpdateEndpointsBatchRequest(input)
9118	return out, req.Send()
9119}
9120
9121// UpdateEndpointsBatchWithContext is the same as UpdateEndpointsBatch with the addition of
9122// the ability to pass a context and additional request options.
9123//
9124// See UpdateEndpointsBatch for details on how to use this API operation.
9125//
9126// The context must be non-nil and will be used for request cancellation. If
9127// the context is nil a panic will occur. In the future the SDK may create
9128// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9129// for more information on using Contexts.
9130func (c *Pinpoint) UpdateEndpointsBatchWithContext(ctx aws.Context, input *UpdateEndpointsBatchInput, opts ...request.Option) (*UpdateEndpointsBatchOutput, error) {
9131	req, out := c.UpdateEndpointsBatchRequest(input)
9132	req.SetContext(ctx)
9133	req.ApplyOptions(opts...)
9134	return out, req.Send()
9135}
9136
9137const opUpdateGcmChannel = "UpdateGcmChannel"
9138
9139// UpdateGcmChannelRequest generates a "aws/request.Request" representing the
9140// client's request for the UpdateGcmChannel operation. The "output" return
9141// value will be populated with the request's response once the request completes
9142// successfully.
9143//
9144// Use "Send" method on the returned Request to send the API call to the service.
9145// the "output" return value is not valid until after Send returns without error.
9146//
9147// See UpdateGcmChannel for more information on using the UpdateGcmChannel
9148// API call, and error handling.
9149//
9150// This method is useful when you want to inject custom logic or configuration
9151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9152//
9153//
9154//    // Example sending a request using the UpdateGcmChannelRequest method.
9155//    req, resp := client.UpdateGcmChannelRequest(params)
9156//
9157//    err := req.Send()
9158//    if err == nil { // resp is now filled
9159//        fmt.Println(resp)
9160//    }
9161//
9162// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannel
9163func (c *Pinpoint) UpdateGcmChannelRequest(input *UpdateGcmChannelInput) (req *request.Request, output *UpdateGcmChannelOutput) {
9164	op := &request.Operation{
9165		Name:       opUpdateGcmChannel,
9166		HTTPMethod: "PUT",
9167		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
9168	}
9169
9170	if input == nil {
9171		input = &UpdateGcmChannelInput{}
9172	}
9173
9174	output = &UpdateGcmChannelOutput{}
9175	req = c.newRequest(op, input, output)
9176	return
9177}
9178
9179// UpdateGcmChannel API operation for Amazon Pinpoint.
9180//
9181// Enables the GCM channel for an application or updates the status and settings
9182// of the GCM channel for an application.
9183//
9184// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9185// with awserr.Error's Code and Message methods to get detailed information about
9186// the error.
9187//
9188// See the AWS API reference guide for Amazon Pinpoint's
9189// API operation UpdateGcmChannel for usage and error information.
9190//
9191// Returned Error Codes:
9192//   * ErrCodeBadRequestException "BadRequestException"
9193//   Provides information about an API request or response.
9194//
9195//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
9196//   Provides information about an API request or response.
9197//
9198//   * ErrCodeForbiddenException "ForbiddenException"
9199//   Provides information about an API request or response.
9200//
9201//   * ErrCodeNotFoundException "NotFoundException"
9202//   Provides information about an API request or response.
9203//
9204//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
9205//   Provides information about an API request or response.
9206//
9207//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
9208//   Provides information about an API request or response.
9209//
9210// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannel
9211func (c *Pinpoint) UpdateGcmChannel(input *UpdateGcmChannelInput) (*UpdateGcmChannelOutput, error) {
9212	req, out := c.UpdateGcmChannelRequest(input)
9213	return out, req.Send()
9214}
9215
9216// UpdateGcmChannelWithContext is the same as UpdateGcmChannel with the addition of
9217// the ability to pass a context and additional request options.
9218//
9219// See UpdateGcmChannel for details on how to use this API operation.
9220//
9221// The context must be non-nil and will be used for request cancellation. If
9222// the context is nil a panic will occur. In the future the SDK may create
9223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9224// for more information on using Contexts.
9225func (c *Pinpoint) UpdateGcmChannelWithContext(ctx aws.Context, input *UpdateGcmChannelInput, opts ...request.Option) (*UpdateGcmChannelOutput, error) {
9226	req, out := c.UpdateGcmChannelRequest(input)
9227	req.SetContext(ctx)
9228	req.ApplyOptions(opts...)
9229	return out, req.Send()
9230}
9231
9232const opUpdateJourney = "UpdateJourney"
9233
9234// UpdateJourneyRequest generates a "aws/request.Request" representing the
9235// client's request for the UpdateJourney operation. The "output" return
9236// value will be populated with the request's response once the request completes
9237// successfully.
9238//
9239// Use "Send" method on the returned Request to send the API call to the service.
9240// the "output" return value is not valid until after Send returns without error.
9241//
9242// See UpdateJourney for more information on using the UpdateJourney
9243// API call, and error handling.
9244//
9245// This method is useful when you want to inject custom logic or configuration
9246// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9247//
9248//
9249//    // Example sending a request using the UpdateJourneyRequest method.
9250//    req, resp := client.UpdateJourneyRequest(params)
9251//
9252//    err := req.Send()
9253//    if err == nil { // resp is now filled
9254//        fmt.Println(resp)
9255//    }
9256//
9257// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateJourney
9258func (c *Pinpoint) UpdateJourneyRequest(input *UpdateJourneyInput) (req *request.Request, output *UpdateJourneyOutput) {
9259	op := &request.Operation{
9260		Name:       opUpdateJourney,
9261		HTTPMethod: "PUT",
9262		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}",
9263	}
9264
9265	if input == nil {
9266		input = &UpdateJourneyInput{}
9267	}
9268
9269	output = &UpdateJourneyOutput{}
9270	req = c.newRequest(op, input, output)
9271	return
9272}
9273
9274// UpdateJourney API operation for Amazon Pinpoint.
9275//
9276// Updates the configuration and other settings for a journey.
9277//
9278// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9279// with awserr.Error's Code and Message methods to get detailed information about
9280// the error.
9281//
9282// See the AWS API reference guide for Amazon Pinpoint's
9283// API operation UpdateJourney for usage and error information.
9284//
9285// Returned Error Codes:
9286//   * ErrCodeBadRequestException "BadRequestException"
9287//   Provides information about an API request or response.
9288//
9289//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
9290//   Provides information about an API request or response.
9291//
9292//   * ErrCodeForbiddenException "ForbiddenException"
9293//   Provides information about an API request or response.
9294//
9295//   * ErrCodeNotFoundException "NotFoundException"
9296//   Provides information about an API request or response.
9297//
9298//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
9299//   Provides information about an API request or response.
9300//
9301//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
9302//   Provides information about an API request or response.
9303//
9304// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateJourney
9305func (c *Pinpoint) UpdateJourney(input *UpdateJourneyInput) (*UpdateJourneyOutput, error) {
9306	req, out := c.UpdateJourneyRequest(input)
9307	return out, req.Send()
9308}
9309
9310// UpdateJourneyWithContext is the same as UpdateJourney with the addition of
9311// the ability to pass a context and additional request options.
9312//
9313// See UpdateJourney for details on how to use this API operation.
9314//
9315// The context must be non-nil and will be used for request cancellation. If
9316// the context is nil a panic will occur. In the future the SDK may create
9317// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9318// for more information on using Contexts.
9319func (c *Pinpoint) UpdateJourneyWithContext(ctx aws.Context, input *UpdateJourneyInput, opts ...request.Option) (*UpdateJourneyOutput, error) {
9320	req, out := c.UpdateJourneyRequest(input)
9321	req.SetContext(ctx)
9322	req.ApplyOptions(opts...)
9323	return out, req.Send()
9324}
9325
9326const opUpdateJourneyState = "UpdateJourneyState"
9327
9328// UpdateJourneyStateRequest generates a "aws/request.Request" representing the
9329// client's request for the UpdateJourneyState operation. The "output" return
9330// value will be populated with the request's response once the request completes
9331// successfully.
9332//
9333// Use "Send" method on the returned Request to send the API call to the service.
9334// the "output" return value is not valid until after Send returns without error.
9335//
9336// See UpdateJourneyState for more information on using the UpdateJourneyState
9337// API call, and error handling.
9338//
9339// This method is useful when you want to inject custom logic or configuration
9340// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9341//
9342//
9343//    // Example sending a request using the UpdateJourneyStateRequest method.
9344//    req, resp := client.UpdateJourneyStateRequest(params)
9345//
9346//    err := req.Send()
9347//    if err == nil { // resp is now filled
9348//        fmt.Println(resp)
9349//    }
9350//
9351// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateJourneyState
9352func (c *Pinpoint) UpdateJourneyStateRequest(input *UpdateJourneyStateInput) (req *request.Request, output *UpdateJourneyStateOutput) {
9353	op := &request.Operation{
9354		Name:       opUpdateJourneyState,
9355		HTTPMethod: "PUT",
9356		HTTPPath:   "/v1/apps/{application-id}/journeys/{journey-id}/state",
9357	}
9358
9359	if input == nil {
9360		input = &UpdateJourneyStateInput{}
9361	}
9362
9363	output = &UpdateJourneyStateOutput{}
9364	req = c.newRequest(op, input, output)
9365	return
9366}
9367
9368// UpdateJourneyState API operation for Amazon Pinpoint.
9369//
9370// Cancels (stops) an active journey.
9371//
9372// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9373// with awserr.Error's Code and Message methods to get detailed information about
9374// the error.
9375//
9376// See the AWS API reference guide for Amazon Pinpoint's
9377// API operation UpdateJourneyState for usage and error information.
9378//
9379// Returned Error Codes:
9380//   * ErrCodeBadRequestException "BadRequestException"
9381//   Provides information about an API request or response.
9382//
9383//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
9384//   Provides information about an API request or response.
9385//
9386//   * ErrCodeForbiddenException "ForbiddenException"
9387//   Provides information about an API request or response.
9388//
9389//   * ErrCodeNotFoundException "NotFoundException"
9390//   Provides information about an API request or response.
9391//
9392//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
9393//   Provides information about an API request or response.
9394//
9395//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
9396//   Provides information about an API request or response.
9397//
9398// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateJourneyState
9399func (c *Pinpoint) UpdateJourneyState(input *UpdateJourneyStateInput) (*UpdateJourneyStateOutput, error) {
9400	req, out := c.UpdateJourneyStateRequest(input)
9401	return out, req.Send()
9402}
9403
9404// UpdateJourneyStateWithContext is the same as UpdateJourneyState with the addition of
9405// the ability to pass a context and additional request options.
9406//
9407// See UpdateJourneyState for details on how to use this API operation.
9408//
9409// The context must be non-nil and will be used for request cancellation. If
9410// the context is nil a panic will occur. In the future the SDK may create
9411// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9412// for more information on using Contexts.
9413func (c *Pinpoint) UpdateJourneyStateWithContext(ctx aws.Context, input *UpdateJourneyStateInput, opts ...request.Option) (*UpdateJourneyStateOutput, error) {
9414	req, out := c.UpdateJourneyStateRequest(input)
9415	req.SetContext(ctx)
9416	req.ApplyOptions(opts...)
9417	return out, req.Send()
9418}
9419
9420const opUpdatePushTemplate = "UpdatePushTemplate"
9421
9422// UpdatePushTemplateRequest generates a "aws/request.Request" representing the
9423// client's request for the UpdatePushTemplate operation. The "output" return
9424// value will be populated with the request's response once the request completes
9425// successfully.
9426//
9427// Use "Send" method on the returned Request to send the API call to the service.
9428// the "output" return value is not valid until after Send returns without error.
9429//
9430// See UpdatePushTemplate for more information on using the UpdatePushTemplate
9431// API call, and error handling.
9432//
9433// This method is useful when you want to inject custom logic or configuration
9434// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9435//
9436//
9437//    // Example sending a request using the UpdatePushTemplateRequest method.
9438//    req, resp := client.UpdatePushTemplateRequest(params)
9439//
9440//    err := req.Send()
9441//    if err == nil { // resp is now filled
9442//        fmt.Println(resp)
9443//    }
9444//
9445// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdatePushTemplate
9446func (c *Pinpoint) UpdatePushTemplateRequest(input *UpdatePushTemplateInput) (req *request.Request, output *UpdatePushTemplateOutput) {
9447	op := &request.Operation{
9448		Name:       opUpdatePushTemplate,
9449		HTTPMethod: "PUT",
9450		HTTPPath:   "/v1/templates/{template-name}/push",
9451	}
9452
9453	if input == nil {
9454		input = &UpdatePushTemplateInput{}
9455	}
9456
9457	output = &UpdatePushTemplateOutput{}
9458	req = c.newRequest(op, input, output)
9459	return
9460}
9461
9462// UpdatePushTemplate API operation for Amazon Pinpoint.
9463//
9464// Updates an existing message template for messages that are sent through a
9465// push notification channel.
9466//
9467// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9468// with awserr.Error's Code and Message methods to get detailed information about
9469// the error.
9470//
9471// See the AWS API reference guide for Amazon Pinpoint's
9472// API operation UpdatePushTemplate for usage and error information.
9473//
9474// Returned Error Codes:
9475//   * ErrCodeBadRequestException "BadRequestException"
9476//   Provides information about an API request or response.
9477//
9478//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
9479//   Provides information about an API request or response.
9480//
9481//   * ErrCodeForbiddenException "ForbiddenException"
9482//   Provides information about an API request or response.
9483//
9484//   * ErrCodeNotFoundException "NotFoundException"
9485//   Provides information about an API request or response.
9486//
9487//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
9488//   Provides information about an API request or response.
9489//
9490//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
9491//   Provides information about an API request or response.
9492//
9493// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdatePushTemplate
9494func (c *Pinpoint) UpdatePushTemplate(input *UpdatePushTemplateInput) (*UpdatePushTemplateOutput, error) {
9495	req, out := c.UpdatePushTemplateRequest(input)
9496	return out, req.Send()
9497}
9498
9499// UpdatePushTemplateWithContext is the same as UpdatePushTemplate with the addition of
9500// the ability to pass a context and additional request options.
9501//
9502// See UpdatePushTemplate for details on how to use this API operation.
9503//
9504// The context must be non-nil and will be used for request cancellation. If
9505// the context is nil a panic will occur. In the future the SDK may create
9506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9507// for more information on using Contexts.
9508func (c *Pinpoint) UpdatePushTemplateWithContext(ctx aws.Context, input *UpdatePushTemplateInput, opts ...request.Option) (*UpdatePushTemplateOutput, error) {
9509	req, out := c.UpdatePushTemplateRequest(input)
9510	req.SetContext(ctx)
9511	req.ApplyOptions(opts...)
9512	return out, req.Send()
9513}
9514
9515const opUpdateSegment = "UpdateSegment"
9516
9517// UpdateSegmentRequest generates a "aws/request.Request" representing the
9518// client's request for the UpdateSegment operation. The "output" return
9519// value will be populated with the request's response once the request completes
9520// successfully.
9521//
9522// Use "Send" method on the returned Request to send the API call to the service.
9523// the "output" return value is not valid until after Send returns without error.
9524//
9525// See UpdateSegment for more information on using the UpdateSegment
9526// API call, and error handling.
9527//
9528// This method is useful when you want to inject custom logic or configuration
9529// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9530//
9531//
9532//    // Example sending a request using the UpdateSegmentRequest method.
9533//    req, resp := client.UpdateSegmentRequest(params)
9534//
9535//    err := req.Send()
9536//    if err == nil { // resp is now filled
9537//        fmt.Println(resp)
9538//    }
9539//
9540// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegment
9541func (c *Pinpoint) UpdateSegmentRequest(input *UpdateSegmentInput) (req *request.Request, output *UpdateSegmentOutput) {
9542	op := &request.Operation{
9543		Name:       opUpdateSegment,
9544		HTTPMethod: "PUT",
9545		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
9546	}
9547
9548	if input == nil {
9549		input = &UpdateSegmentInput{}
9550	}
9551
9552	output = &UpdateSegmentOutput{}
9553	req = c.newRequest(op, input, output)
9554	return
9555}
9556
9557// UpdateSegment API operation for Amazon Pinpoint.
9558//
9559// Creates a new segment for an application or updates the configuration, dimension,
9560// and other settings for an existing segment that's associated with an application.
9561//
9562// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9563// with awserr.Error's Code and Message methods to get detailed information about
9564// the error.
9565//
9566// See the AWS API reference guide for Amazon Pinpoint's
9567// API operation UpdateSegment for usage and error information.
9568//
9569// Returned Error Codes:
9570//   * ErrCodeBadRequestException "BadRequestException"
9571//   Provides information about an API request or response.
9572//
9573//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
9574//   Provides information about an API request or response.
9575//
9576//   * ErrCodeForbiddenException "ForbiddenException"
9577//   Provides information about an API request or response.
9578//
9579//   * ErrCodeNotFoundException "NotFoundException"
9580//   Provides information about an API request or response.
9581//
9582//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
9583//   Provides information about an API request or response.
9584//
9585//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
9586//   Provides information about an API request or response.
9587//
9588// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegment
9589func (c *Pinpoint) UpdateSegment(input *UpdateSegmentInput) (*UpdateSegmentOutput, error) {
9590	req, out := c.UpdateSegmentRequest(input)
9591	return out, req.Send()
9592}
9593
9594// UpdateSegmentWithContext is the same as UpdateSegment with the addition of
9595// the ability to pass a context and additional request options.
9596//
9597// See UpdateSegment for details on how to use this API operation.
9598//
9599// The context must be non-nil and will be used for request cancellation. If
9600// the context is nil a panic will occur. In the future the SDK may create
9601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9602// for more information on using Contexts.
9603func (c *Pinpoint) UpdateSegmentWithContext(ctx aws.Context, input *UpdateSegmentInput, opts ...request.Option) (*UpdateSegmentOutput, error) {
9604	req, out := c.UpdateSegmentRequest(input)
9605	req.SetContext(ctx)
9606	req.ApplyOptions(opts...)
9607	return out, req.Send()
9608}
9609
9610const opUpdateSmsChannel = "UpdateSmsChannel"
9611
9612// UpdateSmsChannelRequest generates a "aws/request.Request" representing the
9613// client's request for the UpdateSmsChannel operation. The "output" return
9614// value will be populated with the request's response once the request completes
9615// successfully.
9616//
9617// Use "Send" method on the returned Request to send the API call to the service.
9618// the "output" return value is not valid until after Send returns without error.
9619//
9620// See UpdateSmsChannel for more information on using the UpdateSmsChannel
9621// API call, and error handling.
9622//
9623// This method is useful when you want to inject custom logic or configuration
9624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9625//
9626//
9627//    // Example sending a request using the UpdateSmsChannelRequest method.
9628//    req, resp := client.UpdateSmsChannelRequest(params)
9629//
9630//    err := req.Send()
9631//    if err == nil { // resp is now filled
9632//        fmt.Println(resp)
9633//    }
9634//
9635// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannel
9636func (c *Pinpoint) UpdateSmsChannelRequest(input *UpdateSmsChannelInput) (req *request.Request, output *UpdateSmsChannelOutput) {
9637	op := &request.Operation{
9638		Name:       opUpdateSmsChannel,
9639		HTTPMethod: "PUT",
9640		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
9641	}
9642
9643	if input == nil {
9644		input = &UpdateSmsChannelInput{}
9645	}
9646
9647	output = &UpdateSmsChannelOutput{}
9648	req = c.newRequest(op, input, output)
9649	return
9650}
9651
9652// UpdateSmsChannel API operation for Amazon Pinpoint.
9653//
9654// Enables the SMS channel for an application or updates the status and settings
9655// of the SMS channel for an application.
9656//
9657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9658// with awserr.Error's Code and Message methods to get detailed information about
9659// the error.
9660//
9661// See the AWS API reference guide for Amazon Pinpoint's
9662// API operation UpdateSmsChannel for usage and error information.
9663//
9664// Returned Error Codes:
9665//   * ErrCodeBadRequestException "BadRequestException"
9666//   Provides information about an API request or response.
9667//
9668//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
9669//   Provides information about an API request or response.
9670//
9671//   * ErrCodeForbiddenException "ForbiddenException"
9672//   Provides information about an API request or response.
9673//
9674//   * ErrCodeNotFoundException "NotFoundException"
9675//   Provides information about an API request or response.
9676//
9677//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
9678//   Provides information about an API request or response.
9679//
9680//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
9681//   Provides information about an API request or response.
9682//
9683// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannel
9684func (c *Pinpoint) UpdateSmsChannel(input *UpdateSmsChannelInput) (*UpdateSmsChannelOutput, error) {
9685	req, out := c.UpdateSmsChannelRequest(input)
9686	return out, req.Send()
9687}
9688
9689// UpdateSmsChannelWithContext is the same as UpdateSmsChannel with the addition of
9690// the ability to pass a context and additional request options.
9691//
9692// See UpdateSmsChannel for details on how to use this API operation.
9693//
9694// The context must be non-nil and will be used for request cancellation. If
9695// the context is nil a panic will occur. In the future the SDK may create
9696// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9697// for more information on using Contexts.
9698func (c *Pinpoint) UpdateSmsChannelWithContext(ctx aws.Context, input *UpdateSmsChannelInput, opts ...request.Option) (*UpdateSmsChannelOutput, error) {
9699	req, out := c.UpdateSmsChannelRequest(input)
9700	req.SetContext(ctx)
9701	req.ApplyOptions(opts...)
9702	return out, req.Send()
9703}
9704
9705const opUpdateSmsTemplate = "UpdateSmsTemplate"
9706
9707// UpdateSmsTemplateRequest generates a "aws/request.Request" representing the
9708// client's request for the UpdateSmsTemplate operation. The "output" return
9709// value will be populated with the request's response once the request completes
9710// successfully.
9711//
9712// Use "Send" method on the returned Request to send the API call to the service.
9713// the "output" return value is not valid until after Send returns without error.
9714//
9715// See UpdateSmsTemplate for more information on using the UpdateSmsTemplate
9716// API call, and error handling.
9717//
9718// This method is useful when you want to inject custom logic or configuration
9719// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9720//
9721//
9722//    // Example sending a request using the UpdateSmsTemplateRequest method.
9723//    req, resp := client.UpdateSmsTemplateRequest(params)
9724//
9725//    err := req.Send()
9726//    if err == nil { // resp is now filled
9727//        fmt.Println(resp)
9728//    }
9729//
9730// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsTemplate
9731func (c *Pinpoint) UpdateSmsTemplateRequest(input *UpdateSmsTemplateInput) (req *request.Request, output *UpdateSmsTemplateOutput) {
9732	op := &request.Operation{
9733		Name:       opUpdateSmsTemplate,
9734		HTTPMethod: "PUT",
9735		HTTPPath:   "/v1/templates/{template-name}/sms",
9736	}
9737
9738	if input == nil {
9739		input = &UpdateSmsTemplateInput{}
9740	}
9741
9742	output = &UpdateSmsTemplateOutput{}
9743	req = c.newRequest(op, input, output)
9744	return
9745}
9746
9747// UpdateSmsTemplate API operation for Amazon Pinpoint.
9748//
9749// Updates an existing message template for messages that are sent through the
9750// SMS channel.
9751//
9752// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9753// with awserr.Error's Code and Message methods to get detailed information about
9754// the error.
9755//
9756// See the AWS API reference guide for Amazon Pinpoint's
9757// API operation UpdateSmsTemplate for usage and error information.
9758//
9759// Returned Error Codes:
9760//   * ErrCodeBadRequestException "BadRequestException"
9761//   Provides information about an API request or response.
9762//
9763//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
9764//   Provides information about an API request or response.
9765//
9766//   * ErrCodeForbiddenException "ForbiddenException"
9767//   Provides information about an API request or response.
9768//
9769//   * ErrCodeNotFoundException "NotFoundException"
9770//   Provides information about an API request or response.
9771//
9772//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
9773//   Provides information about an API request or response.
9774//
9775//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
9776//   Provides information about an API request or response.
9777//
9778// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsTemplate
9779func (c *Pinpoint) UpdateSmsTemplate(input *UpdateSmsTemplateInput) (*UpdateSmsTemplateOutput, error) {
9780	req, out := c.UpdateSmsTemplateRequest(input)
9781	return out, req.Send()
9782}
9783
9784// UpdateSmsTemplateWithContext is the same as UpdateSmsTemplate with the addition of
9785// the ability to pass a context and additional request options.
9786//
9787// See UpdateSmsTemplate for details on how to use this API operation.
9788//
9789// The context must be non-nil and will be used for request cancellation. If
9790// the context is nil a panic will occur. In the future the SDK may create
9791// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9792// for more information on using Contexts.
9793func (c *Pinpoint) UpdateSmsTemplateWithContext(ctx aws.Context, input *UpdateSmsTemplateInput, opts ...request.Option) (*UpdateSmsTemplateOutput, error) {
9794	req, out := c.UpdateSmsTemplateRequest(input)
9795	req.SetContext(ctx)
9796	req.ApplyOptions(opts...)
9797	return out, req.Send()
9798}
9799
9800const opUpdateTemplateActiveVersion = "UpdateTemplateActiveVersion"
9801
9802// UpdateTemplateActiveVersionRequest generates a "aws/request.Request" representing the
9803// client's request for the UpdateTemplateActiveVersion operation. The "output" return
9804// value will be populated with the request's response once the request completes
9805// successfully.
9806//
9807// Use "Send" method on the returned Request to send the API call to the service.
9808// the "output" return value is not valid until after Send returns without error.
9809//
9810// See UpdateTemplateActiveVersion for more information on using the UpdateTemplateActiveVersion
9811// API call, and error handling.
9812//
9813// This method is useful when you want to inject custom logic or configuration
9814// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9815//
9816//
9817//    // Example sending a request using the UpdateTemplateActiveVersionRequest method.
9818//    req, resp := client.UpdateTemplateActiveVersionRequest(params)
9819//
9820//    err := req.Send()
9821//    if err == nil { // resp is now filled
9822//        fmt.Println(resp)
9823//    }
9824//
9825// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateTemplateActiveVersion
9826func (c *Pinpoint) UpdateTemplateActiveVersionRequest(input *UpdateTemplateActiveVersionInput) (req *request.Request, output *UpdateTemplateActiveVersionOutput) {
9827	op := &request.Operation{
9828		Name:       opUpdateTemplateActiveVersion,
9829		HTTPMethod: "PUT",
9830		HTTPPath:   "/v1/templates/{template-name}/{template-type}/active-version",
9831	}
9832
9833	if input == nil {
9834		input = &UpdateTemplateActiveVersionInput{}
9835	}
9836
9837	output = &UpdateTemplateActiveVersionOutput{}
9838	req = c.newRequest(op, input, output)
9839	return
9840}
9841
9842// UpdateTemplateActiveVersion API operation for Amazon Pinpoint.
9843//
9844// Changes the status of a specific version of a message template to active.
9845//
9846// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9847// with awserr.Error's Code and Message methods to get detailed information about
9848// the error.
9849//
9850// See the AWS API reference guide for Amazon Pinpoint's
9851// API operation UpdateTemplateActiveVersion for usage and error information.
9852//
9853// Returned Error Codes:
9854//   * ErrCodeBadRequestException "BadRequestException"
9855//   Provides information about an API request or response.
9856//
9857//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
9858//   Provides information about an API request or response.
9859//
9860//   * ErrCodeForbiddenException "ForbiddenException"
9861//   Provides information about an API request or response.
9862//
9863//   * ErrCodeNotFoundException "NotFoundException"
9864//   Provides information about an API request or response.
9865//
9866//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
9867//   Provides information about an API request or response.
9868//
9869//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
9870//   Provides information about an API request or response.
9871//
9872// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateTemplateActiveVersion
9873func (c *Pinpoint) UpdateTemplateActiveVersion(input *UpdateTemplateActiveVersionInput) (*UpdateTemplateActiveVersionOutput, error) {
9874	req, out := c.UpdateTemplateActiveVersionRequest(input)
9875	return out, req.Send()
9876}
9877
9878// UpdateTemplateActiveVersionWithContext is the same as UpdateTemplateActiveVersion with the addition of
9879// the ability to pass a context and additional request options.
9880//
9881// See UpdateTemplateActiveVersion for details on how to use this API operation.
9882//
9883// The context must be non-nil and will be used for request cancellation. If
9884// the context is nil a panic will occur. In the future the SDK may create
9885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9886// for more information on using Contexts.
9887func (c *Pinpoint) UpdateTemplateActiveVersionWithContext(ctx aws.Context, input *UpdateTemplateActiveVersionInput, opts ...request.Option) (*UpdateTemplateActiveVersionOutput, error) {
9888	req, out := c.UpdateTemplateActiveVersionRequest(input)
9889	req.SetContext(ctx)
9890	req.ApplyOptions(opts...)
9891	return out, req.Send()
9892}
9893
9894const opUpdateVoiceChannel = "UpdateVoiceChannel"
9895
9896// UpdateVoiceChannelRequest generates a "aws/request.Request" representing the
9897// client's request for the UpdateVoiceChannel operation. The "output" return
9898// value will be populated with the request's response once the request completes
9899// successfully.
9900//
9901// Use "Send" method on the returned Request to send the API call to the service.
9902// the "output" return value is not valid until after Send returns without error.
9903//
9904// See UpdateVoiceChannel for more information on using the UpdateVoiceChannel
9905// API call, and error handling.
9906//
9907// This method is useful when you want to inject custom logic or configuration
9908// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9909//
9910//
9911//    // Example sending a request using the UpdateVoiceChannelRequest method.
9912//    req, resp := client.UpdateVoiceChannelRequest(params)
9913//
9914//    err := req.Send()
9915//    if err == nil { // resp is now filled
9916//        fmt.Println(resp)
9917//    }
9918//
9919// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceChannel
9920func (c *Pinpoint) UpdateVoiceChannelRequest(input *UpdateVoiceChannelInput) (req *request.Request, output *UpdateVoiceChannelOutput) {
9921	op := &request.Operation{
9922		Name:       opUpdateVoiceChannel,
9923		HTTPMethod: "PUT",
9924		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
9925	}
9926
9927	if input == nil {
9928		input = &UpdateVoiceChannelInput{}
9929	}
9930
9931	output = &UpdateVoiceChannelOutput{}
9932	req = c.newRequest(op, input, output)
9933	return
9934}
9935
9936// UpdateVoiceChannel API operation for Amazon Pinpoint.
9937//
9938// Enables the voice channel for an application or updates the status and settings
9939// of the voice channel for an application.
9940//
9941// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9942// with awserr.Error's Code and Message methods to get detailed information about
9943// the error.
9944//
9945// See the AWS API reference guide for Amazon Pinpoint's
9946// API operation UpdateVoiceChannel for usage and error information.
9947//
9948// Returned Error Codes:
9949//   * ErrCodeBadRequestException "BadRequestException"
9950//   Provides information about an API request or response.
9951//
9952//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
9953//   Provides information about an API request or response.
9954//
9955//   * ErrCodeForbiddenException "ForbiddenException"
9956//   Provides information about an API request or response.
9957//
9958//   * ErrCodeNotFoundException "NotFoundException"
9959//   Provides information about an API request or response.
9960//
9961//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
9962//   Provides information about an API request or response.
9963//
9964//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
9965//   Provides information about an API request or response.
9966//
9967// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceChannel
9968func (c *Pinpoint) UpdateVoiceChannel(input *UpdateVoiceChannelInput) (*UpdateVoiceChannelOutput, error) {
9969	req, out := c.UpdateVoiceChannelRequest(input)
9970	return out, req.Send()
9971}
9972
9973// UpdateVoiceChannelWithContext is the same as UpdateVoiceChannel with the addition of
9974// the ability to pass a context and additional request options.
9975//
9976// See UpdateVoiceChannel for details on how to use this API operation.
9977//
9978// The context must be non-nil and will be used for request cancellation. If
9979// the context is nil a panic will occur. In the future the SDK may create
9980// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9981// for more information on using Contexts.
9982func (c *Pinpoint) UpdateVoiceChannelWithContext(ctx aws.Context, input *UpdateVoiceChannelInput, opts ...request.Option) (*UpdateVoiceChannelOutput, error) {
9983	req, out := c.UpdateVoiceChannelRequest(input)
9984	req.SetContext(ctx)
9985	req.ApplyOptions(opts...)
9986	return out, req.Send()
9987}
9988
9989const opUpdateVoiceTemplate = "UpdateVoiceTemplate"
9990
9991// UpdateVoiceTemplateRequest generates a "aws/request.Request" representing the
9992// client's request for the UpdateVoiceTemplate operation. The "output" return
9993// value will be populated with the request's response once the request completes
9994// successfully.
9995//
9996// Use "Send" method on the returned Request to send the API call to the service.
9997// the "output" return value is not valid until after Send returns without error.
9998//
9999// See UpdateVoiceTemplate for more information on using the UpdateVoiceTemplate
10000// API call, and error handling.
10001//
10002// This method is useful when you want to inject custom logic or configuration
10003// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10004//
10005//
10006//    // Example sending a request using the UpdateVoiceTemplateRequest method.
10007//    req, resp := client.UpdateVoiceTemplateRequest(params)
10008//
10009//    err := req.Send()
10010//    if err == nil { // resp is now filled
10011//        fmt.Println(resp)
10012//    }
10013//
10014// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceTemplate
10015func (c *Pinpoint) UpdateVoiceTemplateRequest(input *UpdateVoiceTemplateInput) (req *request.Request, output *UpdateVoiceTemplateOutput) {
10016	op := &request.Operation{
10017		Name:       opUpdateVoiceTemplate,
10018		HTTPMethod: "PUT",
10019		HTTPPath:   "/v1/templates/{template-name}/voice",
10020	}
10021
10022	if input == nil {
10023		input = &UpdateVoiceTemplateInput{}
10024	}
10025
10026	output = &UpdateVoiceTemplateOutput{}
10027	req = c.newRequest(op, input, output)
10028	return
10029}
10030
10031// UpdateVoiceTemplate API operation for Amazon Pinpoint.
10032//
10033// Updates an existing message template for messages that are sent through the
10034// voice channel.
10035//
10036// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10037// with awserr.Error's Code and Message methods to get detailed information about
10038// the error.
10039//
10040// See the AWS API reference guide for Amazon Pinpoint's
10041// API operation UpdateVoiceTemplate for usage and error information.
10042//
10043// Returned Error Codes:
10044//   * ErrCodeBadRequestException "BadRequestException"
10045//   Provides information about an API request or response.
10046//
10047//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
10048//   Provides information about an API request or response.
10049//
10050//   * ErrCodeForbiddenException "ForbiddenException"
10051//   Provides information about an API request or response.
10052//
10053//   * ErrCodeNotFoundException "NotFoundException"
10054//   Provides information about an API request or response.
10055//
10056//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
10057//   Provides information about an API request or response.
10058//
10059//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
10060//   Provides information about an API request or response.
10061//
10062// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceTemplate
10063func (c *Pinpoint) UpdateVoiceTemplate(input *UpdateVoiceTemplateInput) (*UpdateVoiceTemplateOutput, error) {
10064	req, out := c.UpdateVoiceTemplateRequest(input)
10065	return out, req.Send()
10066}
10067
10068// UpdateVoiceTemplateWithContext is the same as UpdateVoiceTemplate with the addition of
10069// the ability to pass a context and additional request options.
10070//
10071// See UpdateVoiceTemplate for details on how to use this API operation.
10072//
10073// The context must be non-nil and will be used for request cancellation. If
10074// the context is nil a panic will occur. In the future the SDK may create
10075// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10076// for more information on using Contexts.
10077func (c *Pinpoint) UpdateVoiceTemplateWithContext(ctx aws.Context, input *UpdateVoiceTemplateInput, opts ...request.Option) (*UpdateVoiceTemplateOutput, error) {
10078	req, out := c.UpdateVoiceTemplateRequest(input)
10079	req.SetContext(ctx)
10080	req.ApplyOptions(opts...)
10081	return out, req.Send()
10082}
10083
10084// Specifies the status and settings of the ADM (Amazon Device Messaging) channel
10085// for an application.
10086type ADMChannelRequest struct {
10087	_ struct{} `type:"structure"`
10088
10089	// The Client ID that you received from Amazon to send messages by using ADM.
10090	//
10091	// ClientId is a required field
10092	ClientId *string `type:"string" required:"true"`
10093
10094	// The Client Secret that you received from Amazon to send messages by using
10095	// ADM.
10096	//
10097	// ClientSecret is a required field
10098	ClientSecret *string `type:"string" required:"true"`
10099
10100	// Specifies whether to enable the ADM channel for the application.
10101	Enabled *bool `type:"boolean"`
10102}
10103
10104// String returns the string representation
10105func (s ADMChannelRequest) String() string {
10106	return awsutil.Prettify(s)
10107}
10108
10109// GoString returns the string representation
10110func (s ADMChannelRequest) GoString() string {
10111	return s.String()
10112}
10113
10114// Validate inspects the fields of the type to determine if they are valid.
10115func (s *ADMChannelRequest) Validate() error {
10116	invalidParams := request.ErrInvalidParams{Context: "ADMChannelRequest"}
10117	if s.ClientId == nil {
10118		invalidParams.Add(request.NewErrParamRequired("ClientId"))
10119	}
10120	if s.ClientSecret == nil {
10121		invalidParams.Add(request.NewErrParamRequired("ClientSecret"))
10122	}
10123
10124	if invalidParams.Len() > 0 {
10125		return invalidParams
10126	}
10127	return nil
10128}
10129
10130// SetClientId sets the ClientId field's value.
10131func (s *ADMChannelRequest) SetClientId(v string) *ADMChannelRequest {
10132	s.ClientId = &v
10133	return s
10134}
10135
10136// SetClientSecret sets the ClientSecret field's value.
10137func (s *ADMChannelRequest) SetClientSecret(v string) *ADMChannelRequest {
10138	s.ClientSecret = &v
10139	return s
10140}
10141
10142// SetEnabled sets the Enabled field's value.
10143func (s *ADMChannelRequest) SetEnabled(v bool) *ADMChannelRequest {
10144	s.Enabled = &v
10145	return s
10146}
10147
10148// Provides information about the status and settings of the ADM (Amazon Device
10149// Messaging) channel for an application.
10150type ADMChannelResponse struct {
10151	_ struct{} `type:"structure"`
10152
10153	// The unique identifier for the application that the ADM channel applies to.
10154	ApplicationId *string `type:"string"`
10155
10156	// The date and time when the ADM channel was enabled.
10157	CreationDate *string `type:"string"`
10158
10159	// Specifies whether the ADM channel is enabled for the application.
10160	Enabled *bool `type:"boolean"`
10161
10162	// (Not used) This property is retained only for backward compatibility.
10163	HasCredential *bool `type:"boolean"`
10164
10165	// (Deprecated) An identifier for the ADM channel. This property is retained
10166	// only for backward compatibility.
10167	Id *string `type:"string"`
10168
10169	// Specifies whether the ADM channel is archived.
10170	IsArchived *bool `type:"boolean"`
10171
10172	// The user who last modified the ADM channel.
10173	LastModifiedBy *string `type:"string"`
10174
10175	// The date and time when the ADM channel was last modified.
10176	LastModifiedDate *string `type:"string"`
10177
10178	// The type of messaging or notification platform for the channel. For the ADM
10179	// channel, this value is ADM.
10180	//
10181	// Platform is a required field
10182	Platform *string `type:"string" required:"true"`
10183
10184	// The current version of the ADM channel.
10185	Version *int64 `type:"integer"`
10186}
10187
10188// String returns the string representation
10189func (s ADMChannelResponse) String() string {
10190	return awsutil.Prettify(s)
10191}
10192
10193// GoString returns the string representation
10194func (s ADMChannelResponse) GoString() string {
10195	return s.String()
10196}
10197
10198// SetApplicationId sets the ApplicationId field's value.
10199func (s *ADMChannelResponse) SetApplicationId(v string) *ADMChannelResponse {
10200	s.ApplicationId = &v
10201	return s
10202}
10203
10204// SetCreationDate sets the CreationDate field's value.
10205func (s *ADMChannelResponse) SetCreationDate(v string) *ADMChannelResponse {
10206	s.CreationDate = &v
10207	return s
10208}
10209
10210// SetEnabled sets the Enabled field's value.
10211func (s *ADMChannelResponse) SetEnabled(v bool) *ADMChannelResponse {
10212	s.Enabled = &v
10213	return s
10214}
10215
10216// SetHasCredential sets the HasCredential field's value.
10217func (s *ADMChannelResponse) SetHasCredential(v bool) *ADMChannelResponse {
10218	s.HasCredential = &v
10219	return s
10220}
10221
10222// SetId sets the Id field's value.
10223func (s *ADMChannelResponse) SetId(v string) *ADMChannelResponse {
10224	s.Id = &v
10225	return s
10226}
10227
10228// SetIsArchived sets the IsArchived field's value.
10229func (s *ADMChannelResponse) SetIsArchived(v bool) *ADMChannelResponse {
10230	s.IsArchived = &v
10231	return s
10232}
10233
10234// SetLastModifiedBy sets the LastModifiedBy field's value.
10235func (s *ADMChannelResponse) SetLastModifiedBy(v string) *ADMChannelResponse {
10236	s.LastModifiedBy = &v
10237	return s
10238}
10239
10240// SetLastModifiedDate sets the LastModifiedDate field's value.
10241func (s *ADMChannelResponse) SetLastModifiedDate(v string) *ADMChannelResponse {
10242	s.LastModifiedDate = &v
10243	return s
10244}
10245
10246// SetPlatform sets the Platform field's value.
10247func (s *ADMChannelResponse) SetPlatform(v string) *ADMChannelResponse {
10248	s.Platform = &v
10249	return s
10250}
10251
10252// SetVersion sets the Version field's value.
10253func (s *ADMChannelResponse) SetVersion(v int64) *ADMChannelResponse {
10254	s.Version = &v
10255	return s
10256}
10257
10258// Specifies the settings for a one-time message that's sent directly to an
10259// endpoint through the ADM (Amazon Device Messaging) channel.
10260type ADMMessage struct {
10261	_ struct{} `type:"structure"`
10262
10263	// The action to occur if the recipient taps the push notification. Valid values
10264	// are:
10265	//
10266	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
10267	//    sent to the background. This is the default action.
10268	//
10269	//    * DEEP_LINK - Your app opens and displays a designated user interface
10270	//    in the app. This action uses the deep-linking features of the Android
10271	//    platform.
10272	//
10273	//    * URL - The default mobile browser on the recipient's device opens and
10274	//    loads the web page at a URL that you specify.
10275	Action *string `type:"string" enum:"Action"`
10276
10277	// The body of the notification message.
10278	Body *string `type:"string"`
10279
10280	// An arbitrary string that indicates that multiple messages are logically the
10281	// same and that Amazon Device Messaging (ADM) can drop previously enqueued
10282	// messages in favor of this message.
10283	ConsolidationKey *string `type:"string"`
10284
10285	// The JSON data payload to use for the push notification, if the notification
10286	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
10287	// object of the notification.
10288	Data map[string]*string `type:"map"`
10289
10290	// The amount of time, in seconds, that ADM should store the message if the
10291	// recipient's device is offline. Amazon Pinpoint specifies this value in the
10292	// expiresAfter parameter when it sends the notification message to ADM.
10293	ExpiresAfter *string `type:"string"`
10294
10295	// The icon image name of the asset saved in your app.
10296	IconReference *string `type:"string"`
10297
10298	// The URL of the large icon image to display in the content view of the push
10299	// notification.
10300	ImageIconUrl *string `type:"string"`
10301
10302	// The URL of an image to display in the push notification.
10303	ImageUrl *string `type:"string"`
10304
10305	// The base64-encoded, MD5 checksum of the value specified by the Data property.
10306	// ADM uses the MD5 value to verify the integrity of the data.
10307	MD5 *string `type:"string"`
10308
10309	// The raw, JSON-formatted string to use as the payload for the notification
10310	// message. If specified, this value overrides all other content for the message.
10311	RawContent *string `type:"string"`
10312
10313	// Specifies whether the notification is a silent push notification, which is
10314	// a push notification that doesn't display on a recipient's device. Silent
10315	// push notifications can be used for cases such as updating an app's configuration
10316	// or supporting phone home functionality.
10317	SilentPush *bool `type:"boolean"`
10318
10319	// The URL of the small icon image to display in the status bar and the content
10320	// view of the push notification.
10321	SmallImageIconUrl *string `type:"string"`
10322
10323	// The sound to play when the recipient receives the push notification. You
10324	// can use the default stream or specify the file name of a sound resource that's
10325	// bundled in your app. On an Android platform, the sound file must reside in
10326	// /res/raw/.
10327	Sound *string `type:"string"`
10328
10329	// The default message variables to use in the notification message. You can
10330	// override the default variables with individual address variables.
10331	Substitutions map[string][]*string `type:"map"`
10332
10333	// The title to display above the notification message on the recipient's device.
10334	Title *string `type:"string"`
10335
10336	// The URL to open in the recipient's default mobile browser, if a recipient
10337	// taps the push notification and the value of the Action property is URL.
10338	Url *string `type:"string"`
10339}
10340
10341// String returns the string representation
10342func (s ADMMessage) String() string {
10343	return awsutil.Prettify(s)
10344}
10345
10346// GoString returns the string representation
10347func (s ADMMessage) GoString() string {
10348	return s.String()
10349}
10350
10351// SetAction sets the Action field's value.
10352func (s *ADMMessage) SetAction(v string) *ADMMessage {
10353	s.Action = &v
10354	return s
10355}
10356
10357// SetBody sets the Body field's value.
10358func (s *ADMMessage) SetBody(v string) *ADMMessage {
10359	s.Body = &v
10360	return s
10361}
10362
10363// SetConsolidationKey sets the ConsolidationKey field's value.
10364func (s *ADMMessage) SetConsolidationKey(v string) *ADMMessage {
10365	s.ConsolidationKey = &v
10366	return s
10367}
10368
10369// SetData sets the Data field's value.
10370func (s *ADMMessage) SetData(v map[string]*string) *ADMMessage {
10371	s.Data = v
10372	return s
10373}
10374
10375// SetExpiresAfter sets the ExpiresAfter field's value.
10376func (s *ADMMessage) SetExpiresAfter(v string) *ADMMessage {
10377	s.ExpiresAfter = &v
10378	return s
10379}
10380
10381// SetIconReference sets the IconReference field's value.
10382func (s *ADMMessage) SetIconReference(v string) *ADMMessage {
10383	s.IconReference = &v
10384	return s
10385}
10386
10387// SetImageIconUrl sets the ImageIconUrl field's value.
10388func (s *ADMMessage) SetImageIconUrl(v string) *ADMMessage {
10389	s.ImageIconUrl = &v
10390	return s
10391}
10392
10393// SetImageUrl sets the ImageUrl field's value.
10394func (s *ADMMessage) SetImageUrl(v string) *ADMMessage {
10395	s.ImageUrl = &v
10396	return s
10397}
10398
10399// SetMD5 sets the MD5 field's value.
10400func (s *ADMMessage) SetMD5(v string) *ADMMessage {
10401	s.MD5 = &v
10402	return s
10403}
10404
10405// SetRawContent sets the RawContent field's value.
10406func (s *ADMMessage) SetRawContent(v string) *ADMMessage {
10407	s.RawContent = &v
10408	return s
10409}
10410
10411// SetSilentPush sets the SilentPush field's value.
10412func (s *ADMMessage) SetSilentPush(v bool) *ADMMessage {
10413	s.SilentPush = &v
10414	return s
10415}
10416
10417// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
10418func (s *ADMMessage) SetSmallImageIconUrl(v string) *ADMMessage {
10419	s.SmallImageIconUrl = &v
10420	return s
10421}
10422
10423// SetSound sets the Sound field's value.
10424func (s *ADMMessage) SetSound(v string) *ADMMessage {
10425	s.Sound = &v
10426	return s
10427}
10428
10429// SetSubstitutions sets the Substitutions field's value.
10430func (s *ADMMessage) SetSubstitutions(v map[string][]*string) *ADMMessage {
10431	s.Substitutions = v
10432	return s
10433}
10434
10435// SetTitle sets the Title field's value.
10436func (s *ADMMessage) SetTitle(v string) *ADMMessage {
10437	s.Title = &v
10438	return s
10439}
10440
10441// SetUrl sets the Url field's value.
10442func (s *ADMMessage) SetUrl(v string) *ADMMessage {
10443	s.Url = &v
10444	return s
10445}
10446
10447// Specifies the status and settings of the APNs (Apple Push Notification service)
10448// channel for an application.
10449type APNSChannelRequest struct {
10450	_ struct{} `type:"structure"`
10451
10452	// The bundle identifier that's assigned to your iOS app. This identifier is
10453	// used for APNs tokens.
10454	BundleId *string `type:"string"`
10455
10456	// The APNs client certificate that you received from Apple, if you want Amazon
10457	// Pinpoint to communicate with APNs by using an APNs certificate.
10458	Certificate *string `type:"string"`
10459
10460	// The default authentication method that you want Amazon Pinpoint to use when
10461	// authenticating with APNs, key or certificate.
10462	DefaultAuthenticationMethod *string `type:"string"`
10463
10464	// Specifies whether to enable the APNs channel for the application.
10465	Enabled *bool `type:"boolean"`
10466
10467	// The private key for the APNs client certificate that you want Amazon Pinpoint
10468	// to use to communicate with APNs.
10469	PrivateKey *string `type:"string"`
10470
10471	// The identifier that's assigned to your Apple developer account team. This
10472	// identifier is used for APNs tokens.
10473	TeamId *string `type:"string"`
10474
10475	// The authentication key to use for APNs tokens.
10476	TokenKey *string `type:"string"`
10477
10478	// The key identifier that's assigned to your APNs signing key, if you want
10479	// Amazon Pinpoint to communicate with APNs by using APNs tokens.
10480	TokenKeyId *string `type:"string"`
10481}
10482
10483// String returns the string representation
10484func (s APNSChannelRequest) String() string {
10485	return awsutil.Prettify(s)
10486}
10487
10488// GoString returns the string representation
10489func (s APNSChannelRequest) GoString() string {
10490	return s.String()
10491}
10492
10493// SetBundleId sets the BundleId field's value.
10494func (s *APNSChannelRequest) SetBundleId(v string) *APNSChannelRequest {
10495	s.BundleId = &v
10496	return s
10497}
10498
10499// SetCertificate sets the Certificate field's value.
10500func (s *APNSChannelRequest) SetCertificate(v string) *APNSChannelRequest {
10501	s.Certificate = &v
10502	return s
10503}
10504
10505// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
10506func (s *APNSChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSChannelRequest {
10507	s.DefaultAuthenticationMethod = &v
10508	return s
10509}
10510
10511// SetEnabled sets the Enabled field's value.
10512func (s *APNSChannelRequest) SetEnabled(v bool) *APNSChannelRequest {
10513	s.Enabled = &v
10514	return s
10515}
10516
10517// SetPrivateKey sets the PrivateKey field's value.
10518func (s *APNSChannelRequest) SetPrivateKey(v string) *APNSChannelRequest {
10519	s.PrivateKey = &v
10520	return s
10521}
10522
10523// SetTeamId sets the TeamId field's value.
10524func (s *APNSChannelRequest) SetTeamId(v string) *APNSChannelRequest {
10525	s.TeamId = &v
10526	return s
10527}
10528
10529// SetTokenKey sets the TokenKey field's value.
10530func (s *APNSChannelRequest) SetTokenKey(v string) *APNSChannelRequest {
10531	s.TokenKey = &v
10532	return s
10533}
10534
10535// SetTokenKeyId sets the TokenKeyId field's value.
10536func (s *APNSChannelRequest) SetTokenKeyId(v string) *APNSChannelRequest {
10537	s.TokenKeyId = &v
10538	return s
10539}
10540
10541// Provides information about the status and settings of the APNs (Apple Push
10542// Notification service) channel for an application.
10543type APNSChannelResponse struct {
10544	_ struct{} `type:"structure"`
10545
10546	// The unique identifier for the application that the APNs channel applies to.
10547	ApplicationId *string `type:"string"`
10548
10549	// The date and time when the APNs channel was enabled.
10550	CreationDate *string `type:"string"`
10551
10552	// The default authentication method that Amazon Pinpoint uses to authenticate
10553	// with APNs for this channel, key or certificate.
10554	DefaultAuthenticationMethod *string `type:"string"`
10555
10556	// Specifies whether the APNs channel is enabled for the application.
10557	Enabled *bool `type:"boolean"`
10558
10559	// (Not used) This property is retained only for backward compatibility.
10560	HasCredential *bool `type:"boolean"`
10561
10562	// Specifies whether the APNs channel is configured to communicate with APNs
10563	// by using APNs tokens. To provide an authentication key for APNs tokens, set
10564	// the TokenKey property of the channel.
10565	HasTokenKey *bool `type:"boolean"`
10566
10567	// (Deprecated) An identifier for the APNs channel. This property is retained
10568	// only for backward compatibility.
10569	Id *string `type:"string"`
10570
10571	// Specifies whether the APNs channel is archived.
10572	IsArchived *bool `type:"boolean"`
10573
10574	// The user who last modified the APNs channel.
10575	LastModifiedBy *string `type:"string"`
10576
10577	// The date and time when the APNs channel was last modified.
10578	LastModifiedDate *string `type:"string"`
10579
10580	// The type of messaging or notification platform for the channel. For the APNs
10581	// channel, this value is APNS.
10582	//
10583	// Platform is a required field
10584	Platform *string `type:"string" required:"true"`
10585
10586	// The current version of the APNs channel.
10587	Version *int64 `type:"integer"`
10588}
10589
10590// String returns the string representation
10591func (s APNSChannelResponse) String() string {
10592	return awsutil.Prettify(s)
10593}
10594
10595// GoString returns the string representation
10596func (s APNSChannelResponse) GoString() string {
10597	return s.String()
10598}
10599
10600// SetApplicationId sets the ApplicationId field's value.
10601func (s *APNSChannelResponse) SetApplicationId(v string) *APNSChannelResponse {
10602	s.ApplicationId = &v
10603	return s
10604}
10605
10606// SetCreationDate sets the CreationDate field's value.
10607func (s *APNSChannelResponse) SetCreationDate(v string) *APNSChannelResponse {
10608	s.CreationDate = &v
10609	return s
10610}
10611
10612// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
10613func (s *APNSChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSChannelResponse {
10614	s.DefaultAuthenticationMethod = &v
10615	return s
10616}
10617
10618// SetEnabled sets the Enabled field's value.
10619func (s *APNSChannelResponse) SetEnabled(v bool) *APNSChannelResponse {
10620	s.Enabled = &v
10621	return s
10622}
10623
10624// SetHasCredential sets the HasCredential field's value.
10625func (s *APNSChannelResponse) SetHasCredential(v bool) *APNSChannelResponse {
10626	s.HasCredential = &v
10627	return s
10628}
10629
10630// SetHasTokenKey sets the HasTokenKey field's value.
10631func (s *APNSChannelResponse) SetHasTokenKey(v bool) *APNSChannelResponse {
10632	s.HasTokenKey = &v
10633	return s
10634}
10635
10636// SetId sets the Id field's value.
10637func (s *APNSChannelResponse) SetId(v string) *APNSChannelResponse {
10638	s.Id = &v
10639	return s
10640}
10641
10642// SetIsArchived sets the IsArchived field's value.
10643func (s *APNSChannelResponse) SetIsArchived(v bool) *APNSChannelResponse {
10644	s.IsArchived = &v
10645	return s
10646}
10647
10648// SetLastModifiedBy sets the LastModifiedBy field's value.
10649func (s *APNSChannelResponse) SetLastModifiedBy(v string) *APNSChannelResponse {
10650	s.LastModifiedBy = &v
10651	return s
10652}
10653
10654// SetLastModifiedDate sets the LastModifiedDate field's value.
10655func (s *APNSChannelResponse) SetLastModifiedDate(v string) *APNSChannelResponse {
10656	s.LastModifiedDate = &v
10657	return s
10658}
10659
10660// SetPlatform sets the Platform field's value.
10661func (s *APNSChannelResponse) SetPlatform(v string) *APNSChannelResponse {
10662	s.Platform = &v
10663	return s
10664}
10665
10666// SetVersion sets the Version field's value.
10667func (s *APNSChannelResponse) SetVersion(v int64) *APNSChannelResponse {
10668	s.Version = &v
10669	return s
10670}
10671
10672// Specifies the settings for a one-time message that's sent directly to an
10673// endpoint through the APNs (Apple Push Notification service) channel.
10674type APNSMessage struct {
10675	_ struct{} `type:"structure"`
10676
10677	// The type of push notification to send. Valid values are:
10678	//
10679	//    * alert - For a standard notification that's displayed on recipients'
10680	//    devices and prompts a recipient to interact with the notification.
10681	//
10682	//    * background - For a silent notification that delivers content in the
10683	//    background and isn't displayed on recipients' devices.
10684	//
10685	//    * complication - For a notification that contains update information for
10686	//    an app’s complication timeline.
10687	//
10688	//    * fileprovider - For a notification that signals changes to a File Provider
10689	//    extension.
10690	//
10691	//    * mdm - For a notification that tells managed devices to contact the MDM
10692	//    server.
10693	//
10694	//    * voip - For a notification that provides information about an incoming
10695	//    VoIP call.
10696	//
10697	// Amazon Pinpoint specifies this value in the apns-push-type request header
10698	// when it sends the notification message to APNs. If you don't specify a value
10699	// for this property, Amazon Pinpoint sets the value to alert or background
10700	// automatically, based on the value that you specify for the SilentPush or
10701	// RawContent property of the message.
10702	//
10703	// For more information about the apns-push-type request header, see Sending
10704	// Notification Requests to APNs (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns)
10705	// on the Apple Developer website.
10706	APNSPushType *string `type:"string"`
10707
10708	// The action to occur if the recipient taps the push notification. Valid values
10709	// are:
10710	//
10711	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
10712	//    sent to the background. This is the default action.
10713	//
10714	//    * DEEP_LINK - Your app opens and displays a designated user interface
10715	//    in the app. This setting uses the deep-linking features of the iOS platform.
10716	//
10717	//    * URL - The default mobile browser on the recipient's device opens and
10718	//    loads the web page at a URL that you specify.
10719	Action *string `type:"string" enum:"Action"`
10720
10721	// The key that indicates whether and how to modify the badge of your app's
10722	// icon when the recipient receives the push notification. If this key isn't
10723	// included in the dictionary, the badge doesn't change. To remove the badge,
10724	// set this value to 0.
10725	Badge *int64 `type:"integer"`
10726
10727	// The body of the notification message.
10728	Body *string `type:"string"`
10729
10730	// The key that indicates the notification type for the push notification. This
10731	// key is a value that's defined by the identifier property of one of your app's
10732	// registered categories.
10733	Category *string `type:"string"`
10734
10735	// An arbitrary identifier that, if assigned to multiple messages, APNs uses
10736	// to coalesce the messages into a single push notification instead of delivering
10737	// each message individually. This value can't exceed 64 bytes.
10738	//
10739	// Amazon Pinpoint specifies this value in the apns-collapse-id request header
10740	// when it sends the notification message to APNs.
10741	CollapseId *string `type:"string"`
10742
10743	// The JSON payload to use for a silent push notification. This payload is added
10744	// to the data.pinpoint.jsonBody object of the notification.
10745	Data map[string]*string `type:"map"`
10746
10747	// The URL of an image or video to display in the push notification.
10748	MediaUrl *string `type:"string"`
10749
10750	// The authentication method that you want Amazon Pinpoint to use when authenticating
10751	// with APNs, CERTIFICATE or TOKEN.
10752	PreferredAuthenticationMethod *string `type:"string"`
10753
10754	// para>5 - Low priority, the notification might be delayed, delivered as part
10755	// of a group, or throttled.
10756	// /listitem>
10757	// 10 - High priority, the notification is sent immediately. This is the default
10758	// value. A high priority notification should trigger an alert, play a sound,
10759	// or badge your app's icon on the recipient's device.
10760	// /para>
10761	// Amazon Pinpoint specifies this value in the apns-priority request header
10762	// when it sends the notification message to APNs.
10763	//
10764	// The equivalent values for Firebase Cloud Messaging (FCM), formerly Google
10765	// Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you specify
10766	// an FCM value for this property, Amazon Pinpoint accepts and converts the
10767	// value to the corresponding APNs value.
10768	Priority *string `type:"string"`
10769
10770	// The raw, JSON-formatted string to use as the payload for the notification
10771	// message. If specified, this value overrides all other content for the message.
10772	//
10773	// If you specify the raw content of an APNs push notification, the message
10774	// payload has to include the content-available key. The value of the content-available
10775	// key has to be an integer, and can only be 0 or 1. If you're sending a standard
10776	// notification, set the value of content-available to 0. If you're sending
10777	// a silent (background) notification, set the value of content-available to
10778	// 1. Additionally, silent notification payloads can't include the alert, badge,
10779	// or sound keys. For more information, see Generating a Remote Notification
10780	// (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification)
10781	// 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)
10782	// on the Apple Developer website.
10783	RawContent *string `type:"string"`
10784
10785	// Specifies whether the notification is a silent push notification. A silent
10786	// (or background) push notification isn't displayed on recipients' devices.
10787	// You can use silent push notifications to make small updates to your app,
10788	// or to display messages in an in-app message center.
10789	//
10790	// Amazon Pinpoint uses this property to determine the correct value for the
10791	// apns-push-type request header when it sends the notification message to APNs.
10792	// If you specify a value of true for this property, Amazon Pinpoint sets the
10793	// value for the apns-push-type header field to background.
10794	//
10795	// If you specify the raw content of an APNs push notification, the message
10796	// payload has to include the content-available key. For silent (background)
10797	// notifications, set the value of content-available to 1. Additionally, the
10798	// message payload for a silent notification can't include the alert, badge,
10799	// or sound keys. For more information, see Generating a Remote Notification
10800	// (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification)
10801	// 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)
10802	// on the Apple Developer website.
10803	//
10804	// Apple has indicated that they will throttle "excessive" background notifications
10805	// based on current traffic volumes. To prevent your notifications being throttled,
10806	// Apple recommends that you send no more than 3 silent push notifications to
10807	// each recipient per hour.
10808	SilentPush *bool `type:"boolean"`
10809
10810	// The key for the sound to play when the recipient receives the push notification.
10811	// The value for this key is the name of a sound file in your app's main bundle
10812	// or the Library/Sounds folder in your app's data container. If the sound file
10813	// can't be found or you specify default for the value, the system plays the
10814	// default alert sound.
10815	Sound *string `type:"string"`
10816
10817	// The default message variables to use in the notification message. You can
10818	// override these default variables with individual address variables.
10819	Substitutions map[string][]*string `type:"map"`
10820
10821	// The key that represents your app-specific identifier for grouping notifications.
10822	// If you provide a Notification Content app extension, you can use this value
10823	// to group your notifications together.
10824	ThreadId *string `type:"string"`
10825
10826	// The amount of time, in seconds, that APNs should store and attempt to deliver
10827	// the push notification, if the service is unable to deliver the notification
10828	// the first time. If this value is 0, APNs treats the notification as if it
10829	// expires immediately and the service doesn't store or try to deliver the notification
10830	// again.
10831	//
10832	// Amazon Pinpoint specifies this value in the apns-expiration request header
10833	// when it sends the notification message to APNs.
10834	TimeToLive *int64 `type:"integer"`
10835
10836	// The title to display above the notification message on the recipient's device.
10837	Title *string `type:"string"`
10838
10839	// The URL to open in the recipient's default mobile browser, if a recipient
10840	// taps the push notification and the value of the Action property is URL.
10841	Url *string `type:"string"`
10842}
10843
10844// String returns the string representation
10845func (s APNSMessage) String() string {
10846	return awsutil.Prettify(s)
10847}
10848
10849// GoString returns the string representation
10850func (s APNSMessage) GoString() string {
10851	return s.String()
10852}
10853
10854// SetAPNSPushType sets the APNSPushType field's value.
10855func (s *APNSMessage) SetAPNSPushType(v string) *APNSMessage {
10856	s.APNSPushType = &v
10857	return s
10858}
10859
10860// SetAction sets the Action field's value.
10861func (s *APNSMessage) SetAction(v string) *APNSMessage {
10862	s.Action = &v
10863	return s
10864}
10865
10866// SetBadge sets the Badge field's value.
10867func (s *APNSMessage) SetBadge(v int64) *APNSMessage {
10868	s.Badge = &v
10869	return s
10870}
10871
10872// SetBody sets the Body field's value.
10873func (s *APNSMessage) SetBody(v string) *APNSMessage {
10874	s.Body = &v
10875	return s
10876}
10877
10878// SetCategory sets the Category field's value.
10879func (s *APNSMessage) SetCategory(v string) *APNSMessage {
10880	s.Category = &v
10881	return s
10882}
10883
10884// SetCollapseId sets the CollapseId field's value.
10885func (s *APNSMessage) SetCollapseId(v string) *APNSMessage {
10886	s.CollapseId = &v
10887	return s
10888}
10889
10890// SetData sets the Data field's value.
10891func (s *APNSMessage) SetData(v map[string]*string) *APNSMessage {
10892	s.Data = v
10893	return s
10894}
10895
10896// SetMediaUrl sets the MediaUrl field's value.
10897func (s *APNSMessage) SetMediaUrl(v string) *APNSMessage {
10898	s.MediaUrl = &v
10899	return s
10900}
10901
10902// SetPreferredAuthenticationMethod sets the PreferredAuthenticationMethod field's value.
10903func (s *APNSMessage) SetPreferredAuthenticationMethod(v string) *APNSMessage {
10904	s.PreferredAuthenticationMethod = &v
10905	return s
10906}
10907
10908// SetPriority sets the Priority field's value.
10909func (s *APNSMessage) SetPriority(v string) *APNSMessage {
10910	s.Priority = &v
10911	return s
10912}
10913
10914// SetRawContent sets the RawContent field's value.
10915func (s *APNSMessage) SetRawContent(v string) *APNSMessage {
10916	s.RawContent = &v
10917	return s
10918}
10919
10920// SetSilentPush sets the SilentPush field's value.
10921func (s *APNSMessage) SetSilentPush(v bool) *APNSMessage {
10922	s.SilentPush = &v
10923	return s
10924}
10925
10926// SetSound sets the Sound field's value.
10927func (s *APNSMessage) SetSound(v string) *APNSMessage {
10928	s.Sound = &v
10929	return s
10930}
10931
10932// SetSubstitutions sets the Substitutions field's value.
10933func (s *APNSMessage) SetSubstitutions(v map[string][]*string) *APNSMessage {
10934	s.Substitutions = v
10935	return s
10936}
10937
10938// SetThreadId sets the ThreadId field's value.
10939func (s *APNSMessage) SetThreadId(v string) *APNSMessage {
10940	s.ThreadId = &v
10941	return s
10942}
10943
10944// SetTimeToLive sets the TimeToLive field's value.
10945func (s *APNSMessage) SetTimeToLive(v int64) *APNSMessage {
10946	s.TimeToLive = &v
10947	return s
10948}
10949
10950// SetTitle sets the Title field's value.
10951func (s *APNSMessage) SetTitle(v string) *APNSMessage {
10952	s.Title = &v
10953	return s
10954}
10955
10956// SetUrl sets the Url field's value.
10957func (s *APNSMessage) SetUrl(v string) *APNSMessage {
10958	s.Url = &v
10959	return s
10960}
10961
10962// Specifies channel-specific content and settings for a message template that
10963// can be used in push notifications that are sent through the APNs (Apple Push
10964// Notification service) channel.
10965type APNSPushNotificationTemplate struct {
10966	_ struct{} `type:"structure"`
10967
10968	// The action to occur if a recipient taps a push notification that's based
10969	// on the message template. Valid values are:
10970	//
10971	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
10972	//    sent to the background. This is the default action.
10973	//
10974	//    * DEEP_LINK - Your app opens and displays a designated user interface
10975	//    in the app. This setting uses the deep-linking features of the iOS platform.
10976	//
10977	//    * URL - The default mobile browser on the recipient's device opens and
10978	//    loads the web page at a URL that you specify.
10979	Action *string `type:"string" enum:"Action"`
10980
10981	// The message body to use in push notifications that are based on the message
10982	// template.
10983	Body *string `type:"string"`
10984
10985	// The URL of an image or video to display in push notifications that are based
10986	// on the message template.
10987	MediaUrl *string `type:"string"`
10988
10989	// The raw, JSON-formatted string to use as the payload for push notifications
10990	// that are based on the message template. If specified, this value overrides
10991	// all other content for the message template.
10992	RawContent *string `type:"string"`
10993
10994	// The key for the sound to play when the recipient receives a push notification
10995	// that's based on the message template. The value for this key is the name
10996	// of a sound file in your app's main bundle or the Library/Sounds folder in
10997	// your app's data container. If the sound file can't be found or you specify
10998	// default for the value, the system plays the default alert sound.
10999	Sound *string `type:"string"`
11000
11001	// The title to use in push notifications that are based on the message template.
11002	// This title appears above the notification message on a recipient's device.
11003	Title *string `type:"string"`
11004
11005	// The URL to open in the recipient's default mobile browser, if a recipient
11006	// taps a push notification that's based on the message template and the value
11007	// of the Action property is URL.
11008	Url *string `type:"string"`
11009}
11010
11011// String returns the string representation
11012func (s APNSPushNotificationTemplate) String() string {
11013	return awsutil.Prettify(s)
11014}
11015
11016// GoString returns the string representation
11017func (s APNSPushNotificationTemplate) GoString() string {
11018	return s.String()
11019}
11020
11021// SetAction sets the Action field's value.
11022func (s *APNSPushNotificationTemplate) SetAction(v string) *APNSPushNotificationTemplate {
11023	s.Action = &v
11024	return s
11025}
11026
11027// SetBody sets the Body field's value.
11028func (s *APNSPushNotificationTemplate) SetBody(v string) *APNSPushNotificationTemplate {
11029	s.Body = &v
11030	return s
11031}
11032
11033// SetMediaUrl sets the MediaUrl field's value.
11034func (s *APNSPushNotificationTemplate) SetMediaUrl(v string) *APNSPushNotificationTemplate {
11035	s.MediaUrl = &v
11036	return s
11037}
11038
11039// SetRawContent sets the RawContent field's value.
11040func (s *APNSPushNotificationTemplate) SetRawContent(v string) *APNSPushNotificationTemplate {
11041	s.RawContent = &v
11042	return s
11043}
11044
11045// SetSound sets the Sound field's value.
11046func (s *APNSPushNotificationTemplate) SetSound(v string) *APNSPushNotificationTemplate {
11047	s.Sound = &v
11048	return s
11049}
11050
11051// SetTitle sets the Title field's value.
11052func (s *APNSPushNotificationTemplate) SetTitle(v string) *APNSPushNotificationTemplate {
11053	s.Title = &v
11054	return s
11055}
11056
11057// SetUrl sets the Url field's value.
11058func (s *APNSPushNotificationTemplate) SetUrl(v string) *APNSPushNotificationTemplate {
11059	s.Url = &v
11060	return s
11061}
11062
11063// Specifies the status and settings of the APNs (Apple Push Notification service)
11064// sandbox channel for an application.
11065type APNSSandboxChannelRequest struct {
11066	_ struct{} `type:"structure"`
11067
11068	// The bundle identifier that's assigned to your iOS app. This identifier is
11069	// used for APNs tokens.
11070	BundleId *string `type:"string"`
11071
11072	// The APNs client certificate that you received from Apple, if you want Amazon
11073	// Pinpoint to communicate with the APNs sandbox environment by using an APNs
11074	// certificate.
11075	Certificate *string `type:"string"`
11076
11077	// The default authentication method that you want Amazon Pinpoint to use when
11078	// authenticating with the APNs sandbox environment, key or certificate.
11079	DefaultAuthenticationMethod *string `type:"string"`
11080
11081	// Specifies whether to enable the APNs sandbox channel for the application.
11082	Enabled *bool `type:"boolean"`
11083
11084	// The private key for the APNs client certificate that you want Amazon Pinpoint
11085	// to use to communicate with the APNs sandbox environment.
11086	PrivateKey *string `type:"string"`
11087
11088	// The identifier that's assigned to your Apple developer account team. This
11089	// identifier is used for APNs tokens.
11090	TeamId *string `type:"string"`
11091
11092	// The authentication key to use for APNs tokens.
11093	TokenKey *string `type:"string"`
11094
11095	// The key identifier that's assigned to your APNs signing key, if you want
11096	// Amazon Pinpoint to communicate with the APNs sandbox environment by using
11097	// APNs tokens.
11098	TokenKeyId *string `type:"string"`
11099}
11100
11101// String returns the string representation
11102func (s APNSSandboxChannelRequest) String() string {
11103	return awsutil.Prettify(s)
11104}
11105
11106// GoString returns the string representation
11107func (s APNSSandboxChannelRequest) GoString() string {
11108	return s.String()
11109}
11110
11111// SetBundleId sets the BundleId field's value.
11112func (s *APNSSandboxChannelRequest) SetBundleId(v string) *APNSSandboxChannelRequest {
11113	s.BundleId = &v
11114	return s
11115}
11116
11117// SetCertificate sets the Certificate field's value.
11118func (s *APNSSandboxChannelRequest) SetCertificate(v string) *APNSSandboxChannelRequest {
11119	s.Certificate = &v
11120	return s
11121}
11122
11123// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
11124func (s *APNSSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelRequest {
11125	s.DefaultAuthenticationMethod = &v
11126	return s
11127}
11128
11129// SetEnabled sets the Enabled field's value.
11130func (s *APNSSandboxChannelRequest) SetEnabled(v bool) *APNSSandboxChannelRequest {
11131	s.Enabled = &v
11132	return s
11133}
11134
11135// SetPrivateKey sets the PrivateKey field's value.
11136func (s *APNSSandboxChannelRequest) SetPrivateKey(v string) *APNSSandboxChannelRequest {
11137	s.PrivateKey = &v
11138	return s
11139}
11140
11141// SetTeamId sets the TeamId field's value.
11142func (s *APNSSandboxChannelRequest) SetTeamId(v string) *APNSSandboxChannelRequest {
11143	s.TeamId = &v
11144	return s
11145}
11146
11147// SetTokenKey sets the TokenKey field's value.
11148func (s *APNSSandboxChannelRequest) SetTokenKey(v string) *APNSSandboxChannelRequest {
11149	s.TokenKey = &v
11150	return s
11151}
11152
11153// SetTokenKeyId sets the TokenKeyId field's value.
11154func (s *APNSSandboxChannelRequest) SetTokenKeyId(v string) *APNSSandboxChannelRequest {
11155	s.TokenKeyId = &v
11156	return s
11157}
11158
11159// Provides information about the status and settings of the APNs (Apple Push
11160// Notification service) sandbox channel for an application.
11161type APNSSandboxChannelResponse struct {
11162	_ struct{} `type:"structure"`
11163
11164	// The unique identifier for the application that the APNs sandbox channel applies
11165	// to.
11166	ApplicationId *string `type:"string"`
11167
11168	// The date and time when the APNs sandbox channel was enabled.
11169	CreationDate *string `type:"string"`
11170
11171	// The default authentication method that Amazon Pinpoint uses to authenticate
11172	// with the APNs sandbox environment for this channel, key or certificate.
11173	DefaultAuthenticationMethod *string `type:"string"`
11174
11175	// Specifies whether the APNs sandbox channel is enabled for the application.
11176	Enabled *bool `type:"boolean"`
11177
11178	// (Not used) This property is retained only for backward compatibility.
11179	HasCredential *bool `type:"boolean"`
11180
11181	// Specifies whether the APNs sandbox channel is configured to communicate with
11182	// APNs by using APNs tokens. To provide an authentication key for APNs tokens,
11183	// set the TokenKey property of the channel.
11184	HasTokenKey *bool `type:"boolean"`
11185
11186	// (Deprecated) An identifier for the APNs sandbox channel. This property is
11187	// retained only for backward compatibility.
11188	Id *string `type:"string"`
11189
11190	// Specifies whether the APNs sandbox channel is archived.
11191	IsArchived *bool `type:"boolean"`
11192
11193	// The user who last modified the APNs sandbox channel.
11194	LastModifiedBy *string `type:"string"`
11195
11196	// The date and time when the APNs sandbox channel was last modified.
11197	LastModifiedDate *string `type:"string"`
11198
11199	// The type of messaging or notification platform for the channel. For the APNs
11200	// sandbox channel, this value is APNS_SANDBOX.
11201	//
11202	// Platform is a required field
11203	Platform *string `type:"string" required:"true"`
11204
11205	// The current version of the APNs sandbox channel.
11206	Version *int64 `type:"integer"`
11207}
11208
11209// String returns the string representation
11210func (s APNSSandboxChannelResponse) String() string {
11211	return awsutil.Prettify(s)
11212}
11213
11214// GoString returns the string representation
11215func (s APNSSandboxChannelResponse) GoString() string {
11216	return s.String()
11217}
11218
11219// SetApplicationId sets the ApplicationId field's value.
11220func (s *APNSSandboxChannelResponse) SetApplicationId(v string) *APNSSandboxChannelResponse {
11221	s.ApplicationId = &v
11222	return s
11223}
11224
11225// SetCreationDate sets the CreationDate field's value.
11226func (s *APNSSandboxChannelResponse) SetCreationDate(v string) *APNSSandboxChannelResponse {
11227	s.CreationDate = &v
11228	return s
11229}
11230
11231// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
11232func (s *APNSSandboxChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelResponse {
11233	s.DefaultAuthenticationMethod = &v
11234	return s
11235}
11236
11237// SetEnabled sets the Enabled field's value.
11238func (s *APNSSandboxChannelResponse) SetEnabled(v bool) *APNSSandboxChannelResponse {
11239	s.Enabled = &v
11240	return s
11241}
11242
11243// SetHasCredential sets the HasCredential field's value.
11244func (s *APNSSandboxChannelResponse) SetHasCredential(v bool) *APNSSandboxChannelResponse {
11245	s.HasCredential = &v
11246	return s
11247}
11248
11249// SetHasTokenKey sets the HasTokenKey field's value.
11250func (s *APNSSandboxChannelResponse) SetHasTokenKey(v bool) *APNSSandboxChannelResponse {
11251	s.HasTokenKey = &v
11252	return s
11253}
11254
11255// SetId sets the Id field's value.
11256func (s *APNSSandboxChannelResponse) SetId(v string) *APNSSandboxChannelResponse {
11257	s.Id = &v
11258	return s
11259}
11260
11261// SetIsArchived sets the IsArchived field's value.
11262func (s *APNSSandboxChannelResponse) SetIsArchived(v bool) *APNSSandboxChannelResponse {
11263	s.IsArchived = &v
11264	return s
11265}
11266
11267// SetLastModifiedBy sets the LastModifiedBy field's value.
11268func (s *APNSSandboxChannelResponse) SetLastModifiedBy(v string) *APNSSandboxChannelResponse {
11269	s.LastModifiedBy = &v
11270	return s
11271}
11272
11273// SetLastModifiedDate sets the LastModifiedDate field's value.
11274func (s *APNSSandboxChannelResponse) SetLastModifiedDate(v string) *APNSSandboxChannelResponse {
11275	s.LastModifiedDate = &v
11276	return s
11277}
11278
11279// SetPlatform sets the Platform field's value.
11280func (s *APNSSandboxChannelResponse) SetPlatform(v string) *APNSSandboxChannelResponse {
11281	s.Platform = &v
11282	return s
11283}
11284
11285// SetVersion sets the Version field's value.
11286func (s *APNSSandboxChannelResponse) SetVersion(v int64) *APNSSandboxChannelResponse {
11287	s.Version = &v
11288	return s
11289}
11290
11291// Specifies the status and settings of the APNs (Apple Push Notification service)
11292// VoIP channel for an application.
11293type APNSVoipChannelRequest struct {
11294	_ struct{} `type:"structure"`
11295
11296	// The bundle identifier that's assigned to your iOS app. This identifier is
11297	// used for APNs tokens.
11298	BundleId *string `type:"string"`
11299
11300	// The APNs client certificate that you received from Apple, if you want Amazon
11301	// Pinpoint to communicate with APNs by using an APNs certificate.
11302	Certificate *string `type:"string"`
11303
11304	// The default authentication method that you want Amazon Pinpoint to use when
11305	// authenticating with APNs, key or certificate.
11306	DefaultAuthenticationMethod *string `type:"string"`
11307
11308	// Specifies whether to enable the APNs VoIP channel for the application.
11309	Enabled *bool `type:"boolean"`
11310
11311	// The private key for the APNs client certificate that you want Amazon Pinpoint
11312	// to use to communicate with APNs.
11313	PrivateKey *string `type:"string"`
11314
11315	// The identifier that's assigned to your Apple developer account team. This
11316	// identifier is used for APNs tokens.
11317	TeamId *string `type:"string"`
11318
11319	// The authentication key to use for APNs tokens.
11320	TokenKey *string `type:"string"`
11321
11322	// The key identifier that's assigned to your APNs signing key, if you want
11323	// Amazon Pinpoint to communicate with APNs by using APNs tokens.
11324	TokenKeyId *string `type:"string"`
11325}
11326
11327// String returns the string representation
11328func (s APNSVoipChannelRequest) String() string {
11329	return awsutil.Prettify(s)
11330}
11331
11332// GoString returns the string representation
11333func (s APNSVoipChannelRequest) GoString() string {
11334	return s.String()
11335}
11336
11337// SetBundleId sets the BundleId field's value.
11338func (s *APNSVoipChannelRequest) SetBundleId(v string) *APNSVoipChannelRequest {
11339	s.BundleId = &v
11340	return s
11341}
11342
11343// SetCertificate sets the Certificate field's value.
11344func (s *APNSVoipChannelRequest) SetCertificate(v string) *APNSVoipChannelRequest {
11345	s.Certificate = &v
11346	return s
11347}
11348
11349// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
11350func (s *APNSVoipChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSVoipChannelRequest {
11351	s.DefaultAuthenticationMethod = &v
11352	return s
11353}
11354
11355// SetEnabled sets the Enabled field's value.
11356func (s *APNSVoipChannelRequest) SetEnabled(v bool) *APNSVoipChannelRequest {
11357	s.Enabled = &v
11358	return s
11359}
11360
11361// SetPrivateKey sets the PrivateKey field's value.
11362func (s *APNSVoipChannelRequest) SetPrivateKey(v string) *APNSVoipChannelRequest {
11363	s.PrivateKey = &v
11364	return s
11365}
11366
11367// SetTeamId sets the TeamId field's value.
11368func (s *APNSVoipChannelRequest) SetTeamId(v string) *APNSVoipChannelRequest {
11369	s.TeamId = &v
11370	return s
11371}
11372
11373// SetTokenKey sets the TokenKey field's value.
11374func (s *APNSVoipChannelRequest) SetTokenKey(v string) *APNSVoipChannelRequest {
11375	s.TokenKey = &v
11376	return s
11377}
11378
11379// SetTokenKeyId sets the TokenKeyId field's value.
11380func (s *APNSVoipChannelRequest) SetTokenKeyId(v string) *APNSVoipChannelRequest {
11381	s.TokenKeyId = &v
11382	return s
11383}
11384
11385// Provides information about the status and settings of the APNs (Apple Push
11386// Notification service) VoIP channel for an application.
11387type APNSVoipChannelResponse struct {
11388	_ struct{} `type:"structure"`
11389
11390	// The unique identifier for the application that the APNs VoIP channel applies
11391	// to.
11392	ApplicationId *string `type:"string"`
11393
11394	// The date and time when the APNs VoIP channel was enabled.
11395	CreationDate *string `type:"string"`
11396
11397	// The default authentication method that Amazon Pinpoint uses to authenticate
11398	// with APNs for this channel, key or certificate.
11399	DefaultAuthenticationMethod *string `type:"string"`
11400
11401	// Specifies whether the APNs VoIP channel is enabled for the application.
11402	Enabled *bool `type:"boolean"`
11403
11404	// (Not used) This property is retained only for backward compatibility.
11405	HasCredential *bool `type:"boolean"`
11406
11407	// Specifies whether the APNs VoIP channel is configured to communicate with
11408	// APNs by using APNs tokens. To provide an authentication key for APNs tokens,
11409	// set the TokenKey property of the channel.
11410	HasTokenKey *bool `type:"boolean"`
11411
11412	// (Deprecated) An identifier for the APNs VoIP channel. This property is retained
11413	// only for backward compatibility.
11414	Id *string `type:"string"`
11415
11416	// Specifies whether the APNs VoIP channel is archived.
11417	IsArchived *bool `type:"boolean"`
11418
11419	// The user who last modified the APNs VoIP channel.
11420	LastModifiedBy *string `type:"string"`
11421
11422	// The date and time when the APNs VoIP channel was last modified.
11423	LastModifiedDate *string `type:"string"`
11424
11425	// The type of messaging or notification platform for the channel. For the APNs
11426	// VoIP channel, this value is APNS_VOIP.
11427	//
11428	// Platform is a required field
11429	Platform *string `type:"string" required:"true"`
11430
11431	// The current version of the APNs VoIP channel.
11432	Version *int64 `type:"integer"`
11433}
11434
11435// String returns the string representation
11436func (s APNSVoipChannelResponse) String() string {
11437	return awsutil.Prettify(s)
11438}
11439
11440// GoString returns the string representation
11441func (s APNSVoipChannelResponse) GoString() string {
11442	return s.String()
11443}
11444
11445// SetApplicationId sets the ApplicationId field's value.
11446func (s *APNSVoipChannelResponse) SetApplicationId(v string) *APNSVoipChannelResponse {
11447	s.ApplicationId = &v
11448	return s
11449}
11450
11451// SetCreationDate sets the CreationDate field's value.
11452func (s *APNSVoipChannelResponse) SetCreationDate(v string) *APNSVoipChannelResponse {
11453	s.CreationDate = &v
11454	return s
11455}
11456
11457// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
11458func (s *APNSVoipChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSVoipChannelResponse {
11459	s.DefaultAuthenticationMethod = &v
11460	return s
11461}
11462
11463// SetEnabled sets the Enabled field's value.
11464func (s *APNSVoipChannelResponse) SetEnabled(v bool) *APNSVoipChannelResponse {
11465	s.Enabled = &v
11466	return s
11467}
11468
11469// SetHasCredential sets the HasCredential field's value.
11470func (s *APNSVoipChannelResponse) SetHasCredential(v bool) *APNSVoipChannelResponse {
11471	s.HasCredential = &v
11472	return s
11473}
11474
11475// SetHasTokenKey sets the HasTokenKey field's value.
11476func (s *APNSVoipChannelResponse) SetHasTokenKey(v bool) *APNSVoipChannelResponse {
11477	s.HasTokenKey = &v
11478	return s
11479}
11480
11481// SetId sets the Id field's value.
11482func (s *APNSVoipChannelResponse) SetId(v string) *APNSVoipChannelResponse {
11483	s.Id = &v
11484	return s
11485}
11486
11487// SetIsArchived sets the IsArchived field's value.
11488func (s *APNSVoipChannelResponse) SetIsArchived(v bool) *APNSVoipChannelResponse {
11489	s.IsArchived = &v
11490	return s
11491}
11492
11493// SetLastModifiedBy sets the LastModifiedBy field's value.
11494func (s *APNSVoipChannelResponse) SetLastModifiedBy(v string) *APNSVoipChannelResponse {
11495	s.LastModifiedBy = &v
11496	return s
11497}
11498
11499// SetLastModifiedDate sets the LastModifiedDate field's value.
11500func (s *APNSVoipChannelResponse) SetLastModifiedDate(v string) *APNSVoipChannelResponse {
11501	s.LastModifiedDate = &v
11502	return s
11503}
11504
11505// SetPlatform sets the Platform field's value.
11506func (s *APNSVoipChannelResponse) SetPlatform(v string) *APNSVoipChannelResponse {
11507	s.Platform = &v
11508	return s
11509}
11510
11511// SetVersion sets the Version field's value.
11512func (s *APNSVoipChannelResponse) SetVersion(v int64) *APNSVoipChannelResponse {
11513	s.Version = &v
11514	return s
11515}
11516
11517// Specifies the status and settings of the APNs (Apple Push Notification service)
11518// VoIP sandbox channel for an application.
11519type APNSVoipSandboxChannelRequest struct {
11520	_ struct{} `type:"structure"`
11521
11522	// The bundle identifier that's assigned to your iOS app. This identifier is
11523	// used for APNs tokens.
11524	BundleId *string `type:"string"`
11525
11526	// The APNs client certificate that you received from Apple, if you want Amazon
11527	// Pinpoint to communicate with the APNs sandbox environment by using an APNs
11528	// certificate.
11529	Certificate *string `type:"string"`
11530
11531	// The default authentication method that you want Amazon Pinpoint to use when
11532	// authenticating with the APNs sandbox environment for this channel, key or
11533	// certificate.
11534	DefaultAuthenticationMethod *string `type:"string"`
11535
11536	// Specifies whether the APNs VoIP sandbox channel is enabled for the application.
11537	Enabled *bool `type:"boolean"`
11538
11539	// The private key for the APNs client certificate that you want Amazon Pinpoint
11540	// to use to communicate with the APNs sandbox environment.
11541	PrivateKey *string `type:"string"`
11542
11543	// The identifier that's assigned to your Apple developer account team. This
11544	// identifier is used for APNs tokens.
11545	TeamId *string `type:"string"`
11546
11547	// The authentication key to use for APNs tokens.
11548	TokenKey *string `type:"string"`
11549
11550	// The key identifier that's assigned to your APNs signing key, if you want
11551	// Amazon Pinpoint to communicate with the APNs sandbox environment by using
11552	// APNs tokens.
11553	TokenKeyId *string `type:"string"`
11554}
11555
11556// String returns the string representation
11557func (s APNSVoipSandboxChannelRequest) String() string {
11558	return awsutil.Prettify(s)
11559}
11560
11561// GoString returns the string representation
11562func (s APNSVoipSandboxChannelRequest) GoString() string {
11563	return s.String()
11564}
11565
11566// SetBundleId sets the BundleId field's value.
11567func (s *APNSVoipSandboxChannelRequest) SetBundleId(v string) *APNSVoipSandboxChannelRequest {
11568	s.BundleId = &v
11569	return s
11570}
11571
11572// SetCertificate sets the Certificate field's value.
11573func (s *APNSVoipSandboxChannelRequest) SetCertificate(v string) *APNSVoipSandboxChannelRequest {
11574	s.Certificate = &v
11575	return s
11576}
11577
11578// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
11579func (s *APNSVoipSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSVoipSandboxChannelRequest {
11580	s.DefaultAuthenticationMethod = &v
11581	return s
11582}
11583
11584// SetEnabled sets the Enabled field's value.
11585func (s *APNSVoipSandboxChannelRequest) SetEnabled(v bool) *APNSVoipSandboxChannelRequest {
11586	s.Enabled = &v
11587	return s
11588}
11589
11590// SetPrivateKey sets the PrivateKey field's value.
11591func (s *APNSVoipSandboxChannelRequest) SetPrivateKey(v string) *APNSVoipSandboxChannelRequest {
11592	s.PrivateKey = &v
11593	return s
11594}
11595
11596// SetTeamId sets the TeamId field's value.
11597func (s *APNSVoipSandboxChannelRequest) SetTeamId(v string) *APNSVoipSandboxChannelRequest {
11598	s.TeamId = &v
11599	return s
11600}
11601
11602// SetTokenKey sets the TokenKey field's value.
11603func (s *APNSVoipSandboxChannelRequest) SetTokenKey(v string) *APNSVoipSandboxChannelRequest {
11604	s.TokenKey = &v
11605	return s
11606}
11607
11608// SetTokenKeyId sets the TokenKeyId field's value.
11609func (s *APNSVoipSandboxChannelRequest) SetTokenKeyId(v string) *APNSVoipSandboxChannelRequest {
11610	s.TokenKeyId = &v
11611	return s
11612}
11613
11614// Provides information about the status and settings of the APNs (Apple Push
11615// Notification service) VoIP sandbox channel for an application.
11616type APNSVoipSandboxChannelResponse struct {
11617	_ struct{} `type:"structure"`
11618
11619	// The unique identifier for the application that the APNs VoIP sandbox channel
11620	// applies to.
11621	ApplicationId *string `type:"string"`
11622
11623	// The date and time when the APNs VoIP sandbox channel was enabled.
11624	CreationDate *string `type:"string"`
11625
11626	// The default authentication method that Amazon Pinpoint uses to authenticate
11627	// with the APNs sandbox environment for this channel, key or certificate.
11628	DefaultAuthenticationMethod *string `type:"string"`
11629
11630	// Specifies whether the APNs VoIP sandbox channel is enabled for the application.
11631	Enabled *bool `type:"boolean"`
11632
11633	// (Not used) This property is retained only for backward compatibility.
11634	HasCredential *bool `type:"boolean"`
11635
11636	// Specifies whether the APNs VoIP sandbox channel is configured to communicate
11637	// with APNs by using APNs tokens. To provide an authentication key for APNs
11638	// tokens, set the TokenKey property of the channel.
11639	HasTokenKey *bool `type:"boolean"`
11640
11641	// (Deprecated) An identifier for the APNs VoIP sandbox channel. This property
11642	// is retained only for backward compatibility.
11643	Id *string `type:"string"`
11644
11645	// Specifies whether the APNs VoIP sandbox channel is archived.
11646	IsArchived *bool `type:"boolean"`
11647
11648	// The user who last modified the APNs VoIP sandbox channel.
11649	LastModifiedBy *string `type:"string"`
11650
11651	// The date and time when the APNs VoIP sandbox channel was last modified.
11652	LastModifiedDate *string `type:"string"`
11653
11654	// The type of messaging or notification platform for the channel. For the APNs
11655	// VoIP sandbox channel, this value is APNS_VOIP_SANDBOX.
11656	//
11657	// Platform is a required field
11658	Platform *string `type:"string" required:"true"`
11659
11660	// The current version of the APNs VoIP sandbox channel.
11661	Version *int64 `type:"integer"`
11662}
11663
11664// String returns the string representation
11665func (s APNSVoipSandboxChannelResponse) String() string {
11666	return awsutil.Prettify(s)
11667}
11668
11669// GoString returns the string representation
11670func (s APNSVoipSandboxChannelResponse) GoString() string {
11671	return s.String()
11672}
11673
11674// SetApplicationId sets the ApplicationId field's value.
11675func (s *APNSVoipSandboxChannelResponse) SetApplicationId(v string) *APNSVoipSandboxChannelResponse {
11676	s.ApplicationId = &v
11677	return s
11678}
11679
11680// SetCreationDate sets the CreationDate field's value.
11681func (s *APNSVoipSandboxChannelResponse) SetCreationDate(v string) *APNSVoipSandboxChannelResponse {
11682	s.CreationDate = &v
11683	return s
11684}
11685
11686// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
11687func (s *APNSVoipSandboxChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSVoipSandboxChannelResponse {
11688	s.DefaultAuthenticationMethod = &v
11689	return s
11690}
11691
11692// SetEnabled sets the Enabled field's value.
11693func (s *APNSVoipSandboxChannelResponse) SetEnabled(v bool) *APNSVoipSandboxChannelResponse {
11694	s.Enabled = &v
11695	return s
11696}
11697
11698// SetHasCredential sets the HasCredential field's value.
11699func (s *APNSVoipSandboxChannelResponse) SetHasCredential(v bool) *APNSVoipSandboxChannelResponse {
11700	s.HasCredential = &v
11701	return s
11702}
11703
11704// SetHasTokenKey sets the HasTokenKey field's value.
11705func (s *APNSVoipSandboxChannelResponse) SetHasTokenKey(v bool) *APNSVoipSandboxChannelResponse {
11706	s.HasTokenKey = &v
11707	return s
11708}
11709
11710// SetId sets the Id field's value.
11711func (s *APNSVoipSandboxChannelResponse) SetId(v string) *APNSVoipSandboxChannelResponse {
11712	s.Id = &v
11713	return s
11714}
11715
11716// SetIsArchived sets the IsArchived field's value.
11717func (s *APNSVoipSandboxChannelResponse) SetIsArchived(v bool) *APNSVoipSandboxChannelResponse {
11718	s.IsArchived = &v
11719	return s
11720}
11721
11722// SetLastModifiedBy sets the LastModifiedBy field's value.
11723func (s *APNSVoipSandboxChannelResponse) SetLastModifiedBy(v string) *APNSVoipSandboxChannelResponse {
11724	s.LastModifiedBy = &v
11725	return s
11726}
11727
11728// SetLastModifiedDate sets the LastModifiedDate field's value.
11729func (s *APNSVoipSandboxChannelResponse) SetLastModifiedDate(v string) *APNSVoipSandboxChannelResponse {
11730	s.LastModifiedDate = &v
11731	return s
11732}
11733
11734// SetPlatform sets the Platform field's value.
11735func (s *APNSVoipSandboxChannelResponse) SetPlatform(v string) *APNSVoipSandboxChannelResponse {
11736	s.Platform = &v
11737	return s
11738}
11739
11740// SetVersion sets the Version field's value.
11741func (s *APNSVoipSandboxChannelResponse) SetVersion(v int64) *APNSVoipSandboxChannelResponse {
11742	s.Version = &v
11743	return s
11744}
11745
11746// Provides information about the activities that were performed by a campaign.
11747type ActivitiesResponse struct {
11748	_ struct{} `type:"structure"`
11749
11750	// An array of responses, one for each activity that was performed by the campaign.
11751	//
11752	// Item is a required field
11753	Item []*ActivityResponse `type:"list" required:"true"`
11754
11755	// The string to use in a subsequent request to get the next page of results
11756	// in a paginated response. This value is null if there are no additional pages.
11757	NextToken *string `type:"string"`
11758}
11759
11760// String returns the string representation
11761func (s ActivitiesResponse) String() string {
11762	return awsutil.Prettify(s)
11763}
11764
11765// GoString returns the string representation
11766func (s ActivitiesResponse) GoString() string {
11767	return s.String()
11768}
11769
11770// SetItem sets the Item field's value.
11771func (s *ActivitiesResponse) SetItem(v []*ActivityResponse) *ActivitiesResponse {
11772	s.Item = v
11773	return s
11774}
11775
11776// SetNextToken sets the NextToken field's value.
11777func (s *ActivitiesResponse) SetNextToken(v string) *ActivitiesResponse {
11778	s.NextToken = &v
11779	return s
11780}
11781
11782// Specifies the configuration and other settings for an activity in a journey.
11783type Activity struct {
11784	_ struct{} `type:"structure"`
11785
11786	// The settings for a yes/no split activity. This type of activity sends participants
11787	// down one of two paths in a journey, based on conditions that you specify.
11788	ConditionalSplit *ConditionalSplitActivity `type:"structure"`
11789
11790	// The custom description of the activity.
11791	Description *string `type:"string"`
11792
11793	// The settings for an email activity. This type of activity sends an email
11794	// message to participants.
11795	EMAIL *EmailMessageActivity `type:"structure"`
11796
11797	// The settings for a holdout activity. This type of activity stops a journey
11798	// for a specified percentage of participants.
11799	Holdout *HoldoutActivity `type:"structure"`
11800
11801	// The settings for a multivariate split activity. This type of activity sends
11802	// participants down one of as many as five paths (including a default Else
11803	// path) in a journey, based on conditions that you specify.
11804	MultiCondition *MultiConditionalSplitActivity `type:"structure"`
11805
11806	// The settings for a random split activity. This type of activity randomly
11807	// sends specified percentages of participants down one of as many as five paths
11808	// in a journey, based on conditions that you specify.
11809	RandomSplit *RandomSplitActivity `type:"structure"`
11810
11811	// The settings for a wait activity. This type of activity waits for a certain
11812	// amount of time or until a specific date and time before moving participants
11813	// to the next activity in a journey.
11814	Wait *WaitActivity `type:"structure"`
11815}
11816
11817// String returns the string representation
11818func (s Activity) String() string {
11819	return awsutil.Prettify(s)
11820}
11821
11822// GoString returns the string representation
11823func (s Activity) GoString() string {
11824	return s.String()
11825}
11826
11827// Validate inspects the fields of the type to determine if they are valid.
11828func (s *Activity) Validate() error {
11829	invalidParams := request.ErrInvalidParams{Context: "Activity"}
11830	if s.ConditionalSplit != nil {
11831		if err := s.ConditionalSplit.Validate(); err != nil {
11832			invalidParams.AddNested("ConditionalSplit", err.(request.ErrInvalidParams))
11833		}
11834	}
11835	if s.Holdout != nil {
11836		if err := s.Holdout.Validate(); err != nil {
11837			invalidParams.AddNested("Holdout", err.(request.ErrInvalidParams))
11838		}
11839	}
11840	if s.MultiCondition != nil {
11841		if err := s.MultiCondition.Validate(); err != nil {
11842			invalidParams.AddNested("MultiCondition", err.(request.ErrInvalidParams))
11843		}
11844	}
11845
11846	if invalidParams.Len() > 0 {
11847		return invalidParams
11848	}
11849	return nil
11850}
11851
11852// SetConditionalSplit sets the ConditionalSplit field's value.
11853func (s *Activity) SetConditionalSplit(v *ConditionalSplitActivity) *Activity {
11854	s.ConditionalSplit = v
11855	return s
11856}
11857
11858// SetDescription sets the Description field's value.
11859func (s *Activity) SetDescription(v string) *Activity {
11860	s.Description = &v
11861	return s
11862}
11863
11864// SetEMAIL sets the EMAIL field's value.
11865func (s *Activity) SetEMAIL(v *EmailMessageActivity) *Activity {
11866	s.EMAIL = v
11867	return s
11868}
11869
11870// SetHoldout sets the Holdout field's value.
11871func (s *Activity) SetHoldout(v *HoldoutActivity) *Activity {
11872	s.Holdout = v
11873	return s
11874}
11875
11876// SetMultiCondition sets the MultiCondition field's value.
11877func (s *Activity) SetMultiCondition(v *MultiConditionalSplitActivity) *Activity {
11878	s.MultiCondition = v
11879	return s
11880}
11881
11882// SetRandomSplit sets the RandomSplit field's value.
11883func (s *Activity) SetRandomSplit(v *RandomSplitActivity) *Activity {
11884	s.RandomSplit = v
11885	return s
11886}
11887
11888// SetWait sets the Wait field's value.
11889func (s *Activity) SetWait(v *WaitActivity) *Activity {
11890	s.Wait = v
11891	return s
11892}
11893
11894// Provides information about an activity that was performed by a campaign.
11895type ActivityResponse struct {
11896	_ struct{} `type:"structure"`
11897
11898	// The unique identifier for the application that the campaign applies to.
11899	//
11900	// ApplicationId is a required field
11901	ApplicationId *string `type:"string" required:"true"`
11902
11903	// The unique identifier for the campaign that the activity applies to.
11904	//
11905	// CampaignId is a required field
11906	CampaignId *string `type:"string" required:"true"`
11907
11908	// The actual time, in ISO 8601 format, when the activity was marked CANCELLED
11909	// or COMPLETED.
11910	End *string `type:"string"`
11911
11912	// The unique identifier for the activity.
11913	//
11914	// Id is a required field
11915	Id *string `type:"string" required:"true"`
11916
11917	// Specifies whether the activity succeeded. Possible values are SUCCESS and
11918	// FAIL.
11919	Result *string `type:"string"`
11920
11921	// The scheduled start time, in ISO 8601 format, for the activity.
11922	ScheduledStart *string `type:"string"`
11923
11924	// The actual start time, in ISO 8601 format, of the activity.
11925	Start *string `type:"string"`
11926
11927	// The current status of the activity. Possible values are: PENDING, INITIALIZING,
11928	// RUNNING, PAUSED, CANCELLED, and COMPLETED.
11929	State *string `type:"string"`
11930
11931	// The total number of endpoints that the campaign successfully delivered messages
11932	// to.
11933	SuccessfulEndpointCount *int64 `type:"integer"`
11934
11935	// The total number of time zones that were completed.
11936	TimezonesCompletedCount *int64 `type:"integer"`
11937
11938	// The total number of unique time zones that are in the segment for the campaign.
11939	TimezonesTotalCount *int64 `type:"integer"`
11940
11941	// The total number of endpoints that the campaign attempted to deliver messages
11942	// to.
11943	TotalEndpointCount *int64 `type:"integer"`
11944
11945	// The unique identifier for the campaign treatment that the activity applies
11946	// to. A treatment is a variation of a campaign that's used for A/B testing
11947	// of a campaign.
11948	TreatmentId *string `type:"string"`
11949}
11950
11951// String returns the string representation
11952func (s ActivityResponse) String() string {
11953	return awsutil.Prettify(s)
11954}
11955
11956// GoString returns the string representation
11957func (s ActivityResponse) GoString() string {
11958	return s.String()
11959}
11960
11961// SetApplicationId sets the ApplicationId field's value.
11962func (s *ActivityResponse) SetApplicationId(v string) *ActivityResponse {
11963	s.ApplicationId = &v
11964	return s
11965}
11966
11967// SetCampaignId sets the CampaignId field's value.
11968func (s *ActivityResponse) SetCampaignId(v string) *ActivityResponse {
11969	s.CampaignId = &v
11970	return s
11971}
11972
11973// SetEnd sets the End field's value.
11974func (s *ActivityResponse) SetEnd(v string) *ActivityResponse {
11975	s.End = &v
11976	return s
11977}
11978
11979// SetId sets the Id field's value.
11980func (s *ActivityResponse) SetId(v string) *ActivityResponse {
11981	s.Id = &v
11982	return s
11983}
11984
11985// SetResult sets the Result field's value.
11986func (s *ActivityResponse) SetResult(v string) *ActivityResponse {
11987	s.Result = &v
11988	return s
11989}
11990
11991// SetScheduledStart sets the ScheduledStart field's value.
11992func (s *ActivityResponse) SetScheduledStart(v string) *ActivityResponse {
11993	s.ScheduledStart = &v
11994	return s
11995}
11996
11997// SetStart sets the Start field's value.
11998func (s *ActivityResponse) SetStart(v string) *ActivityResponse {
11999	s.Start = &v
12000	return s
12001}
12002
12003// SetState sets the State field's value.
12004func (s *ActivityResponse) SetState(v string) *ActivityResponse {
12005	s.State = &v
12006	return s
12007}
12008
12009// SetSuccessfulEndpointCount sets the SuccessfulEndpointCount field's value.
12010func (s *ActivityResponse) SetSuccessfulEndpointCount(v int64) *ActivityResponse {
12011	s.SuccessfulEndpointCount = &v
12012	return s
12013}
12014
12015// SetTimezonesCompletedCount sets the TimezonesCompletedCount field's value.
12016func (s *ActivityResponse) SetTimezonesCompletedCount(v int64) *ActivityResponse {
12017	s.TimezonesCompletedCount = &v
12018	return s
12019}
12020
12021// SetTimezonesTotalCount sets the TimezonesTotalCount field's value.
12022func (s *ActivityResponse) SetTimezonesTotalCount(v int64) *ActivityResponse {
12023	s.TimezonesTotalCount = &v
12024	return s
12025}
12026
12027// SetTotalEndpointCount sets the TotalEndpointCount field's value.
12028func (s *ActivityResponse) SetTotalEndpointCount(v int64) *ActivityResponse {
12029	s.TotalEndpointCount = &v
12030	return s
12031}
12032
12033// SetTreatmentId sets the TreatmentId field's value.
12034func (s *ActivityResponse) SetTreatmentId(v string) *ActivityResponse {
12035	s.TreatmentId = &v
12036	return s
12037}
12038
12039// Specifies address-based configuration settings for a message that's sent
12040// directly to an endpoint.
12041type AddressConfiguration struct {
12042	_ struct{} `type:"structure"`
12043
12044	// The message body to use instead of the default message body. This value overrides
12045	// the default message body.
12046	BodyOverride *string `type:"string"`
12047
12048	// The channel to use when sending the message.
12049	ChannelType *string `type:"string" enum:"ChannelType"`
12050
12051	// An object that maps custom attributes to attributes for the address and is
12052	// attached to the message. For a push notification, this payload is added to
12053	// the data.pinpoint object. For an email or text message, this payload is added
12054	// to email/SMS delivery receipt event attributes.
12055	Context map[string]*string `type:"map"`
12056
12057	// The raw, JSON-formatted string to use as the payload for the message. If
12058	// specified, this value overrides all other values for the message.
12059	RawContent *string `type:"string"`
12060
12061	// A map of the message variables to merge with the variables specified by properties
12062	// of the DefaultMessage object. The variables specified in this map take precedence
12063	// over all other variables.
12064	Substitutions map[string][]*string `type:"map"`
12065
12066	// The message title to use instead of the default message title. This value
12067	// overrides the default message title.
12068	TitleOverride *string `type:"string"`
12069}
12070
12071// String returns the string representation
12072func (s AddressConfiguration) String() string {
12073	return awsutil.Prettify(s)
12074}
12075
12076// GoString returns the string representation
12077func (s AddressConfiguration) GoString() string {
12078	return s.String()
12079}
12080
12081// SetBodyOverride sets the BodyOverride field's value.
12082func (s *AddressConfiguration) SetBodyOverride(v string) *AddressConfiguration {
12083	s.BodyOverride = &v
12084	return s
12085}
12086
12087// SetChannelType sets the ChannelType field's value.
12088func (s *AddressConfiguration) SetChannelType(v string) *AddressConfiguration {
12089	s.ChannelType = &v
12090	return s
12091}
12092
12093// SetContext sets the Context field's value.
12094func (s *AddressConfiguration) SetContext(v map[string]*string) *AddressConfiguration {
12095	s.Context = v
12096	return s
12097}
12098
12099// SetRawContent sets the RawContent field's value.
12100func (s *AddressConfiguration) SetRawContent(v string) *AddressConfiguration {
12101	s.RawContent = &v
12102	return s
12103}
12104
12105// SetSubstitutions sets the Substitutions field's value.
12106func (s *AddressConfiguration) SetSubstitutions(v map[string][]*string) *AddressConfiguration {
12107	s.Substitutions = v
12108	return s
12109}
12110
12111// SetTitleOverride sets the TitleOverride field's value.
12112func (s *AddressConfiguration) SetTitleOverride(v string) *AddressConfiguration {
12113	s.TitleOverride = &v
12114	return s
12115}
12116
12117// Specifies channel-specific content and settings for a message template that
12118// can be used in push notifications that are sent through the ADM (Amazon Device
12119// Messaging), Baidu (Baidu Cloud Push), or GCM (Firebase Cloud Messaging, formerly
12120// Google Cloud Messaging) channel.
12121type AndroidPushNotificationTemplate struct {
12122	_ struct{} `type:"structure"`
12123
12124	// The action to occur if a recipient taps a push notification that's based
12125	// on the message template. Valid values are:
12126	//
12127	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
12128	//    sent to the background. This is the default action.
12129	//
12130	//    * DEEP_LINK - Your app opens and displays a designated user interface
12131	//    in the app. This action uses the deep-linking features of the Android
12132	//    platform.
12133	//
12134	//    * URL - The default mobile browser on the recipient's device opens and
12135	//    loads the web page at a URL that you specify.
12136	Action *string `type:"string" enum:"Action"`
12137
12138	// The message body to use in a push notification that's based on the message
12139	// template.
12140	Body *string `type:"string"`
12141
12142	// The URL of the large icon image to display in the content view of a push
12143	// notification that's based on the message template.
12144	ImageIconUrl *string `type:"string"`
12145
12146	// The URL of an image to display in a push notification that's based on the
12147	// message template.
12148	ImageUrl *string `type:"string"`
12149
12150	// The raw, JSON-formatted string to use as the payload for a push notification
12151	// that's based on the message template. If specified, this value overrides
12152	// all other content for the message template.
12153	RawContent *string `type:"string"`
12154
12155	// The URL of the small icon image to display in the status bar and the content
12156	// view of a push notification that's based on the message template.
12157	SmallImageIconUrl *string `type:"string"`
12158
12159	// The sound to play when a recipient receives a push notification that's based
12160	// on the message template. You can use the default stream or specify the file
12161	// name of a sound resource that's bundled in your app. On an Android platform,
12162	// the sound file must reside in /res/raw/.
12163	Sound *string `type:"string"`
12164
12165	// The title to use in a push notification that's based on the message template.
12166	// This title appears above the notification message on a recipient's device.
12167	Title *string `type:"string"`
12168
12169	// The URL to open in a recipient's default mobile browser, if a recipient taps
12170	// a a push notification that's based on the message template and the value
12171	// of the Action property is URL.
12172	Url *string `type:"string"`
12173}
12174
12175// String returns the string representation
12176func (s AndroidPushNotificationTemplate) String() string {
12177	return awsutil.Prettify(s)
12178}
12179
12180// GoString returns the string representation
12181func (s AndroidPushNotificationTemplate) GoString() string {
12182	return s.String()
12183}
12184
12185// SetAction sets the Action field's value.
12186func (s *AndroidPushNotificationTemplate) SetAction(v string) *AndroidPushNotificationTemplate {
12187	s.Action = &v
12188	return s
12189}
12190
12191// SetBody sets the Body field's value.
12192func (s *AndroidPushNotificationTemplate) SetBody(v string) *AndroidPushNotificationTemplate {
12193	s.Body = &v
12194	return s
12195}
12196
12197// SetImageIconUrl sets the ImageIconUrl field's value.
12198func (s *AndroidPushNotificationTemplate) SetImageIconUrl(v string) *AndroidPushNotificationTemplate {
12199	s.ImageIconUrl = &v
12200	return s
12201}
12202
12203// SetImageUrl sets the ImageUrl field's value.
12204func (s *AndroidPushNotificationTemplate) SetImageUrl(v string) *AndroidPushNotificationTemplate {
12205	s.ImageUrl = &v
12206	return s
12207}
12208
12209// SetRawContent sets the RawContent field's value.
12210func (s *AndroidPushNotificationTemplate) SetRawContent(v string) *AndroidPushNotificationTemplate {
12211	s.RawContent = &v
12212	return s
12213}
12214
12215// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
12216func (s *AndroidPushNotificationTemplate) SetSmallImageIconUrl(v string) *AndroidPushNotificationTemplate {
12217	s.SmallImageIconUrl = &v
12218	return s
12219}
12220
12221// SetSound sets the Sound field's value.
12222func (s *AndroidPushNotificationTemplate) SetSound(v string) *AndroidPushNotificationTemplate {
12223	s.Sound = &v
12224	return s
12225}
12226
12227// SetTitle sets the Title field's value.
12228func (s *AndroidPushNotificationTemplate) SetTitle(v string) *AndroidPushNotificationTemplate {
12229	s.Title = &v
12230	return s
12231}
12232
12233// SetUrl sets the Url field's value.
12234func (s *AndroidPushNotificationTemplate) SetUrl(v string) *AndroidPushNotificationTemplate {
12235	s.Url = &v
12236	return s
12237}
12238
12239// Provides the results of a query that retrieved the data for a standard metric
12240// that applies to an application, and provides information about that query.
12241type ApplicationDateRangeKpiResponse struct {
12242	_ struct{} `type:"structure"`
12243
12244	// The unique identifier for the application that the metric applies to.
12245	//
12246	// ApplicationId is a required field
12247	ApplicationId *string `type:"string" required:"true"`
12248
12249	// EndTime is a required field
12250	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
12251
12252	// The name of the metric, also referred to as a key performance indicator (KPI),
12253	// that the data was retrieved for. This value describes the associated metric
12254	// and consists of two or more terms, which are comprised of lowercase alphanumeric
12255	// characters, separated by a hyphen. For a list of possible values, see the
12256	// Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html).
12257	//
12258	// KpiName is a required field
12259	KpiName *string `type:"string" required:"true"`
12260
12261	// An array of objects that contains the results of the query. Each object contains
12262	// the value for the metric and metadata about that value.
12263	//
12264	// KpiResult is a required field
12265	KpiResult *BaseKpiResult `type:"structure" required:"true"`
12266
12267	// The string to use in a subsequent request to get the next page of results
12268	// in a paginated response. This value is null for the Application Metrics resource
12269	// because the resource returns all results in a single page.
12270	NextToken *string `type:"string"`
12271
12272	// StartTime is a required field
12273	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
12274}
12275
12276// String returns the string representation
12277func (s ApplicationDateRangeKpiResponse) String() string {
12278	return awsutil.Prettify(s)
12279}
12280
12281// GoString returns the string representation
12282func (s ApplicationDateRangeKpiResponse) GoString() string {
12283	return s.String()
12284}
12285
12286// SetApplicationId sets the ApplicationId field's value.
12287func (s *ApplicationDateRangeKpiResponse) SetApplicationId(v string) *ApplicationDateRangeKpiResponse {
12288	s.ApplicationId = &v
12289	return s
12290}
12291
12292// SetEndTime sets the EndTime field's value.
12293func (s *ApplicationDateRangeKpiResponse) SetEndTime(v time.Time) *ApplicationDateRangeKpiResponse {
12294	s.EndTime = &v
12295	return s
12296}
12297
12298// SetKpiName sets the KpiName field's value.
12299func (s *ApplicationDateRangeKpiResponse) SetKpiName(v string) *ApplicationDateRangeKpiResponse {
12300	s.KpiName = &v
12301	return s
12302}
12303
12304// SetKpiResult sets the KpiResult field's value.
12305func (s *ApplicationDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *ApplicationDateRangeKpiResponse {
12306	s.KpiResult = v
12307	return s
12308}
12309
12310// SetNextToken sets the NextToken field's value.
12311func (s *ApplicationDateRangeKpiResponse) SetNextToken(v string) *ApplicationDateRangeKpiResponse {
12312	s.NextToken = &v
12313	return s
12314}
12315
12316// SetStartTime sets the StartTime field's value.
12317func (s *ApplicationDateRangeKpiResponse) SetStartTime(v time.Time) *ApplicationDateRangeKpiResponse {
12318	s.StartTime = &v
12319	return s
12320}
12321
12322// Provides information about an application.
12323type ApplicationResponse struct {
12324	_ struct{} `type:"structure"`
12325
12326	// The Amazon Resource Name (ARN) of the application.
12327	//
12328	// Arn is a required field
12329	Arn *string `type:"string" required:"true"`
12330
12331	// The unique identifier for the application. This identifier is displayed as
12332	// the Project ID on the Amazon Pinpoint console.
12333	//
12334	// Id is a required field
12335	Id *string `type:"string" required:"true"`
12336
12337	// The display name of the application. This name is displayed as the Project
12338	// name on the Amazon Pinpoint console.
12339	//
12340	// Name is a required field
12341	Name *string `type:"string" required:"true"`
12342
12343	// A string-to-string map of key-value pairs that identifies the tags that are
12344	// associated with the application. Each tag consists of a required tag key
12345	// and an associated tag value.
12346	Tags map[string]*string `locationName:"tags" type:"map"`
12347}
12348
12349// String returns the string representation
12350func (s ApplicationResponse) String() string {
12351	return awsutil.Prettify(s)
12352}
12353
12354// GoString returns the string representation
12355func (s ApplicationResponse) GoString() string {
12356	return s.String()
12357}
12358
12359// SetArn sets the Arn field's value.
12360func (s *ApplicationResponse) SetArn(v string) *ApplicationResponse {
12361	s.Arn = &v
12362	return s
12363}
12364
12365// SetId sets the Id field's value.
12366func (s *ApplicationResponse) SetId(v string) *ApplicationResponse {
12367	s.Id = &v
12368	return s
12369}
12370
12371// SetName sets the Name field's value.
12372func (s *ApplicationResponse) SetName(v string) *ApplicationResponse {
12373	s.Name = &v
12374	return s
12375}
12376
12377// SetTags sets the Tags field's value.
12378func (s *ApplicationResponse) SetTags(v map[string]*string) *ApplicationResponse {
12379	s.Tags = v
12380	return s
12381}
12382
12383// Provides information about an application, including the default settings
12384// for an application.
12385type ApplicationSettingsResource struct {
12386	_ struct{} `type:"structure"`
12387
12388	// The unique identifier for the application. This identifier is displayed as
12389	// the Project ID on the Amazon Pinpoint console.
12390	//
12391	// ApplicationId is a required field
12392	ApplicationId *string `type:"string" required:"true"`
12393
12394	// The settings for the AWS Lambda function to use by default as a code hook
12395	// for campaigns in the application.
12396	CampaignHook *CampaignHook `type:"structure"`
12397
12398	// The date and time, in ISO 8601 format, when the application's settings were
12399	// last modified.
12400	LastModifiedDate *string `type:"string"`
12401
12402	// The default sending limits for campaigns in the application.
12403	Limits *CampaignLimits `type:"structure"`
12404
12405	// The default quiet time for campaigns and journeys in the application. Quiet
12406	// time is a specific time range when messages aren't sent to endpoints, if
12407	// all the following conditions are met:
12408	//
12409	//    * The EndpointDemographic.Timezone property of the endpoint is set to
12410	//    a valid value.
12411	//
12412	//    * The current time in the endpoint's time zone is later than or equal
12413	//    to the time specified by the QuietTime.Start property for the application
12414	//    (or a campaign or journey that has custom quiet time settings).
12415	//
12416	//    * The current time in the endpoint's time zone is earlier than or equal
12417	//    to the time specified by the QuietTime.End property for the application
12418	//    (or a campaign or journey that has custom quiet time settings).
12419	//
12420	// If any of the preceding conditions isn't met, the endpoint will receive messages
12421	// from a campaign or journey, even if quiet time is enabled.
12422	QuietTime *QuietTime `type:"structure"`
12423}
12424
12425// String returns the string representation
12426func (s ApplicationSettingsResource) String() string {
12427	return awsutil.Prettify(s)
12428}
12429
12430// GoString returns the string representation
12431func (s ApplicationSettingsResource) GoString() string {
12432	return s.String()
12433}
12434
12435// SetApplicationId sets the ApplicationId field's value.
12436func (s *ApplicationSettingsResource) SetApplicationId(v string) *ApplicationSettingsResource {
12437	s.ApplicationId = &v
12438	return s
12439}
12440
12441// SetCampaignHook sets the CampaignHook field's value.
12442func (s *ApplicationSettingsResource) SetCampaignHook(v *CampaignHook) *ApplicationSettingsResource {
12443	s.CampaignHook = v
12444	return s
12445}
12446
12447// SetLastModifiedDate sets the LastModifiedDate field's value.
12448func (s *ApplicationSettingsResource) SetLastModifiedDate(v string) *ApplicationSettingsResource {
12449	s.LastModifiedDate = &v
12450	return s
12451}
12452
12453// SetLimits sets the Limits field's value.
12454func (s *ApplicationSettingsResource) SetLimits(v *CampaignLimits) *ApplicationSettingsResource {
12455	s.Limits = v
12456	return s
12457}
12458
12459// SetQuietTime sets the QuietTime field's value.
12460func (s *ApplicationSettingsResource) SetQuietTime(v *QuietTime) *ApplicationSettingsResource {
12461	s.QuietTime = v
12462	return s
12463}
12464
12465// Provides information about all of your applications.
12466type ApplicationsResponse struct {
12467	_ struct{} `type:"structure"`
12468
12469	// An array of responses, one for each application that was returned.
12470	Item []*ApplicationResponse `type:"list"`
12471
12472	// The string to use in a subsequent request to get the next page of results
12473	// in a paginated response. This value is null if there are no additional pages.
12474	NextToken *string `type:"string"`
12475}
12476
12477// String returns the string representation
12478func (s ApplicationsResponse) String() string {
12479	return awsutil.Prettify(s)
12480}
12481
12482// GoString returns the string representation
12483func (s ApplicationsResponse) GoString() string {
12484	return s.String()
12485}
12486
12487// SetItem sets the Item field's value.
12488func (s *ApplicationsResponse) SetItem(v []*ApplicationResponse) *ApplicationsResponse {
12489	s.Item = v
12490	return s
12491}
12492
12493// SetNextToken sets the NextToken field's value.
12494func (s *ApplicationsResponse) SetNextToken(v string) *ApplicationsResponse {
12495	s.NextToken = &v
12496	return s
12497}
12498
12499// Specifies attribute-based criteria for including or excluding endpoints from
12500// a segment.
12501type AttributeDimension struct {
12502	_ struct{} `type:"structure"`
12503
12504	// The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints
12505	// that match the criteria are included in the segment; and, EXCLUSIVE, endpoints
12506	// that match the criteria are excluded from the segment.
12507	AttributeType *string `type:"string" enum:"AttributeType"`
12508
12509	// The criteria values to use for the segment dimension. Depending on the value
12510	// of the AttributeType property, endpoints are included or excluded from the
12511	// segment if their attribute values match the criteria values.
12512	//
12513	// Values is a required field
12514	Values []*string `type:"list" required:"true"`
12515}
12516
12517// String returns the string representation
12518func (s AttributeDimension) String() string {
12519	return awsutil.Prettify(s)
12520}
12521
12522// GoString returns the string representation
12523func (s AttributeDimension) GoString() string {
12524	return s.String()
12525}
12526
12527// Validate inspects the fields of the type to determine if they are valid.
12528func (s *AttributeDimension) Validate() error {
12529	invalidParams := request.ErrInvalidParams{Context: "AttributeDimension"}
12530	if s.Values == nil {
12531		invalidParams.Add(request.NewErrParamRequired("Values"))
12532	}
12533
12534	if invalidParams.Len() > 0 {
12535		return invalidParams
12536	}
12537	return nil
12538}
12539
12540// SetAttributeType sets the AttributeType field's value.
12541func (s *AttributeDimension) SetAttributeType(v string) *AttributeDimension {
12542	s.AttributeType = &v
12543	return s
12544}
12545
12546// SetValues sets the Values field's value.
12547func (s *AttributeDimension) SetValues(v []*string) *AttributeDimension {
12548	s.Values = v
12549	return s
12550}
12551
12552// Provides information about the type and the names of attributes that were
12553// removed from all the endpoints that are associated with an application.
12554type AttributesResource struct {
12555	_ struct{} `type:"structure"`
12556
12557	// The unique identifier for the application.
12558	//
12559	// ApplicationId is a required field
12560	ApplicationId *string `type:"string" required:"true"`
12561
12562	// The type of attribute or attributes that were removed from the endpoints.
12563	// Valid values are:
12564	//
12565	//    * endpoint-custom-attributes - Custom attributes that describe endpoints.
12566	//
12567	//    * endpoint-metric-attributes - Custom metrics that your app reports to
12568	//    Amazon Pinpoint for endpoints.
12569	//
12570	//    * endpoint-user-attributes - Custom attributes that describe users.
12571	//
12572	// AttributeType is a required field
12573	AttributeType *string `type:"string" required:"true"`
12574
12575	// An array that specifies the names of the attributes that were removed from
12576	// the endpoints.
12577	Attributes []*string `type:"list"`
12578}
12579
12580// String returns the string representation
12581func (s AttributesResource) String() string {
12582	return awsutil.Prettify(s)
12583}
12584
12585// GoString returns the string representation
12586func (s AttributesResource) GoString() string {
12587	return s.String()
12588}
12589
12590// SetApplicationId sets the ApplicationId field's value.
12591func (s *AttributesResource) SetApplicationId(v string) *AttributesResource {
12592	s.ApplicationId = &v
12593	return s
12594}
12595
12596// SetAttributeType sets the AttributeType field's value.
12597func (s *AttributesResource) SetAttributeType(v string) *AttributesResource {
12598	s.AttributeType = &v
12599	return s
12600}
12601
12602// SetAttributes sets the Attributes field's value.
12603func (s *AttributesResource) SetAttributes(v []*string) *AttributesResource {
12604	s.Attributes = v
12605	return s
12606}
12607
12608// Specifies the status and settings of the Baidu (Baidu Cloud Push) channel
12609// for an application.
12610type BaiduChannelRequest struct {
12611	_ struct{} `type:"structure"`
12612
12613	// The API key that you received from the Baidu Cloud Push service to communicate
12614	// with the service.
12615	//
12616	// ApiKey is a required field
12617	ApiKey *string `type:"string" required:"true"`
12618
12619	// Specifies whether to enable the Baidu channel for the application.
12620	Enabled *bool `type:"boolean"`
12621
12622	// The secret key that you received from the Baidu Cloud Push service to communicate
12623	// with the service.
12624	//
12625	// SecretKey is a required field
12626	SecretKey *string `type:"string" required:"true"`
12627}
12628
12629// String returns the string representation
12630func (s BaiduChannelRequest) String() string {
12631	return awsutil.Prettify(s)
12632}
12633
12634// GoString returns the string representation
12635func (s BaiduChannelRequest) GoString() string {
12636	return s.String()
12637}
12638
12639// Validate inspects the fields of the type to determine if they are valid.
12640func (s *BaiduChannelRequest) Validate() error {
12641	invalidParams := request.ErrInvalidParams{Context: "BaiduChannelRequest"}
12642	if s.ApiKey == nil {
12643		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
12644	}
12645	if s.SecretKey == nil {
12646		invalidParams.Add(request.NewErrParamRequired("SecretKey"))
12647	}
12648
12649	if invalidParams.Len() > 0 {
12650		return invalidParams
12651	}
12652	return nil
12653}
12654
12655// SetApiKey sets the ApiKey field's value.
12656func (s *BaiduChannelRequest) SetApiKey(v string) *BaiduChannelRequest {
12657	s.ApiKey = &v
12658	return s
12659}
12660
12661// SetEnabled sets the Enabled field's value.
12662func (s *BaiduChannelRequest) SetEnabled(v bool) *BaiduChannelRequest {
12663	s.Enabled = &v
12664	return s
12665}
12666
12667// SetSecretKey sets the SecretKey field's value.
12668func (s *BaiduChannelRequest) SetSecretKey(v string) *BaiduChannelRequest {
12669	s.SecretKey = &v
12670	return s
12671}
12672
12673// Provides information about the status and settings of the Baidu (Baidu Cloud
12674// Push) channel for an application.
12675type BaiduChannelResponse struct {
12676	_ struct{} `type:"structure"`
12677
12678	// The unique identifier for the application that the Baidu channel applies
12679	// to.
12680	ApplicationId *string `type:"string"`
12681
12682	// The date and time when the Baidu channel was enabled.
12683	CreationDate *string `type:"string"`
12684
12685	// The API key that you received from the Baidu Cloud Push service to communicate
12686	// with the service.
12687	//
12688	// Credential is a required field
12689	Credential *string `type:"string" required:"true"`
12690
12691	// Specifies whether the Baidu channel is enabled for the application.
12692	Enabled *bool `type:"boolean"`
12693
12694	// (Not used) This property is retained only for backward compatibility.
12695	HasCredential *bool `type:"boolean"`
12696
12697	// (Deprecated) An identifier for the Baidu channel. This property is retained
12698	// only for backward compatibility.
12699	Id *string `type:"string"`
12700
12701	// Specifies whether the Baidu channel is archived.
12702	IsArchived *bool `type:"boolean"`
12703
12704	// The user who last modified the Baidu channel.
12705	LastModifiedBy *string `type:"string"`
12706
12707	// The date and time when the Baidu channel was last modified.
12708	LastModifiedDate *string `type:"string"`
12709
12710	// The type of messaging or notification platform for the channel. For the Baidu
12711	// channel, this value is BAIDU.
12712	//
12713	// Platform is a required field
12714	Platform *string `type:"string" required:"true"`
12715
12716	// The current version of the Baidu channel.
12717	Version *int64 `type:"integer"`
12718}
12719
12720// String returns the string representation
12721func (s BaiduChannelResponse) String() string {
12722	return awsutil.Prettify(s)
12723}
12724
12725// GoString returns the string representation
12726func (s BaiduChannelResponse) GoString() string {
12727	return s.String()
12728}
12729
12730// SetApplicationId sets the ApplicationId field's value.
12731func (s *BaiduChannelResponse) SetApplicationId(v string) *BaiduChannelResponse {
12732	s.ApplicationId = &v
12733	return s
12734}
12735
12736// SetCreationDate sets the CreationDate field's value.
12737func (s *BaiduChannelResponse) SetCreationDate(v string) *BaiduChannelResponse {
12738	s.CreationDate = &v
12739	return s
12740}
12741
12742// SetCredential sets the Credential field's value.
12743func (s *BaiduChannelResponse) SetCredential(v string) *BaiduChannelResponse {
12744	s.Credential = &v
12745	return s
12746}
12747
12748// SetEnabled sets the Enabled field's value.
12749func (s *BaiduChannelResponse) SetEnabled(v bool) *BaiduChannelResponse {
12750	s.Enabled = &v
12751	return s
12752}
12753
12754// SetHasCredential sets the HasCredential field's value.
12755func (s *BaiduChannelResponse) SetHasCredential(v bool) *BaiduChannelResponse {
12756	s.HasCredential = &v
12757	return s
12758}
12759
12760// SetId sets the Id field's value.
12761func (s *BaiduChannelResponse) SetId(v string) *BaiduChannelResponse {
12762	s.Id = &v
12763	return s
12764}
12765
12766// SetIsArchived sets the IsArchived field's value.
12767func (s *BaiduChannelResponse) SetIsArchived(v bool) *BaiduChannelResponse {
12768	s.IsArchived = &v
12769	return s
12770}
12771
12772// SetLastModifiedBy sets the LastModifiedBy field's value.
12773func (s *BaiduChannelResponse) SetLastModifiedBy(v string) *BaiduChannelResponse {
12774	s.LastModifiedBy = &v
12775	return s
12776}
12777
12778// SetLastModifiedDate sets the LastModifiedDate field's value.
12779func (s *BaiduChannelResponse) SetLastModifiedDate(v string) *BaiduChannelResponse {
12780	s.LastModifiedDate = &v
12781	return s
12782}
12783
12784// SetPlatform sets the Platform field's value.
12785func (s *BaiduChannelResponse) SetPlatform(v string) *BaiduChannelResponse {
12786	s.Platform = &v
12787	return s
12788}
12789
12790// SetVersion sets the Version field's value.
12791func (s *BaiduChannelResponse) SetVersion(v int64) *BaiduChannelResponse {
12792	s.Version = &v
12793	return s
12794}
12795
12796// Specifies the settings for a one-time message that's sent directly to an
12797// endpoint through the Baidu (Baidu Cloud Push) channel.
12798type BaiduMessage struct {
12799	_ struct{} `type:"structure"`
12800
12801	// The action to occur if the recipient taps the push notification. Valid values
12802	// are:
12803	//
12804	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
12805	//    sent to the background. This is the default action.
12806	//
12807	//    * DEEP_LINK - Your app opens and displays a designated user interface
12808	//    in the app. This action uses the deep-linking features of the Android
12809	//    platform.
12810	//
12811	//    * URL - The default mobile browser on the recipient's device opens and
12812	//    loads the web page at a URL that you specify.
12813	Action *string `type:"string" enum:"Action"`
12814
12815	// The body of the notification message.
12816	Body *string `type:"string"`
12817
12818	// The JSON data payload to use for the push notification, if the notification
12819	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
12820	// object of the notification.
12821	Data map[string]*string `type:"map"`
12822
12823	// The icon image name of the asset saved in your app.
12824	IconReference *string `type:"string"`
12825
12826	// The URL of the large icon image to display in the content view of the push
12827	// notification.
12828	ImageIconUrl *string `type:"string"`
12829
12830	// The URL of an image to display in the push notification.
12831	ImageUrl *string `type:"string"`
12832
12833	// The raw, JSON-formatted string to use as the payload for the notification
12834	// message. If specified, this value overrides all other content for the message.
12835	RawContent *string `type:"string"`
12836
12837	// Specifies whether the notification is a silent push notification, which is
12838	// a push notification that doesn't display on a recipient's device. Silent
12839	// push notifications can be used for cases such as updating an app's configuration
12840	// or supporting phone home functionality.
12841	SilentPush *bool `type:"boolean"`
12842
12843	// The URL of the small icon image to display in the status bar and the content
12844	// view of the push notification.
12845	SmallImageIconUrl *string `type:"string"`
12846
12847	// The sound to play when the recipient receives the push notification. You
12848	// can use the default stream or specify the file name of a sound resource that's
12849	// bundled in your app. On an Android platform, the sound file must reside in
12850	// /res/raw/.
12851	Sound *string `type:"string"`
12852
12853	// The default message variables to use in the notification message. You can
12854	// override the default variables with individual address variables.
12855	Substitutions map[string][]*string `type:"map"`
12856
12857	// The amount of time, in seconds, that the Baidu Cloud Push service should
12858	// store the message if the recipient's device is offline. The default value
12859	// and maximum supported time is 604,800 seconds (7 days).
12860	TimeToLive *int64 `type:"integer"`
12861
12862	// The title to display above the notification message on the recipient's device.
12863	Title *string `type:"string"`
12864
12865	// The URL to open in the recipient's default mobile browser, if a recipient
12866	// taps the push notification and the value of the Action property is URL.
12867	Url *string `type:"string"`
12868}
12869
12870// String returns the string representation
12871func (s BaiduMessage) String() string {
12872	return awsutil.Prettify(s)
12873}
12874
12875// GoString returns the string representation
12876func (s BaiduMessage) GoString() string {
12877	return s.String()
12878}
12879
12880// SetAction sets the Action field's value.
12881func (s *BaiduMessage) SetAction(v string) *BaiduMessage {
12882	s.Action = &v
12883	return s
12884}
12885
12886// SetBody sets the Body field's value.
12887func (s *BaiduMessage) SetBody(v string) *BaiduMessage {
12888	s.Body = &v
12889	return s
12890}
12891
12892// SetData sets the Data field's value.
12893func (s *BaiduMessage) SetData(v map[string]*string) *BaiduMessage {
12894	s.Data = v
12895	return s
12896}
12897
12898// SetIconReference sets the IconReference field's value.
12899func (s *BaiduMessage) SetIconReference(v string) *BaiduMessage {
12900	s.IconReference = &v
12901	return s
12902}
12903
12904// SetImageIconUrl sets the ImageIconUrl field's value.
12905func (s *BaiduMessage) SetImageIconUrl(v string) *BaiduMessage {
12906	s.ImageIconUrl = &v
12907	return s
12908}
12909
12910// SetImageUrl sets the ImageUrl field's value.
12911func (s *BaiduMessage) SetImageUrl(v string) *BaiduMessage {
12912	s.ImageUrl = &v
12913	return s
12914}
12915
12916// SetRawContent sets the RawContent field's value.
12917func (s *BaiduMessage) SetRawContent(v string) *BaiduMessage {
12918	s.RawContent = &v
12919	return s
12920}
12921
12922// SetSilentPush sets the SilentPush field's value.
12923func (s *BaiduMessage) SetSilentPush(v bool) *BaiduMessage {
12924	s.SilentPush = &v
12925	return s
12926}
12927
12928// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
12929func (s *BaiduMessage) SetSmallImageIconUrl(v string) *BaiduMessage {
12930	s.SmallImageIconUrl = &v
12931	return s
12932}
12933
12934// SetSound sets the Sound field's value.
12935func (s *BaiduMessage) SetSound(v string) *BaiduMessage {
12936	s.Sound = &v
12937	return s
12938}
12939
12940// SetSubstitutions sets the Substitutions field's value.
12941func (s *BaiduMessage) SetSubstitutions(v map[string][]*string) *BaiduMessage {
12942	s.Substitutions = v
12943	return s
12944}
12945
12946// SetTimeToLive sets the TimeToLive field's value.
12947func (s *BaiduMessage) SetTimeToLive(v int64) *BaiduMessage {
12948	s.TimeToLive = &v
12949	return s
12950}
12951
12952// SetTitle sets the Title field's value.
12953func (s *BaiduMessage) SetTitle(v string) *BaiduMessage {
12954	s.Title = &v
12955	return s
12956}
12957
12958// SetUrl sets the Url field's value.
12959func (s *BaiduMessage) SetUrl(v string) *BaiduMessage {
12960	s.Url = &v
12961	return s
12962}
12963
12964// Provides the results of a query that retrieved the data for a standard metric
12965// that applies to an application, campaign, or journey.
12966type BaseKpiResult struct {
12967	_ struct{} `type:"structure"`
12968
12969	// An array of objects that provides the results of a query that retrieved the
12970	// data for a standard metric that applies to an application, campaign, or journey.
12971	//
12972	// Rows is a required field
12973	Rows []*ResultRow `type:"list" required:"true"`
12974}
12975
12976// String returns the string representation
12977func (s BaseKpiResult) String() string {
12978	return awsutil.Prettify(s)
12979}
12980
12981// GoString returns the string representation
12982func (s BaseKpiResult) GoString() string {
12983	return s.String()
12984}
12985
12986// SetRows sets the Rows field's value.
12987func (s *BaseKpiResult) SetRows(v []*ResultRow) *BaseKpiResult {
12988	s.Rows = v
12989	return s
12990}
12991
12992// Provides the results of a query that retrieved the data for a standard metric
12993// that applies to a campaign, and provides information about that query.
12994type CampaignDateRangeKpiResponse struct {
12995	_ struct{} `type:"structure"`
12996
12997	// The unique identifier for the application that the metric applies to.
12998	//
12999	// ApplicationId is a required field
13000	ApplicationId *string `type:"string" required:"true"`
13001
13002	// The unique identifier for the campaign that the metric applies to.
13003	//
13004	// CampaignId is a required field
13005	CampaignId *string `type:"string" required:"true"`
13006
13007	// EndTime is a required field
13008	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
13009
13010	// The name of the metric, also referred to as a key performance indicator (KPI),
13011	// that the data was retrieved for. This value describes the associated metric
13012	// and consists of two or more terms, which are comprised of lowercase alphanumeric
13013	// characters, separated by a hyphen. For a list of possible values, see the
13014	// Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html).
13015	//
13016	// KpiName is a required field
13017	KpiName *string `type:"string" required:"true"`
13018
13019	// An array of objects that contains the results of the query. Each object contains
13020	// the value for the metric and metadata about that value.
13021	//
13022	// KpiResult is a required field
13023	KpiResult *BaseKpiResult `type:"structure" required:"true"`
13024
13025	// The string to use in a subsequent request to get the next page of results
13026	// in a paginated response. This value is null for the Campaign Metrics resource
13027	// because the resource returns all results in a single page.
13028	NextToken *string `type:"string"`
13029
13030	// StartTime is a required field
13031	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
13032}
13033
13034// String returns the string representation
13035func (s CampaignDateRangeKpiResponse) String() string {
13036	return awsutil.Prettify(s)
13037}
13038
13039// GoString returns the string representation
13040func (s CampaignDateRangeKpiResponse) GoString() string {
13041	return s.String()
13042}
13043
13044// SetApplicationId sets the ApplicationId field's value.
13045func (s *CampaignDateRangeKpiResponse) SetApplicationId(v string) *CampaignDateRangeKpiResponse {
13046	s.ApplicationId = &v
13047	return s
13048}
13049
13050// SetCampaignId sets the CampaignId field's value.
13051func (s *CampaignDateRangeKpiResponse) SetCampaignId(v string) *CampaignDateRangeKpiResponse {
13052	s.CampaignId = &v
13053	return s
13054}
13055
13056// SetEndTime sets the EndTime field's value.
13057func (s *CampaignDateRangeKpiResponse) SetEndTime(v time.Time) *CampaignDateRangeKpiResponse {
13058	s.EndTime = &v
13059	return s
13060}
13061
13062// SetKpiName sets the KpiName field's value.
13063func (s *CampaignDateRangeKpiResponse) SetKpiName(v string) *CampaignDateRangeKpiResponse {
13064	s.KpiName = &v
13065	return s
13066}
13067
13068// SetKpiResult sets the KpiResult field's value.
13069func (s *CampaignDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *CampaignDateRangeKpiResponse {
13070	s.KpiResult = v
13071	return s
13072}
13073
13074// SetNextToken sets the NextToken field's value.
13075func (s *CampaignDateRangeKpiResponse) SetNextToken(v string) *CampaignDateRangeKpiResponse {
13076	s.NextToken = &v
13077	return s
13078}
13079
13080// SetStartTime sets the StartTime field's value.
13081func (s *CampaignDateRangeKpiResponse) SetStartTime(v time.Time) *CampaignDateRangeKpiResponse {
13082	s.StartTime = &v
13083	return s
13084}
13085
13086// Specifies the content and "From" address for an email message that's sent
13087// to recipients of a campaign.
13088type CampaignEmailMessage struct {
13089	_ struct{} `type:"structure"`
13090
13091	// The body of the email for recipients whose email clients don't render HTML
13092	// content.
13093	Body *string `type:"string"`
13094
13095	// The verified email address to send the email from. The default address is
13096	// the FromAddress specified for the email channel for the application.
13097	FromAddress *string `type:"string"`
13098
13099	// The body of the email, in HTML format, for recipients whose email clients
13100	// render HTML content.
13101	HtmlBody *string `type:"string"`
13102
13103	// The subject line, or title, of the email.
13104	//
13105	// Title is a required field
13106	Title *string `type:"string" required:"true"`
13107}
13108
13109// String returns the string representation
13110func (s CampaignEmailMessage) String() string {
13111	return awsutil.Prettify(s)
13112}
13113
13114// GoString returns the string representation
13115func (s CampaignEmailMessage) GoString() string {
13116	return s.String()
13117}
13118
13119// Validate inspects the fields of the type to determine if they are valid.
13120func (s *CampaignEmailMessage) Validate() error {
13121	invalidParams := request.ErrInvalidParams{Context: "CampaignEmailMessage"}
13122	if s.Title == nil {
13123		invalidParams.Add(request.NewErrParamRequired("Title"))
13124	}
13125
13126	if invalidParams.Len() > 0 {
13127		return invalidParams
13128	}
13129	return nil
13130}
13131
13132// SetBody sets the Body field's value.
13133func (s *CampaignEmailMessage) SetBody(v string) *CampaignEmailMessage {
13134	s.Body = &v
13135	return s
13136}
13137
13138// SetFromAddress sets the FromAddress field's value.
13139func (s *CampaignEmailMessage) SetFromAddress(v string) *CampaignEmailMessage {
13140	s.FromAddress = &v
13141	return s
13142}
13143
13144// SetHtmlBody sets the HtmlBody field's value.
13145func (s *CampaignEmailMessage) SetHtmlBody(v string) *CampaignEmailMessage {
13146	s.HtmlBody = &v
13147	return s
13148}
13149
13150// SetTitle sets the Title field's value.
13151func (s *CampaignEmailMessage) SetTitle(v string) *CampaignEmailMessage {
13152	s.Title = &v
13153	return s
13154}
13155
13156// Specifies the settings for events that cause a campaign to be sent.
13157type CampaignEventFilter struct {
13158	_ struct{} `type:"structure"`
13159
13160	// The dimension settings of the event filter for the campaign.
13161	//
13162	// Dimensions is a required field
13163	Dimensions *EventDimensions `type:"structure" required:"true"`
13164
13165	// The type of event that causes the campaign to be sent. Valid values are:
13166	// SYSTEM, sends the campaign when a system event occurs; and, ENDPOINT, sends
13167	// the campaign when an endpoint event (Events resource) occurs.
13168	//
13169	// FilterType is a required field
13170	FilterType *string `type:"string" required:"true" enum:"FilterType"`
13171}
13172
13173// String returns the string representation
13174func (s CampaignEventFilter) String() string {
13175	return awsutil.Prettify(s)
13176}
13177
13178// GoString returns the string representation
13179func (s CampaignEventFilter) GoString() string {
13180	return s.String()
13181}
13182
13183// Validate inspects the fields of the type to determine if they are valid.
13184func (s *CampaignEventFilter) Validate() error {
13185	invalidParams := request.ErrInvalidParams{Context: "CampaignEventFilter"}
13186	if s.Dimensions == nil {
13187		invalidParams.Add(request.NewErrParamRequired("Dimensions"))
13188	}
13189	if s.FilterType == nil {
13190		invalidParams.Add(request.NewErrParamRequired("FilterType"))
13191	}
13192	if s.Dimensions != nil {
13193		if err := s.Dimensions.Validate(); err != nil {
13194			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
13195		}
13196	}
13197
13198	if invalidParams.Len() > 0 {
13199		return invalidParams
13200	}
13201	return nil
13202}
13203
13204// SetDimensions sets the Dimensions field's value.
13205func (s *CampaignEventFilter) SetDimensions(v *EventDimensions) *CampaignEventFilter {
13206	s.Dimensions = v
13207	return s
13208}
13209
13210// SetFilterType sets the FilterType field's value.
13211func (s *CampaignEventFilter) SetFilterType(v string) *CampaignEventFilter {
13212	s.FilterType = &v
13213	return s
13214}
13215
13216// Specifies the AWS Lambda function to use as a code hook for a campaign.
13217type CampaignHook struct {
13218	_ struct{} `type:"structure"`
13219
13220	// The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
13221	// Pinpoint invokes to send messages for a campaign.
13222	LambdaFunctionName *string `type:"string"`
13223
13224	// Specifies which Lambda mode to use when invoking the AWS Lambda function.
13225	Mode *string `type:"string" enum:"Mode"`
13226
13227	// The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function
13228	// over HTTPS.
13229	WebUrl *string `type:"string"`
13230}
13231
13232// String returns the string representation
13233func (s CampaignHook) String() string {
13234	return awsutil.Prettify(s)
13235}
13236
13237// GoString returns the string representation
13238func (s CampaignHook) GoString() string {
13239	return s.String()
13240}
13241
13242// SetLambdaFunctionName sets the LambdaFunctionName field's value.
13243func (s *CampaignHook) SetLambdaFunctionName(v string) *CampaignHook {
13244	s.LambdaFunctionName = &v
13245	return s
13246}
13247
13248// SetMode sets the Mode field's value.
13249func (s *CampaignHook) SetMode(v string) *CampaignHook {
13250	s.Mode = &v
13251	return s
13252}
13253
13254// SetWebUrl sets the WebUrl field's value.
13255func (s *CampaignHook) SetWebUrl(v string) *CampaignHook {
13256	s.WebUrl = &v
13257	return s
13258}
13259
13260// Specifies limits on the messages that a campaign can send.
13261type CampaignLimits struct {
13262	_ struct{} `type:"structure"`
13263
13264	// The maximum number of messages that a campaign can send to a single endpoint
13265	// during a 24-hour period. The maximum value is 100.
13266	Daily *int64 `type:"integer"`
13267
13268	// The maximum amount of time, in seconds, that a campaign can attempt to deliver
13269	// a message after the scheduled start time for the campaign. The minimum value
13270	// is 60 seconds.
13271	MaximumDuration *int64 `type:"integer"`
13272
13273	// The maximum number of messages that a campaign can send each second. The
13274	// minimum value is 50. The maximum value is 20,000.
13275	MessagesPerSecond *int64 `type:"integer"`
13276
13277	// The maximum number of messages that a campaign can send to a single endpoint
13278	// during the course of the campaign. The maximum value is 100.
13279	Total *int64 `type:"integer"`
13280}
13281
13282// String returns the string representation
13283func (s CampaignLimits) String() string {
13284	return awsutil.Prettify(s)
13285}
13286
13287// GoString returns the string representation
13288func (s CampaignLimits) GoString() string {
13289	return s.String()
13290}
13291
13292// SetDaily sets the Daily field's value.
13293func (s *CampaignLimits) SetDaily(v int64) *CampaignLimits {
13294	s.Daily = &v
13295	return s
13296}
13297
13298// SetMaximumDuration sets the MaximumDuration field's value.
13299func (s *CampaignLimits) SetMaximumDuration(v int64) *CampaignLimits {
13300	s.MaximumDuration = &v
13301	return s
13302}
13303
13304// SetMessagesPerSecond sets the MessagesPerSecond field's value.
13305func (s *CampaignLimits) SetMessagesPerSecond(v int64) *CampaignLimits {
13306	s.MessagesPerSecond = &v
13307	return s
13308}
13309
13310// SetTotal sets the Total field's value.
13311func (s *CampaignLimits) SetTotal(v int64) *CampaignLimits {
13312	s.Total = &v
13313	return s
13314}
13315
13316// Provides information about the status, configuration, and other settings
13317// for a campaign.
13318type CampaignResponse struct {
13319	_ struct{} `type:"structure"`
13320
13321	// An array of responses, one for each treatment that you defined for the campaign,
13322	// in addition to the default treatment.
13323	AdditionalTreatments []*TreatmentResource `type:"list"`
13324
13325	// The unique identifier for the application that the campaign applies to.
13326	//
13327	// ApplicationId is a required field
13328	ApplicationId *string `type:"string" required:"true"`
13329
13330	// The Amazon Resource Name (ARN) of the campaign.
13331	//
13332	// Arn is a required field
13333	Arn *string `type:"string" required:"true"`
13334
13335	// The date, in ISO 8601 format, when the campaign was created.
13336	//
13337	// CreationDate is a required field
13338	CreationDate *string `type:"string" required:"true"`
13339
13340	// The current status of the campaign's default treatment. This value exists
13341	// only for campaigns that have more than one treatment, to support A/B testing.
13342	DefaultState *CampaignState `type:"structure"`
13343
13344	// The custom description of the campaign.
13345	Description *string `type:"string"`
13346
13347	// The allocated percentage of users (segment members) who shouldn't receive
13348	// messages from the campaign.
13349	HoldoutPercent *int64 `type:"integer"`
13350
13351	// The settings for the AWS Lambda function to use as a code hook for the campaign.
13352	Hook *CampaignHook `type:"structure"`
13353
13354	// The unique identifier for the campaign.
13355	//
13356	// Id is a required field
13357	Id *string `type:"string" required:"true"`
13358
13359	// Specifies whether the campaign is paused. A paused campaign doesn't run unless
13360	// you resume it by changing this value to false.
13361	IsPaused *bool `type:"boolean"`
13362
13363	// The date, in ISO 8601 format, when the campaign was last modified.
13364	//
13365	// LastModifiedDate is a required field
13366	LastModifiedDate *string `type:"string" required:"true"`
13367
13368	// The messaging limits for the campaign.
13369	Limits *CampaignLimits `type:"structure"`
13370
13371	// The message configuration settings for the campaign.
13372	MessageConfiguration *MessageConfiguration `type:"structure"`
13373
13374	// The name of the campaign.
13375	Name *string `type:"string"`
13376
13377	// The schedule settings for the campaign.
13378	Schedule *Schedule `type:"structure"`
13379
13380	// The unique identifier for the segment that's associated with the campaign.
13381	//
13382	// SegmentId is a required field
13383	SegmentId *string `type:"string" required:"true"`
13384
13385	// The version number of the segment that's associated with the campaign.
13386	//
13387	// SegmentVersion is a required field
13388	SegmentVersion *int64 `type:"integer" required:"true"`
13389
13390	// The current status of the campaign.
13391	State *CampaignState `type:"structure"`
13392
13393	// A string-to-string map of key-value pairs that identifies the tags that are
13394	// associated with the campaign. Each tag consists of a required tag key and
13395	// an associated tag value.
13396	Tags map[string]*string `locationName:"tags" type:"map"`
13397
13398	// The message template that’s used for the campaign.
13399	TemplateConfiguration *TemplateConfiguration `type:"structure"`
13400
13401	// The custom description of a variation of the campaign that's used for A/B
13402	// testing.
13403	TreatmentDescription *string `type:"string"`
13404
13405	// The custom name of a variation of the campaign that's used for A/B testing.
13406	TreatmentName *string `type:"string"`
13407
13408	// The version number of the campaign.
13409	Version *int64 `type:"integer"`
13410}
13411
13412// String returns the string representation
13413func (s CampaignResponse) String() string {
13414	return awsutil.Prettify(s)
13415}
13416
13417// GoString returns the string representation
13418func (s CampaignResponse) GoString() string {
13419	return s.String()
13420}
13421
13422// SetAdditionalTreatments sets the AdditionalTreatments field's value.
13423func (s *CampaignResponse) SetAdditionalTreatments(v []*TreatmentResource) *CampaignResponse {
13424	s.AdditionalTreatments = v
13425	return s
13426}
13427
13428// SetApplicationId sets the ApplicationId field's value.
13429func (s *CampaignResponse) SetApplicationId(v string) *CampaignResponse {
13430	s.ApplicationId = &v
13431	return s
13432}
13433
13434// SetArn sets the Arn field's value.
13435func (s *CampaignResponse) SetArn(v string) *CampaignResponse {
13436	s.Arn = &v
13437	return s
13438}
13439
13440// SetCreationDate sets the CreationDate field's value.
13441func (s *CampaignResponse) SetCreationDate(v string) *CampaignResponse {
13442	s.CreationDate = &v
13443	return s
13444}
13445
13446// SetDefaultState sets the DefaultState field's value.
13447func (s *CampaignResponse) SetDefaultState(v *CampaignState) *CampaignResponse {
13448	s.DefaultState = v
13449	return s
13450}
13451
13452// SetDescription sets the Description field's value.
13453func (s *CampaignResponse) SetDescription(v string) *CampaignResponse {
13454	s.Description = &v
13455	return s
13456}
13457
13458// SetHoldoutPercent sets the HoldoutPercent field's value.
13459func (s *CampaignResponse) SetHoldoutPercent(v int64) *CampaignResponse {
13460	s.HoldoutPercent = &v
13461	return s
13462}
13463
13464// SetHook sets the Hook field's value.
13465func (s *CampaignResponse) SetHook(v *CampaignHook) *CampaignResponse {
13466	s.Hook = v
13467	return s
13468}
13469
13470// SetId sets the Id field's value.
13471func (s *CampaignResponse) SetId(v string) *CampaignResponse {
13472	s.Id = &v
13473	return s
13474}
13475
13476// SetIsPaused sets the IsPaused field's value.
13477func (s *CampaignResponse) SetIsPaused(v bool) *CampaignResponse {
13478	s.IsPaused = &v
13479	return s
13480}
13481
13482// SetLastModifiedDate sets the LastModifiedDate field's value.
13483func (s *CampaignResponse) SetLastModifiedDate(v string) *CampaignResponse {
13484	s.LastModifiedDate = &v
13485	return s
13486}
13487
13488// SetLimits sets the Limits field's value.
13489func (s *CampaignResponse) SetLimits(v *CampaignLimits) *CampaignResponse {
13490	s.Limits = v
13491	return s
13492}
13493
13494// SetMessageConfiguration sets the MessageConfiguration field's value.
13495func (s *CampaignResponse) SetMessageConfiguration(v *MessageConfiguration) *CampaignResponse {
13496	s.MessageConfiguration = v
13497	return s
13498}
13499
13500// SetName sets the Name field's value.
13501func (s *CampaignResponse) SetName(v string) *CampaignResponse {
13502	s.Name = &v
13503	return s
13504}
13505
13506// SetSchedule sets the Schedule field's value.
13507func (s *CampaignResponse) SetSchedule(v *Schedule) *CampaignResponse {
13508	s.Schedule = v
13509	return s
13510}
13511
13512// SetSegmentId sets the SegmentId field's value.
13513func (s *CampaignResponse) SetSegmentId(v string) *CampaignResponse {
13514	s.SegmentId = &v
13515	return s
13516}
13517
13518// SetSegmentVersion sets the SegmentVersion field's value.
13519func (s *CampaignResponse) SetSegmentVersion(v int64) *CampaignResponse {
13520	s.SegmentVersion = &v
13521	return s
13522}
13523
13524// SetState sets the State field's value.
13525func (s *CampaignResponse) SetState(v *CampaignState) *CampaignResponse {
13526	s.State = v
13527	return s
13528}
13529
13530// SetTags sets the Tags field's value.
13531func (s *CampaignResponse) SetTags(v map[string]*string) *CampaignResponse {
13532	s.Tags = v
13533	return s
13534}
13535
13536// SetTemplateConfiguration sets the TemplateConfiguration field's value.
13537func (s *CampaignResponse) SetTemplateConfiguration(v *TemplateConfiguration) *CampaignResponse {
13538	s.TemplateConfiguration = v
13539	return s
13540}
13541
13542// SetTreatmentDescription sets the TreatmentDescription field's value.
13543func (s *CampaignResponse) SetTreatmentDescription(v string) *CampaignResponse {
13544	s.TreatmentDescription = &v
13545	return s
13546}
13547
13548// SetTreatmentName sets the TreatmentName field's value.
13549func (s *CampaignResponse) SetTreatmentName(v string) *CampaignResponse {
13550	s.TreatmentName = &v
13551	return s
13552}
13553
13554// SetVersion sets the Version field's value.
13555func (s *CampaignResponse) SetVersion(v int64) *CampaignResponse {
13556	s.Version = &v
13557	return s
13558}
13559
13560// Specifies the content and settings for an SMS message that's sent to recipients
13561// of a campaign.
13562type CampaignSmsMessage struct {
13563	_ struct{} `type:"structure"`
13564
13565	// The body of the SMS message.
13566	Body *string `type:"string"`
13567
13568	// The type of SMS message. Valid values are: TRANSACTIONAL, the message is
13569	// critical or time-sensitive, such as a one-time password that supports a customer
13570	// transaction; and, PROMOTIONAL, the message isn't critical or time-sensitive,
13571	// such as a marketing message.
13572	MessageType *string `type:"string" enum:"MessageType"`
13573
13574	// The sender ID to display on recipients' devices when they receive the SMS
13575	// message.
13576	SenderId *string `type:"string"`
13577}
13578
13579// String returns the string representation
13580func (s CampaignSmsMessage) String() string {
13581	return awsutil.Prettify(s)
13582}
13583
13584// GoString returns the string representation
13585func (s CampaignSmsMessage) GoString() string {
13586	return s.String()
13587}
13588
13589// SetBody sets the Body field's value.
13590func (s *CampaignSmsMessage) SetBody(v string) *CampaignSmsMessage {
13591	s.Body = &v
13592	return s
13593}
13594
13595// SetMessageType sets the MessageType field's value.
13596func (s *CampaignSmsMessage) SetMessageType(v string) *CampaignSmsMessage {
13597	s.MessageType = &v
13598	return s
13599}
13600
13601// SetSenderId sets the SenderId field's value.
13602func (s *CampaignSmsMessage) SetSenderId(v string) *CampaignSmsMessage {
13603	s.SenderId = &v
13604	return s
13605}
13606
13607// Provides information about the status of a campaign.
13608type CampaignState struct {
13609	_ struct{} `type:"structure"`
13610
13611	// The current status of the campaign, or the current status of a treatment
13612	// that belongs to an A/B test campaign. If a campaign uses A/B testing, the
13613	// campaign has a status of COMPLETED only if all campaign treatments have a
13614	// status of COMPLETED.
13615	CampaignStatus *string `type:"string" enum:"CampaignStatus"`
13616}
13617
13618// String returns the string representation
13619func (s CampaignState) String() string {
13620	return awsutil.Prettify(s)
13621}
13622
13623// GoString returns the string representation
13624func (s CampaignState) GoString() string {
13625	return s.String()
13626}
13627
13628// SetCampaignStatus sets the CampaignStatus field's value.
13629func (s *CampaignState) SetCampaignStatus(v string) *CampaignState {
13630	s.CampaignStatus = &v
13631	return s
13632}
13633
13634// Provides information about the configuration and other settings for all the
13635// campaigns that are associated with an application.
13636type CampaignsResponse struct {
13637	_ struct{} `type:"structure"`
13638
13639	// An array of responses, one for each campaign that's associated with the application.
13640	//
13641	// Item is a required field
13642	Item []*CampaignResponse `type:"list" required:"true"`
13643
13644	// The string to use in a subsequent request to get the next page of results
13645	// in a paginated response. This value is null if there are no additional pages.
13646	NextToken *string `type:"string"`
13647}
13648
13649// String returns the string representation
13650func (s CampaignsResponse) String() string {
13651	return awsutil.Prettify(s)
13652}
13653
13654// GoString returns the string representation
13655func (s CampaignsResponse) GoString() string {
13656	return s.String()
13657}
13658
13659// SetItem sets the Item field's value.
13660func (s *CampaignsResponse) SetItem(v []*CampaignResponse) *CampaignsResponse {
13661	s.Item = v
13662	return s
13663}
13664
13665// SetNextToken sets the NextToken field's value.
13666func (s *CampaignsResponse) SetNextToken(v string) *CampaignsResponse {
13667	s.NextToken = &v
13668	return s
13669}
13670
13671// Provides information about the general settings and status of a channel for
13672// an application.
13673type ChannelResponse struct {
13674	_ struct{} `type:"structure"`
13675
13676	// The unique identifier for the application.
13677	ApplicationId *string `type:"string"`
13678
13679	// The date and time, in ISO 8601 format, when the channel was enabled.
13680	CreationDate *string `type:"string"`
13681
13682	// Specifies whether the channel is enabled for the application.
13683	Enabled *bool `type:"boolean"`
13684
13685	// (Not used) This property is retained only for backward compatibility.
13686	HasCredential *bool `type:"boolean"`
13687
13688	// (Deprecated) An identifier for the channel. This property is retained only
13689	// for backward compatibility.
13690	Id *string `type:"string"`
13691
13692	// Specifies whether the channel is archived.
13693	IsArchived *bool `type:"boolean"`
13694
13695	// The user who last modified the channel.
13696	LastModifiedBy *string `type:"string"`
13697
13698	// The date and time, in ISO 8601 format, when the channel was last modified.
13699	LastModifiedDate *string `type:"string"`
13700
13701	// The current version of the channel.
13702	Version *int64 `type:"integer"`
13703}
13704
13705// String returns the string representation
13706func (s ChannelResponse) String() string {
13707	return awsutil.Prettify(s)
13708}
13709
13710// GoString returns the string representation
13711func (s ChannelResponse) GoString() string {
13712	return s.String()
13713}
13714
13715// SetApplicationId sets the ApplicationId field's value.
13716func (s *ChannelResponse) SetApplicationId(v string) *ChannelResponse {
13717	s.ApplicationId = &v
13718	return s
13719}
13720
13721// SetCreationDate sets the CreationDate field's value.
13722func (s *ChannelResponse) SetCreationDate(v string) *ChannelResponse {
13723	s.CreationDate = &v
13724	return s
13725}
13726
13727// SetEnabled sets the Enabled field's value.
13728func (s *ChannelResponse) SetEnabled(v bool) *ChannelResponse {
13729	s.Enabled = &v
13730	return s
13731}
13732
13733// SetHasCredential sets the HasCredential field's value.
13734func (s *ChannelResponse) SetHasCredential(v bool) *ChannelResponse {
13735	s.HasCredential = &v
13736	return s
13737}
13738
13739// SetId sets the Id field's value.
13740func (s *ChannelResponse) SetId(v string) *ChannelResponse {
13741	s.Id = &v
13742	return s
13743}
13744
13745// SetIsArchived sets the IsArchived field's value.
13746func (s *ChannelResponse) SetIsArchived(v bool) *ChannelResponse {
13747	s.IsArchived = &v
13748	return s
13749}
13750
13751// SetLastModifiedBy sets the LastModifiedBy field's value.
13752func (s *ChannelResponse) SetLastModifiedBy(v string) *ChannelResponse {
13753	s.LastModifiedBy = &v
13754	return s
13755}
13756
13757// SetLastModifiedDate sets the LastModifiedDate field's value.
13758func (s *ChannelResponse) SetLastModifiedDate(v string) *ChannelResponse {
13759	s.LastModifiedDate = &v
13760	return s
13761}
13762
13763// SetVersion sets the Version field's value.
13764func (s *ChannelResponse) SetVersion(v int64) *ChannelResponse {
13765	s.Version = &v
13766	return s
13767}
13768
13769// Provides information about the general settings and status of all channels
13770// for an application, including channels that aren't enabled for the application.
13771type ChannelsResponse struct {
13772	_ struct{} `type:"structure"`
13773
13774	// A map that contains a multipart response for each channel. For each item
13775	// in this object, the ChannelType is the key and the Channel is the value.
13776	//
13777	// Channels is a required field
13778	Channels map[string]*ChannelResponse `type:"map" required:"true"`
13779}
13780
13781// String returns the string representation
13782func (s ChannelsResponse) String() string {
13783	return awsutil.Prettify(s)
13784}
13785
13786// GoString returns the string representation
13787func (s ChannelsResponse) GoString() string {
13788	return s.String()
13789}
13790
13791// SetChannels sets the Channels field's value.
13792func (s *ChannelsResponse) SetChannels(v map[string]*ChannelResponse) *ChannelsResponse {
13793	s.Channels = v
13794	return s
13795}
13796
13797// Specifies the conditions to evaluate for an activity in a journey, and how
13798// to evaluate those conditions.
13799type Condition struct {
13800	_ struct{} `type:"structure"`
13801
13802	// The conditions to evaluate for the activity.
13803	Conditions []*SimpleCondition `type:"list"`
13804
13805	// Specifies how to handle multiple conditions for the activity. For example,
13806	// if you specify two conditions for an activity, whether both or only one of
13807	// the conditions must be met for the activity to be performed.
13808	Operator *string `type:"string" enum:"Operator"`
13809}
13810
13811// String returns the string representation
13812func (s Condition) String() string {
13813	return awsutil.Prettify(s)
13814}
13815
13816// GoString returns the string representation
13817func (s Condition) GoString() string {
13818	return s.String()
13819}
13820
13821// Validate inspects the fields of the type to determine if they are valid.
13822func (s *Condition) Validate() error {
13823	invalidParams := request.ErrInvalidParams{Context: "Condition"}
13824	if s.Conditions != nil {
13825		for i, v := range s.Conditions {
13826			if v == nil {
13827				continue
13828			}
13829			if err := v.Validate(); err != nil {
13830				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Conditions", i), err.(request.ErrInvalidParams))
13831			}
13832		}
13833	}
13834
13835	if invalidParams.Len() > 0 {
13836		return invalidParams
13837	}
13838	return nil
13839}
13840
13841// SetConditions sets the Conditions field's value.
13842func (s *Condition) SetConditions(v []*SimpleCondition) *Condition {
13843	s.Conditions = v
13844	return s
13845}
13846
13847// SetOperator sets the Operator field's value.
13848func (s *Condition) SetOperator(v string) *Condition {
13849	s.Operator = &v
13850	return s
13851}
13852
13853// Specifies the settings for a yes/no split activity in a journey. This type
13854// of activity sends participants down one of two paths in a journey, based
13855// on conditions that you specify.
13856type ConditionalSplitActivity struct {
13857	_ struct{} `type:"structure"`
13858
13859	// The conditions that define the paths for the activity, and the relationship
13860	// between the conditions.
13861	Condition *Condition `type:"structure"`
13862
13863	// The amount of time to wait before determining whether the conditions are
13864	// met, or the date and time when Amazon Pinpoint determines whether the conditions
13865	// are met.
13866	EvaluationWaitTime *WaitTime `type:"structure"`
13867
13868	// The unique identifier for the activity to perform if the conditions aren't
13869	// met.
13870	FalseActivity *string `type:"string"`
13871
13872	// The unique identifier for the activity to perform if the conditions are met.
13873	TrueActivity *string `type:"string"`
13874}
13875
13876// String returns the string representation
13877func (s ConditionalSplitActivity) String() string {
13878	return awsutil.Prettify(s)
13879}
13880
13881// GoString returns the string representation
13882func (s ConditionalSplitActivity) GoString() string {
13883	return s.String()
13884}
13885
13886// Validate inspects the fields of the type to determine if they are valid.
13887func (s *ConditionalSplitActivity) Validate() error {
13888	invalidParams := request.ErrInvalidParams{Context: "ConditionalSplitActivity"}
13889	if s.Condition != nil {
13890		if err := s.Condition.Validate(); err != nil {
13891			invalidParams.AddNested("Condition", err.(request.ErrInvalidParams))
13892		}
13893	}
13894
13895	if invalidParams.Len() > 0 {
13896		return invalidParams
13897	}
13898	return nil
13899}
13900
13901// SetCondition sets the Condition field's value.
13902func (s *ConditionalSplitActivity) SetCondition(v *Condition) *ConditionalSplitActivity {
13903	s.Condition = v
13904	return s
13905}
13906
13907// SetEvaluationWaitTime sets the EvaluationWaitTime field's value.
13908func (s *ConditionalSplitActivity) SetEvaluationWaitTime(v *WaitTime) *ConditionalSplitActivity {
13909	s.EvaluationWaitTime = v
13910	return s
13911}
13912
13913// SetFalseActivity sets the FalseActivity field's value.
13914func (s *ConditionalSplitActivity) SetFalseActivity(v string) *ConditionalSplitActivity {
13915	s.FalseActivity = &v
13916	return s
13917}
13918
13919// SetTrueActivity sets the TrueActivity field's value.
13920func (s *ConditionalSplitActivity) SetTrueActivity(v string) *ConditionalSplitActivity {
13921	s.TrueActivity = &v
13922	return s
13923}
13924
13925type CreateAppInput struct {
13926	_ struct{} `type:"structure" payload:"CreateApplicationRequest"`
13927
13928	// Specifies the display name of an application and the tags to associate with
13929	// the application.
13930	//
13931	// CreateApplicationRequest is a required field
13932	CreateApplicationRequest *CreateApplicationRequest `type:"structure" required:"true"`
13933}
13934
13935// String returns the string representation
13936func (s CreateAppInput) String() string {
13937	return awsutil.Prettify(s)
13938}
13939
13940// GoString returns the string representation
13941func (s CreateAppInput) GoString() string {
13942	return s.String()
13943}
13944
13945// Validate inspects the fields of the type to determine if they are valid.
13946func (s *CreateAppInput) Validate() error {
13947	invalidParams := request.ErrInvalidParams{Context: "CreateAppInput"}
13948	if s.CreateApplicationRequest == nil {
13949		invalidParams.Add(request.NewErrParamRequired("CreateApplicationRequest"))
13950	}
13951	if s.CreateApplicationRequest != nil {
13952		if err := s.CreateApplicationRequest.Validate(); err != nil {
13953			invalidParams.AddNested("CreateApplicationRequest", err.(request.ErrInvalidParams))
13954		}
13955	}
13956
13957	if invalidParams.Len() > 0 {
13958		return invalidParams
13959	}
13960	return nil
13961}
13962
13963// SetCreateApplicationRequest sets the CreateApplicationRequest field's value.
13964func (s *CreateAppInput) SetCreateApplicationRequest(v *CreateApplicationRequest) *CreateAppInput {
13965	s.CreateApplicationRequest = v
13966	return s
13967}
13968
13969type CreateAppOutput struct {
13970	_ struct{} `type:"structure" payload:"ApplicationResponse"`
13971
13972	// Provides information about an application.
13973	//
13974	// ApplicationResponse is a required field
13975	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
13976}
13977
13978// String returns the string representation
13979func (s CreateAppOutput) String() string {
13980	return awsutil.Prettify(s)
13981}
13982
13983// GoString returns the string representation
13984func (s CreateAppOutput) GoString() string {
13985	return s.String()
13986}
13987
13988// SetApplicationResponse sets the ApplicationResponse field's value.
13989func (s *CreateAppOutput) SetApplicationResponse(v *ApplicationResponse) *CreateAppOutput {
13990	s.ApplicationResponse = v
13991	return s
13992}
13993
13994// Specifies the display name of an application and the tags to associate with
13995// the application.
13996type CreateApplicationRequest struct {
13997	_ struct{} `type:"structure"`
13998
13999	// The display name of the application. This name is displayed as the Project
14000	// name on the Amazon Pinpoint console.
14001	//
14002	// Name is a required field
14003	Name *string `type:"string" required:"true"`
14004
14005	// A string-to-string map of key-value pairs that defines the tags to associate
14006	// with the application. Each tag consists of a required tag key and an associated
14007	// tag value.
14008	Tags map[string]*string `locationName:"tags" type:"map"`
14009}
14010
14011// String returns the string representation
14012func (s CreateApplicationRequest) String() string {
14013	return awsutil.Prettify(s)
14014}
14015
14016// GoString returns the string representation
14017func (s CreateApplicationRequest) GoString() string {
14018	return s.String()
14019}
14020
14021// Validate inspects the fields of the type to determine if they are valid.
14022func (s *CreateApplicationRequest) Validate() error {
14023	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationRequest"}
14024	if s.Name == nil {
14025		invalidParams.Add(request.NewErrParamRequired("Name"))
14026	}
14027
14028	if invalidParams.Len() > 0 {
14029		return invalidParams
14030	}
14031	return nil
14032}
14033
14034// SetName sets the Name field's value.
14035func (s *CreateApplicationRequest) SetName(v string) *CreateApplicationRequest {
14036	s.Name = &v
14037	return s
14038}
14039
14040// SetTags sets the Tags field's value.
14041func (s *CreateApplicationRequest) SetTags(v map[string]*string) *CreateApplicationRequest {
14042	s.Tags = v
14043	return s
14044}
14045
14046type CreateCampaignInput struct {
14047	_ struct{} `type:"structure" payload:"WriteCampaignRequest"`
14048
14049	// ApplicationId is a required field
14050	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
14051
14052	// Specifies the configuration and other settings for a campaign.
14053	//
14054	// WriteCampaignRequest is a required field
14055	WriteCampaignRequest *WriteCampaignRequest `type:"structure" required:"true"`
14056}
14057
14058// String returns the string representation
14059func (s CreateCampaignInput) String() string {
14060	return awsutil.Prettify(s)
14061}
14062
14063// GoString returns the string representation
14064func (s CreateCampaignInput) GoString() string {
14065	return s.String()
14066}
14067
14068// Validate inspects the fields of the type to determine if they are valid.
14069func (s *CreateCampaignInput) Validate() error {
14070	invalidParams := request.ErrInvalidParams{Context: "CreateCampaignInput"}
14071	if s.ApplicationId == nil {
14072		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
14073	}
14074	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
14075		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
14076	}
14077	if s.WriteCampaignRequest == nil {
14078		invalidParams.Add(request.NewErrParamRequired("WriteCampaignRequest"))
14079	}
14080	if s.WriteCampaignRequest != nil {
14081		if err := s.WriteCampaignRequest.Validate(); err != nil {
14082			invalidParams.AddNested("WriteCampaignRequest", err.(request.ErrInvalidParams))
14083		}
14084	}
14085
14086	if invalidParams.Len() > 0 {
14087		return invalidParams
14088	}
14089	return nil
14090}
14091
14092// SetApplicationId sets the ApplicationId field's value.
14093func (s *CreateCampaignInput) SetApplicationId(v string) *CreateCampaignInput {
14094	s.ApplicationId = &v
14095	return s
14096}
14097
14098// SetWriteCampaignRequest sets the WriteCampaignRequest field's value.
14099func (s *CreateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) *CreateCampaignInput {
14100	s.WriteCampaignRequest = v
14101	return s
14102}
14103
14104type CreateCampaignOutput struct {
14105	_ struct{} `type:"structure" payload:"CampaignResponse"`
14106
14107	// Provides information about the status, configuration, and other settings
14108	// for a campaign.
14109	//
14110	// CampaignResponse is a required field
14111	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
14112}
14113
14114// String returns the string representation
14115func (s CreateCampaignOutput) String() string {
14116	return awsutil.Prettify(s)
14117}
14118
14119// GoString returns the string representation
14120func (s CreateCampaignOutput) GoString() string {
14121	return s.String()
14122}
14123
14124// SetCampaignResponse sets the CampaignResponse field's value.
14125func (s *CreateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *CreateCampaignOutput {
14126	s.CampaignResponse = v
14127	return s
14128}
14129
14130type CreateEmailTemplateInput struct {
14131	_ struct{} `type:"structure" payload:"EmailTemplateRequest"`
14132
14133	// Specifies the content and settings for a message template that can be used
14134	// in messages that are sent through the email channel.
14135	//
14136	// EmailTemplateRequest is a required field
14137	EmailTemplateRequest *EmailTemplateRequest `type:"structure" required:"true"`
14138
14139	// TemplateName is a required field
14140	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
14141}
14142
14143// String returns the string representation
14144func (s CreateEmailTemplateInput) String() string {
14145	return awsutil.Prettify(s)
14146}
14147
14148// GoString returns the string representation
14149func (s CreateEmailTemplateInput) GoString() string {
14150	return s.String()
14151}
14152
14153// Validate inspects the fields of the type to determine if they are valid.
14154func (s *CreateEmailTemplateInput) Validate() error {
14155	invalidParams := request.ErrInvalidParams{Context: "CreateEmailTemplateInput"}
14156	if s.EmailTemplateRequest == nil {
14157		invalidParams.Add(request.NewErrParamRequired("EmailTemplateRequest"))
14158	}
14159	if s.TemplateName == nil {
14160		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
14161	}
14162	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
14163		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
14164	}
14165
14166	if invalidParams.Len() > 0 {
14167		return invalidParams
14168	}
14169	return nil
14170}
14171
14172// SetEmailTemplateRequest sets the EmailTemplateRequest field's value.
14173func (s *CreateEmailTemplateInput) SetEmailTemplateRequest(v *EmailTemplateRequest) *CreateEmailTemplateInput {
14174	s.EmailTemplateRequest = v
14175	return s
14176}
14177
14178// SetTemplateName sets the TemplateName field's value.
14179func (s *CreateEmailTemplateInput) SetTemplateName(v string) *CreateEmailTemplateInput {
14180	s.TemplateName = &v
14181	return s
14182}
14183
14184type CreateEmailTemplateOutput struct {
14185	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
14186
14187	// Provides information about a request to create a message template.
14188	//
14189	// CreateTemplateMessageBody is a required field
14190	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
14191}
14192
14193// String returns the string representation
14194func (s CreateEmailTemplateOutput) String() string {
14195	return awsutil.Prettify(s)
14196}
14197
14198// GoString returns the string representation
14199func (s CreateEmailTemplateOutput) GoString() string {
14200	return s.String()
14201}
14202
14203// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
14204func (s *CreateEmailTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateEmailTemplateOutput {
14205	s.CreateTemplateMessageBody = v
14206	return s
14207}
14208
14209type CreateExportJobInput struct {
14210	_ struct{} `type:"structure" payload:"ExportJobRequest"`
14211
14212	// ApplicationId is a required field
14213	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
14214
14215	// Specifies the settings for a job that exports endpoint definitions to an
14216	// Amazon Simple Storage Service (Amazon S3) bucket.
14217	//
14218	// ExportJobRequest is a required field
14219	ExportJobRequest *ExportJobRequest `type:"structure" required:"true"`
14220}
14221
14222// String returns the string representation
14223func (s CreateExportJobInput) String() string {
14224	return awsutil.Prettify(s)
14225}
14226
14227// GoString returns the string representation
14228func (s CreateExportJobInput) GoString() string {
14229	return s.String()
14230}
14231
14232// Validate inspects the fields of the type to determine if they are valid.
14233func (s *CreateExportJobInput) Validate() error {
14234	invalidParams := request.ErrInvalidParams{Context: "CreateExportJobInput"}
14235	if s.ApplicationId == nil {
14236		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
14237	}
14238	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
14239		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
14240	}
14241	if s.ExportJobRequest == nil {
14242		invalidParams.Add(request.NewErrParamRequired("ExportJobRequest"))
14243	}
14244	if s.ExportJobRequest != nil {
14245		if err := s.ExportJobRequest.Validate(); err != nil {
14246			invalidParams.AddNested("ExportJobRequest", err.(request.ErrInvalidParams))
14247		}
14248	}
14249
14250	if invalidParams.Len() > 0 {
14251		return invalidParams
14252	}
14253	return nil
14254}
14255
14256// SetApplicationId sets the ApplicationId field's value.
14257func (s *CreateExportJobInput) SetApplicationId(v string) *CreateExportJobInput {
14258	s.ApplicationId = &v
14259	return s
14260}
14261
14262// SetExportJobRequest sets the ExportJobRequest field's value.
14263func (s *CreateExportJobInput) SetExportJobRequest(v *ExportJobRequest) *CreateExportJobInput {
14264	s.ExportJobRequest = v
14265	return s
14266}
14267
14268type CreateExportJobOutput struct {
14269	_ struct{} `type:"structure" payload:"ExportJobResponse"`
14270
14271	// Provides information about the status and settings of a job that exports
14272	// endpoint definitions to a file. The file can be added directly to an Amazon
14273	// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
14274	// or downloaded directly to a computer by using the Amazon Pinpoint console.
14275	//
14276	// ExportJobResponse is a required field
14277	ExportJobResponse *ExportJobResponse `type:"structure" required:"true"`
14278}
14279
14280// String returns the string representation
14281func (s CreateExportJobOutput) String() string {
14282	return awsutil.Prettify(s)
14283}
14284
14285// GoString returns the string representation
14286func (s CreateExportJobOutput) GoString() string {
14287	return s.String()
14288}
14289
14290// SetExportJobResponse sets the ExportJobResponse field's value.
14291func (s *CreateExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *CreateExportJobOutput {
14292	s.ExportJobResponse = v
14293	return s
14294}
14295
14296type CreateImportJobInput struct {
14297	_ struct{} `type:"structure" payload:"ImportJobRequest"`
14298
14299	// ApplicationId is a required field
14300	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
14301
14302	// Specifies the settings for a job that imports endpoint definitions from an
14303	// Amazon Simple Storage Service (Amazon S3) bucket.
14304	//
14305	// ImportJobRequest is a required field
14306	ImportJobRequest *ImportJobRequest `type:"structure" required:"true"`
14307}
14308
14309// String returns the string representation
14310func (s CreateImportJobInput) String() string {
14311	return awsutil.Prettify(s)
14312}
14313
14314// GoString returns the string representation
14315func (s CreateImportJobInput) GoString() string {
14316	return s.String()
14317}
14318
14319// Validate inspects the fields of the type to determine if they are valid.
14320func (s *CreateImportJobInput) Validate() error {
14321	invalidParams := request.ErrInvalidParams{Context: "CreateImportJobInput"}
14322	if s.ApplicationId == nil {
14323		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
14324	}
14325	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
14326		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
14327	}
14328	if s.ImportJobRequest == nil {
14329		invalidParams.Add(request.NewErrParamRequired("ImportJobRequest"))
14330	}
14331	if s.ImportJobRequest != nil {
14332		if err := s.ImportJobRequest.Validate(); err != nil {
14333			invalidParams.AddNested("ImportJobRequest", err.(request.ErrInvalidParams))
14334		}
14335	}
14336
14337	if invalidParams.Len() > 0 {
14338		return invalidParams
14339	}
14340	return nil
14341}
14342
14343// SetApplicationId sets the ApplicationId field's value.
14344func (s *CreateImportJobInput) SetApplicationId(v string) *CreateImportJobInput {
14345	s.ApplicationId = &v
14346	return s
14347}
14348
14349// SetImportJobRequest sets the ImportJobRequest field's value.
14350func (s *CreateImportJobInput) SetImportJobRequest(v *ImportJobRequest) *CreateImportJobInput {
14351	s.ImportJobRequest = v
14352	return s
14353}
14354
14355type CreateImportJobOutput struct {
14356	_ struct{} `type:"structure" payload:"ImportJobResponse"`
14357
14358	// Provides information about the status and settings of a job that imports
14359	// endpoint definitions from one or more files. The files can be stored in an
14360	// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
14361	// a computer by using the Amazon Pinpoint console.
14362	//
14363	// ImportJobResponse is a required field
14364	ImportJobResponse *ImportJobResponse `type:"structure" required:"true"`
14365}
14366
14367// String returns the string representation
14368func (s CreateImportJobOutput) String() string {
14369	return awsutil.Prettify(s)
14370}
14371
14372// GoString returns the string representation
14373func (s CreateImportJobOutput) GoString() string {
14374	return s.String()
14375}
14376
14377// SetImportJobResponse sets the ImportJobResponse field's value.
14378func (s *CreateImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *CreateImportJobOutput {
14379	s.ImportJobResponse = v
14380	return s
14381}
14382
14383type CreateJourneyInput struct {
14384	_ struct{} `type:"structure" payload:"WriteJourneyRequest"`
14385
14386	// ApplicationId is a required field
14387	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
14388
14389	// Specifies the configuration and other settings for a journey.
14390	//
14391	// WriteJourneyRequest is a required field
14392	WriteJourneyRequest *WriteJourneyRequest `type:"structure" required:"true"`
14393}
14394
14395// String returns the string representation
14396func (s CreateJourneyInput) String() string {
14397	return awsutil.Prettify(s)
14398}
14399
14400// GoString returns the string representation
14401func (s CreateJourneyInput) GoString() string {
14402	return s.String()
14403}
14404
14405// Validate inspects the fields of the type to determine if they are valid.
14406func (s *CreateJourneyInput) Validate() error {
14407	invalidParams := request.ErrInvalidParams{Context: "CreateJourneyInput"}
14408	if s.ApplicationId == nil {
14409		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
14410	}
14411	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
14412		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
14413	}
14414	if s.WriteJourneyRequest == nil {
14415		invalidParams.Add(request.NewErrParamRequired("WriteJourneyRequest"))
14416	}
14417	if s.WriteJourneyRequest != nil {
14418		if err := s.WriteJourneyRequest.Validate(); err != nil {
14419			invalidParams.AddNested("WriteJourneyRequest", err.(request.ErrInvalidParams))
14420		}
14421	}
14422
14423	if invalidParams.Len() > 0 {
14424		return invalidParams
14425	}
14426	return nil
14427}
14428
14429// SetApplicationId sets the ApplicationId field's value.
14430func (s *CreateJourneyInput) SetApplicationId(v string) *CreateJourneyInput {
14431	s.ApplicationId = &v
14432	return s
14433}
14434
14435// SetWriteJourneyRequest sets the WriteJourneyRequest field's value.
14436func (s *CreateJourneyInput) SetWriteJourneyRequest(v *WriteJourneyRequest) *CreateJourneyInput {
14437	s.WriteJourneyRequest = v
14438	return s
14439}
14440
14441type CreateJourneyOutput struct {
14442	_ struct{} `type:"structure" payload:"JourneyResponse"`
14443
14444	// Provides information about the status, configuration, and other settings
14445	// for a journey.
14446	//
14447	// JourneyResponse is a required field
14448	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
14449}
14450
14451// String returns the string representation
14452func (s CreateJourneyOutput) String() string {
14453	return awsutil.Prettify(s)
14454}
14455
14456// GoString returns the string representation
14457func (s CreateJourneyOutput) GoString() string {
14458	return s.String()
14459}
14460
14461// SetJourneyResponse sets the JourneyResponse field's value.
14462func (s *CreateJourneyOutput) SetJourneyResponse(v *JourneyResponse) *CreateJourneyOutput {
14463	s.JourneyResponse = v
14464	return s
14465}
14466
14467type CreatePushTemplateInput struct {
14468	_ struct{} `type:"structure" payload:"PushNotificationTemplateRequest"`
14469
14470	// Specifies the content and settings for a message template that can be used
14471	// in messages that are sent through a push notification channel.
14472	//
14473	// PushNotificationTemplateRequest is a required field
14474	PushNotificationTemplateRequest *PushNotificationTemplateRequest `type:"structure" required:"true"`
14475
14476	// TemplateName is a required field
14477	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
14478}
14479
14480// String returns the string representation
14481func (s CreatePushTemplateInput) String() string {
14482	return awsutil.Prettify(s)
14483}
14484
14485// GoString returns the string representation
14486func (s CreatePushTemplateInput) GoString() string {
14487	return s.String()
14488}
14489
14490// Validate inspects the fields of the type to determine if they are valid.
14491func (s *CreatePushTemplateInput) Validate() error {
14492	invalidParams := request.ErrInvalidParams{Context: "CreatePushTemplateInput"}
14493	if s.PushNotificationTemplateRequest == nil {
14494		invalidParams.Add(request.NewErrParamRequired("PushNotificationTemplateRequest"))
14495	}
14496	if s.TemplateName == nil {
14497		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
14498	}
14499	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
14500		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
14501	}
14502
14503	if invalidParams.Len() > 0 {
14504		return invalidParams
14505	}
14506	return nil
14507}
14508
14509// SetPushNotificationTemplateRequest sets the PushNotificationTemplateRequest field's value.
14510func (s *CreatePushTemplateInput) SetPushNotificationTemplateRequest(v *PushNotificationTemplateRequest) *CreatePushTemplateInput {
14511	s.PushNotificationTemplateRequest = v
14512	return s
14513}
14514
14515// SetTemplateName sets the TemplateName field's value.
14516func (s *CreatePushTemplateInput) SetTemplateName(v string) *CreatePushTemplateInput {
14517	s.TemplateName = &v
14518	return s
14519}
14520
14521type CreatePushTemplateOutput struct {
14522	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
14523
14524	// Provides information about a request to create a message template.
14525	//
14526	// CreateTemplateMessageBody is a required field
14527	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
14528}
14529
14530// String returns the string representation
14531func (s CreatePushTemplateOutput) String() string {
14532	return awsutil.Prettify(s)
14533}
14534
14535// GoString returns the string representation
14536func (s CreatePushTemplateOutput) GoString() string {
14537	return s.String()
14538}
14539
14540// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
14541func (s *CreatePushTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreatePushTemplateOutput {
14542	s.CreateTemplateMessageBody = v
14543	return s
14544}
14545
14546type CreateSegmentInput struct {
14547	_ struct{} `type:"structure" payload:"WriteSegmentRequest"`
14548
14549	// ApplicationId is a required field
14550	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
14551
14552	// Specifies the configuration, dimension, and other settings for a segment.
14553	// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
14554	// object, but not both.
14555	//
14556	// WriteSegmentRequest is a required field
14557	WriteSegmentRequest *WriteSegmentRequest `type:"structure" required:"true"`
14558}
14559
14560// String returns the string representation
14561func (s CreateSegmentInput) String() string {
14562	return awsutil.Prettify(s)
14563}
14564
14565// GoString returns the string representation
14566func (s CreateSegmentInput) GoString() string {
14567	return s.String()
14568}
14569
14570// Validate inspects the fields of the type to determine if they are valid.
14571func (s *CreateSegmentInput) Validate() error {
14572	invalidParams := request.ErrInvalidParams{Context: "CreateSegmentInput"}
14573	if s.ApplicationId == nil {
14574		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
14575	}
14576	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
14577		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
14578	}
14579	if s.WriteSegmentRequest == nil {
14580		invalidParams.Add(request.NewErrParamRequired("WriteSegmentRequest"))
14581	}
14582	if s.WriteSegmentRequest != nil {
14583		if err := s.WriteSegmentRequest.Validate(); err != nil {
14584			invalidParams.AddNested("WriteSegmentRequest", err.(request.ErrInvalidParams))
14585		}
14586	}
14587
14588	if invalidParams.Len() > 0 {
14589		return invalidParams
14590	}
14591	return nil
14592}
14593
14594// SetApplicationId sets the ApplicationId field's value.
14595func (s *CreateSegmentInput) SetApplicationId(v string) *CreateSegmentInput {
14596	s.ApplicationId = &v
14597	return s
14598}
14599
14600// SetWriteSegmentRequest sets the WriteSegmentRequest field's value.
14601func (s *CreateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *CreateSegmentInput {
14602	s.WriteSegmentRequest = v
14603	return s
14604}
14605
14606type CreateSegmentOutput struct {
14607	_ struct{} `type:"structure" payload:"SegmentResponse"`
14608
14609	// Provides information about the configuration, dimension, and other settings
14610	// for a segment.
14611	//
14612	// SegmentResponse is a required field
14613	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
14614}
14615
14616// String returns the string representation
14617func (s CreateSegmentOutput) String() string {
14618	return awsutil.Prettify(s)
14619}
14620
14621// GoString returns the string representation
14622func (s CreateSegmentOutput) GoString() string {
14623	return s.String()
14624}
14625
14626// SetSegmentResponse sets the SegmentResponse field's value.
14627func (s *CreateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *CreateSegmentOutput {
14628	s.SegmentResponse = v
14629	return s
14630}
14631
14632type CreateSmsTemplateInput struct {
14633	_ struct{} `type:"structure" payload:"SMSTemplateRequest"`
14634
14635	// Specifies the content and settings for a message template that can be used
14636	// in text messages that are sent through the SMS channel.
14637	//
14638	// SMSTemplateRequest is a required field
14639	SMSTemplateRequest *SMSTemplateRequest `type:"structure" required:"true"`
14640
14641	// TemplateName is a required field
14642	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
14643}
14644
14645// String returns the string representation
14646func (s CreateSmsTemplateInput) String() string {
14647	return awsutil.Prettify(s)
14648}
14649
14650// GoString returns the string representation
14651func (s CreateSmsTemplateInput) GoString() string {
14652	return s.String()
14653}
14654
14655// Validate inspects the fields of the type to determine if they are valid.
14656func (s *CreateSmsTemplateInput) Validate() error {
14657	invalidParams := request.ErrInvalidParams{Context: "CreateSmsTemplateInput"}
14658	if s.SMSTemplateRequest == nil {
14659		invalidParams.Add(request.NewErrParamRequired("SMSTemplateRequest"))
14660	}
14661	if s.TemplateName == nil {
14662		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
14663	}
14664	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
14665		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
14666	}
14667
14668	if invalidParams.Len() > 0 {
14669		return invalidParams
14670	}
14671	return nil
14672}
14673
14674// SetSMSTemplateRequest sets the SMSTemplateRequest field's value.
14675func (s *CreateSmsTemplateInput) SetSMSTemplateRequest(v *SMSTemplateRequest) *CreateSmsTemplateInput {
14676	s.SMSTemplateRequest = v
14677	return s
14678}
14679
14680// SetTemplateName sets the TemplateName field's value.
14681func (s *CreateSmsTemplateInput) SetTemplateName(v string) *CreateSmsTemplateInput {
14682	s.TemplateName = &v
14683	return s
14684}
14685
14686type CreateSmsTemplateOutput struct {
14687	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
14688
14689	// Provides information about a request to create a message template.
14690	//
14691	// CreateTemplateMessageBody is a required field
14692	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
14693}
14694
14695// String returns the string representation
14696func (s CreateSmsTemplateOutput) String() string {
14697	return awsutil.Prettify(s)
14698}
14699
14700// GoString returns the string representation
14701func (s CreateSmsTemplateOutput) GoString() string {
14702	return s.String()
14703}
14704
14705// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
14706func (s *CreateSmsTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateSmsTemplateOutput {
14707	s.CreateTemplateMessageBody = v
14708	return s
14709}
14710
14711// Provides information about a request to create a message template.
14712type CreateTemplateMessageBody struct {
14713	_ struct{} `type:"structure"`
14714
14715	// The Amazon Resource Name (ARN) of the message template that was created.
14716	Arn *string `type:"string"`
14717
14718	// The message that's returned from the API for the request to create the message
14719	// template.
14720	Message *string `type:"string"`
14721
14722	// The unique identifier for the request to create the message template.
14723	RequestID *string `type:"string"`
14724}
14725
14726// String returns the string representation
14727func (s CreateTemplateMessageBody) String() string {
14728	return awsutil.Prettify(s)
14729}
14730
14731// GoString returns the string representation
14732func (s CreateTemplateMessageBody) GoString() string {
14733	return s.String()
14734}
14735
14736// SetArn sets the Arn field's value.
14737func (s *CreateTemplateMessageBody) SetArn(v string) *CreateTemplateMessageBody {
14738	s.Arn = &v
14739	return s
14740}
14741
14742// SetMessage sets the Message field's value.
14743func (s *CreateTemplateMessageBody) SetMessage(v string) *CreateTemplateMessageBody {
14744	s.Message = &v
14745	return s
14746}
14747
14748// SetRequestID sets the RequestID field's value.
14749func (s *CreateTemplateMessageBody) SetRequestID(v string) *CreateTemplateMessageBody {
14750	s.RequestID = &v
14751	return s
14752}
14753
14754type CreateVoiceTemplateInput struct {
14755	_ struct{} `type:"structure" payload:"VoiceTemplateRequest"`
14756
14757	// TemplateName is a required field
14758	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
14759
14760	// Specifies the content and settings for a message template that can be used
14761	// in messages that are sent through the voice channel.
14762	//
14763	// VoiceTemplateRequest is a required field
14764	VoiceTemplateRequest *VoiceTemplateRequest `type:"structure" required:"true"`
14765}
14766
14767// String returns the string representation
14768func (s CreateVoiceTemplateInput) String() string {
14769	return awsutil.Prettify(s)
14770}
14771
14772// GoString returns the string representation
14773func (s CreateVoiceTemplateInput) GoString() string {
14774	return s.String()
14775}
14776
14777// Validate inspects the fields of the type to determine if they are valid.
14778func (s *CreateVoiceTemplateInput) Validate() error {
14779	invalidParams := request.ErrInvalidParams{Context: "CreateVoiceTemplateInput"}
14780	if s.TemplateName == nil {
14781		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
14782	}
14783	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
14784		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
14785	}
14786	if s.VoiceTemplateRequest == nil {
14787		invalidParams.Add(request.NewErrParamRequired("VoiceTemplateRequest"))
14788	}
14789
14790	if invalidParams.Len() > 0 {
14791		return invalidParams
14792	}
14793	return nil
14794}
14795
14796// SetTemplateName sets the TemplateName field's value.
14797func (s *CreateVoiceTemplateInput) SetTemplateName(v string) *CreateVoiceTemplateInput {
14798	s.TemplateName = &v
14799	return s
14800}
14801
14802// SetVoiceTemplateRequest sets the VoiceTemplateRequest field's value.
14803func (s *CreateVoiceTemplateInput) SetVoiceTemplateRequest(v *VoiceTemplateRequest) *CreateVoiceTemplateInput {
14804	s.VoiceTemplateRequest = v
14805	return s
14806}
14807
14808type CreateVoiceTemplateOutput struct {
14809	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
14810
14811	// Provides information about a request to create a message template.
14812	//
14813	// CreateTemplateMessageBody is a required field
14814	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
14815}
14816
14817// String returns the string representation
14818func (s CreateVoiceTemplateOutput) String() string {
14819	return awsutil.Prettify(s)
14820}
14821
14822// GoString returns the string representation
14823func (s CreateVoiceTemplateOutput) GoString() string {
14824	return s.String()
14825}
14826
14827// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
14828func (s *CreateVoiceTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateVoiceTemplateOutput {
14829	s.CreateTemplateMessageBody = v
14830	return s
14831}
14832
14833// Specifies the default message for all channels.
14834type DefaultMessage struct {
14835	_ struct{} `type:"structure"`
14836
14837	// The default body of the message.
14838	Body *string `type:"string"`
14839
14840	// The default message variables to use in the message. You can override these
14841	// default variables with individual address variables.
14842	Substitutions map[string][]*string `type:"map"`
14843}
14844
14845// String returns the string representation
14846func (s DefaultMessage) String() string {
14847	return awsutil.Prettify(s)
14848}
14849
14850// GoString returns the string representation
14851func (s DefaultMessage) GoString() string {
14852	return s.String()
14853}
14854
14855// SetBody sets the Body field's value.
14856func (s *DefaultMessage) SetBody(v string) *DefaultMessage {
14857	s.Body = &v
14858	return s
14859}
14860
14861// SetSubstitutions sets the Substitutions field's value.
14862func (s *DefaultMessage) SetSubstitutions(v map[string][]*string) *DefaultMessage {
14863	s.Substitutions = v
14864	return s
14865}
14866
14867// Specifies the default settings and content for a push notification that's
14868// sent directly to an endpoint.
14869type DefaultPushNotificationMessage struct {
14870	_ struct{} `type:"structure"`
14871
14872	// The default action to occur if a recipient taps the push notification. Valid
14873	// values are:
14874	//
14875	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
14876	//    sent to the background. This is the default action.
14877	//
14878	//    * DEEP_LINK - Your app opens and displays a designated user interface
14879	//    in the app. This setting uses the deep-linking features of the iOS and
14880	//    Android platforms.
14881	//
14882	//    * URL - The default mobile browser on the recipient's device opens and
14883	//    loads the web page at a URL that you specify.
14884	Action *string `type:"string" enum:"Action"`
14885
14886	// The default body of the notification message.
14887	Body *string `type:"string"`
14888
14889	// The JSON data payload to use for the default push notification, if the notification
14890	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
14891	// object of the notification.
14892	Data map[string]*string `type:"map"`
14893
14894	// Specifies whether the default notification is a silent push notification,
14895	// which is a push notification that doesn't display on a recipient's device.
14896	// Silent push notifications can be used for cases such as updating an app's
14897	// configuration or delivering messages to an in-app notification center.
14898	SilentPush *bool `type:"boolean"`
14899
14900	// The default message variables to use in the notification message. You can
14901	// override the default variables with individual address variables.
14902	Substitutions map[string][]*string `type:"map"`
14903
14904	// The default title to display above the notification message on a recipient's
14905	// device.
14906	Title *string `type:"string"`
14907
14908	// The default URL to open in a recipient's default mobile browser, if a recipient
14909	// taps the push notification and the value of the Action property is URL.
14910	Url *string `type:"string"`
14911}
14912
14913// String returns the string representation
14914func (s DefaultPushNotificationMessage) String() string {
14915	return awsutil.Prettify(s)
14916}
14917
14918// GoString returns the string representation
14919func (s DefaultPushNotificationMessage) GoString() string {
14920	return s.String()
14921}
14922
14923// SetAction sets the Action field's value.
14924func (s *DefaultPushNotificationMessage) SetAction(v string) *DefaultPushNotificationMessage {
14925	s.Action = &v
14926	return s
14927}
14928
14929// SetBody sets the Body field's value.
14930func (s *DefaultPushNotificationMessage) SetBody(v string) *DefaultPushNotificationMessage {
14931	s.Body = &v
14932	return s
14933}
14934
14935// SetData sets the Data field's value.
14936func (s *DefaultPushNotificationMessage) SetData(v map[string]*string) *DefaultPushNotificationMessage {
14937	s.Data = v
14938	return s
14939}
14940
14941// SetSilentPush sets the SilentPush field's value.
14942func (s *DefaultPushNotificationMessage) SetSilentPush(v bool) *DefaultPushNotificationMessage {
14943	s.SilentPush = &v
14944	return s
14945}
14946
14947// SetSubstitutions sets the Substitutions field's value.
14948func (s *DefaultPushNotificationMessage) SetSubstitutions(v map[string][]*string) *DefaultPushNotificationMessage {
14949	s.Substitutions = v
14950	return s
14951}
14952
14953// SetTitle sets the Title field's value.
14954func (s *DefaultPushNotificationMessage) SetTitle(v string) *DefaultPushNotificationMessage {
14955	s.Title = &v
14956	return s
14957}
14958
14959// SetUrl sets the Url field's value.
14960func (s *DefaultPushNotificationMessage) SetUrl(v string) *DefaultPushNotificationMessage {
14961	s.Url = &v
14962	return s
14963}
14964
14965// Specifies the default settings and content for a message template that can
14966// be used in messages that are sent through a push notification channel.
14967type DefaultPushNotificationTemplate struct {
14968	_ struct{} `type:"structure"`
14969
14970	// The action to occur if a recipient taps a push notification that's based
14971	// on the message template. Valid values are:
14972	//
14973	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
14974	//    sent to the background. This is the default action.
14975	//
14976	//    * DEEP_LINK - Your app opens and displays a designated user interface
14977	//    in the app. This setting uses the deep-linking features of the iOS and
14978	//    Android platforms.
14979	//
14980	//    * URL - The default mobile browser on the recipient's device opens and
14981	//    loads the web page at a URL that you specify.
14982	Action *string `type:"string" enum:"Action"`
14983
14984	// The message body to use in push notifications that are based on the message
14985	// template.
14986	Body *string `type:"string"`
14987
14988	// The sound to play when a recipient receives a push notification that's based
14989	// on the message template. You can use the default stream or specify the file
14990	// name of a sound resource that's bundled in your app. On an Android platform,
14991	// the sound file must reside in /res/raw/.
14992	//
14993	// For an iOS platform, this value is the key for the name of a sound file in
14994	// your app's main bundle or the Library/Sounds folder in your app's data container.
14995	// If the sound file can't be found or you specify default for the value, the
14996	// system plays the default alert sound.
14997	Sound *string `type:"string"`
14998
14999	// The title to use in push notifications that are based on the message template.
15000	// This title appears above the notification message on a recipient's device.
15001	Title *string `type:"string"`
15002
15003	// The URL to open in a recipient's default mobile browser, if a recipient taps
15004	// a push notification that's based on the message template and the value of
15005	// the Action property is URL.
15006	Url *string `type:"string"`
15007}
15008
15009// String returns the string representation
15010func (s DefaultPushNotificationTemplate) String() string {
15011	return awsutil.Prettify(s)
15012}
15013
15014// GoString returns the string representation
15015func (s DefaultPushNotificationTemplate) GoString() string {
15016	return s.String()
15017}
15018
15019// SetAction sets the Action field's value.
15020func (s *DefaultPushNotificationTemplate) SetAction(v string) *DefaultPushNotificationTemplate {
15021	s.Action = &v
15022	return s
15023}
15024
15025// SetBody sets the Body field's value.
15026func (s *DefaultPushNotificationTemplate) SetBody(v string) *DefaultPushNotificationTemplate {
15027	s.Body = &v
15028	return s
15029}
15030
15031// SetSound sets the Sound field's value.
15032func (s *DefaultPushNotificationTemplate) SetSound(v string) *DefaultPushNotificationTemplate {
15033	s.Sound = &v
15034	return s
15035}
15036
15037// SetTitle sets the Title field's value.
15038func (s *DefaultPushNotificationTemplate) SetTitle(v string) *DefaultPushNotificationTemplate {
15039	s.Title = &v
15040	return s
15041}
15042
15043// SetUrl sets the Url field's value.
15044func (s *DefaultPushNotificationTemplate) SetUrl(v string) *DefaultPushNotificationTemplate {
15045	s.Url = &v
15046	return s
15047}
15048
15049type DeleteAdmChannelInput struct {
15050	_ struct{} `type:"structure"`
15051
15052	// ApplicationId is a required field
15053	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15054}
15055
15056// String returns the string representation
15057func (s DeleteAdmChannelInput) String() string {
15058	return awsutil.Prettify(s)
15059}
15060
15061// GoString returns the string representation
15062func (s DeleteAdmChannelInput) GoString() string {
15063	return s.String()
15064}
15065
15066// Validate inspects the fields of the type to determine if they are valid.
15067func (s *DeleteAdmChannelInput) Validate() error {
15068	invalidParams := request.ErrInvalidParams{Context: "DeleteAdmChannelInput"}
15069	if s.ApplicationId == nil {
15070		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15071	}
15072	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15073		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15074	}
15075
15076	if invalidParams.Len() > 0 {
15077		return invalidParams
15078	}
15079	return nil
15080}
15081
15082// SetApplicationId sets the ApplicationId field's value.
15083func (s *DeleteAdmChannelInput) SetApplicationId(v string) *DeleteAdmChannelInput {
15084	s.ApplicationId = &v
15085	return s
15086}
15087
15088type DeleteAdmChannelOutput struct {
15089	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
15090
15091	// Provides information about the status and settings of the ADM (Amazon Device
15092	// Messaging) channel for an application.
15093	//
15094	// ADMChannelResponse is a required field
15095	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
15096}
15097
15098// String returns the string representation
15099func (s DeleteAdmChannelOutput) String() string {
15100	return awsutil.Prettify(s)
15101}
15102
15103// GoString returns the string representation
15104func (s DeleteAdmChannelOutput) GoString() string {
15105	return s.String()
15106}
15107
15108// SetADMChannelResponse sets the ADMChannelResponse field's value.
15109func (s *DeleteAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *DeleteAdmChannelOutput {
15110	s.ADMChannelResponse = v
15111	return s
15112}
15113
15114type DeleteApnsChannelInput struct {
15115	_ struct{} `type:"structure"`
15116
15117	// ApplicationId is a required field
15118	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15119}
15120
15121// String returns the string representation
15122func (s DeleteApnsChannelInput) String() string {
15123	return awsutil.Prettify(s)
15124}
15125
15126// GoString returns the string representation
15127func (s DeleteApnsChannelInput) GoString() string {
15128	return s.String()
15129}
15130
15131// Validate inspects the fields of the type to determine if they are valid.
15132func (s *DeleteApnsChannelInput) Validate() error {
15133	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsChannelInput"}
15134	if s.ApplicationId == nil {
15135		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15136	}
15137	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15138		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15139	}
15140
15141	if invalidParams.Len() > 0 {
15142		return invalidParams
15143	}
15144	return nil
15145}
15146
15147// SetApplicationId sets the ApplicationId field's value.
15148func (s *DeleteApnsChannelInput) SetApplicationId(v string) *DeleteApnsChannelInput {
15149	s.ApplicationId = &v
15150	return s
15151}
15152
15153type DeleteApnsChannelOutput struct {
15154	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
15155
15156	// Provides information about the status and settings of the APNs (Apple Push
15157	// Notification service) channel for an application.
15158	//
15159	// APNSChannelResponse is a required field
15160	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
15161}
15162
15163// String returns the string representation
15164func (s DeleteApnsChannelOutput) String() string {
15165	return awsutil.Prettify(s)
15166}
15167
15168// GoString returns the string representation
15169func (s DeleteApnsChannelOutput) GoString() string {
15170	return s.String()
15171}
15172
15173// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
15174func (s *DeleteApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *DeleteApnsChannelOutput {
15175	s.APNSChannelResponse = v
15176	return s
15177}
15178
15179type DeleteApnsSandboxChannelInput struct {
15180	_ struct{} `type:"structure"`
15181
15182	// ApplicationId is a required field
15183	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15184}
15185
15186// String returns the string representation
15187func (s DeleteApnsSandboxChannelInput) String() string {
15188	return awsutil.Prettify(s)
15189}
15190
15191// GoString returns the string representation
15192func (s DeleteApnsSandboxChannelInput) GoString() string {
15193	return s.String()
15194}
15195
15196// Validate inspects the fields of the type to determine if they are valid.
15197func (s *DeleteApnsSandboxChannelInput) Validate() error {
15198	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsSandboxChannelInput"}
15199	if s.ApplicationId == nil {
15200		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15201	}
15202	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15203		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15204	}
15205
15206	if invalidParams.Len() > 0 {
15207		return invalidParams
15208	}
15209	return nil
15210}
15211
15212// SetApplicationId sets the ApplicationId field's value.
15213func (s *DeleteApnsSandboxChannelInput) SetApplicationId(v string) *DeleteApnsSandboxChannelInput {
15214	s.ApplicationId = &v
15215	return s
15216}
15217
15218type DeleteApnsSandboxChannelOutput struct {
15219	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
15220
15221	// Provides information about the status and settings of the APNs (Apple Push
15222	// Notification service) sandbox channel for an application.
15223	//
15224	// APNSSandboxChannelResponse is a required field
15225	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
15226}
15227
15228// String returns the string representation
15229func (s DeleteApnsSandboxChannelOutput) String() string {
15230	return awsutil.Prettify(s)
15231}
15232
15233// GoString returns the string representation
15234func (s DeleteApnsSandboxChannelOutput) GoString() string {
15235	return s.String()
15236}
15237
15238// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
15239func (s *DeleteApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *DeleteApnsSandboxChannelOutput {
15240	s.APNSSandboxChannelResponse = v
15241	return s
15242}
15243
15244type DeleteApnsVoipChannelInput struct {
15245	_ struct{} `type:"structure"`
15246
15247	// ApplicationId is a required field
15248	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15249}
15250
15251// String returns the string representation
15252func (s DeleteApnsVoipChannelInput) String() string {
15253	return awsutil.Prettify(s)
15254}
15255
15256// GoString returns the string representation
15257func (s DeleteApnsVoipChannelInput) GoString() string {
15258	return s.String()
15259}
15260
15261// Validate inspects the fields of the type to determine if they are valid.
15262func (s *DeleteApnsVoipChannelInput) Validate() error {
15263	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipChannelInput"}
15264	if s.ApplicationId == nil {
15265		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15266	}
15267	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15268		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15269	}
15270
15271	if invalidParams.Len() > 0 {
15272		return invalidParams
15273	}
15274	return nil
15275}
15276
15277// SetApplicationId sets the ApplicationId field's value.
15278func (s *DeleteApnsVoipChannelInput) SetApplicationId(v string) *DeleteApnsVoipChannelInput {
15279	s.ApplicationId = &v
15280	return s
15281}
15282
15283type DeleteApnsVoipChannelOutput struct {
15284	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
15285
15286	// Provides information about the status and settings of the APNs (Apple Push
15287	// Notification service) VoIP channel for an application.
15288	//
15289	// APNSVoipChannelResponse is a required field
15290	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
15291}
15292
15293// String returns the string representation
15294func (s DeleteApnsVoipChannelOutput) String() string {
15295	return awsutil.Prettify(s)
15296}
15297
15298// GoString returns the string representation
15299func (s DeleteApnsVoipChannelOutput) GoString() string {
15300	return s.String()
15301}
15302
15303// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
15304func (s *DeleteApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *DeleteApnsVoipChannelOutput {
15305	s.APNSVoipChannelResponse = v
15306	return s
15307}
15308
15309type DeleteApnsVoipSandboxChannelInput struct {
15310	_ struct{} `type:"structure"`
15311
15312	// ApplicationId is a required field
15313	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15314}
15315
15316// String returns the string representation
15317func (s DeleteApnsVoipSandboxChannelInput) String() string {
15318	return awsutil.Prettify(s)
15319}
15320
15321// GoString returns the string representation
15322func (s DeleteApnsVoipSandboxChannelInput) GoString() string {
15323	return s.String()
15324}
15325
15326// Validate inspects the fields of the type to determine if they are valid.
15327func (s *DeleteApnsVoipSandboxChannelInput) Validate() error {
15328	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipSandboxChannelInput"}
15329	if s.ApplicationId == nil {
15330		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15331	}
15332	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15333		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15334	}
15335
15336	if invalidParams.Len() > 0 {
15337		return invalidParams
15338	}
15339	return nil
15340}
15341
15342// SetApplicationId sets the ApplicationId field's value.
15343func (s *DeleteApnsVoipSandboxChannelInput) SetApplicationId(v string) *DeleteApnsVoipSandboxChannelInput {
15344	s.ApplicationId = &v
15345	return s
15346}
15347
15348type DeleteApnsVoipSandboxChannelOutput struct {
15349	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
15350
15351	// Provides information about the status and settings of the APNs (Apple Push
15352	// Notification service) VoIP sandbox channel for an application.
15353	//
15354	// APNSVoipSandboxChannelResponse is a required field
15355	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
15356}
15357
15358// String returns the string representation
15359func (s DeleteApnsVoipSandboxChannelOutput) String() string {
15360	return awsutil.Prettify(s)
15361}
15362
15363// GoString returns the string representation
15364func (s DeleteApnsVoipSandboxChannelOutput) GoString() string {
15365	return s.String()
15366}
15367
15368// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
15369func (s *DeleteApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *DeleteApnsVoipSandboxChannelOutput {
15370	s.APNSVoipSandboxChannelResponse = v
15371	return s
15372}
15373
15374type DeleteAppInput struct {
15375	_ struct{} `type:"structure"`
15376
15377	// ApplicationId is a required field
15378	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15379}
15380
15381// String returns the string representation
15382func (s DeleteAppInput) String() string {
15383	return awsutil.Prettify(s)
15384}
15385
15386// GoString returns the string representation
15387func (s DeleteAppInput) GoString() string {
15388	return s.String()
15389}
15390
15391// Validate inspects the fields of the type to determine if they are valid.
15392func (s *DeleteAppInput) Validate() error {
15393	invalidParams := request.ErrInvalidParams{Context: "DeleteAppInput"}
15394	if s.ApplicationId == nil {
15395		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15396	}
15397	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15398		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15399	}
15400
15401	if invalidParams.Len() > 0 {
15402		return invalidParams
15403	}
15404	return nil
15405}
15406
15407// SetApplicationId sets the ApplicationId field's value.
15408func (s *DeleteAppInput) SetApplicationId(v string) *DeleteAppInput {
15409	s.ApplicationId = &v
15410	return s
15411}
15412
15413type DeleteAppOutput struct {
15414	_ struct{} `type:"structure" payload:"ApplicationResponse"`
15415
15416	// Provides information about an application.
15417	//
15418	// ApplicationResponse is a required field
15419	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
15420}
15421
15422// String returns the string representation
15423func (s DeleteAppOutput) String() string {
15424	return awsutil.Prettify(s)
15425}
15426
15427// GoString returns the string representation
15428func (s DeleteAppOutput) GoString() string {
15429	return s.String()
15430}
15431
15432// SetApplicationResponse sets the ApplicationResponse field's value.
15433func (s *DeleteAppOutput) SetApplicationResponse(v *ApplicationResponse) *DeleteAppOutput {
15434	s.ApplicationResponse = v
15435	return s
15436}
15437
15438type DeleteBaiduChannelInput struct {
15439	_ struct{} `type:"structure"`
15440
15441	// ApplicationId is a required field
15442	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15443}
15444
15445// String returns the string representation
15446func (s DeleteBaiduChannelInput) String() string {
15447	return awsutil.Prettify(s)
15448}
15449
15450// GoString returns the string representation
15451func (s DeleteBaiduChannelInput) GoString() string {
15452	return s.String()
15453}
15454
15455// Validate inspects the fields of the type to determine if they are valid.
15456func (s *DeleteBaiduChannelInput) Validate() error {
15457	invalidParams := request.ErrInvalidParams{Context: "DeleteBaiduChannelInput"}
15458	if s.ApplicationId == nil {
15459		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15460	}
15461	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15462		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15463	}
15464
15465	if invalidParams.Len() > 0 {
15466		return invalidParams
15467	}
15468	return nil
15469}
15470
15471// SetApplicationId sets the ApplicationId field's value.
15472func (s *DeleteBaiduChannelInput) SetApplicationId(v string) *DeleteBaiduChannelInput {
15473	s.ApplicationId = &v
15474	return s
15475}
15476
15477type DeleteBaiduChannelOutput struct {
15478	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
15479
15480	// Provides information about the status and settings of the Baidu (Baidu Cloud
15481	// Push) channel for an application.
15482	//
15483	// BaiduChannelResponse is a required field
15484	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
15485}
15486
15487// String returns the string representation
15488func (s DeleteBaiduChannelOutput) String() string {
15489	return awsutil.Prettify(s)
15490}
15491
15492// GoString returns the string representation
15493func (s DeleteBaiduChannelOutput) GoString() string {
15494	return s.String()
15495}
15496
15497// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
15498func (s *DeleteBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *DeleteBaiduChannelOutput {
15499	s.BaiduChannelResponse = v
15500	return s
15501}
15502
15503type DeleteCampaignInput struct {
15504	_ struct{} `type:"structure"`
15505
15506	// ApplicationId is a required field
15507	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15508
15509	// CampaignId is a required field
15510	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
15511}
15512
15513// String returns the string representation
15514func (s DeleteCampaignInput) String() string {
15515	return awsutil.Prettify(s)
15516}
15517
15518// GoString returns the string representation
15519func (s DeleteCampaignInput) GoString() string {
15520	return s.String()
15521}
15522
15523// Validate inspects the fields of the type to determine if they are valid.
15524func (s *DeleteCampaignInput) Validate() error {
15525	invalidParams := request.ErrInvalidParams{Context: "DeleteCampaignInput"}
15526	if s.ApplicationId == nil {
15527		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15528	}
15529	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15530		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15531	}
15532	if s.CampaignId == nil {
15533		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
15534	}
15535	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
15536		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
15537	}
15538
15539	if invalidParams.Len() > 0 {
15540		return invalidParams
15541	}
15542	return nil
15543}
15544
15545// SetApplicationId sets the ApplicationId field's value.
15546func (s *DeleteCampaignInput) SetApplicationId(v string) *DeleteCampaignInput {
15547	s.ApplicationId = &v
15548	return s
15549}
15550
15551// SetCampaignId sets the CampaignId field's value.
15552func (s *DeleteCampaignInput) SetCampaignId(v string) *DeleteCampaignInput {
15553	s.CampaignId = &v
15554	return s
15555}
15556
15557type DeleteCampaignOutput struct {
15558	_ struct{} `type:"structure" payload:"CampaignResponse"`
15559
15560	// Provides information about the status, configuration, and other settings
15561	// for a campaign.
15562	//
15563	// CampaignResponse is a required field
15564	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
15565}
15566
15567// String returns the string representation
15568func (s DeleteCampaignOutput) String() string {
15569	return awsutil.Prettify(s)
15570}
15571
15572// GoString returns the string representation
15573func (s DeleteCampaignOutput) GoString() string {
15574	return s.String()
15575}
15576
15577// SetCampaignResponse sets the CampaignResponse field's value.
15578func (s *DeleteCampaignOutput) SetCampaignResponse(v *CampaignResponse) *DeleteCampaignOutput {
15579	s.CampaignResponse = v
15580	return s
15581}
15582
15583type DeleteEmailChannelInput struct {
15584	_ struct{} `type:"structure"`
15585
15586	// ApplicationId is a required field
15587	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15588}
15589
15590// String returns the string representation
15591func (s DeleteEmailChannelInput) String() string {
15592	return awsutil.Prettify(s)
15593}
15594
15595// GoString returns the string representation
15596func (s DeleteEmailChannelInput) GoString() string {
15597	return s.String()
15598}
15599
15600// Validate inspects the fields of the type to determine if they are valid.
15601func (s *DeleteEmailChannelInput) Validate() error {
15602	invalidParams := request.ErrInvalidParams{Context: "DeleteEmailChannelInput"}
15603	if s.ApplicationId == nil {
15604		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15605	}
15606	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15607		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15608	}
15609
15610	if invalidParams.Len() > 0 {
15611		return invalidParams
15612	}
15613	return nil
15614}
15615
15616// SetApplicationId sets the ApplicationId field's value.
15617func (s *DeleteEmailChannelInput) SetApplicationId(v string) *DeleteEmailChannelInput {
15618	s.ApplicationId = &v
15619	return s
15620}
15621
15622type DeleteEmailChannelOutput struct {
15623	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
15624
15625	// Provides information about the status and settings of the email channel for
15626	// an application.
15627	//
15628	// EmailChannelResponse is a required field
15629	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
15630}
15631
15632// String returns the string representation
15633func (s DeleteEmailChannelOutput) String() string {
15634	return awsutil.Prettify(s)
15635}
15636
15637// GoString returns the string representation
15638func (s DeleteEmailChannelOutput) GoString() string {
15639	return s.String()
15640}
15641
15642// SetEmailChannelResponse sets the EmailChannelResponse field's value.
15643func (s *DeleteEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *DeleteEmailChannelOutput {
15644	s.EmailChannelResponse = v
15645	return s
15646}
15647
15648type DeleteEmailTemplateInput struct {
15649	_ struct{} `type:"structure"`
15650
15651	// TemplateName is a required field
15652	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
15653
15654	Version *string `location:"querystring" locationName:"version" type:"string"`
15655}
15656
15657// String returns the string representation
15658func (s DeleteEmailTemplateInput) String() string {
15659	return awsutil.Prettify(s)
15660}
15661
15662// GoString returns the string representation
15663func (s DeleteEmailTemplateInput) GoString() string {
15664	return s.String()
15665}
15666
15667// Validate inspects the fields of the type to determine if they are valid.
15668func (s *DeleteEmailTemplateInput) Validate() error {
15669	invalidParams := request.ErrInvalidParams{Context: "DeleteEmailTemplateInput"}
15670	if s.TemplateName == nil {
15671		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
15672	}
15673	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
15674		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
15675	}
15676
15677	if invalidParams.Len() > 0 {
15678		return invalidParams
15679	}
15680	return nil
15681}
15682
15683// SetTemplateName sets the TemplateName field's value.
15684func (s *DeleteEmailTemplateInput) SetTemplateName(v string) *DeleteEmailTemplateInput {
15685	s.TemplateName = &v
15686	return s
15687}
15688
15689// SetVersion sets the Version field's value.
15690func (s *DeleteEmailTemplateInput) SetVersion(v string) *DeleteEmailTemplateInput {
15691	s.Version = &v
15692	return s
15693}
15694
15695type DeleteEmailTemplateOutput struct {
15696	_ struct{} `type:"structure" payload:"MessageBody"`
15697
15698	// Provides information about an API request or response.
15699	//
15700	// MessageBody is a required field
15701	MessageBody *MessageBody `type:"structure" required:"true"`
15702}
15703
15704// String returns the string representation
15705func (s DeleteEmailTemplateOutput) String() string {
15706	return awsutil.Prettify(s)
15707}
15708
15709// GoString returns the string representation
15710func (s DeleteEmailTemplateOutput) GoString() string {
15711	return s.String()
15712}
15713
15714// SetMessageBody sets the MessageBody field's value.
15715func (s *DeleteEmailTemplateOutput) SetMessageBody(v *MessageBody) *DeleteEmailTemplateOutput {
15716	s.MessageBody = v
15717	return s
15718}
15719
15720type DeleteEndpointInput struct {
15721	_ struct{} `type:"structure"`
15722
15723	// ApplicationId is a required field
15724	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15725
15726	// EndpointId is a required field
15727	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
15728}
15729
15730// String returns the string representation
15731func (s DeleteEndpointInput) String() string {
15732	return awsutil.Prettify(s)
15733}
15734
15735// GoString returns the string representation
15736func (s DeleteEndpointInput) GoString() string {
15737	return s.String()
15738}
15739
15740// Validate inspects the fields of the type to determine if they are valid.
15741func (s *DeleteEndpointInput) Validate() error {
15742	invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointInput"}
15743	if s.ApplicationId == nil {
15744		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15745	}
15746	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15747		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15748	}
15749	if s.EndpointId == nil {
15750		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
15751	}
15752	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
15753		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
15754	}
15755
15756	if invalidParams.Len() > 0 {
15757		return invalidParams
15758	}
15759	return nil
15760}
15761
15762// SetApplicationId sets the ApplicationId field's value.
15763func (s *DeleteEndpointInput) SetApplicationId(v string) *DeleteEndpointInput {
15764	s.ApplicationId = &v
15765	return s
15766}
15767
15768// SetEndpointId sets the EndpointId field's value.
15769func (s *DeleteEndpointInput) SetEndpointId(v string) *DeleteEndpointInput {
15770	s.EndpointId = &v
15771	return s
15772}
15773
15774type DeleteEndpointOutput struct {
15775	_ struct{} `type:"structure" payload:"EndpointResponse"`
15776
15777	// Provides information about the channel type and other settings for an endpoint.
15778	//
15779	// EndpointResponse is a required field
15780	EndpointResponse *EndpointResponse `type:"structure" required:"true"`
15781}
15782
15783// String returns the string representation
15784func (s DeleteEndpointOutput) String() string {
15785	return awsutil.Prettify(s)
15786}
15787
15788// GoString returns the string representation
15789func (s DeleteEndpointOutput) GoString() string {
15790	return s.String()
15791}
15792
15793// SetEndpointResponse sets the EndpointResponse field's value.
15794func (s *DeleteEndpointOutput) SetEndpointResponse(v *EndpointResponse) *DeleteEndpointOutput {
15795	s.EndpointResponse = v
15796	return s
15797}
15798
15799type DeleteEventStreamInput struct {
15800	_ struct{} `type:"structure"`
15801
15802	// ApplicationId is a required field
15803	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15804}
15805
15806// String returns the string representation
15807func (s DeleteEventStreamInput) String() string {
15808	return awsutil.Prettify(s)
15809}
15810
15811// GoString returns the string representation
15812func (s DeleteEventStreamInput) GoString() string {
15813	return s.String()
15814}
15815
15816// Validate inspects the fields of the type to determine if they are valid.
15817func (s *DeleteEventStreamInput) Validate() error {
15818	invalidParams := request.ErrInvalidParams{Context: "DeleteEventStreamInput"}
15819	if s.ApplicationId == nil {
15820		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15821	}
15822	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15823		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15824	}
15825
15826	if invalidParams.Len() > 0 {
15827		return invalidParams
15828	}
15829	return nil
15830}
15831
15832// SetApplicationId sets the ApplicationId field's value.
15833func (s *DeleteEventStreamInput) SetApplicationId(v string) *DeleteEventStreamInput {
15834	s.ApplicationId = &v
15835	return s
15836}
15837
15838type DeleteEventStreamOutput struct {
15839	_ struct{} `type:"structure" payload:"EventStream"`
15840
15841	// Specifies settings for publishing event data to an Amazon Kinesis data stream
15842	// or an Amazon Kinesis Data Firehose delivery stream.
15843	//
15844	// EventStream is a required field
15845	EventStream *EventStream `type:"structure" required:"true"`
15846}
15847
15848// String returns the string representation
15849func (s DeleteEventStreamOutput) String() string {
15850	return awsutil.Prettify(s)
15851}
15852
15853// GoString returns the string representation
15854func (s DeleteEventStreamOutput) GoString() string {
15855	return s.String()
15856}
15857
15858// SetEventStream sets the EventStream field's value.
15859func (s *DeleteEventStreamOutput) SetEventStream(v *EventStream) *DeleteEventStreamOutput {
15860	s.EventStream = v
15861	return s
15862}
15863
15864type DeleteGcmChannelInput struct {
15865	_ struct{} `type:"structure"`
15866
15867	// ApplicationId is a required field
15868	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15869}
15870
15871// String returns the string representation
15872func (s DeleteGcmChannelInput) String() string {
15873	return awsutil.Prettify(s)
15874}
15875
15876// GoString returns the string representation
15877func (s DeleteGcmChannelInput) GoString() string {
15878	return s.String()
15879}
15880
15881// Validate inspects the fields of the type to determine if they are valid.
15882func (s *DeleteGcmChannelInput) Validate() error {
15883	invalidParams := request.ErrInvalidParams{Context: "DeleteGcmChannelInput"}
15884	if s.ApplicationId == nil {
15885		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15886	}
15887	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15888		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15889	}
15890
15891	if invalidParams.Len() > 0 {
15892		return invalidParams
15893	}
15894	return nil
15895}
15896
15897// SetApplicationId sets the ApplicationId field's value.
15898func (s *DeleteGcmChannelInput) SetApplicationId(v string) *DeleteGcmChannelInput {
15899	s.ApplicationId = &v
15900	return s
15901}
15902
15903type DeleteGcmChannelOutput struct {
15904	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
15905
15906	// Provides information about the status and settings of the GCM channel for
15907	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
15908	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
15909	// (GCM), service.
15910	//
15911	// GCMChannelResponse is a required field
15912	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
15913}
15914
15915// String returns the string representation
15916func (s DeleteGcmChannelOutput) String() string {
15917	return awsutil.Prettify(s)
15918}
15919
15920// GoString returns the string representation
15921func (s DeleteGcmChannelOutput) GoString() string {
15922	return s.String()
15923}
15924
15925// SetGCMChannelResponse sets the GCMChannelResponse field's value.
15926func (s *DeleteGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *DeleteGcmChannelOutput {
15927	s.GCMChannelResponse = v
15928	return s
15929}
15930
15931type DeleteJourneyInput struct {
15932	_ struct{} `type:"structure"`
15933
15934	// ApplicationId is a required field
15935	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15936
15937	// JourneyId is a required field
15938	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
15939}
15940
15941// String returns the string representation
15942func (s DeleteJourneyInput) String() string {
15943	return awsutil.Prettify(s)
15944}
15945
15946// GoString returns the string representation
15947func (s DeleteJourneyInput) GoString() string {
15948	return s.String()
15949}
15950
15951// Validate inspects the fields of the type to determine if they are valid.
15952func (s *DeleteJourneyInput) Validate() error {
15953	invalidParams := request.ErrInvalidParams{Context: "DeleteJourneyInput"}
15954	if s.ApplicationId == nil {
15955		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15956	}
15957	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15958		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15959	}
15960	if s.JourneyId == nil {
15961		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
15962	}
15963	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
15964		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
15965	}
15966
15967	if invalidParams.Len() > 0 {
15968		return invalidParams
15969	}
15970	return nil
15971}
15972
15973// SetApplicationId sets the ApplicationId field's value.
15974func (s *DeleteJourneyInput) SetApplicationId(v string) *DeleteJourneyInput {
15975	s.ApplicationId = &v
15976	return s
15977}
15978
15979// SetJourneyId sets the JourneyId field's value.
15980func (s *DeleteJourneyInput) SetJourneyId(v string) *DeleteJourneyInput {
15981	s.JourneyId = &v
15982	return s
15983}
15984
15985type DeleteJourneyOutput struct {
15986	_ struct{} `type:"structure" payload:"JourneyResponse"`
15987
15988	// Provides information about the status, configuration, and other settings
15989	// for a journey.
15990	//
15991	// JourneyResponse is a required field
15992	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
15993}
15994
15995// String returns the string representation
15996func (s DeleteJourneyOutput) String() string {
15997	return awsutil.Prettify(s)
15998}
15999
16000// GoString returns the string representation
16001func (s DeleteJourneyOutput) GoString() string {
16002	return s.String()
16003}
16004
16005// SetJourneyResponse sets the JourneyResponse field's value.
16006func (s *DeleteJourneyOutput) SetJourneyResponse(v *JourneyResponse) *DeleteJourneyOutput {
16007	s.JourneyResponse = v
16008	return s
16009}
16010
16011type DeletePushTemplateInput struct {
16012	_ struct{} `type:"structure"`
16013
16014	// TemplateName is a required field
16015	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
16016
16017	Version *string `location:"querystring" locationName:"version" type:"string"`
16018}
16019
16020// String returns the string representation
16021func (s DeletePushTemplateInput) String() string {
16022	return awsutil.Prettify(s)
16023}
16024
16025// GoString returns the string representation
16026func (s DeletePushTemplateInput) GoString() string {
16027	return s.String()
16028}
16029
16030// Validate inspects the fields of the type to determine if they are valid.
16031func (s *DeletePushTemplateInput) Validate() error {
16032	invalidParams := request.ErrInvalidParams{Context: "DeletePushTemplateInput"}
16033	if s.TemplateName == nil {
16034		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
16035	}
16036	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
16037		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
16038	}
16039
16040	if invalidParams.Len() > 0 {
16041		return invalidParams
16042	}
16043	return nil
16044}
16045
16046// SetTemplateName sets the TemplateName field's value.
16047func (s *DeletePushTemplateInput) SetTemplateName(v string) *DeletePushTemplateInput {
16048	s.TemplateName = &v
16049	return s
16050}
16051
16052// SetVersion sets the Version field's value.
16053func (s *DeletePushTemplateInput) SetVersion(v string) *DeletePushTemplateInput {
16054	s.Version = &v
16055	return s
16056}
16057
16058type DeletePushTemplateOutput struct {
16059	_ struct{} `type:"structure" payload:"MessageBody"`
16060
16061	// Provides information about an API request or response.
16062	//
16063	// MessageBody is a required field
16064	MessageBody *MessageBody `type:"structure" required:"true"`
16065}
16066
16067// String returns the string representation
16068func (s DeletePushTemplateOutput) String() string {
16069	return awsutil.Prettify(s)
16070}
16071
16072// GoString returns the string representation
16073func (s DeletePushTemplateOutput) GoString() string {
16074	return s.String()
16075}
16076
16077// SetMessageBody sets the MessageBody field's value.
16078func (s *DeletePushTemplateOutput) SetMessageBody(v *MessageBody) *DeletePushTemplateOutput {
16079	s.MessageBody = v
16080	return s
16081}
16082
16083type DeleteSegmentInput struct {
16084	_ struct{} `type:"structure"`
16085
16086	// ApplicationId is a required field
16087	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16088
16089	// SegmentId is a required field
16090	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
16091}
16092
16093// String returns the string representation
16094func (s DeleteSegmentInput) String() string {
16095	return awsutil.Prettify(s)
16096}
16097
16098// GoString returns the string representation
16099func (s DeleteSegmentInput) GoString() string {
16100	return s.String()
16101}
16102
16103// Validate inspects the fields of the type to determine if they are valid.
16104func (s *DeleteSegmentInput) Validate() error {
16105	invalidParams := request.ErrInvalidParams{Context: "DeleteSegmentInput"}
16106	if s.ApplicationId == nil {
16107		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16108	}
16109	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16110		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16111	}
16112	if s.SegmentId == nil {
16113		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
16114	}
16115	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
16116		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
16117	}
16118
16119	if invalidParams.Len() > 0 {
16120		return invalidParams
16121	}
16122	return nil
16123}
16124
16125// SetApplicationId sets the ApplicationId field's value.
16126func (s *DeleteSegmentInput) SetApplicationId(v string) *DeleteSegmentInput {
16127	s.ApplicationId = &v
16128	return s
16129}
16130
16131// SetSegmentId sets the SegmentId field's value.
16132func (s *DeleteSegmentInput) SetSegmentId(v string) *DeleteSegmentInput {
16133	s.SegmentId = &v
16134	return s
16135}
16136
16137type DeleteSegmentOutput struct {
16138	_ struct{} `type:"structure" payload:"SegmentResponse"`
16139
16140	// Provides information about the configuration, dimension, and other settings
16141	// for a segment.
16142	//
16143	// SegmentResponse is a required field
16144	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
16145}
16146
16147// String returns the string representation
16148func (s DeleteSegmentOutput) String() string {
16149	return awsutil.Prettify(s)
16150}
16151
16152// GoString returns the string representation
16153func (s DeleteSegmentOutput) GoString() string {
16154	return s.String()
16155}
16156
16157// SetSegmentResponse sets the SegmentResponse field's value.
16158func (s *DeleteSegmentOutput) SetSegmentResponse(v *SegmentResponse) *DeleteSegmentOutput {
16159	s.SegmentResponse = v
16160	return s
16161}
16162
16163type DeleteSmsChannelInput struct {
16164	_ struct{} `type:"structure"`
16165
16166	// ApplicationId is a required field
16167	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16168}
16169
16170// String returns the string representation
16171func (s DeleteSmsChannelInput) String() string {
16172	return awsutil.Prettify(s)
16173}
16174
16175// GoString returns the string representation
16176func (s DeleteSmsChannelInput) GoString() string {
16177	return s.String()
16178}
16179
16180// Validate inspects the fields of the type to determine if they are valid.
16181func (s *DeleteSmsChannelInput) Validate() error {
16182	invalidParams := request.ErrInvalidParams{Context: "DeleteSmsChannelInput"}
16183	if s.ApplicationId == nil {
16184		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16185	}
16186	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16187		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16188	}
16189
16190	if invalidParams.Len() > 0 {
16191		return invalidParams
16192	}
16193	return nil
16194}
16195
16196// SetApplicationId sets the ApplicationId field's value.
16197func (s *DeleteSmsChannelInput) SetApplicationId(v string) *DeleteSmsChannelInput {
16198	s.ApplicationId = &v
16199	return s
16200}
16201
16202type DeleteSmsChannelOutput struct {
16203	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
16204
16205	// Provides information about the status and settings of the SMS channel for
16206	// an application.
16207	//
16208	// SMSChannelResponse is a required field
16209	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
16210}
16211
16212// String returns the string representation
16213func (s DeleteSmsChannelOutput) String() string {
16214	return awsutil.Prettify(s)
16215}
16216
16217// GoString returns the string representation
16218func (s DeleteSmsChannelOutput) GoString() string {
16219	return s.String()
16220}
16221
16222// SetSMSChannelResponse sets the SMSChannelResponse field's value.
16223func (s *DeleteSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *DeleteSmsChannelOutput {
16224	s.SMSChannelResponse = v
16225	return s
16226}
16227
16228type DeleteSmsTemplateInput struct {
16229	_ struct{} `type:"structure"`
16230
16231	// TemplateName is a required field
16232	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
16233
16234	Version *string `location:"querystring" locationName:"version" type:"string"`
16235}
16236
16237// String returns the string representation
16238func (s DeleteSmsTemplateInput) String() string {
16239	return awsutil.Prettify(s)
16240}
16241
16242// GoString returns the string representation
16243func (s DeleteSmsTemplateInput) GoString() string {
16244	return s.String()
16245}
16246
16247// Validate inspects the fields of the type to determine if they are valid.
16248func (s *DeleteSmsTemplateInput) Validate() error {
16249	invalidParams := request.ErrInvalidParams{Context: "DeleteSmsTemplateInput"}
16250	if s.TemplateName == nil {
16251		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
16252	}
16253	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
16254		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
16255	}
16256
16257	if invalidParams.Len() > 0 {
16258		return invalidParams
16259	}
16260	return nil
16261}
16262
16263// SetTemplateName sets the TemplateName field's value.
16264func (s *DeleteSmsTemplateInput) SetTemplateName(v string) *DeleteSmsTemplateInput {
16265	s.TemplateName = &v
16266	return s
16267}
16268
16269// SetVersion sets the Version field's value.
16270func (s *DeleteSmsTemplateInput) SetVersion(v string) *DeleteSmsTemplateInput {
16271	s.Version = &v
16272	return s
16273}
16274
16275type DeleteSmsTemplateOutput struct {
16276	_ struct{} `type:"structure" payload:"MessageBody"`
16277
16278	// Provides information about an API request or response.
16279	//
16280	// MessageBody is a required field
16281	MessageBody *MessageBody `type:"structure" required:"true"`
16282}
16283
16284// String returns the string representation
16285func (s DeleteSmsTemplateOutput) String() string {
16286	return awsutil.Prettify(s)
16287}
16288
16289// GoString returns the string representation
16290func (s DeleteSmsTemplateOutput) GoString() string {
16291	return s.String()
16292}
16293
16294// SetMessageBody sets the MessageBody field's value.
16295func (s *DeleteSmsTemplateOutput) SetMessageBody(v *MessageBody) *DeleteSmsTemplateOutput {
16296	s.MessageBody = v
16297	return s
16298}
16299
16300type DeleteUserEndpointsInput struct {
16301	_ struct{} `type:"structure"`
16302
16303	// ApplicationId is a required field
16304	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16305
16306	// UserId is a required field
16307	UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"`
16308}
16309
16310// String returns the string representation
16311func (s DeleteUserEndpointsInput) String() string {
16312	return awsutil.Prettify(s)
16313}
16314
16315// GoString returns the string representation
16316func (s DeleteUserEndpointsInput) GoString() string {
16317	return s.String()
16318}
16319
16320// Validate inspects the fields of the type to determine if they are valid.
16321func (s *DeleteUserEndpointsInput) Validate() error {
16322	invalidParams := request.ErrInvalidParams{Context: "DeleteUserEndpointsInput"}
16323	if s.ApplicationId == nil {
16324		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16325	}
16326	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16327		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16328	}
16329	if s.UserId == nil {
16330		invalidParams.Add(request.NewErrParamRequired("UserId"))
16331	}
16332	if s.UserId != nil && len(*s.UserId) < 1 {
16333		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
16334	}
16335
16336	if invalidParams.Len() > 0 {
16337		return invalidParams
16338	}
16339	return nil
16340}
16341
16342// SetApplicationId sets the ApplicationId field's value.
16343func (s *DeleteUserEndpointsInput) SetApplicationId(v string) *DeleteUserEndpointsInput {
16344	s.ApplicationId = &v
16345	return s
16346}
16347
16348// SetUserId sets the UserId field's value.
16349func (s *DeleteUserEndpointsInput) SetUserId(v string) *DeleteUserEndpointsInput {
16350	s.UserId = &v
16351	return s
16352}
16353
16354type DeleteUserEndpointsOutput struct {
16355	_ struct{} `type:"structure" payload:"EndpointsResponse"`
16356
16357	// Provides information about all the endpoints that are associated with a user
16358	// ID.
16359	//
16360	// EndpointsResponse is a required field
16361	EndpointsResponse *EndpointsResponse `type:"structure" required:"true"`
16362}
16363
16364// String returns the string representation
16365func (s DeleteUserEndpointsOutput) String() string {
16366	return awsutil.Prettify(s)
16367}
16368
16369// GoString returns the string representation
16370func (s DeleteUserEndpointsOutput) GoString() string {
16371	return s.String()
16372}
16373
16374// SetEndpointsResponse sets the EndpointsResponse field's value.
16375func (s *DeleteUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *DeleteUserEndpointsOutput {
16376	s.EndpointsResponse = v
16377	return s
16378}
16379
16380type DeleteVoiceChannelInput struct {
16381	_ struct{} `type:"structure"`
16382
16383	// ApplicationId is a required field
16384	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16385}
16386
16387// String returns the string representation
16388func (s DeleteVoiceChannelInput) String() string {
16389	return awsutil.Prettify(s)
16390}
16391
16392// GoString returns the string representation
16393func (s DeleteVoiceChannelInput) GoString() string {
16394	return s.String()
16395}
16396
16397// Validate inspects the fields of the type to determine if they are valid.
16398func (s *DeleteVoiceChannelInput) Validate() error {
16399	invalidParams := request.ErrInvalidParams{Context: "DeleteVoiceChannelInput"}
16400	if s.ApplicationId == nil {
16401		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16402	}
16403	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16404		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16405	}
16406
16407	if invalidParams.Len() > 0 {
16408		return invalidParams
16409	}
16410	return nil
16411}
16412
16413// SetApplicationId sets the ApplicationId field's value.
16414func (s *DeleteVoiceChannelInput) SetApplicationId(v string) *DeleteVoiceChannelInput {
16415	s.ApplicationId = &v
16416	return s
16417}
16418
16419type DeleteVoiceChannelOutput struct {
16420	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
16421
16422	// Provides information about the status and settings of the voice channel for
16423	// an application.
16424	//
16425	// VoiceChannelResponse is a required field
16426	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
16427}
16428
16429// String returns the string representation
16430func (s DeleteVoiceChannelOutput) String() string {
16431	return awsutil.Prettify(s)
16432}
16433
16434// GoString returns the string representation
16435func (s DeleteVoiceChannelOutput) GoString() string {
16436	return s.String()
16437}
16438
16439// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
16440func (s *DeleteVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *DeleteVoiceChannelOutput {
16441	s.VoiceChannelResponse = v
16442	return s
16443}
16444
16445type DeleteVoiceTemplateInput struct {
16446	_ struct{} `type:"structure"`
16447
16448	// TemplateName is a required field
16449	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
16450
16451	Version *string `location:"querystring" locationName:"version" type:"string"`
16452}
16453
16454// String returns the string representation
16455func (s DeleteVoiceTemplateInput) String() string {
16456	return awsutil.Prettify(s)
16457}
16458
16459// GoString returns the string representation
16460func (s DeleteVoiceTemplateInput) GoString() string {
16461	return s.String()
16462}
16463
16464// Validate inspects the fields of the type to determine if they are valid.
16465func (s *DeleteVoiceTemplateInput) Validate() error {
16466	invalidParams := request.ErrInvalidParams{Context: "DeleteVoiceTemplateInput"}
16467	if s.TemplateName == nil {
16468		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
16469	}
16470	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
16471		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
16472	}
16473
16474	if invalidParams.Len() > 0 {
16475		return invalidParams
16476	}
16477	return nil
16478}
16479
16480// SetTemplateName sets the TemplateName field's value.
16481func (s *DeleteVoiceTemplateInput) SetTemplateName(v string) *DeleteVoiceTemplateInput {
16482	s.TemplateName = &v
16483	return s
16484}
16485
16486// SetVersion sets the Version field's value.
16487func (s *DeleteVoiceTemplateInput) SetVersion(v string) *DeleteVoiceTemplateInput {
16488	s.Version = &v
16489	return s
16490}
16491
16492type DeleteVoiceTemplateOutput struct {
16493	_ struct{} `type:"structure" payload:"MessageBody"`
16494
16495	// Provides information about an API request or response.
16496	//
16497	// MessageBody is a required field
16498	MessageBody *MessageBody `type:"structure" required:"true"`
16499}
16500
16501// String returns the string representation
16502func (s DeleteVoiceTemplateOutput) String() string {
16503	return awsutil.Prettify(s)
16504}
16505
16506// GoString returns the string representation
16507func (s DeleteVoiceTemplateOutput) GoString() string {
16508	return s.String()
16509}
16510
16511// SetMessageBody sets the MessageBody field's value.
16512func (s *DeleteVoiceTemplateOutput) SetMessageBody(v *MessageBody) *DeleteVoiceTemplateOutput {
16513	s.MessageBody = v
16514	return s
16515}
16516
16517// Specifies the settings and content for the default message and any default
16518// messages that you tailored for specific channels.
16519type DirectMessageConfiguration struct {
16520	_ struct{} `type:"structure"`
16521
16522	// The default push notification message for the ADM (Amazon Device Messaging)
16523	// channel. This message overrides the default push notification message (DefaultPushNotificationMessage).
16524	ADMMessage *ADMMessage `type:"structure"`
16525
16526	// The default push notification message for the APNs (Apple Push Notification
16527	// service) channel. This message overrides the default push notification message
16528	// (DefaultPushNotificationMessage).
16529	APNSMessage *APNSMessage `type:"structure"`
16530
16531	// The default push notification message for the Baidu (Baidu Cloud Push) channel.
16532	// This message overrides the default push notification message (DefaultPushNotificationMessage).
16533	BaiduMessage *BaiduMessage `type:"structure"`
16534
16535	// The default message for all channels.
16536	DefaultMessage *DefaultMessage `type:"structure"`
16537
16538	// The default push notification message for all push notification channels.
16539	DefaultPushNotificationMessage *DefaultPushNotificationMessage `type:"structure"`
16540
16541	// The default message for the email channel. This message overrides the default
16542	// message (DefaultMessage).
16543	EmailMessage *EmailMessage `type:"structure"`
16544
16545	// The default push notification message for the GCM channel, which is used
16546	// to send notifications through the Firebase Cloud Messaging (FCM), formerly
16547	// Google Cloud Messaging (GCM), service. This message overrides the default
16548	// push notification message (DefaultPushNotificationMessage).
16549	GCMMessage *GCMMessage `type:"structure"`
16550
16551	// The default message for the SMS channel. This message overrides the default
16552	// message (DefaultMessage).
16553	SMSMessage *SMSMessage `type:"structure"`
16554
16555	// The default message for the voice channel. This message overrides the default
16556	// message (DefaultMessage).
16557	VoiceMessage *VoiceMessage `type:"structure"`
16558}
16559
16560// String returns the string representation
16561func (s DirectMessageConfiguration) String() string {
16562	return awsutil.Prettify(s)
16563}
16564
16565// GoString returns the string representation
16566func (s DirectMessageConfiguration) GoString() string {
16567	return s.String()
16568}
16569
16570// SetADMMessage sets the ADMMessage field's value.
16571func (s *DirectMessageConfiguration) SetADMMessage(v *ADMMessage) *DirectMessageConfiguration {
16572	s.ADMMessage = v
16573	return s
16574}
16575
16576// SetAPNSMessage sets the APNSMessage field's value.
16577func (s *DirectMessageConfiguration) SetAPNSMessage(v *APNSMessage) *DirectMessageConfiguration {
16578	s.APNSMessage = v
16579	return s
16580}
16581
16582// SetBaiduMessage sets the BaiduMessage field's value.
16583func (s *DirectMessageConfiguration) SetBaiduMessage(v *BaiduMessage) *DirectMessageConfiguration {
16584	s.BaiduMessage = v
16585	return s
16586}
16587
16588// SetDefaultMessage sets the DefaultMessage field's value.
16589func (s *DirectMessageConfiguration) SetDefaultMessage(v *DefaultMessage) *DirectMessageConfiguration {
16590	s.DefaultMessage = v
16591	return s
16592}
16593
16594// SetDefaultPushNotificationMessage sets the DefaultPushNotificationMessage field's value.
16595func (s *DirectMessageConfiguration) SetDefaultPushNotificationMessage(v *DefaultPushNotificationMessage) *DirectMessageConfiguration {
16596	s.DefaultPushNotificationMessage = v
16597	return s
16598}
16599
16600// SetEmailMessage sets the EmailMessage field's value.
16601func (s *DirectMessageConfiguration) SetEmailMessage(v *EmailMessage) *DirectMessageConfiguration {
16602	s.EmailMessage = v
16603	return s
16604}
16605
16606// SetGCMMessage sets the GCMMessage field's value.
16607func (s *DirectMessageConfiguration) SetGCMMessage(v *GCMMessage) *DirectMessageConfiguration {
16608	s.GCMMessage = v
16609	return s
16610}
16611
16612// SetSMSMessage sets the SMSMessage field's value.
16613func (s *DirectMessageConfiguration) SetSMSMessage(v *SMSMessage) *DirectMessageConfiguration {
16614	s.SMSMessage = v
16615	return s
16616}
16617
16618// SetVoiceMessage sets the VoiceMessage field's value.
16619func (s *DirectMessageConfiguration) SetVoiceMessage(v *VoiceMessage) *DirectMessageConfiguration {
16620	s.VoiceMessage = v
16621	return s
16622}
16623
16624// Specifies the status and settings of the email channel for an application.
16625type EmailChannelRequest struct {
16626	_ struct{} `type:"structure"`
16627
16628	// The configuration set that you want to apply to email that you send through
16629	// the channel by using the Amazon Pinpoint Email API (emailAPIreference.html).
16630	ConfigurationSet *string `type:"string"`
16631
16632	// Specifies whether to enable the email channel for the application.
16633	Enabled *bool `type:"boolean"`
16634
16635	// The verified email address that you want to send email from when you send
16636	// email through the channel.
16637	//
16638	// FromAddress is a required field
16639	FromAddress *string `type:"string" required:"true"`
16640
16641	// The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
16642	// Email Service (Amazon SES), that you want to use when you send email through
16643	// the channel.
16644	//
16645	// Identity is a required field
16646	Identity *string `type:"string" required:"true"`
16647
16648	// The ARN of the AWS Identity and Access Management (IAM) role that you want
16649	// Amazon Pinpoint to use when it submits email-related event data for the channel.
16650	RoleArn *string `type:"string"`
16651}
16652
16653// String returns the string representation
16654func (s EmailChannelRequest) String() string {
16655	return awsutil.Prettify(s)
16656}
16657
16658// GoString returns the string representation
16659func (s EmailChannelRequest) GoString() string {
16660	return s.String()
16661}
16662
16663// Validate inspects the fields of the type to determine if they are valid.
16664func (s *EmailChannelRequest) Validate() error {
16665	invalidParams := request.ErrInvalidParams{Context: "EmailChannelRequest"}
16666	if s.FromAddress == nil {
16667		invalidParams.Add(request.NewErrParamRequired("FromAddress"))
16668	}
16669	if s.Identity == nil {
16670		invalidParams.Add(request.NewErrParamRequired("Identity"))
16671	}
16672
16673	if invalidParams.Len() > 0 {
16674		return invalidParams
16675	}
16676	return nil
16677}
16678
16679// SetConfigurationSet sets the ConfigurationSet field's value.
16680func (s *EmailChannelRequest) SetConfigurationSet(v string) *EmailChannelRequest {
16681	s.ConfigurationSet = &v
16682	return s
16683}
16684
16685// SetEnabled sets the Enabled field's value.
16686func (s *EmailChannelRequest) SetEnabled(v bool) *EmailChannelRequest {
16687	s.Enabled = &v
16688	return s
16689}
16690
16691// SetFromAddress sets the FromAddress field's value.
16692func (s *EmailChannelRequest) SetFromAddress(v string) *EmailChannelRequest {
16693	s.FromAddress = &v
16694	return s
16695}
16696
16697// SetIdentity sets the Identity field's value.
16698func (s *EmailChannelRequest) SetIdentity(v string) *EmailChannelRequest {
16699	s.Identity = &v
16700	return s
16701}
16702
16703// SetRoleArn sets the RoleArn field's value.
16704func (s *EmailChannelRequest) SetRoleArn(v string) *EmailChannelRequest {
16705	s.RoleArn = &v
16706	return s
16707}
16708
16709// Provides information about the status and settings of the email channel for
16710// an application.
16711type EmailChannelResponse struct {
16712	_ struct{} `type:"structure"`
16713
16714	// The unique identifier for the application that the email channel applies
16715	// to.
16716	ApplicationId *string `type:"string"`
16717
16718	// The configuration set that's applied to email that's sent through the channel
16719	// by using the Amazon Pinpoint Email API (emailAPIreference.html).
16720	ConfigurationSet *string `type:"string"`
16721
16722	// The date and time, in ISO 8601 format, when the email channel was enabled.
16723	CreationDate *string `type:"string"`
16724
16725	// Specifies whether the email channel is enabled for the application.
16726	Enabled *bool `type:"boolean"`
16727
16728	// The verified email address that you send email from when you send email through
16729	// the channel.
16730	FromAddress *string `type:"string"`
16731
16732	// (Not used) This property is retained only for backward compatibility.
16733	HasCredential *bool `type:"boolean"`
16734
16735	// (Deprecated) An identifier for the email channel. This property is retained
16736	// only for backward compatibility.
16737	Id *string `type:"string"`
16738
16739	// The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
16740	// Email Service (Amazon SES), that you use when you send email through the
16741	// channel.
16742	Identity *string `type:"string"`
16743
16744	// Specifies whether the email channel is archived.
16745	IsArchived *bool `type:"boolean"`
16746
16747	// The user who last modified the email channel.
16748	LastModifiedBy *string `type:"string"`
16749
16750	// The date and time, in ISO 8601 format, when the email channel was last modified.
16751	LastModifiedDate *string `type:"string"`
16752
16753	// The maximum number of emails that you can send through the channel each second.
16754	MessagesPerSecond *int64 `type:"integer"`
16755
16756	// The type of messaging or notification platform for the channel. For the email
16757	// channel, this value is EMAIL.
16758	//
16759	// Platform is a required field
16760	Platform *string `type:"string" required:"true"`
16761
16762	// The ARN of the AWS Identity and Access Management (IAM) role that Amazon
16763	// Pinpoint uses to submit email-related event data for the channel.
16764	RoleArn *string `type:"string"`
16765
16766	// The current version of the email channel.
16767	Version *int64 `type:"integer"`
16768}
16769
16770// String returns the string representation
16771func (s EmailChannelResponse) String() string {
16772	return awsutil.Prettify(s)
16773}
16774
16775// GoString returns the string representation
16776func (s EmailChannelResponse) GoString() string {
16777	return s.String()
16778}
16779
16780// SetApplicationId sets the ApplicationId field's value.
16781func (s *EmailChannelResponse) SetApplicationId(v string) *EmailChannelResponse {
16782	s.ApplicationId = &v
16783	return s
16784}
16785
16786// SetConfigurationSet sets the ConfigurationSet field's value.
16787func (s *EmailChannelResponse) SetConfigurationSet(v string) *EmailChannelResponse {
16788	s.ConfigurationSet = &v
16789	return s
16790}
16791
16792// SetCreationDate sets the CreationDate field's value.
16793func (s *EmailChannelResponse) SetCreationDate(v string) *EmailChannelResponse {
16794	s.CreationDate = &v
16795	return s
16796}
16797
16798// SetEnabled sets the Enabled field's value.
16799func (s *EmailChannelResponse) SetEnabled(v bool) *EmailChannelResponse {
16800	s.Enabled = &v
16801	return s
16802}
16803
16804// SetFromAddress sets the FromAddress field's value.
16805func (s *EmailChannelResponse) SetFromAddress(v string) *EmailChannelResponse {
16806	s.FromAddress = &v
16807	return s
16808}
16809
16810// SetHasCredential sets the HasCredential field's value.
16811func (s *EmailChannelResponse) SetHasCredential(v bool) *EmailChannelResponse {
16812	s.HasCredential = &v
16813	return s
16814}
16815
16816// SetId sets the Id field's value.
16817func (s *EmailChannelResponse) SetId(v string) *EmailChannelResponse {
16818	s.Id = &v
16819	return s
16820}
16821
16822// SetIdentity sets the Identity field's value.
16823func (s *EmailChannelResponse) SetIdentity(v string) *EmailChannelResponse {
16824	s.Identity = &v
16825	return s
16826}
16827
16828// SetIsArchived sets the IsArchived field's value.
16829func (s *EmailChannelResponse) SetIsArchived(v bool) *EmailChannelResponse {
16830	s.IsArchived = &v
16831	return s
16832}
16833
16834// SetLastModifiedBy sets the LastModifiedBy field's value.
16835func (s *EmailChannelResponse) SetLastModifiedBy(v string) *EmailChannelResponse {
16836	s.LastModifiedBy = &v
16837	return s
16838}
16839
16840// SetLastModifiedDate sets the LastModifiedDate field's value.
16841func (s *EmailChannelResponse) SetLastModifiedDate(v string) *EmailChannelResponse {
16842	s.LastModifiedDate = &v
16843	return s
16844}
16845
16846// SetMessagesPerSecond sets the MessagesPerSecond field's value.
16847func (s *EmailChannelResponse) SetMessagesPerSecond(v int64) *EmailChannelResponse {
16848	s.MessagesPerSecond = &v
16849	return s
16850}
16851
16852// SetPlatform sets the Platform field's value.
16853func (s *EmailChannelResponse) SetPlatform(v string) *EmailChannelResponse {
16854	s.Platform = &v
16855	return s
16856}
16857
16858// SetRoleArn sets the RoleArn field's value.
16859func (s *EmailChannelResponse) SetRoleArn(v string) *EmailChannelResponse {
16860	s.RoleArn = &v
16861	return s
16862}
16863
16864// SetVersion sets the Version field's value.
16865func (s *EmailChannelResponse) SetVersion(v int64) *EmailChannelResponse {
16866	s.Version = &v
16867	return s
16868}
16869
16870// Specifies the default settings and content for a one-time email message that's
16871// sent directly to an endpoint.
16872type EmailMessage struct {
16873	_ struct{} `type:"structure"`
16874
16875	// The body of the email message.
16876	Body *string `type:"string"`
16877
16878	// The email address to forward bounces and complaints to, if feedback forwarding
16879	// is enabled.
16880	FeedbackForwardingAddress *string `type:"string"`
16881
16882	// The verified email address to send the email message from. The default value
16883	// is the FromAddress specified for the email channel.
16884	FromAddress *string `type:"string"`
16885
16886	// The email message, represented as a raw MIME message.
16887	RawEmail *RawEmail `type:"structure"`
16888
16889	// The reply-to email address(es) for the email message. If a recipient replies
16890	// to the email, each reply-to address receives the reply.
16891	ReplyToAddresses []*string `type:"list"`
16892
16893	// The email message, composed of a subject, a text part, and an HTML part.
16894	SimpleEmail *SimpleEmail `type:"structure"`
16895
16896	// The default message variables to use in the email message. You can override
16897	// the default variables with individual address variables.
16898	Substitutions map[string][]*string `type:"map"`
16899}
16900
16901// String returns the string representation
16902func (s EmailMessage) String() string {
16903	return awsutil.Prettify(s)
16904}
16905
16906// GoString returns the string representation
16907func (s EmailMessage) GoString() string {
16908	return s.String()
16909}
16910
16911// SetBody sets the Body field's value.
16912func (s *EmailMessage) SetBody(v string) *EmailMessage {
16913	s.Body = &v
16914	return s
16915}
16916
16917// SetFeedbackForwardingAddress sets the FeedbackForwardingAddress field's value.
16918func (s *EmailMessage) SetFeedbackForwardingAddress(v string) *EmailMessage {
16919	s.FeedbackForwardingAddress = &v
16920	return s
16921}
16922
16923// SetFromAddress sets the FromAddress field's value.
16924func (s *EmailMessage) SetFromAddress(v string) *EmailMessage {
16925	s.FromAddress = &v
16926	return s
16927}
16928
16929// SetRawEmail sets the RawEmail field's value.
16930func (s *EmailMessage) SetRawEmail(v *RawEmail) *EmailMessage {
16931	s.RawEmail = v
16932	return s
16933}
16934
16935// SetReplyToAddresses sets the ReplyToAddresses field's value.
16936func (s *EmailMessage) SetReplyToAddresses(v []*string) *EmailMessage {
16937	s.ReplyToAddresses = v
16938	return s
16939}
16940
16941// SetSimpleEmail sets the SimpleEmail field's value.
16942func (s *EmailMessage) SetSimpleEmail(v *SimpleEmail) *EmailMessage {
16943	s.SimpleEmail = v
16944	return s
16945}
16946
16947// SetSubstitutions sets the Substitutions field's value.
16948func (s *EmailMessage) SetSubstitutions(v map[string][]*string) *EmailMessage {
16949	s.Substitutions = v
16950	return s
16951}
16952
16953// Specifies the settings for an email activity in a journey. This type of activity
16954// sends an email message to participants.
16955type EmailMessageActivity struct {
16956	_ struct{} `type:"structure"`
16957
16958	// The "From" address to use for the message.
16959	MessageConfig *JourneyEmailMessage `type:"structure"`
16960
16961	// The unique identifier for the next activity to perform, after the message
16962	// is sent.
16963	NextActivity *string `type:"string"`
16964
16965	// The name of the email template to use for the message.
16966	TemplateName *string `type:"string"`
16967
16968	// The unique identifier for the version of the email template to use for the
16969	// message. If specified, this value must match the identifier for an existing
16970	// template version. To retrieve a list of versions and version identifiers
16971	// for a template, use the Template Versions resource.
16972	//
16973	// If you don't specify a value for this property, Amazon Pinpoint uses the
16974	// active version of the template. The active version is typically the version
16975	// of a template that's been most recently reviewed and approved for use, depending
16976	// on your workflow. It isn't necessarily the latest version of a template.
16977	TemplateVersion *string `type:"string"`
16978}
16979
16980// String returns the string representation
16981func (s EmailMessageActivity) String() string {
16982	return awsutil.Prettify(s)
16983}
16984
16985// GoString returns the string representation
16986func (s EmailMessageActivity) GoString() string {
16987	return s.String()
16988}
16989
16990// SetMessageConfig sets the MessageConfig field's value.
16991func (s *EmailMessageActivity) SetMessageConfig(v *JourneyEmailMessage) *EmailMessageActivity {
16992	s.MessageConfig = v
16993	return s
16994}
16995
16996// SetNextActivity sets the NextActivity field's value.
16997func (s *EmailMessageActivity) SetNextActivity(v string) *EmailMessageActivity {
16998	s.NextActivity = &v
16999	return s
17000}
17001
17002// SetTemplateName sets the TemplateName field's value.
17003func (s *EmailMessageActivity) SetTemplateName(v string) *EmailMessageActivity {
17004	s.TemplateName = &v
17005	return s
17006}
17007
17008// SetTemplateVersion sets the TemplateVersion field's value.
17009func (s *EmailMessageActivity) SetTemplateVersion(v string) *EmailMessageActivity {
17010	s.TemplateVersion = &v
17011	return s
17012}
17013
17014// Specifies the content and settings for a message template that can be used
17015// in messages that are sent through the email channel.
17016type EmailTemplateRequest struct {
17017	_ struct{} `type:"structure"`
17018
17019	// A JSON object that specifies the default values to use for message variables
17020	// in the message template. This object is a set of key-value pairs. Each key
17021	// defines a message variable in the template. The corresponding value defines
17022	// the default value for that variable. When you create a message that's based
17023	// on the template, you can override these defaults with message-specific and
17024	// address-specific variables and values.
17025	DefaultSubstitutions *string `type:"string"`
17026
17027	// The message body, in HTML format, to use in email messages that are based
17028	// on the message template. We recommend using HTML format for email clients
17029	// that render HTML content. You can include links, formatted text, and more
17030	// in an HTML message.
17031	HtmlPart *string `type:"string"`
17032
17033	// The subject line, or title, to use in email messages that are based on the
17034	// message template.
17035	Subject *string `type:"string"`
17036
17037	// A string-to-string map of key-value pairs that defines the tags to associate
17038	// with the message template. Each tag consists of a required tag key and an
17039	// associated tag value.
17040	Tags map[string]*string `locationName:"tags" type:"map"`
17041
17042	// A custom description of the message template.
17043	TemplateDescription *string `type:"string"`
17044
17045	// The message body, in plain text format, to use in email messages that are
17046	// based on the message template. We recommend using plain text format for email
17047	// clients that don't render HTML content and clients that are connected to
17048	// high-latency networks, such as mobile devices.
17049	TextPart *string `type:"string"`
17050}
17051
17052// String returns the string representation
17053func (s EmailTemplateRequest) String() string {
17054	return awsutil.Prettify(s)
17055}
17056
17057// GoString returns the string representation
17058func (s EmailTemplateRequest) GoString() string {
17059	return s.String()
17060}
17061
17062// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
17063func (s *EmailTemplateRequest) SetDefaultSubstitutions(v string) *EmailTemplateRequest {
17064	s.DefaultSubstitutions = &v
17065	return s
17066}
17067
17068// SetHtmlPart sets the HtmlPart field's value.
17069func (s *EmailTemplateRequest) SetHtmlPart(v string) *EmailTemplateRequest {
17070	s.HtmlPart = &v
17071	return s
17072}
17073
17074// SetSubject sets the Subject field's value.
17075func (s *EmailTemplateRequest) SetSubject(v string) *EmailTemplateRequest {
17076	s.Subject = &v
17077	return s
17078}
17079
17080// SetTags sets the Tags field's value.
17081func (s *EmailTemplateRequest) SetTags(v map[string]*string) *EmailTemplateRequest {
17082	s.Tags = v
17083	return s
17084}
17085
17086// SetTemplateDescription sets the TemplateDescription field's value.
17087func (s *EmailTemplateRequest) SetTemplateDescription(v string) *EmailTemplateRequest {
17088	s.TemplateDescription = &v
17089	return s
17090}
17091
17092// SetTextPart sets the TextPart field's value.
17093func (s *EmailTemplateRequest) SetTextPart(v string) *EmailTemplateRequest {
17094	s.TextPart = &v
17095	return s
17096}
17097
17098// Provides information about the content and settings for a message template
17099// that can be used in messages that are sent through the email channel.
17100type EmailTemplateResponse struct {
17101	_ struct{} `type:"structure"`
17102
17103	// The Amazon Resource Name (ARN) of the message template.
17104	Arn *string `type:"string"`
17105
17106	// The date, in ISO 8601 format, when the message template was created.
17107	//
17108	// CreationDate is a required field
17109	CreationDate *string `type:"string" required:"true"`
17110
17111	// The JSON object that specifies the default values that are used for message
17112	// variables in the message template. This object is a set of key-value pairs.
17113	// Each key defines a message variable in the template. The corresponding value
17114	// defines the default value for that variable.
17115	DefaultSubstitutions *string `type:"string"`
17116
17117	// The message body, in HTML format, that's used in email messages that are
17118	// based on the message template.
17119	HtmlPart *string `type:"string"`
17120
17121	// The date, in ISO 8601 format, when the message template was last modified.
17122	//
17123	// LastModifiedDate is a required field
17124	LastModifiedDate *string `type:"string" required:"true"`
17125
17126	// The subject line, or title, that's used in email messages that are based
17127	// on the message template.
17128	Subject *string `type:"string"`
17129
17130	// A string-to-string map of key-value pairs that identifies the tags that are
17131	// associated with the message template. Each tag consists of a required tag
17132	// key and an associated tag value.
17133	Tags map[string]*string `locationName:"tags" type:"map"`
17134
17135	// The custom description of the message template.
17136	TemplateDescription *string `type:"string"`
17137
17138	// The name of the message template.
17139	//
17140	// TemplateName is a required field
17141	TemplateName *string `type:"string" required:"true"`
17142
17143	// The type of channel that the message template is designed for. For an email
17144	// template, this value is EMAIL.
17145	//
17146	// TemplateType is a required field
17147	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
17148
17149	// The message body, in plain text format, that's used in email messages that
17150	// are based on the message template.
17151	TextPart *string `type:"string"`
17152
17153	// The unique identifier, as an integer, for the active version of the message
17154	// template, or the version of the template that you specified by using the
17155	// version parameter in your request.
17156	Version *string `type:"string"`
17157}
17158
17159// String returns the string representation
17160func (s EmailTemplateResponse) String() string {
17161	return awsutil.Prettify(s)
17162}
17163
17164// GoString returns the string representation
17165func (s EmailTemplateResponse) GoString() string {
17166	return s.String()
17167}
17168
17169// SetArn sets the Arn field's value.
17170func (s *EmailTemplateResponse) SetArn(v string) *EmailTemplateResponse {
17171	s.Arn = &v
17172	return s
17173}
17174
17175// SetCreationDate sets the CreationDate field's value.
17176func (s *EmailTemplateResponse) SetCreationDate(v string) *EmailTemplateResponse {
17177	s.CreationDate = &v
17178	return s
17179}
17180
17181// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
17182func (s *EmailTemplateResponse) SetDefaultSubstitutions(v string) *EmailTemplateResponse {
17183	s.DefaultSubstitutions = &v
17184	return s
17185}
17186
17187// SetHtmlPart sets the HtmlPart field's value.
17188func (s *EmailTemplateResponse) SetHtmlPart(v string) *EmailTemplateResponse {
17189	s.HtmlPart = &v
17190	return s
17191}
17192
17193// SetLastModifiedDate sets the LastModifiedDate field's value.
17194func (s *EmailTemplateResponse) SetLastModifiedDate(v string) *EmailTemplateResponse {
17195	s.LastModifiedDate = &v
17196	return s
17197}
17198
17199// SetSubject sets the Subject field's value.
17200func (s *EmailTemplateResponse) SetSubject(v string) *EmailTemplateResponse {
17201	s.Subject = &v
17202	return s
17203}
17204
17205// SetTags sets the Tags field's value.
17206func (s *EmailTemplateResponse) SetTags(v map[string]*string) *EmailTemplateResponse {
17207	s.Tags = v
17208	return s
17209}
17210
17211// SetTemplateDescription sets the TemplateDescription field's value.
17212func (s *EmailTemplateResponse) SetTemplateDescription(v string) *EmailTemplateResponse {
17213	s.TemplateDescription = &v
17214	return s
17215}
17216
17217// SetTemplateName sets the TemplateName field's value.
17218func (s *EmailTemplateResponse) SetTemplateName(v string) *EmailTemplateResponse {
17219	s.TemplateName = &v
17220	return s
17221}
17222
17223// SetTemplateType sets the TemplateType field's value.
17224func (s *EmailTemplateResponse) SetTemplateType(v string) *EmailTemplateResponse {
17225	s.TemplateType = &v
17226	return s
17227}
17228
17229// SetTextPart sets the TextPart field's value.
17230func (s *EmailTemplateResponse) SetTextPart(v string) *EmailTemplateResponse {
17231	s.TextPart = &v
17232	return s
17233}
17234
17235// SetVersion sets the Version field's value.
17236func (s *EmailTemplateResponse) SetVersion(v string) *EmailTemplateResponse {
17237	s.Version = &v
17238	return s
17239}
17240
17241// Specifies an endpoint to create or update and the settings and attributes
17242// to set or change for the endpoint.
17243type EndpointBatchItem struct {
17244	_ struct{} `type:"structure"`
17245
17246	// The destination address for messages or push notifications that you send
17247	// to the endpoint. The address varies by channel. For a push-notification channel,
17248	// use the token provided by the push notification service, such as an Apple
17249	// Push Notification service (APNs) device token or a Firebase Cloud Messaging
17250	// (FCM) registration token. For the SMS channel, use a phone number in E.164
17251	// format, such as +12065550100. For the email channel, use an email address.
17252	Address *string `type:"string"`
17253
17254	// One or more custom attributes that describe the endpoint by associating a
17255	// name with an array of values. For example, the value of a custom attribute
17256	// named Interests might be: ["science", "music", "travel"]. You can use these
17257	// attributes as filter criteria when you create segments.
17258	//
17259	// When you define the name of a custom attribute, avoid using the following
17260	// characters: number sign (#), colon (:), question mark (?), backslash (\),
17261	// and slash (/). The Amazon Pinpoint console can't display attribute names
17262	// that contain these characters. This limitation doesn't apply to attribute
17263	// values.
17264	Attributes map[string][]*string `type:"map"`
17265
17266	// The channel to use when sending messages or push notifications to the endpoint.
17267	ChannelType *string `type:"string" enum:"ChannelType"`
17268
17269	// The demographic information for the endpoint, such as the time zone and platform.
17270	Demographic *EndpointDemographic `type:"structure"`
17271
17272	// The date and time, in ISO 8601 format, when the endpoint was created or updated.
17273	EffectiveDate *string `type:"string"`
17274
17275	// Specifies whether to send messages or push notifications to the endpoint.
17276	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
17277	// messages aren’t sent to the endpoint.
17278	//
17279	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
17280	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
17281	// this value to INACTIVE if you update another endpoint that has the same address
17282	// specified by the Address property.
17283	EndpointStatus *string `type:"string"`
17284
17285	// The unique identifier for the endpoint in the context of the batch.
17286	Id *string `type:"string"`
17287
17288	// The geographic information for the endpoint.
17289	Location *EndpointLocation `type:"structure"`
17290
17291	// One or more custom metrics that your app reports to Amazon Pinpoint for the
17292	// endpoint.
17293	Metrics map[string]*float64 `type:"map"`
17294
17295	// Specifies whether the user who's associated with the endpoint has opted out
17296	// of receiving messages and push notifications from you. Possible values are:
17297	// ALL, the user has opted out and doesn't want to receive any messages or push
17298	// notifications; and, NONE, the user hasn't opted out and wants to receive
17299	// all messages and push notifications.
17300	OptOut *string `type:"string"`
17301
17302	// The unique identifier for the request to create or update the endpoint.
17303	RequestId *string `type:"string"`
17304
17305	// One or more custom user attributes that your app reports to Amazon Pinpoint
17306	// for the user who's associated with the endpoint.
17307	User *EndpointUser `type:"structure"`
17308}
17309
17310// String returns the string representation
17311func (s EndpointBatchItem) String() string {
17312	return awsutil.Prettify(s)
17313}
17314
17315// GoString returns the string representation
17316func (s EndpointBatchItem) GoString() string {
17317	return s.String()
17318}
17319
17320// SetAddress sets the Address field's value.
17321func (s *EndpointBatchItem) SetAddress(v string) *EndpointBatchItem {
17322	s.Address = &v
17323	return s
17324}
17325
17326// SetAttributes sets the Attributes field's value.
17327func (s *EndpointBatchItem) SetAttributes(v map[string][]*string) *EndpointBatchItem {
17328	s.Attributes = v
17329	return s
17330}
17331
17332// SetChannelType sets the ChannelType field's value.
17333func (s *EndpointBatchItem) SetChannelType(v string) *EndpointBatchItem {
17334	s.ChannelType = &v
17335	return s
17336}
17337
17338// SetDemographic sets the Demographic field's value.
17339func (s *EndpointBatchItem) SetDemographic(v *EndpointDemographic) *EndpointBatchItem {
17340	s.Demographic = v
17341	return s
17342}
17343
17344// SetEffectiveDate sets the EffectiveDate field's value.
17345func (s *EndpointBatchItem) SetEffectiveDate(v string) *EndpointBatchItem {
17346	s.EffectiveDate = &v
17347	return s
17348}
17349
17350// SetEndpointStatus sets the EndpointStatus field's value.
17351func (s *EndpointBatchItem) SetEndpointStatus(v string) *EndpointBatchItem {
17352	s.EndpointStatus = &v
17353	return s
17354}
17355
17356// SetId sets the Id field's value.
17357func (s *EndpointBatchItem) SetId(v string) *EndpointBatchItem {
17358	s.Id = &v
17359	return s
17360}
17361
17362// SetLocation sets the Location field's value.
17363func (s *EndpointBatchItem) SetLocation(v *EndpointLocation) *EndpointBatchItem {
17364	s.Location = v
17365	return s
17366}
17367
17368// SetMetrics sets the Metrics field's value.
17369func (s *EndpointBatchItem) SetMetrics(v map[string]*float64) *EndpointBatchItem {
17370	s.Metrics = v
17371	return s
17372}
17373
17374// SetOptOut sets the OptOut field's value.
17375func (s *EndpointBatchItem) SetOptOut(v string) *EndpointBatchItem {
17376	s.OptOut = &v
17377	return s
17378}
17379
17380// SetRequestId sets the RequestId field's value.
17381func (s *EndpointBatchItem) SetRequestId(v string) *EndpointBatchItem {
17382	s.RequestId = &v
17383	return s
17384}
17385
17386// SetUser sets the User field's value.
17387func (s *EndpointBatchItem) SetUser(v *EndpointUser) *EndpointBatchItem {
17388	s.User = v
17389	return s
17390}
17391
17392// Specifies a batch of endpoints to create or update and the settings and attributes
17393// to set or change for each endpoint.
17394type EndpointBatchRequest struct {
17395	_ struct{} `type:"structure"`
17396
17397	// An array that defines the endpoints to create or update and, for each endpoint,
17398	// the property values to set or change. An array can contain a maximum of 100
17399	// items.
17400	//
17401	// Item is a required field
17402	Item []*EndpointBatchItem `type:"list" required:"true"`
17403}
17404
17405// String returns the string representation
17406func (s EndpointBatchRequest) String() string {
17407	return awsutil.Prettify(s)
17408}
17409
17410// GoString returns the string representation
17411func (s EndpointBatchRequest) GoString() string {
17412	return s.String()
17413}
17414
17415// Validate inspects the fields of the type to determine if they are valid.
17416func (s *EndpointBatchRequest) Validate() error {
17417	invalidParams := request.ErrInvalidParams{Context: "EndpointBatchRequest"}
17418	if s.Item == nil {
17419		invalidParams.Add(request.NewErrParamRequired("Item"))
17420	}
17421
17422	if invalidParams.Len() > 0 {
17423		return invalidParams
17424	}
17425	return nil
17426}
17427
17428// SetItem sets the Item field's value.
17429func (s *EndpointBatchRequest) SetItem(v []*EndpointBatchItem) *EndpointBatchRequest {
17430	s.Item = v
17431	return s
17432}
17433
17434// Specifies demographic information about an endpoint, such as the applicable
17435// time zone and platform.
17436type EndpointDemographic struct {
17437	_ struct{} `type:"structure"`
17438
17439	// The version of the app that's associated with the endpoint.
17440	AppVersion *string `type:"string"`
17441
17442	// The locale of the endpoint, in the following format: the ISO 639-1 alpha-2
17443	// code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 value.
17444	Locale *string `type:"string"`
17445
17446	// The manufacturer of the endpoint device, such as apple or samsung.
17447	Make *string `type:"string"`
17448
17449	// The model name or number of the endpoint device, such as iPhone or SM-G900F.
17450	Model *string `type:"string"`
17451
17452	// The model version of the endpoint device.
17453	ModelVersion *string `type:"string"`
17454
17455	// The platform of the endpoint device, such as ios.
17456	Platform *string `type:"string"`
17457
17458	// The platform version of the endpoint device.
17459	PlatformVersion *string `type:"string"`
17460
17461	// The time zone of the endpoint, specified as a tz database name value, such
17462	// as America/Los_Angeles.
17463	Timezone *string `type:"string"`
17464}
17465
17466// String returns the string representation
17467func (s EndpointDemographic) String() string {
17468	return awsutil.Prettify(s)
17469}
17470
17471// GoString returns the string representation
17472func (s EndpointDemographic) GoString() string {
17473	return s.String()
17474}
17475
17476// SetAppVersion sets the AppVersion field's value.
17477func (s *EndpointDemographic) SetAppVersion(v string) *EndpointDemographic {
17478	s.AppVersion = &v
17479	return s
17480}
17481
17482// SetLocale sets the Locale field's value.
17483func (s *EndpointDemographic) SetLocale(v string) *EndpointDemographic {
17484	s.Locale = &v
17485	return s
17486}
17487
17488// SetMake sets the Make field's value.
17489func (s *EndpointDemographic) SetMake(v string) *EndpointDemographic {
17490	s.Make = &v
17491	return s
17492}
17493
17494// SetModel sets the Model field's value.
17495func (s *EndpointDemographic) SetModel(v string) *EndpointDemographic {
17496	s.Model = &v
17497	return s
17498}
17499
17500// SetModelVersion sets the ModelVersion field's value.
17501func (s *EndpointDemographic) SetModelVersion(v string) *EndpointDemographic {
17502	s.ModelVersion = &v
17503	return s
17504}
17505
17506// SetPlatform sets the Platform field's value.
17507func (s *EndpointDemographic) SetPlatform(v string) *EndpointDemographic {
17508	s.Platform = &v
17509	return s
17510}
17511
17512// SetPlatformVersion sets the PlatformVersion field's value.
17513func (s *EndpointDemographic) SetPlatformVersion(v string) *EndpointDemographic {
17514	s.PlatformVersion = &v
17515	return s
17516}
17517
17518// SetTimezone sets the Timezone field's value.
17519func (s *EndpointDemographic) SetTimezone(v string) *EndpointDemographic {
17520	s.Timezone = &v
17521	return s
17522}
17523
17524// Provides the status code and message that result from processing data for
17525// an endpoint.
17526type EndpointItemResponse struct {
17527	_ struct{} `type:"structure"`
17528
17529	// The custom message that's returned in the response as a result of processing
17530	// the endpoint data.
17531	Message *string `type:"string"`
17532
17533	// The status code that's returned in the response as a result of processing
17534	// the endpoint data.
17535	StatusCode *int64 `type:"integer"`
17536}
17537
17538// String returns the string representation
17539func (s EndpointItemResponse) String() string {
17540	return awsutil.Prettify(s)
17541}
17542
17543// GoString returns the string representation
17544func (s EndpointItemResponse) GoString() string {
17545	return s.String()
17546}
17547
17548// SetMessage sets the Message field's value.
17549func (s *EndpointItemResponse) SetMessage(v string) *EndpointItemResponse {
17550	s.Message = &v
17551	return s
17552}
17553
17554// SetStatusCode sets the StatusCode field's value.
17555func (s *EndpointItemResponse) SetStatusCode(v int64) *EndpointItemResponse {
17556	s.StatusCode = &v
17557	return s
17558}
17559
17560// Specifies geographic information about an endpoint.
17561type EndpointLocation struct {
17562	_ struct{} `type:"structure"`
17563
17564	// The name of the city where the endpoint is located.
17565	City *string `type:"string"`
17566
17567	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
17568	// region where the endpoint is located. For example, US for the United States.
17569	Country *string `type:"string"`
17570
17571	// The latitude coordinate of the endpoint location, rounded to one decimal
17572	// place.
17573	Latitude *float64 `type:"double"`
17574
17575	// The longitude coordinate of the endpoint location, rounded to one decimal
17576	// place.
17577	Longitude *float64 `type:"double"`
17578
17579	// The postal or ZIP code for the area where the endpoint is located.
17580	PostalCode *string `type:"string"`
17581
17582	// The name of the region where the endpoint is located. For locations in the
17583	// United States, this value is the name of a state.
17584	Region *string `type:"string"`
17585}
17586
17587// String returns the string representation
17588func (s EndpointLocation) String() string {
17589	return awsutil.Prettify(s)
17590}
17591
17592// GoString returns the string representation
17593func (s EndpointLocation) GoString() string {
17594	return s.String()
17595}
17596
17597// SetCity sets the City field's value.
17598func (s *EndpointLocation) SetCity(v string) *EndpointLocation {
17599	s.City = &v
17600	return s
17601}
17602
17603// SetCountry sets the Country field's value.
17604func (s *EndpointLocation) SetCountry(v string) *EndpointLocation {
17605	s.Country = &v
17606	return s
17607}
17608
17609// SetLatitude sets the Latitude field's value.
17610func (s *EndpointLocation) SetLatitude(v float64) *EndpointLocation {
17611	s.Latitude = &v
17612	return s
17613}
17614
17615// SetLongitude sets the Longitude field's value.
17616func (s *EndpointLocation) SetLongitude(v float64) *EndpointLocation {
17617	s.Longitude = &v
17618	return s
17619}
17620
17621// SetPostalCode sets the PostalCode field's value.
17622func (s *EndpointLocation) SetPostalCode(v string) *EndpointLocation {
17623	s.PostalCode = &v
17624	return s
17625}
17626
17627// SetRegion sets the Region field's value.
17628func (s *EndpointLocation) SetRegion(v string) *EndpointLocation {
17629	s.Region = &v
17630	return s
17631}
17632
17633// Provides information about the delivery status and results of sending a message
17634// directly to an endpoint.
17635type EndpointMessageResult struct {
17636	_ struct{} `type:"structure"`
17637
17638	// The endpoint address that the message was delivered to.
17639	Address *string `type:"string"`
17640
17641	// The delivery status of the message. Possible values are:
17642	//
17643	//    * DUPLICATE - The endpoint address is a duplicate of another endpoint
17644	//    address. Amazon Pinpoint won't attempt to send the message again.
17645	//
17646	//    * OPT_OUT - The user who's associated with the endpoint has opted out
17647	//    of receiving messages from you. Amazon Pinpoint won't attempt to send
17648	//    the message again.
17649	//
17650	//    * PERMANENT_FAILURE - An error occurred when delivering the message to
17651	//    the endpoint. Amazon Pinpoint won't attempt to send the message again.
17652	//
17653	//    * SUCCESSFUL - The message was successfully delivered to the endpoint.
17654	//
17655	//    * TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint will
17656	//    attempt to deliver the message again later.
17657	//
17658	//    * THROTTLED - Amazon Pinpoint throttled the operation to send the message
17659	//    to the endpoint.
17660	//
17661	//    * TIMEOUT - The message couldn't be sent within the timeout period.
17662	//
17663	//    * UNKNOWN_FAILURE - An unknown error occurred.
17664	//
17665	// DeliveryStatus is a required field
17666	DeliveryStatus *string `type:"string" required:"true" enum:"DeliveryStatus"`
17667
17668	// The unique identifier for the message that was sent.
17669	MessageId *string `type:"string"`
17670
17671	// The downstream service status code for delivering the message.
17672	//
17673	// StatusCode is a required field
17674	StatusCode *int64 `type:"integer" required:"true"`
17675
17676	// The status message for delivering the message.
17677	StatusMessage *string `type:"string"`
17678
17679	// For push notifications that are sent through the GCM channel, specifies whether
17680	// the endpoint's device registration token was updated as part of delivering
17681	// the message.
17682	UpdatedToken *string `type:"string"`
17683}
17684
17685// String returns the string representation
17686func (s EndpointMessageResult) String() string {
17687	return awsutil.Prettify(s)
17688}
17689
17690// GoString returns the string representation
17691func (s EndpointMessageResult) GoString() string {
17692	return s.String()
17693}
17694
17695// SetAddress sets the Address field's value.
17696func (s *EndpointMessageResult) SetAddress(v string) *EndpointMessageResult {
17697	s.Address = &v
17698	return s
17699}
17700
17701// SetDeliveryStatus sets the DeliveryStatus field's value.
17702func (s *EndpointMessageResult) SetDeliveryStatus(v string) *EndpointMessageResult {
17703	s.DeliveryStatus = &v
17704	return s
17705}
17706
17707// SetMessageId sets the MessageId field's value.
17708func (s *EndpointMessageResult) SetMessageId(v string) *EndpointMessageResult {
17709	s.MessageId = &v
17710	return s
17711}
17712
17713// SetStatusCode sets the StatusCode field's value.
17714func (s *EndpointMessageResult) SetStatusCode(v int64) *EndpointMessageResult {
17715	s.StatusCode = &v
17716	return s
17717}
17718
17719// SetStatusMessage sets the StatusMessage field's value.
17720func (s *EndpointMessageResult) SetStatusMessage(v string) *EndpointMessageResult {
17721	s.StatusMessage = &v
17722	return s
17723}
17724
17725// SetUpdatedToken sets the UpdatedToken field's value.
17726func (s *EndpointMessageResult) SetUpdatedToken(v string) *EndpointMessageResult {
17727	s.UpdatedToken = &v
17728	return s
17729}
17730
17731// Specifies the channel type and other settings for an endpoint.
17732type EndpointRequest struct {
17733	_ struct{} `type:"structure"`
17734
17735	// The destination address for messages or push notifications that you send
17736	// to the endpoint. The address varies by channel. For a push-notification channel,
17737	// use the token provided by the push notification service, such as an Apple
17738	// Push Notification service (APNs) device token or a Firebase Cloud Messaging
17739	// (FCM) registration token. For the SMS channel, use a phone number in E.164
17740	// format, such as +12065550100. For the email channel, use an email address.
17741	Address *string `type:"string"`
17742
17743	// One or more custom attributes that describe the endpoint by associating a
17744	// name with an array of values. For example, the value of a custom attribute
17745	// named Interests might be: ["science", "music", "travel"]. You can use these
17746	// attributes as filter criteria when you create segments.
17747	//
17748	// When you define the name of a custom attribute, avoid using the following
17749	// characters: number sign (#), colon (:), question mark (?), backslash (\),
17750	// and slash (/). The Amazon Pinpoint console can't display attribute names
17751	// that contain these characters. This limitation doesn't apply to attribute
17752	// values.
17753	Attributes map[string][]*string `type:"map"`
17754
17755	// The channel to use when sending messages or push notifications to the endpoint.
17756	ChannelType *string `type:"string" enum:"ChannelType"`
17757
17758	// The demographic information for the endpoint, such as the time zone and platform.
17759	Demographic *EndpointDemographic `type:"structure"`
17760
17761	// The date and time, in ISO 8601 format, when the endpoint is updated.
17762	EffectiveDate *string `type:"string"`
17763
17764	// Specifies whether to send messages or push notifications to the endpoint.
17765	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
17766	// messages aren’t sent to the endpoint.
17767	//
17768	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
17769	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
17770	// this value to INACTIVE if you update another endpoint that has the same address
17771	// specified by the Address property.
17772	EndpointStatus *string `type:"string"`
17773
17774	// The geographic information for the endpoint.
17775	Location *EndpointLocation `type:"structure"`
17776
17777	// One or more custom metrics that your app reports to Amazon Pinpoint for the
17778	// endpoint.
17779	Metrics map[string]*float64 `type:"map"`
17780
17781	// Specifies whether the user who's associated with the endpoint has opted out
17782	// of receiving messages and push notifications from you. Possible values are:
17783	// ALL, the user has opted out and doesn't want to receive any messages or push
17784	// notifications; and, NONE, the user hasn't opted out and wants to receive
17785	// all messages and push notifications.
17786	OptOut *string `type:"string"`
17787
17788	// The unique identifier for the most recent request to update the endpoint.
17789	RequestId *string `type:"string"`
17790
17791	// One or more custom user attributes that describe the user who's associated
17792	// with the endpoint.
17793	User *EndpointUser `type:"structure"`
17794}
17795
17796// String returns the string representation
17797func (s EndpointRequest) String() string {
17798	return awsutil.Prettify(s)
17799}
17800
17801// GoString returns the string representation
17802func (s EndpointRequest) GoString() string {
17803	return s.String()
17804}
17805
17806// SetAddress sets the Address field's value.
17807func (s *EndpointRequest) SetAddress(v string) *EndpointRequest {
17808	s.Address = &v
17809	return s
17810}
17811
17812// SetAttributes sets the Attributes field's value.
17813func (s *EndpointRequest) SetAttributes(v map[string][]*string) *EndpointRequest {
17814	s.Attributes = v
17815	return s
17816}
17817
17818// SetChannelType sets the ChannelType field's value.
17819func (s *EndpointRequest) SetChannelType(v string) *EndpointRequest {
17820	s.ChannelType = &v
17821	return s
17822}
17823
17824// SetDemographic sets the Demographic field's value.
17825func (s *EndpointRequest) SetDemographic(v *EndpointDemographic) *EndpointRequest {
17826	s.Demographic = v
17827	return s
17828}
17829
17830// SetEffectiveDate sets the EffectiveDate field's value.
17831func (s *EndpointRequest) SetEffectiveDate(v string) *EndpointRequest {
17832	s.EffectiveDate = &v
17833	return s
17834}
17835
17836// SetEndpointStatus sets the EndpointStatus field's value.
17837func (s *EndpointRequest) SetEndpointStatus(v string) *EndpointRequest {
17838	s.EndpointStatus = &v
17839	return s
17840}
17841
17842// SetLocation sets the Location field's value.
17843func (s *EndpointRequest) SetLocation(v *EndpointLocation) *EndpointRequest {
17844	s.Location = v
17845	return s
17846}
17847
17848// SetMetrics sets the Metrics field's value.
17849func (s *EndpointRequest) SetMetrics(v map[string]*float64) *EndpointRequest {
17850	s.Metrics = v
17851	return s
17852}
17853
17854// SetOptOut sets the OptOut field's value.
17855func (s *EndpointRequest) SetOptOut(v string) *EndpointRequest {
17856	s.OptOut = &v
17857	return s
17858}
17859
17860// SetRequestId sets the RequestId field's value.
17861func (s *EndpointRequest) SetRequestId(v string) *EndpointRequest {
17862	s.RequestId = &v
17863	return s
17864}
17865
17866// SetUser sets the User field's value.
17867func (s *EndpointRequest) SetUser(v *EndpointUser) *EndpointRequest {
17868	s.User = v
17869	return s
17870}
17871
17872// Provides information about the channel type and other settings for an endpoint.
17873type EndpointResponse struct {
17874	_ struct{} `type:"structure"`
17875
17876	// The destination address for messages or push notifications that you send
17877	// to the endpoint. The address varies by channel. For example, the address
17878	// for a push-notification channel is typically the token provided by a push
17879	// notification service, such as an Apple Push Notification service (APNs) device
17880	// token or a Firebase Cloud Messaging (FCM) registration token. The address
17881	// for the SMS channel is a phone number in E.164 format, such as +12065550100.
17882	// The address for the email channel is an email address.
17883	Address *string `type:"string"`
17884
17885	// The unique identifier for the application that's associated with the endpoint.
17886	ApplicationId *string `type:"string"`
17887
17888	// One or more custom attributes that describe the endpoint by associating a
17889	// name with an array of values. For example, the value of a custom attribute
17890	// named Interests might be: ["science", "music", "travel"]. You can use these
17891	// attributes as filter criteria when you create segments.
17892	Attributes map[string][]*string `type:"map"`
17893
17894	// The channel that's used when sending messages or push notifications to the
17895	// endpoint.
17896	ChannelType *string `type:"string" enum:"ChannelType"`
17897
17898	// A number from 0-99 that represents the cohort that the endpoint is assigned
17899	// to. Endpoints are grouped into cohorts randomly, and each cohort contains
17900	// approximately 1 percent of the endpoints for an application. Amazon Pinpoint
17901	// assigns cohorts to the holdout or treatment allocations for campaigns.
17902	CohortId *string `type:"string"`
17903
17904	// The date and time, in ISO 8601 format, when the endpoint was created.
17905	CreationDate *string `type:"string"`
17906
17907	// The demographic information for the endpoint, such as the time zone and platform.
17908	Demographic *EndpointDemographic `type:"structure"`
17909
17910	// The date and time, in ISO 8601 format, when the endpoint was last updated.
17911	EffectiveDate *string `type:"string"`
17912
17913	// Specifies whether messages or push notifications are sent to the endpoint.
17914	// Possible values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
17915	// messages aren’t sent to the endpoint.
17916	//
17917	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
17918	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
17919	// this value to INACTIVE if you update another endpoint that has the same address
17920	// specified by the Address property.
17921	EndpointStatus *string `type:"string"`
17922
17923	// The unique identifier that you assigned to the endpoint. The identifier should
17924	// be a globally unique identifier (GUID) to ensure that it doesn't conflict
17925	// with other endpoint identifiers that are associated with the application.
17926	Id *string `type:"string"`
17927
17928	// The geographic information for the endpoint.
17929	Location *EndpointLocation `type:"structure"`
17930
17931	// One or more custom metrics that your app reports to Amazon Pinpoint for the
17932	// endpoint.
17933	Metrics map[string]*float64 `type:"map"`
17934
17935	// Specifies whether the user who's associated with the endpoint has opted out
17936	// of receiving messages and push notifications from you. Possible values are:
17937	// ALL, the user has opted out and doesn't want to receive any messages or push
17938	// notifications; and, NONE, the user hasn't opted out and wants to receive
17939	// all messages and push notifications.
17940	OptOut *string `type:"string"`
17941
17942	// The unique identifier for the most recent request to update the endpoint.
17943	RequestId *string `type:"string"`
17944
17945	// One or more custom user attributes that your app reports to Amazon Pinpoint
17946	// for the user who's associated with the endpoint.
17947	User *EndpointUser `type:"structure"`
17948}
17949
17950// String returns the string representation
17951func (s EndpointResponse) String() string {
17952	return awsutil.Prettify(s)
17953}
17954
17955// GoString returns the string representation
17956func (s EndpointResponse) GoString() string {
17957	return s.String()
17958}
17959
17960// SetAddress sets the Address field's value.
17961func (s *EndpointResponse) SetAddress(v string) *EndpointResponse {
17962	s.Address = &v
17963	return s
17964}
17965
17966// SetApplicationId sets the ApplicationId field's value.
17967func (s *EndpointResponse) SetApplicationId(v string) *EndpointResponse {
17968	s.ApplicationId = &v
17969	return s
17970}
17971
17972// SetAttributes sets the Attributes field's value.
17973func (s *EndpointResponse) SetAttributes(v map[string][]*string) *EndpointResponse {
17974	s.Attributes = v
17975	return s
17976}
17977
17978// SetChannelType sets the ChannelType field's value.
17979func (s *EndpointResponse) SetChannelType(v string) *EndpointResponse {
17980	s.ChannelType = &v
17981	return s
17982}
17983
17984// SetCohortId sets the CohortId field's value.
17985func (s *EndpointResponse) SetCohortId(v string) *EndpointResponse {
17986	s.CohortId = &v
17987	return s
17988}
17989
17990// SetCreationDate sets the CreationDate field's value.
17991func (s *EndpointResponse) SetCreationDate(v string) *EndpointResponse {
17992	s.CreationDate = &v
17993	return s
17994}
17995
17996// SetDemographic sets the Demographic field's value.
17997func (s *EndpointResponse) SetDemographic(v *EndpointDemographic) *EndpointResponse {
17998	s.Demographic = v
17999	return s
18000}
18001
18002// SetEffectiveDate sets the EffectiveDate field's value.
18003func (s *EndpointResponse) SetEffectiveDate(v string) *EndpointResponse {
18004	s.EffectiveDate = &v
18005	return s
18006}
18007
18008// SetEndpointStatus sets the EndpointStatus field's value.
18009func (s *EndpointResponse) SetEndpointStatus(v string) *EndpointResponse {
18010	s.EndpointStatus = &v
18011	return s
18012}
18013
18014// SetId sets the Id field's value.
18015func (s *EndpointResponse) SetId(v string) *EndpointResponse {
18016	s.Id = &v
18017	return s
18018}
18019
18020// SetLocation sets the Location field's value.
18021func (s *EndpointResponse) SetLocation(v *EndpointLocation) *EndpointResponse {
18022	s.Location = v
18023	return s
18024}
18025
18026// SetMetrics sets the Metrics field's value.
18027func (s *EndpointResponse) SetMetrics(v map[string]*float64) *EndpointResponse {
18028	s.Metrics = v
18029	return s
18030}
18031
18032// SetOptOut sets the OptOut field's value.
18033func (s *EndpointResponse) SetOptOut(v string) *EndpointResponse {
18034	s.OptOut = &v
18035	return s
18036}
18037
18038// SetRequestId sets the RequestId field's value.
18039func (s *EndpointResponse) SetRequestId(v string) *EndpointResponse {
18040	s.RequestId = &v
18041	return s
18042}
18043
18044// SetUser sets the User field's value.
18045func (s *EndpointResponse) SetUser(v *EndpointUser) *EndpointResponse {
18046	s.User = v
18047	return s
18048}
18049
18050// Specifies the content, including message variables and attributes, to use
18051// in a message that's sent directly to an endpoint.
18052type EndpointSendConfiguration struct {
18053	_ struct{} `type:"structure"`
18054
18055	// The body of the message. If specified, this value overrides the default message
18056	// body.
18057	BodyOverride *string `type:"string"`
18058
18059	// A map of custom attributes to attach to the message for the address. For
18060	// a push notification, this payload is added to the data.pinpoint object. For
18061	// an email or text message, this payload is added to email/SMS delivery receipt
18062	// event attributes.
18063	Context map[string]*string `type:"map"`
18064
18065	// The raw, JSON-formatted string to use as the payload for the message. If
18066	// specified, this value overrides all other values for the message.
18067	RawContent *string `type:"string"`
18068
18069	// A map of the message variables to merge with the variables specified for
18070	// the default message (DefaultMessage.Substitutions). The variables specified
18071	// in this map take precedence over all other variables.
18072	Substitutions map[string][]*string `type:"map"`
18073
18074	// The title or subject line of the message. If specified, this value overrides
18075	// the default message title or subject line.
18076	TitleOverride *string `type:"string"`
18077}
18078
18079// String returns the string representation
18080func (s EndpointSendConfiguration) String() string {
18081	return awsutil.Prettify(s)
18082}
18083
18084// GoString returns the string representation
18085func (s EndpointSendConfiguration) GoString() string {
18086	return s.String()
18087}
18088
18089// SetBodyOverride sets the BodyOverride field's value.
18090func (s *EndpointSendConfiguration) SetBodyOverride(v string) *EndpointSendConfiguration {
18091	s.BodyOverride = &v
18092	return s
18093}
18094
18095// SetContext sets the Context field's value.
18096func (s *EndpointSendConfiguration) SetContext(v map[string]*string) *EndpointSendConfiguration {
18097	s.Context = v
18098	return s
18099}
18100
18101// SetRawContent sets the RawContent field's value.
18102func (s *EndpointSendConfiguration) SetRawContent(v string) *EndpointSendConfiguration {
18103	s.RawContent = &v
18104	return s
18105}
18106
18107// SetSubstitutions sets the Substitutions field's value.
18108func (s *EndpointSendConfiguration) SetSubstitutions(v map[string][]*string) *EndpointSendConfiguration {
18109	s.Substitutions = v
18110	return s
18111}
18112
18113// SetTitleOverride sets the TitleOverride field's value.
18114func (s *EndpointSendConfiguration) SetTitleOverride(v string) *EndpointSendConfiguration {
18115	s.TitleOverride = &v
18116	return s
18117}
18118
18119// Specifies data for one or more attributes that describe the user who's associated
18120// with an endpoint.
18121type EndpointUser struct {
18122	_ struct{} `type:"structure"`
18123
18124	// One or more custom attributes that describe the user by associating a name
18125	// with an array of values. For example, the value of an attribute named Interests
18126	// might be: ["science", "music", "travel"]. You can use these attributes as
18127	// filter criteria when you create segments.
18128	//
18129	// When you define the name of a custom attribute, avoid using the following
18130	// characters: number sign (#), colon (:), question mark (?), backslash (\),
18131	// and slash (/). The Amazon Pinpoint console can't display attribute names
18132	// that contain these characters. This limitation doesn't apply to attribute
18133	// values.
18134	UserAttributes map[string][]*string `type:"map"`
18135
18136	// The unique identifier for the user.
18137	UserId *string `type:"string"`
18138}
18139
18140// String returns the string representation
18141func (s EndpointUser) String() string {
18142	return awsutil.Prettify(s)
18143}
18144
18145// GoString returns the string representation
18146func (s EndpointUser) GoString() string {
18147	return s.String()
18148}
18149
18150// SetUserAttributes sets the UserAttributes field's value.
18151func (s *EndpointUser) SetUserAttributes(v map[string][]*string) *EndpointUser {
18152	s.UserAttributes = v
18153	return s
18154}
18155
18156// SetUserId sets the UserId field's value.
18157func (s *EndpointUser) SetUserId(v string) *EndpointUser {
18158	s.UserId = &v
18159	return s
18160}
18161
18162// Provides information about all the endpoints that are associated with a user
18163// ID.
18164type EndpointsResponse struct {
18165	_ struct{} `type:"structure"`
18166
18167	// An array of responses, one for each endpoint that's associated with the user
18168	// ID.
18169	//
18170	// Item is a required field
18171	Item []*EndpointResponse `type:"list" required:"true"`
18172}
18173
18174// String returns the string representation
18175func (s EndpointsResponse) String() string {
18176	return awsutil.Prettify(s)
18177}
18178
18179// GoString returns the string representation
18180func (s EndpointsResponse) GoString() string {
18181	return s.String()
18182}
18183
18184// SetItem sets the Item field's value.
18185func (s *EndpointsResponse) SetItem(v []*EndpointResponse) *EndpointsResponse {
18186	s.Item = v
18187	return s
18188}
18189
18190// Specifies information about an event that reports data to Amazon Pinpoint.
18191type Event struct {
18192	_ struct{} `type:"structure"`
18193
18194	// The package name of the app that's recording the event.
18195	AppPackageName *string `type:"string"`
18196
18197	// The title of the app that's recording the event.
18198	AppTitle *string `type:"string"`
18199
18200	// The version number of the app that's recording the event.
18201	AppVersionCode *string `type:"string"`
18202
18203	// One or more custom attributes that are associated with the event.
18204	Attributes map[string]*string `type:"map"`
18205
18206	// The version of the SDK that's running on the client device.
18207	ClientSdkVersion *string `type:"string"`
18208
18209	// The name of the event.
18210	//
18211	// EventType is a required field
18212	EventType *string `type:"string" required:"true"`
18213
18214	// One or more custom metrics that are associated with the event.
18215	Metrics map[string]*float64 `type:"map"`
18216
18217	// The name of the SDK that's being used to record the event.
18218	SdkName *string `type:"string"`
18219
18220	// Information about the session in which the event occurred.
18221	Session *Session `type:"structure"`
18222
18223	// The date and time, in ISO 8601 format, when the event occurred.
18224	//
18225	// Timestamp is a required field
18226	Timestamp *string `type:"string" required:"true"`
18227}
18228
18229// String returns the string representation
18230func (s Event) String() string {
18231	return awsutil.Prettify(s)
18232}
18233
18234// GoString returns the string representation
18235func (s Event) GoString() string {
18236	return s.String()
18237}
18238
18239// Validate inspects the fields of the type to determine if they are valid.
18240func (s *Event) Validate() error {
18241	invalidParams := request.ErrInvalidParams{Context: "Event"}
18242	if s.EventType == nil {
18243		invalidParams.Add(request.NewErrParamRequired("EventType"))
18244	}
18245	if s.Timestamp == nil {
18246		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
18247	}
18248	if s.Session != nil {
18249		if err := s.Session.Validate(); err != nil {
18250			invalidParams.AddNested("Session", err.(request.ErrInvalidParams))
18251		}
18252	}
18253
18254	if invalidParams.Len() > 0 {
18255		return invalidParams
18256	}
18257	return nil
18258}
18259
18260// SetAppPackageName sets the AppPackageName field's value.
18261func (s *Event) SetAppPackageName(v string) *Event {
18262	s.AppPackageName = &v
18263	return s
18264}
18265
18266// SetAppTitle sets the AppTitle field's value.
18267func (s *Event) SetAppTitle(v string) *Event {
18268	s.AppTitle = &v
18269	return s
18270}
18271
18272// SetAppVersionCode sets the AppVersionCode field's value.
18273func (s *Event) SetAppVersionCode(v string) *Event {
18274	s.AppVersionCode = &v
18275	return s
18276}
18277
18278// SetAttributes sets the Attributes field's value.
18279func (s *Event) SetAttributes(v map[string]*string) *Event {
18280	s.Attributes = v
18281	return s
18282}
18283
18284// SetClientSdkVersion sets the ClientSdkVersion field's value.
18285func (s *Event) SetClientSdkVersion(v string) *Event {
18286	s.ClientSdkVersion = &v
18287	return s
18288}
18289
18290// SetEventType sets the EventType field's value.
18291func (s *Event) SetEventType(v string) *Event {
18292	s.EventType = &v
18293	return s
18294}
18295
18296// SetMetrics sets the Metrics field's value.
18297func (s *Event) SetMetrics(v map[string]*float64) *Event {
18298	s.Metrics = v
18299	return s
18300}
18301
18302// SetSdkName sets the SdkName field's value.
18303func (s *Event) SetSdkName(v string) *Event {
18304	s.SdkName = &v
18305	return s
18306}
18307
18308// SetSession sets the Session field's value.
18309func (s *Event) SetSession(v *Session) *Event {
18310	s.Session = v
18311	return s
18312}
18313
18314// SetTimestamp sets the Timestamp field's value.
18315func (s *Event) SetTimestamp(v string) *Event {
18316	s.Timestamp = &v
18317	return s
18318}
18319
18320// Specifies the conditions to evaluate for an event that applies to an activity
18321// in a journey.
18322type EventCondition struct {
18323	_ struct{} `type:"structure"`
18324
18325	// The dimensions for the event filter to use for the activity.
18326	//
18327	// Dimensions is a required field
18328	Dimensions *EventDimensions `type:"structure" required:"true"`
18329
18330	// The message identifier (message_id) for the message to use when determining
18331	// whether message events meet the condition.
18332	MessageActivity *string `type:"string"`
18333}
18334
18335// String returns the string representation
18336func (s EventCondition) String() string {
18337	return awsutil.Prettify(s)
18338}
18339
18340// GoString returns the string representation
18341func (s EventCondition) GoString() string {
18342	return s.String()
18343}
18344
18345// Validate inspects the fields of the type to determine if they are valid.
18346func (s *EventCondition) Validate() error {
18347	invalidParams := request.ErrInvalidParams{Context: "EventCondition"}
18348	if s.Dimensions == nil {
18349		invalidParams.Add(request.NewErrParamRequired("Dimensions"))
18350	}
18351	if s.Dimensions != nil {
18352		if err := s.Dimensions.Validate(); err != nil {
18353			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
18354		}
18355	}
18356
18357	if invalidParams.Len() > 0 {
18358		return invalidParams
18359	}
18360	return nil
18361}
18362
18363// SetDimensions sets the Dimensions field's value.
18364func (s *EventCondition) SetDimensions(v *EventDimensions) *EventCondition {
18365	s.Dimensions = v
18366	return s
18367}
18368
18369// SetMessageActivity sets the MessageActivity field's value.
18370func (s *EventCondition) SetMessageActivity(v string) *EventCondition {
18371	s.MessageActivity = &v
18372	return s
18373}
18374
18375// Specifies the dimensions for an event filter that determines when a campaign
18376// is sent or a journey activity is performed.
18377type EventDimensions struct {
18378	_ struct{} `type:"structure"`
18379
18380	// One or more custom attributes that your application reports to Amazon Pinpoint.
18381	// You can use these attributes as selection criteria when you create an event
18382	// filter.
18383	Attributes map[string]*AttributeDimension `type:"map"`
18384
18385	// The name of the event that causes the campaign to be sent or the journey
18386	// activity to be performed. This can be a standard type of event that Amazon
18387	// Pinpoint generates, such as _email.delivered, or a custom event that's specific
18388	// to your application.
18389	EventType *SetDimension `type:"structure"`
18390
18391	// One or more custom metrics that your application reports to Amazon Pinpoint.
18392	// You can use these metrics as selection criteria when you create an event
18393	// filter.
18394	Metrics map[string]*MetricDimension `type:"map"`
18395}
18396
18397// String returns the string representation
18398func (s EventDimensions) String() string {
18399	return awsutil.Prettify(s)
18400}
18401
18402// GoString returns the string representation
18403func (s EventDimensions) GoString() string {
18404	return s.String()
18405}
18406
18407// Validate inspects the fields of the type to determine if they are valid.
18408func (s *EventDimensions) Validate() error {
18409	invalidParams := request.ErrInvalidParams{Context: "EventDimensions"}
18410	if s.Attributes != nil {
18411		for i, v := range s.Attributes {
18412			if v == nil {
18413				continue
18414			}
18415			if err := v.Validate(); err != nil {
18416				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
18417			}
18418		}
18419	}
18420	if s.EventType != nil {
18421		if err := s.EventType.Validate(); err != nil {
18422			invalidParams.AddNested("EventType", err.(request.ErrInvalidParams))
18423		}
18424	}
18425	if s.Metrics != nil {
18426		for i, v := range s.Metrics {
18427			if v == nil {
18428				continue
18429			}
18430			if err := v.Validate(); err != nil {
18431				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams))
18432			}
18433		}
18434	}
18435
18436	if invalidParams.Len() > 0 {
18437		return invalidParams
18438	}
18439	return nil
18440}
18441
18442// SetAttributes sets the Attributes field's value.
18443func (s *EventDimensions) SetAttributes(v map[string]*AttributeDimension) *EventDimensions {
18444	s.Attributes = v
18445	return s
18446}
18447
18448// SetEventType sets the EventType field's value.
18449func (s *EventDimensions) SetEventType(v *SetDimension) *EventDimensions {
18450	s.EventType = v
18451	return s
18452}
18453
18454// SetMetrics sets the Metrics field's value.
18455func (s *EventDimensions) SetMetrics(v map[string]*MetricDimension) *EventDimensions {
18456	s.Metrics = v
18457	return s
18458}
18459
18460// Provides the status code and message that result from processing an event.
18461type EventItemResponse struct {
18462	_ struct{} `type:"structure"`
18463
18464	// A custom message that's returned in the response as a result of processing
18465	// the event.
18466	Message *string `type:"string"`
18467
18468	// The status code that's returned in the response as a result of processing
18469	// the event. Possible values are: 202, for events that were accepted; and,
18470	// 400, for events that weren't valid.
18471	StatusCode *int64 `type:"integer"`
18472}
18473
18474// String returns the string representation
18475func (s EventItemResponse) String() string {
18476	return awsutil.Prettify(s)
18477}
18478
18479// GoString returns the string representation
18480func (s EventItemResponse) GoString() string {
18481	return s.String()
18482}
18483
18484// SetMessage sets the Message field's value.
18485func (s *EventItemResponse) SetMessage(v string) *EventItemResponse {
18486	s.Message = &v
18487	return s
18488}
18489
18490// SetStatusCode sets the StatusCode field's value.
18491func (s *EventItemResponse) SetStatusCode(v int64) *EventItemResponse {
18492	s.StatusCode = &v
18493	return s
18494}
18495
18496// Specifies settings for publishing event data to an Amazon Kinesis data stream
18497// or an Amazon Kinesis Data Firehose delivery stream.
18498type EventStream struct {
18499	_ struct{} `type:"structure"`
18500
18501	// The unique identifier for the application to publish event data for.
18502	//
18503	// ApplicationId is a required field
18504	ApplicationId *string `type:"string" required:"true"`
18505
18506	// The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon
18507	// Kinesis Data Firehose delivery stream to publish event data to.
18508	//
18509	// For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name
18510	//
18511	// For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name
18512	//
18513	// DestinationStreamArn is a required field
18514	DestinationStreamArn *string `type:"string" required:"true"`
18515
18516	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
18517	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
18518	// an IAM role when publishing event data, but we removed this requirement.
18519	// We don't recommend use of external IDs for IAM roles that are assumed by
18520	// Amazon Pinpoint.
18521	ExternalId *string `type:"string"`
18522
18523	// The date, in ISO 8601 format, when the event stream was last modified.
18524	LastModifiedDate *string `type:"string"`
18525
18526	// The IAM user who last modified the event stream.
18527	LastUpdatedBy *string `type:"string"`
18528
18529	// The AWS Identity and Access Management (IAM) role that authorizes Amazon
18530	// Pinpoint to publish event data to the stream in your AWS account.
18531	//
18532	// RoleArn is a required field
18533	RoleArn *string `type:"string" required:"true"`
18534}
18535
18536// String returns the string representation
18537func (s EventStream) String() string {
18538	return awsutil.Prettify(s)
18539}
18540
18541// GoString returns the string representation
18542func (s EventStream) GoString() string {
18543	return s.String()
18544}
18545
18546// SetApplicationId sets the ApplicationId field's value.
18547func (s *EventStream) SetApplicationId(v string) *EventStream {
18548	s.ApplicationId = &v
18549	return s
18550}
18551
18552// SetDestinationStreamArn sets the DestinationStreamArn field's value.
18553func (s *EventStream) SetDestinationStreamArn(v string) *EventStream {
18554	s.DestinationStreamArn = &v
18555	return s
18556}
18557
18558// SetExternalId sets the ExternalId field's value.
18559func (s *EventStream) SetExternalId(v string) *EventStream {
18560	s.ExternalId = &v
18561	return s
18562}
18563
18564// SetLastModifiedDate sets the LastModifiedDate field's value.
18565func (s *EventStream) SetLastModifiedDate(v string) *EventStream {
18566	s.LastModifiedDate = &v
18567	return s
18568}
18569
18570// SetLastUpdatedBy sets the LastUpdatedBy field's value.
18571func (s *EventStream) SetLastUpdatedBy(v string) *EventStream {
18572	s.LastUpdatedBy = &v
18573	return s
18574}
18575
18576// SetRoleArn sets the RoleArn field's value.
18577func (s *EventStream) SetRoleArn(v string) *EventStream {
18578	s.RoleArn = &v
18579	return s
18580}
18581
18582// Specifies a batch of endpoints and events to process.
18583type EventsBatch struct {
18584	_ struct{} `type:"structure"`
18585
18586	// A set of properties and attributes that are associated with the endpoint.
18587	//
18588	// Endpoint is a required field
18589	Endpoint *PublicEndpoint `type:"structure" required:"true"`
18590
18591	// A set of properties that are associated with the event.
18592	//
18593	// Events is a required field
18594	Events map[string]*Event `type:"map" required:"true"`
18595}
18596
18597// String returns the string representation
18598func (s EventsBatch) String() string {
18599	return awsutil.Prettify(s)
18600}
18601
18602// GoString returns the string representation
18603func (s EventsBatch) GoString() string {
18604	return s.String()
18605}
18606
18607// Validate inspects the fields of the type to determine if they are valid.
18608func (s *EventsBatch) Validate() error {
18609	invalidParams := request.ErrInvalidParams{Context: "EventsBatch"}
18610	if s.Endpoint == nil {
18611		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
18612	}
18613	if s.Events == nil {
18614		invalidParams.Add(request.NewErrParamRequired("Events"))
18615	}
18616	if s.Events != nil {
18617		for i, v := range s.Events {
18618			if v == nil {
18619				continue
18620			}
18621			if err := v.Validate(); err != nil {
18622				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams))
18623			}
18624		}
18625	}
18626
18627	if invalidParams.Len() > 0 {
18628		return invalidParams
18629	}
18630	return nil
18631}
18632
18633// SetEndpoint sets the Endpoint field's value.
18634func (s *EventsBatch) SetEndpoint(v *PublicEndpoint) *EventsBatch {
18635	s.Endpoint = v
18636	return s
18637}
18638
18639// SetEvents sets the Events field's value.
18640func (s *EventsBatch) SetEvents(v map[string]*Event) *EventsBatch {
18641	s.Events = v
18642	return s
18643}
18644
18645// Specifies a batch of events to process.
18646type EventsRequest struct {
18647	_ struct{} `type:"structure"`
18648
18649	// The batch of events to process. For each item in a batch, the endpoint ID
18650	// acts as a key that has an EventsBatch object as its value.
18651	//
18652	// BatchItem is a required field
18653	BatchItem map[string]*EventsBatch `type:"map" required:"true"`
18654}
18655
18656// String returns the string representation
18657func (s EventsRequest) String() string {
18658	return awsutil.Prettify(s)
18659}
18660
18661// GoString returns the string representation
18662func (s EventsRequest) GoString() string {
18663	return s.String()
18664}
18665
18666// Validate inspects the fields of the type to determine if they are valid.
18667func (s *EventsRequest) Validate() error {
18668	invalidParams := request.ErrInvalidParams{Context: "EventsRequest"}
18669	if s.BatchItem == nil {
18670		invalidParams.Add(request.NewErrParamRequired("BatchItem"))
18671	}
18672	if s.BatchItem != nil {
18673		for i, v := range s.BatchItem {
18674			if v == nil {
18675				continue
18676			}
18677			if err := v.Validate(); err != nil {
18678				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BatchItem", i), err.(request.ErrInvalidParams))
18679			}
18680		}
18681	}
18682
18683	if invalidParams.Len() > 0 {
18684		return invalidParams
18685	}
18686	return nil
18687}
18688
18689// SetBatchItem sets the BatchItem field's value.
18690func (s *EventsRequest) SetBatchItem(v map[string]*EventsBatch) *EventsRequest {
18691	s.BatchItem = v
18692	return s
18693}
18694
18695// Provides information about endpoints and the events that they're associated
18696// with.
18697type EventsResponse struct {
18698	_ struct{} `type:"structure"`
18699
18700	// A map that contains a multipart response for each endpoint. For each item
18701	// in this object, the endpoint ID is the key and the item response is the value.
18702	// If no item response exists, the value can also be one of the following: 202,
18703	// the request was processed successfully; or 400, the payload wasn't valid
18704	// or required fields were missing.
18705	Results map[string]*ItemResponse `type:"map"`
18706}
18707
18708// String returns the string representation
18709func (s EventsResponse) String() string {
18710	return awsutil.Prettify(s)
18711}
18712
18713// GoString returns the string representation
18714func (s EventsResponse) GoString() string {
18715	return s.String()
18716}
18717
18718// SetResults sets the Results field's value.
18719func (s *EventsResponse) SetResults(v map[string]*ItemResponse) *EventsResponse {
18720	s.Results = v
18721	return s
18722}
18723
18724// Specifies the settings for a job that exports endpoint definitions to an
18725// Amazon Simple Storage Service (Amazon S3) bucket.
18726type ExportJobRequest struct {
18727	_ struct{} `type:"structure"`
18728
18729	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
18730	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
18731	// where you want to export endpoint definitions to.
18732	//
18733	// RoleArn is a required field
18734	RoleArn *string `type:"string" required:"true"`
18735
18736	// The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket
18737	// where you want to export endpoint definitions to. This location is typically
18738	// a folder that contains multiple files. The URL should be in the following
18739	// format: s3://bucket-name/folder-name/.
18740	//
18741	// S3UrlPrefix is a required field
18742	S3UrlPrefix *string `type:"string" required:"true"`
18743
18744	// The identifier for the segment to export endpoint definitions from. If you
18745	// don't specify this value, Amazon Pinpoint exports definitions for all the
18746	// endpoints that are associated with the application.
18747	SegmentId *string `type:"string"`
18748
18749	// The version of the segment to export endpoint definitions from, if specified.
18750	SegmentVersion *int64 `type:"integer"`
18751}
18752
18753// String returns the string representation
18754func (s ExportJobRequest) String() string {
18755	return awsutil.Prettify(s)
18756}
18757
18758// GoString returns the string representation
18759func (s ExportJobRequest) GoString() string {
18760	return s.String()
18761}
18762
18763// Validate inspects the fields of the type to determine if they are valid.
18764func (s *ExportJobRequest) Validate() error {
18765	invalidParams := request.ErrInvalidParams{Context: "ExportJobRequest"}
18766	if s.RoleArn == nil {
18767		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
18768	}
18769	if s.S3UrlPrefix == nil {
18770		invalidParams.Add(request.NewErrParamRequired("S3UrlPrefix"))
18771	}
18772
18773	if invalidParams.Len() > 0 {
18774		return invalidParams
18775	}
18776	return nil
18777}
18778
18779// SetRoleArn sets the RoleArn field's value.
18780func (s *ExportJobRequest) SetRoleArn(v string) *ExportJobRequest {
18781	s.RoleArn = &v
18782	return s
18783}
18784
18785// SetS3UrlPrefix sets the S3UrlPrefix field's value.
18786func (s *ExportJobRequest) SetS3UrlPrefix(v string) *ExportJobRequest {
18787	s.S3UrlPrefix = &v
18788	return s
18789}
18790
18791// SetSegmentId sets the SegmentId field's value.
18792func (s *ExportJobRequest) SetSegmentId(v string) *ExportJobRequest {
18793	s.SegmentId = &v
18794	return s
18795}
18796
18797// SetSegmentVersion sets the SegmentVersion field's value.
18798func (s *ExportJobRequest) SetSegmentVersion(v int64) *ExportJobRequest {
18799	s.SegmentVersion = &v
18800	return s
18801}
18802
18803// Provides information about the resource settings for a job that exports endpoint
18804// definitions to a file. The file can be added directly to an Amazon Simple
18805// Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API or downloaded
18806// directly to a computer by using the Amazon Pinpoint console.
18807type ExportJobResource struct {
18808	_ struct{} `type:"structure"`
18809
18810	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
18811	// (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location
18812	// where the endpoint definitions were exported to.
18813	//
18814	// RoleArn is a required field
18815	RoleArn *string `type:"string" required:"true"`
18816
18817	// The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket
18818	// where the endpoint definitions were exported to. This location is typically
18819	// a folder that contains multiple files. The URL should be in the following
18820	// format: s3://bucket-name/folder-name/.
18821	//
18822	// S3UrlPrefix is a required field
18823	S3UrlPrefix *string `type:"string" required:"true"`
18824
18825	// The identifier for the segment that the endpoint definitions were exported
18826	// from. If this value isn't present, Amazon Pinpoint exported definitions for
18827	// all the endpoints that are associated with the application.
18828	SegmentId *string `type:"string"`
18829
18830	// The version of the segment that the endpoint definitions were exported from.
18831	SegmentVersion *int64 `type:"integer"`
18832}
18833
18834// String returns the string representation
18835func (s ExportJobResource) String() string {
18836	return awsutil.Prettify(s)
18837}
18838
18839// GoString returns the string representation
18840func (s ExportJobResource) GoString() string {
18841	return s.String()
18842}
18843
18844// SetRoleArn sets the RoleArn field's value.
18845func (s *ExportJobResource) SetRoleArn(v string) *ExportJobResource {
18846	s.RoleArn = &v
18847	return s
18848}
18849
18850// SetS3UrlPrefix sets the S3UrlPrefix field's value.
18851func (s *ExportJobResource) SetS3UrlPrefix(v string) *ExportJobResource {
18852	s.S3UrlPrefix = &v
18853	return s
18854}
18855
18856// SetSegmentId sets the SegmentId field's value.
18857func (s *ExportJobResource) SetSegmentId(v string) *ExportJobResource {
18858	s.SegmentId = &v
18859	return s
18860}
18861
18862// SetSegmentVersion sets the SegmentVersion field's value.
18863func (s *ExportJobResource) SetSegmentVersion(v int64) *ExportJobResource {
18864	s.SegmentVersion = &v
18865	return s
18866}
18867
18868// Provides information about the status and settings of a job that exports
18869// endpoint definitions to a file. The file can be added directly to an Amazon
18870// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
18871// or downloaded directly to a computer by using the Amazon Pinpoint console.
18872type ExportJobResponse struct {
18873	_ struct{} `type:"structure"`
18874
18875	// The unique identifier for the application that's associated with the export
18876	// job.
18877	//
18878	// ApplicationId is a required field
18879	ApplicationId *string `type:"string" required:"true"`
18880
18881	// The number of pieces that were processed successfully (completed) by the
18882	// export job, as of the time of the request.
18883	CompletedPieces *int64 `type:"integer"`
18884
18885	// The date, in ISO 8601 format, when the export job was completed.
18886	CompletionDate *string `type:"string"`
18887
18888	// The date, in ISO 8601 format, when the export job was created.
18889	//
18890	// CreationDate is a required field
18891	CreationDate *string `type:"string" required:"true"`
18892
18893	// The resource settings that apply to the export job.
18894	//
18895	// Definition is a required field
18896	Definition *ExportJobResource `type:"structure" required:"true"`
18897
18898	// The number of pieces that weren't processed successfully (failed) by the
18899	// export job, as of the time of the request.
18900	FailedPieces *int64 `type:"integer"`
18901
18902	// An array of entries, one for each of the first 100 entries that weren't processed
18903	// successfully (failed) by the export job, if any.
18904	Failures []*string `type:"list"`
18905
18906	// The unique identifier for the export job.
18907	//
18908	// Id is a required field
18909	Id *string `type:"string" required:"true"`
18910
18911	// The status of the export job. The job status is FAILED if Amazon Pinpoint
18912	// wasn't able to process one or more pieces in the job.
18913	//
18914	// JobStatus is a required field
18915	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
18916
18917	// The total number of endpoint definitions that weren't processed successfully
18918	// (failed) by the export job, typically because an error, such as a syntax
18919	// error, occurred.
18920	TotalFailures *int64 `type:"integer"`
18921
18922	// The total number of pieces that must be processed to complete the export
18923	// job. Each piece consists of an approximately equal portion of the endpoint
18924	// definitions that are part of the export job.
18925	TotalPieces *int64 `type:"integer"`
18926
18927	// The total number of endpoint definitions that were processed by the export
18928	// job.
18929	TotalProcessed *int64 `type:"integer"`
18930
18931	// The job type. This value is EXPORT for export jobs.
18932	//
18933	// Type is a required field
18934	Type *string `type:"string" required:"true"`
18935}
18936
18937// String returns the string representation
18938func (s ExportJobResponse) String() string {
18939	return awsutil.Prettify(s)
18940}
18941
18942// GoString returns the string representation
18943func (s ExportJobResponse) GoString() string {
18944	return s.String()
18945}
18946
18947// SetApplicationId sets the ApplicationId field's value.
18948func (s *ExportJobResponse) SetApplicationId(v string) *ExportJobResponse {
18949	s.ApplicationId = &v
18950	return s
18951}
18952
18953// SetCompletedPieces sets the CompletedPieces field's value.
18954func (s *ExportJobResponse) SetCompletedPieces(v int64) *ExportJobResponse {
18955	s.CompletedPieces = &v
18956	return s
18957}
18958
18959// SetCompletionDate sets the CompletionDate field's value.
18960func (s *ExportJobResponse) SetCompletionDate(v string) *ExportJobResponse {
18961	s.CompletionDate = &v
18962	return s
18963}
18964
18965// SetCreationDate sets the CreationDate field's value.
18966func (s *ExportJobResponse) SetCreationDate(v string) *ExportJobResponse {
18967	s.CreationDate = &v
18968	return s
18969}
18970
18971// SetDefinition sets the Definition field's value.
18972func (s *ExportJobResponse) SetDefinition(v *ExportJobResource) *ExportJobResponse {
18973	s.Definition = v
18974	return s
18975}
18976
18977// SetFailedPieces sets the FailedPieces field's value.
18978func (s *ExportJobResponse) SetFailedPieces(v int64) *ExportJobResponse {
18979	s.FailedPieces = &v
18980	return s
18981}
18982
18983// SetFailures sets the Failures field's value.
18984func (s *ExportJobResponse) SetFailures(v []*string) *ExportJobResponse {
18985	s.Failures = v
18986	return s
18987}
18988
18989// SetId sets the Id field's value.
18990func (s *ExportJobResponse) SetId(v string) *ExportJobResponse {
18991	s.Id = &v
18992	return s
18993}
18994
18995// SetJobStatus sets the JobStatus field's value.
18996func (s *ExportJobResponse) SetJobStatus(v string) *ExportJobResponse {
18997	s.JobStatus = &v
18998	return s
18999}
19000
19001// SetTotalFailures sets the TotalFailures field's value.
19002func (s *ExportJobResponse) SetTotalFailures(v int64) *ExportJobResponse {
19003	s.TotalFailures = &v
19004	return s
19005}
19006
19007// SetTotalPieces sets the TotalPieces field's value.
19008func (s *ExportJobResponse) SetTotalPieces(v int64) *ExportJobResponse {
19009	s.TotalPieces = &v
19010	return s
19011}
19012
19013// SetTotalProcessed sets the TotalProcessed field's value.
19014func (s *ExportJobResponse) SetTotalProcessed(v int64) *ExportJobResponse {
19015	s.TotalProcessed = &v
19016	return s
19017}
19018
19019// SetType sets the Type field's value.
19020func (s *ExportJobResponse) SetType(v string) *ExportJobResponse {
19021	s.Type = &v
19022	return s
19023}
19024
19025// Provides information about all the export jobs that are associated with an
19026// application or segment. An export job is a job that exports endpoint definitions
19027// to a file.
19028type ExportJobsResponse struct {
19029	_ struct{} `type:"structure"`
19030
19031	// An array of responses, one for each export job that's associated with the
19032	// application (Export Jobs resource) or segment (Segment Export Jobs resource).
19033	//
19034	// Item is a required field
19035	Item []*ExportJobResponse `type:"list" required:"true"`
19036
19037	// The string to use in a subsequent request to get the next page of results
19038	// in a paginated response. This value is null if there are no additional pages.
19039	NextToken *string `type:"string"`
19040}
19041
19042// String returns the string representation
19043func (s ExportJobsResponse) String() string {
19044	return awsutil.Prettify(s)
19045}
19046
19047// GoString returns the string representation
19048func (s ExportJobsResponse) GoString() string {
19049	return s.String()
19050}
19051
19052// SetItem sets the Item field's value.
19053func (s *ExportJobsResponse) SetItem(v []*ExportJobResponse) *ExportJobsResponse {
19054	s.Item = v
19055	return s
19056}
19057
19058// SetNextToken sets the NextToken field's value.
19059func (s *ExportJobsResponse) SetNextToken(v string) *ExportJobsResponse {
19060	s.NextToken = &v
19061	return s
19062}
19063
19064// Specifies the status and settings of the GCM channel for an application.
19065// This channel enables Amazon Pinpoint to send push notifications through the
19066// Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.
19067type GCMChannelRequest struct {
19068	_ struct{} `type:"structure"`
19069
19070	// The Web API Key, also referred to as an API_KEY or server key, that you received
19071	// from Google to communicate with Google services.
19072	//
19073	// ApiKey is a required field
19074	ApiKey *string `type:"string" required:"true"`
19075
19076	// Specifies whether to enable the GCM channel for the application.
19077	Enabled *bool `type:"boolean"`
19078}
19079
19080// String returns the string representation
19081func (s GCMChannelRequest) String() string {
19082	return awsutil.Prettify(s)
19083}
19084
19085// GoString returns the string representation
19086func (s GCMChannelRequest) GoString() string {
19087	return s.String()
19088}
19089
19090// Validate inspects the fields of the type to determine if they are valid.
19091func (s *GCMChannelRequest) Validate() error {
19092	invalidParams := request.ErrInvalidParams{Context: "GCMChannelRequest"}
19093	if s.ApiKey == nil {
19094		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
19095	}
19096
19097	if invalidParams.Len() > 0 {
19098		return invalidParams
19099	}
19100	return nil
19101}
19102
19103// SetApiKey sets the ApiKey field's value.
19104func (s *GCMChannelRequest) SetApiKey(v string) *GCMChannelRequest {
19105	s.ApiKey = &v
19106	return s
19107}
19108
19109// SetEnabled sets the Enabled field's value.
19110func (s *GCMChannelRequest) SetEnabled(v bool) *GCMChannelRequest {
19111	s.Enabled = &v
19112	return s
19113}
19114
19115// Provides information about the status and settings of the GCM channel for
19116// an application. The GCM channel enables Amazon Pinpoint to send push notifications
19117// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
19118// (GCM), service.
19119type GCMChannelResponse struct {
19120	_ struct{} `type:"structure"`
19121
19122	// The unique identifier for the application that the GCM channel applies to.
19123	ApplicationId *string `type:"string"`
19124
19125	// The date and time when the GCM channel was enabled.
19126	CreationDate *string `type:"string"`
19127
19128	// The Web API Key, also referred to as an API_KEY or server key, that you received
19129	// from Google to communicate with Google services.
19130	//
19131	// Credential is a required field
19132	Credential *string `type:"string" required:"true"`
19133
19134	// Specifies whether the GCM channel is enabled for the application.
19135	Enabled *bool `type:"boolean"`
19136
19137	// (Not used) This property is retained only for backward compatibility.
19138	HasCredential *bool `type:"boolean"`
19139
19140	// (Deprecated) An identifier for the GCM channel. This property is retained
19141	// only for backward compatibility.
19142	Id *string `type:"string"`
19143
19144	// Specifies whether the GCM channel is archived.
19145	IsArchived *bool `type:"boolean"`
19146
19147	// The user who last modified the GCM channel.
19148	LastModifiedBy *string `type:"string"`
19149
19150	// The date and time when the GCM channel was last modified.
19151	LastModifiedDate *string `type:"string"`
19152
19153	// The type of messaging or notification platform for the channel. For the GCM
19154	// channel, this value is GCM.
19155	//
19156	// Platform is a required field
19157	Platform *string `type:"string" required:"true"`
19158
19159	// The current version of the GCM channel.
19160	Version *int64 `type:"integer"`
19161}
19162
19163// String returns the string representation
19164func (s GCMChannelResponse) String() string {
19165	return awsutil.Prettify(s)
19166}
19167
19168// GoString returns the string representation
19169func (s GCMChannelResponse) GoString() string {
19170	return s.String()
19171}
19172
19173// SetApplicationId sets the ApplicationId field's value.
19174func (s *GCMChannelResponse) SetApplicationId(v string) *GCMChannelResponse {
19175	s.ApplicationId = &v
19176	return s
19177}
19178
19179// SetCreationDate sets the CreationDate field's value.
19180func (s *GCMChannelResponse) SetCreationDate(v string) *GCMChannelResponse {
19181	s.CreationDate = &v
19182	return s
19183}
19184
19185// SetCredential sets the Credential field's value.
19186func (s *GCMChannelResponse) SetCredential(v string) *GCMChannelResponse {
19187	s.Credential = &v
19188	return s
19189}
19190
19191// SetEnabled sets the Enabled field's value.
19192func (s *GCMChannelResponse) SetEnabled(v bool) *GCMChannelResponse {
19193	s.Enabled = &v
19194	return s
19195}
19196
19197// SetHasCredential sets the HasCredential field's value.
19198func (s *GCMChannelResponse) SetHasCredential(v bool) *GCMChannelResponse {
19199	s.HasCredential = &v
19200	return s
19201}
19202
19203// SetId sets the Id field's value.
19204func (s *GCMChannelResponse) SetId(v string) *GCMChannelResponse {
19205	s.Id = &v
19206	return s
19207}
19208
19209// SetIsArchived sets the IsArchived field's value.
19210func (s *GCMChannelResponse) SetIsArchived(v bool) *GCMChannelResponse {
19211	s.IsArchived = &v
19212	return s
19213}
19214
19215// SetLastModifiedBy sets the LastModifiedBy field's value.
19216func (s *GCMChannelResponse) SetLastModifiedBy(v string) *GCMChannelResponse {
19217	s.LastModifiedBy = &v
19218	return s
19219}
19220
19221// SetLastModifiedDate sets the LastModifiedDate field's value.
19222func (s *GCMChannelResponse) SetLastModifiedDate(v string) *GCMChannelResponse {
19223	s.LastModifiedDate = &v
19224	return s
19225}
19226
19227// SetPlatform sets the Platform field's value.
19228func (s *GCMChannelResponse) SetPlatform(v string) *GCMChannelResponse {
19229	s.Platform = &v
19230	return s
19231}
19232
19233// SetVersion sets the Version field's value.
19234func (s *GCMChannelResponse) SetVersion(v int64) *GCMChannelResponse {
19235	s.Version = &v
19236	return s
19237}
19238
19239// Specifies the settings for a one-time message that's sent directly to an
19240// endpoint through the GCM channel. The GCM channel enables Amazon Pinpoint
19241// to send messages to the Firebase Cloud Messaging (FCM), formerly Google Cloud
19242// Messaging (GCM), service.
19243type GCMMessage struct {
19244	_ struct{} `type:"structure"`
19245
19246	// The action to occur if the recipient taps the push notification. Valid values
19247	// are:
19248	//
19249	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
19250	//    sent to the background. This is the default action.
19251	//
19252	//    * DEEP_LINK - Your app opens and displays a designated user interface
19253	//    in the app. This action uses the deep-linking features of the Android
19254	//    platform.
19255	//
19256	//    * URL - The default mobile browser on the recipient's device opens and
19257	//    loads the web page at a URL that you specify.
19258	Action *string `type:"string" enum:"Action"`
19259
19260	// The body of the notification message.
19261	Body *string `type:"string"`
19262
19263	// An arbitrary string that identifies a group of messages that can be collapsed
19264	// to ensure that only the last message is sent when delivery can resume. This
19265	// helps avoid sending too many instances of the same messages when the recipient's
19266	// device comes online again or becomes active.
19267	//
19268	// Amazon Pinpoint specifies this value in the Firebase Cloud Messaging (FCM)
19269	// collapse_key parameter when it sends the notification message to FCM.
19270	CollapseKey *string `type:"string"`
19271
19272	// The JSON data payload to use for the push notification, if the notification
19273	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
19274	// object of the notification.
19275	Data map[string]*string `type:"map"`
19276
19277	// The icon image name of the asset saved in your app.
19278	IconReference *string `type:"string"`
19279
19280	// The URL of the large icon image to display in the content view of the push
19281	// notification.
19282	ImageIconUrl *string `type:"string"`
19283
19284	// The URL of an image to display in the push notification.
19285	ImageUrl *string `type:"string"`
19286
19287	// para>normal - The notification might be delayed. Delivery is optimized for
19288	// battery usage on the recipient's device. Use this value unless immediate
19289	// delivery is required.
19290	// /listitem>
19291	// high - The notification is sent immediately and might wake a sleeping device.
19292	// /para>
19293	// Amazon Pinpoint specifies this value in the FCM priority parameter when it
19294	// sends the notification message to FCM.
19295	//
19296	// The equivalent values for Apple Push Notification service (APNs) are 5, for
19297	// normal, and 10, for high. If you specify an APNs value for this property,
19298	// Amazon Pinpoint accepts and converts the value to the corresponding FCM value.
19299	Priority *string `type:"string"`
19300
19301	// The raw, JSON-formatted string to use as the payload for the notification
19302	// message. If specified, this value overrides all other content for the message.
19303	RawContent *string `type:"string"`
19304
19305	// The package name of the application where registration tokens must match
19306	// in order for the recipient to receive the message.
19307	RestrictedPackageName *string `type:"string"`
19308
19309	// Specifies whether the notification is a silent push notification, which is
19310	// a push notification that doesn't display on a recipient's device. Silent
19311	// push notifications can be used for cases such as updating an app's configuration
19312	// or supporting phone home functionality.
19313	SilentPush *bool `type:"boolean"`
19314
19315	// The URL of the small icon image to display in the status bar and the content
19316	// view of the push notification.
19317	SmallImageIconUrl *string `type:"string"`
19318
19319	// The sound to play when the recipient receives the push notification. You
19320	// can use the default stream or specify the file name of a sound resource that's
19321	// bundled in your app. On an Android platform, the sound file must reside in
19322	// /res/raw/.
19323	Sound *string `type:"string"`
19324
19325	// The default message variables to use in the notification message. You can
19326	// override the default variables with individual address variables.
19327	Substitutions map[string][]*string `type:"map"`
19328
19329	// The amount of time, in seconds, that FCM should store and attempt to deliver
19330	// the push notification, if the service is unable to deliver the notification
19331	// the first time. If you don't specify this value, FCM defaults to the maximum
19332	// value, which is 2,419,200 seconds (28 days).
19333	//
19334	// Amazon Pinpoint specifies this value in the FCM time_to_live parameter when
19335	// it sends the notification message to FCM.
19336	TimeToLive *int64 `type:"integer"`
19337
19338	// The title to display above the notification message on the recipient's device.
19339	Title *string `type:"string"`
19340
19341	// The URL to open in the recipient's default mobile browser, if a recipient
19342	// taps the push notification and the value of the Action property is URL.
19343	Url *string `type:"string"`
19344}
19345
19346// String returns the string representation
19347func (s GCMMessage) String() string {
19348	return awsutil.Prettify(s)
19349}
19350
19351// GoString returns the string representation
19352func (s GCMMessage) GoString() string {
19353	return s.String()
19354}
19355
19356// SetAction sets the Action field's value.
19357func (s *GCMMessage) SetAction(v string) *GCMMessage {
19358	s.Action = &v
19359	return s
19360}
19361
19362// SetBody sets the Body field's value.
19363func (s *GCMMessage) SetBody(v string) *GCMMessage {
19364	s.Body = &v
19365	return s
19366}
19367
19368// SetCollapseKey sets the CollapseKey field's value.
19369func (s *GCMMessage) SetCollapseKey(v string) *GCMMessage {
19370	s.CollapseKey = &v
19371	return s
19372}
19373
19374// SetData sets the Data field's value.
19375func (s *GCMMessage) SetData(v map[string]*string) *GCMMessage {
19376	s.Data = v
19377	return s
19378}
19379
19380// SetIconReference sets the IconReference field's value.
19381func (s *GCMMessage) SetIconReference(v string) *GCMMessage {
19382	s.IconReference = &v
19383	return s
19384}
19385
19386// SetImageIconUrl sets the ImageIconUrl field's value.
19387func (s *GCMMessage) SetImageIconUrl(v string) *GCMMessage {
19388	s.ImageIconUrl = &v
19389	return s
19390}
19391
19392// SetImageUrl sets the ImageUrl field's value.
19393func (s *GCMMessage) SetImageUrl(v string) *GCMMessage {
19394	s.ImageUrl = &v
19395	return s
19396}
19397
19398// SetPriority sets the Priority field's value.
19399func (s *GCMMessage) SetPriority(v string) *GCMMessage {
19400	s.Priority = &v
19401	return s
19402}
19403
19404// SetRawContent sets the RawContent field's value.
19405func (s *GCMMessage) SetRawContent(v string) *GCMMessage {
19406	s.RawContent = &v
19407	return s
19408}
19409
19410// SetRestrictedPackageName sets the RestrictedPackageName field's value.
19411func (s *GCMMessage) SetRestrictedPackageName(v string) *GCMMessage {
19412	s.RestrictedPackageName = &v
19413	return s
19414}
19415
19416// SetSilentPush sets the SilentPush field's value.
19417func (s *GCMMessage) SetSilentPush(v bool) *GCMMessage {
19418	s.SilentPush = &v
19419	return s
19420}
19421
19422// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
19423func (s *GCMMessage) SetSmallImageIconUrl(v string) *GCMMessage {
19424	s.SmallImageIconUrl = &v
19425	return s
19426}
19427
19428// SetSound sets the Sound field's value.
19429func (s *GCMMessage) SetSound(v string) *GCMMessage {
19430	s.Sound = &v
19431	return s
19432}
19433
19434// SetSubstitutions sets the Substitutions field's value.
19435func (s *GCMMessage) SetSubstitutions(v map[string][]*string) *GCMMessage {
19436	s.Substitutions = v
19437	return s
19438}
19439
19440// SetTimeToLive sets the TimeToLive field's value.
19441func (s *GCMMessage) SetTimeToLive(v int64) *GCMMessage {
19442	s.TimeToLive = &v
19443	return s
19444}
19445
19446// SetTitle sets the Title field's value.
19447func (s *GCMMessage) SetTitle(v string) *GCMMessage {
19448	s.Title = &v
19449	return s
19450}
19451
19452// SetUrl sets the Url field's value.
19453func (s *GCMMessage) SetUrl(v string) *GCMMessage {
19454	s.Url = &v
19455	return s
19456}
19457
19458// Specifies the GPS coordinates of a location.
19459type GPSCoordinates struct {
19460	_ struct{} `type:"structure"`
19461
19462	// The latitude coordinate of the location.
19463	//
19464	// Latitude is a required field
19465	Latitude *float64 `type:"double" required:"true"`
19466
19467	// The longitude coordinate of the location.
19468	//
19469	// Longitude is a required field
19470	Longitude *float64 `type:"double" required:"true"`
19471}
19472
19473// String returns the string representation
19474func (s GPSCoordinates) String() string {
19475	return awsutil.Prettify(s)
19476}
19477
19478// GoString returns the string representation
19479func (s GPSCoordinates) GoString() string {
19480	return s.String()
19481}
19482
19483// Validate inspects the fields of the type to determine if they are valid.
19484func (s *GPSCoordinates) Validate() error {
19485	invalidParams := request.ErrInvalidParams{Context: "GPSCoordinates"}
19486	if s.Latitude == nil {
19487		invalidParams.Add(request.NewErrParamRequired("Latitude"))
19488	}
19489	if s.Longitude == nil {
19490		invalidParams.Add(request.NewErrParamRequired("Longitude"))
19491	}
19492
19493	if invalidParams.Len() > 0 {
19494		return invalidParams
19495	}
19496	return nil
19497}
19498
19499// SetLatitude sets the Latitude field's value.
19500func (s *GPSCoordinates) SetLatitude(v float64) *GPSCoordinates {
19501	s.Latitude = &v
19502	return s
19503}
19504
19505// SetLongitude sets the Longitude field's value.
19506func (s *GPSCoordinates) SetLongitude(v float64) *GPSCoordinates {
19507	s.Longitude = &v
19508	return s
19509}
19510
19511// Specifies GPS-based criteria for including or excluding endpoints from a
19512// segment.
19513type GPSPointDimension struct {
19514	_ struct{} `type:"structure"`
19515
19516	// The GPS coordinates to measure distance from.
19517	//
19518	// Coordinates is a required field
19519	Coordinates *GPSCoordinates `type:"structure" required:"true"`
19520
19521	// The range, in kilometers, from the GPS coordinates.
19522	RangeInKilometers *float64 `type:"double"`
19523}
19524
19525// String returns the string representation
19526func (s GPSPointDimension) String() string {
19527	return awsutil.Prettify(s)
19528}
19529
19530// GoString returns the string representation
19531func (s GPSPointDimension) GoString() string {
19532	return s.String()
19533}
19534
19535// Validate inspects the fields of the type to determine if they are valid.
19536func (s *GPSPointDimension) Validate() error {
19537	invalidParams := request.ErrInvalidParams{Context: "GPSPointDimension"}
19538	if s.Coordinates == nil {
19539		invalidParams.Add(request.NewErrParamRequired("Coordinates"))
19540	}
19541	if s.Coordinates != nil {
19542		if err := s.Coordinates.Validate(); err != nil {
19543			invalidParams.AddNested("Coordinates", err.(request.ErrInvalidParams))
19544		}
19545	}
19546
19547	if invalidParams.Len() > 0 {
19548		return invalidParams
19549	}
19550	return nil
19551}
19552
19553// SetCoordinates sets the Coordinates field's value.
19554func (s *GPSPointDimension) SetCoordinates(v *GPSCoordinates) *GPSPointDimension {
19555	s.Coordinates = v
19556	return s
19557}
19558
19559// SetRangeInKilometers sets the RangeInKilometers field's value.
19560func (s *GPSPointDimension) SetRangeInKilometers(v float64) *GPSPointDimension {
19561	s.RangeInKilometers = &v
19562	return s
19563}
19564
19565type GetAdmChannelInput struct {
19566	_ struct{} `type:"structure"`
19567
19568	// ApplicationId is a required field
19569	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19570}
19571
19572// String returns the string representation
19573func (s GetAdmChannelInput) String() string {
19574	return awsutil.Prettify(s)
19575}
19576
19577// GoString returns the string representation
19578func (s GetAdmChannelInput) GoString() string {
19579	return s.String()
19580}
19581
19582// Validate inspects the fields of the type to determine if they are valid.
19583func (s *GetAdmChannelInput) Validate() error {
19584	invalidParams := request.ErrInvalidParams{Context: "GetAdmChannelInput"}
19585	if s.ApplicationId == nil {
19586		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19587	}
19588	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19589		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19590	}
19591
19592	if invalidParams.Len() > 0 {
19593		return invalidParams
19594	}
19595	return nil
19596}
19597
19598// SetApplicationId sets the ApplicationId field's value.
19599func (s *GetAdmChannelInput) SetApplicationId(v string) *GetAdmChannelInput {
19600	s.ApplicationId = &v
19601	return s
19602}
19603
19604type GetAdmChannelOutput struct {
19605	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
19606
19607	// Provides information about the status and settings of the ADM (Amazon Device
19608	// Messaging) channel for an application.
19609	//
19610	// ADMChannelResponse is a required field
19611	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
19612}
19613
19614// String returns the string representation
19615func (s GetAdmChannelOutput) String() string {
19616	return awsutil.Prettify(s)
19617}
19618
19619// GoString returns the string representation
19620func (s GetAdmChannelOutput) GoString() string {
19621	return s.String()
19622}
19623
19624// SetADMChannelResponse sets the ADMChannelResponse field's value.
19625func (s *GetAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *GetAdmChannelOutput {
19626	s.ADMChannelResponse = v
19627	return s
19628}
19629
19630type GetApnsChannelInput struct {
19631	_ struct{} `type:"structure"`
19632
19633	// ApplicationId is a required field
19634	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19635}
19636
19637// String returns the string representation
19638func (s GetApnsChannelInput) String() string {
19639	return awsutil.Prettify(s)
19640}
19641
19642// GoString returns the string representation
19643func (s GetApnsChannelInput) GoString() string {
19644	return s.String()
19645}
19646
19647// Validate inspects the fields of the type to determine if they are valid.
19648func (s *GetApnsChannelInput) Validate() error {
19649	invalidParams := request.ErrInvalidParams{Context: "GetApnsChannelInput"}
19650	if s.ApplicationId == nil {
19651		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19652	}
19653	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19654		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19655	}
19656
19657	if invalidParams.Len() > 0 {
19658		return invalidParams
19659	}
19660	return nil
19661}
19662
19663// SetApplicationId sets the ApplicationId field's value.
19664func (s *GetApnsChannelInput) SetApplicationId(v string) *GetApnsChannelInput {
19665	s.ApplicationId = &v
19666	return s
19667}
19668
19669type GetApnsChannelOutput struct {
19670	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
19671
19672	// Provides information about the status and settings of the APNs (Apple Push
19673	// Notification service) channel for an application.
19674	//
19675	// APNSChannelResponse is a required field
19676	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
19677}
19678
19679// String returns the string representation
19680func (s GetApnsChannelOutput) String() string {
19681	return awsutil.Prettify(s)
19682}
19683
19684// GoString returns the string representation
19685func (s GetApnsChannelOutput) GoString() string {
19686	return s.String()
19687}
19688
19689// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
19690func (s *GetApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *GetApnsChannelOutput {
19691	s.APNSChannelResponse = v
19692	return s
19693}
19694
19695type GetApnsSandboxChannelInput struct {
19696	_ struct{} `type:"structure"`
19697
19698	// ApplicationId is a required field
19699	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19700}
19701
19702// String returns the string representation
19703func (s GetApnsSandboxChannelInput) String() string {
19704	return awsutil.Prettify(s)
19705}
19706
19707// GoString returns the string representation
19708func (s GetApnsSandboxChannelInput) GoString() string {
19709	return s.String()
19710}
19711
19712// Validate inspects the fields of the type to determine if they are valid.
19713func (s *GetApnsSandboxChannelInput) Validate() error {
19714	invalidParams := request.ErrInvalidParams{Context: "GetApnsSandboxChannelInput"}
19715	if s.ApplicationId == nil {
19716		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19717	}
19718	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19719		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19720	}
19721
19722	if invalidParams.Len() > 0 {
19723		return invalidParams
19724	}
19725	return nil
19726}
19727
19728// SetApplicationId sets the ApplicationId field's value.
19729func (s *GetApnsSandboxChannelInput) SetApplicationId(v string) *GetApnsSandboxChannelInput {
19730	s.ApplicationId = &v
19731	return s
19732}
19733
19734type GetApnsSandboxChannelOutput struct {
19735	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
19736
19737	// Provides information about the status and settings of the APNs (Apple Push
19738	// Notification service) sandbox channel for an application.
19739	//
19740	// APNSSandboxChannelResponse is a required field
19741	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
19742}
19743
19744// String returns the string representation
19745func (s GetApnsSandboxChannelOutput) String() string {
19746	return awsutil.Prettify(s)
19747}
19748
19749// GoString returns the string representation
19750func (s GetApnsSandboxChannelOutput) GoString() string {
19751	return s.String()
19752}
19753
19754// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
19755func (s *GetApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *GetApnsSandboxChannelOutput {
19756	s.APNSSandboxChannelResponse = v
19757	return s
19758}
19759
19760type GetApnsVoipChannelInput struct {
19761	_ struct{} `type:"structure"`
19762
19763	// ApplicationId is a required field
19764	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19765}
19766
19767// String returns the string representation
19768func (s GetApnsVoipChannelInput) String() string {
19769	return awsutil.Prettify(s)
19770}
19771
19772// GoString returns the string representation
19773func (s GetApnsVoipChannelInput) GoString() string {
19774	return s.String()
19775}
19776
19777// Validate inspects the fields of the type to determine if they are valid.
19778func (s *GetApnsVoipChannelInput) Validate() error {
19779	invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipChannelInput"}
19780	if s.ApplicationId == nil {
19781		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19782	}
19783	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19784		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19785	}
19786
19787	if invalidParams.Len() > 0 {
19788		return invalidParams
19789	}
19790	return nil
19791}
19792
19793// SetApplicationId sets the ApplicationId field's value.
19794func (s *GetApnsVoipChannelInput) SetApplicationId(v string) *GetApnsVoipChannelInput {
19795	s.ApplicationId = &v
19796	return s
19797}
19798
19799type GetApnsVoipChannelOutput struct {
19800	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
19801
19802	// Provides information about the status and settings of the APNs (Apple Push
19803	// Notification service) VoIP channel for an application.
19804	//
19805	// APNSVoipChannelResponse is a required field
19806	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
19807}
19808
19809// String returns the string representation
19810func (s GetApnsVoipChannelOutput) String() string {
19811	return awsutil.Prettify(s)
19812}
19813
19814// GoString returns the string representation
19815func (s GetApnsVoipChannelOutput) GoString() string {
19816	return s.String()
19817}
19818
19819// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
19820func (s *GetApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *GetApnsVoipChannelOutput {
19821	s.APNSVoipChannelResponse = v
19822	return s
19823}
19824
19825type GetApnsVoipSandboxChannelInput struct {
19826	_ struct{} `type:"structure"`
19827
19828	// ApplicationId is a required field
19829	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19830}
19831
19832// String returns the string representation
19833func (s GetApnsVoipSandboxChannelInput) String() string {
19834	return awsutil.Prettify(s)
19835}
19836
19837// GoString returns the string representation
19838func (s GetApnsVoipSandboxChannelInput) GoString() string {
19839	return s.String()
19840}
19841
19842// Validate inspects the fields of the type to determine if they are valid.
19843func (s *GetApnsVoipSandboxChannelInput) Validate() error {
19844	invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipSandboxChannelInput"}
19845	if s.ApplicationId == nil {
19846		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19847	}
19848	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19849		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19850	}
19851
19852	if invalidParams.Len() > 0 {
19853		return invalidParams
19854	}
19855	return nil
19856}
19857
19858// SetApplicationId sets the ApplicationId field's value.
19859func (s *GetApnsVoipSandboxChannelInput) SetApplicationId(v string) *GetApnsVoipSandboxChannelInput {
19860	s.ApplicationId = &v
19861	return s
19862}
19863
19864type GetApnsVoipSandboxChannelOutput struct {
19865	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
19866
19867	// Provides information about the status and settings of the APNs (Apple Push
19868	// Notification service) VoIP sandbox channel for an application.
19869	//
19870	// APNSVoipSandboxChannelResponse is a required field
19871	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
19872}
19873
19874// String returns the string representation
19875func (s GetApnsVoipSandboxChannelOutput) String() string {
19876	return awsutil.Prettify(s)
19877}
19878
19879// GoString returns the string representation
19880func (s GetApnsVoipSandboxChannelOutput) GoString() string {
19881	return s.String()
19882}
19883
19884// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
19885func (s *GetApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *GetApnsVoipSandboxChannelOutput {
19886	s.APNSVoipSandboxChannelResponse = v
19887	return s
19888}
19889
19890type GetAppInput struct {
19891	_ struct{} `type:"structure"`
19892
19893	// ApplicationId is a required field
19894	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19895}
19896
19897// String returns the string representation
19898func (s GetAppInput) String() string {
19899	return awsutil.Prettify(s)
19900}
19901
19902// GoString returns the string representation
19903func (s GetAppInput) GoString() string {
19904	return s.String()
19905}
19906
19907// Validate inspects the fields of the type to determine if they are valid.
19908func (s *GetAppInput) Validate() error {
19909	invalidParams := request.ErrInvalidParams{Context: "GetAppInput"}
19910	if s.ApplicationId == nil {
19911		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19912	}
19913	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19914		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19915	}
19916
19917	if invalidParams.Len() > 0 {
19918		return invalidParams
19919	}
19920	return nil
19921}
19922
19923// SetApplicationId sets the ApplicationId field's value.
19924func (s *GetAppInput) SetApplicationId(v string) *GetAppInput {
19925	s.ApplicationId = &v
19926	return s
19927}
19928
19929type GetAppOutput struct {
19930	_ struct{} `type:"structure" payload:"ApplicationResponse"`
19931
19932	// Provides information about an application.
19933	//
19934	// ApplicationResponse is a required field
19935	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
19936}
19937
19938// String returns the string representation
19939func (s GetAppOutput) String() string {
19940	return awsutil.Prettify(s)
19941}
19942
19943// GoString returns the string representation
19944func (s GetAppOutput) GoString() string {
19945	return s.String()
19946}
19947
19948// SetApplicationResponse sets the ApplicationResponse field's value.
19949func (s *GetAppOutput) SetApplicationResponse(v *ApplicationResponse) *GetAppOutput {
19950	s.ApplicationResponse = v
19951	return s
19952}
19953
19954type GetApplicationDateRangeKpiInput struct {
19955	_ struct{} `type:"structure"`
19956
19957	// ApplicationId is a required field
19958	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19959
19960	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
19961
19962	// KpiName is a required field
19963	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
19964
19965	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
19966
19967	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
19968
19969	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
19970}
19971
19972// String returns the string representation
19973func (s GetApplicationDateRangeKpiInput) String() string {
19974	return awsutil.Prettify(s)
19975}
19976
19977// GoString returns the string representation
19978func (s GetApplicationDateRangeKpiInput) GoString() string {
19979	return s.String()
19980}
19981
19982// Validate inspects the fields of the type to determine if they are valid.
19983func (s *GetApplicationDateRangeKpiInput) Validate() error {
19984	invalidParams := request.ErrInvalidParams{Context: "GetApplicationDateRangeKpiInput"}
19985	if s.ApplicationId == nil {
19986		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19987	}
19988	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19989		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19990	}
19991	if s.KpiName == nil {
19992		invalidParams.Add(request.NewErrParamRequired("KpiName"))
19993	}
19994	if s.KpiName != nil && len(*s.KpiName) < 1 {
19995		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
19996	}
19997
19998	if invalidParams.Len() > 0 {
19999		return invalidParams
20000	}
20001	return nil
20002}
20003
20004// SetApplicationId sets the ApplicationId field's value.
20005func (s *GetApplicationDateRangeKpiInput) SetApplicationId(v string) *GetApplicationDateRangeKpiInput {
20006	s.ApplicationId = &v
20007	return s
20008}
20009
20010// SetEndTime sets the EndTime field's value.
20011func (s *GetApplicationDateRangeKpiInput) SetEndTime(v time.Time) *GetApplicationDateRangeKpiInput {
20012	s.EndTime = &v
20013	return s
20014}
20015
20016// SetKpiName sets the KpiName field's value.
20017func (s *GetApplicationDateRangeKpiInput) SetKpiName(v string) *GetApplicationDateRangeKpiInput {
20018	s.KpiName = &v
20019	return s
20020}
20021
20022// SetNextToken sets the NextToken field's value.
20023func (s *GetApplicationDateRangeKpiInput) SetNextToken(v string) *GetApplicationDateRangeKpiInput {
20024	s.NextToken = &v
20025	return s
20026}
20027
20028// SetPageSize sets the PageSize field's value.
20029func (s *GetApplicationDateRangeKpiInput) SetPageSize(v string) *GetApplicationDateRangeKpiInput {
20030	s.PageSize = &v
20031	return s
20032}
20033
20034// SetStartTime sets the StartTime field's value.
20035func (s *GetApplicationDateRangeKpiInput) SetStartTime(v time.Time) *GetApplicationDateRangeKpiInput {
20036	s.StartTime = &v
20037	return s
20038}
20039
20040type GetApplicationDateRangeKpiOutput struct {
20041	_ struct{} `type:"structure" payload:"ApplicationDateRangeKpiResponse"`
20042
20043	// Provides the results of a query that retrieved the data for a standard metric
20044	// that applies to an application, and provides information about that query.
20045	//
20046	// ApplicationDateRangeKpiResponse is a required field
20047	ApplicationDateRangeKpiResponse *ApplicationDateRangeKpiResponse `type:"structure" required:"true"`
20048}
20049
20050// String returns the string representation
20051func (s GetApplicationDateRangeKpiOutput) String() string {
20052	return awsutil.Prettify(s)
20053}
20054
20055// GoString returns the string representation
20056func (s GetApplicationDateRangeKpiOutput) GoString() string {
20057	return s.String()
20058}
20059
20060// SetApplicationDateRangeKpiResponse sets the ApplicationDateRangeKpiResponse field's value.
20061func (s *GetApplicationDateRangeKpiOutput) SetApplicationDateRangeKpiResponse(v *ApplicationDateRangeKpiResponse) *GetApplicationDateRangeKpiOutput {
20062	s.ApplicationDateRangeKpiResponse = v
20063	return s
20064}
20065
20066type GetApplicationSettingsInput struct {
20067	_ struct{} `type:"structure"`
20068
20069	// ApplicationId is a required field
20070	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
20071}
20072
20073// String returns the string representation
20074func (s GetApplicationSettingsInput) String() string {
20075	return awsutil.Prettify(s)
20076}
20077
20078// GoString returns the string representation
20079func (s GetApplicationSettingsInput) GoString() string {
20080	return s.String()
20081}
20082
20083// Validate inspects the fields of the type to determine if they are valid.
20084func (s *GetApplicationSettingsInput) Validate() error {
20085	invalidParams := request.ErrInvalidParams{Context: "GetApplicationSettingsInput"}
20086	if s.ApplicationId == nil {
20087		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
20088	}
20089	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
20090		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
20091	}
20092
20093	if invalidParams.Len() > 0 {
20094		return invalidParams
20095	}
20096	return nil
20097}
20098
20099// SetApplicationId sets the ApplicationId field's value.
20100func (s *GetApplicationSettingsInput) SetApplicationId(v string) *GetApplicationSettingsInput {
20101	s.ApplicationId = &v
20102	return s
20103}
20104
20105type GetApplicationSettingsOutput struct {
20106	_ struct{} `type:"structure" payload:"ApplicationSettingsResource"`
20107
20108	// Provides information about an application, including the default settings
20109	// for an application.
20110	//
20111	// ApplicationSettingsResource is a required field
20112	ApplicationSettingsResource *ApplicationSettingsResource `type:"structure" required:"true"`
20113}
20114
20115// String returns the string representation
20116func (s GetApplicationSettingsOutput) String() string {
20117	return awsutil.Prettify(s)
20118}
20119
20120// GoString returns the string representation
20121func (s GetApplicationSettingsOutput) GoString() string {
20122	return s.String()
20123}
20124
20125// SetApplicationSettingsResource sets the ApplicationSettingsResource field's value.
20126func (s *GetApplicationSettingsOutput) SetApplicationSettingsResource(v *ApplicationSettingsResource) *GetApplicationSettingsOutput {
20127	s.ApplicationSettingsResource = v
20128	return s
20129}
20130
20131type GetAppsInput struct {
20132	_ struct{} `type:"structure"`
20133
20134	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
20135
20136	Token *string `location:"querystring" locationName:"token" type:"string"`
20137}
20138
20139// String returns the string representation
20140func (s GetAppsInput) String() string {
20141	return awsutil.Prettify(s)
20142}
20143
20144// GoString returns the string representation
20145func (s GetAppsInput) GoString() string {
20146	return s.String()
20147}
20148
20149// SetPageSize sets the PageSize field's value.
20150func (s *GetAppsInput) SetPageSize(v string) *GetAppsInput {
20151	s.PageSize = &v
20152	return s
20153}
20154
20155// SetToken sets the Token field's value.
20156func (s *GetAppsInput) SetToken(v string) *GetAppsInput {
20157	s.Token = &v
20158	return s
20159}
20160
20161type GetAppsOutput struct {
20162	_ struct{} `type:"structure" payload:"ApplicationsResponse"`
20163
20164	// Provides information about all of your applications.
20165	//
20166	// ApplicationsResponse is a required field
20167	ApplicationsResponse *ApplicationsResponse `type:"structure" required:"true"`
20168}
20169
20170// String returns the string representation
20171func (s GetAppsOutput) String() string {
20172	return awsutil.Prettify(s)
20173}
20174
20175// GoString returns the string representation
20176func (s GetAppsOutput) GoString() string {
20177	return s.String()
20178}
20179
20180// SetApplicationsResponse sets the ApplicationsResponse field's value.
20181func (s *GetAppsOutput) SetApplicationsResponse(v *ApplicationsResponse) *GetAppsOutput {
20182	s.ApplicationsResponse = v
20183	return s
20184}
20185
20186type GetBaiduChannelInput struct {
20187	_ struct{} `type:"structure"`
20188
20189	// ApplicationId is a required field
20190	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
20191}
20192
20193// String returns the string representation
20194func (s GetBaiduChannelInput) String() string {
20195	return awsutil.Prettify(s)
20196}
20197
20198// GoString returns the string representation
20199func (s GetBaiduChannelInput) GoString() string {
20200	return s.String()
20201}
20202
20203// Validate inspects the fields of the type to determine if they are valid.
20204func (s *GetBaiduChannelInput) Validate() error {
20205	invalidParams := request.ErrInvalidParams{Context: "GetBaiduChannelInput"}
20206	if s.ApplicationId == nil {
20207		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
20208	}
20209	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
20210		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
20211	}
20212
20213	if invalidParams.Len() > 0 {
20214		return invalidParams
20215	}
20216	return nil
20217}
20218
20219// SetApplicationId sets the ApplicationId field's value.
20220func (s *GetBaiduChannelInput) SetApplicationId(v string) *GetBaiduChannelInput {
20221	s.ApplicationId = &v
20222	return s
20223}
20224
20225type GetBaiduChannelOutput struct {
20226	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
20227
20228	// Provides information about the status and settings of the Baidu (Baidu Cloud
20229	// Push) channel for an application.
20230	//
20231	// BaiduChannelResponse is a required field
20232	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
20233}
20234
20235// String returns the string representation
20236func (s GetBaiduChannelOutput) String() string {
20237	return awsutil.Prettify(s)
20238}
20239
20240// GoString returns the string representation
20241func (s GetBaiduChannelOutput) GoString() string {
20242	return s.String()
20243}
20244
20245// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
20246func (s *GetBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *GetBaiduChannelOutput {
20247	s.BaiduChannelResponse = v
20248	return s
20249}
20250
20251type GetCampaignActivitiesInput struct {
20252	_ struct{} `type:"structure"`
20253
20254	// ApplicationId is a required field
20255	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
20256
20257	// CampaignId is a required field
20258	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
20259
20260	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
20261
20262	Token *string `location:"querystring" locationName:"token" type:"string"`
20263}
20264
20265// String returns the string representation
20266func (s GetCampaignActivitiesInput) String() string {
20267	return awsutil.Prettify(s)
20268}
20269
20270// GoString returns the string representation
20271func (s GetCampaignActivitiesInput) GoString() string {
20272	return s.String()
20273}
20274
20275// Validate inspects the fields of the type to determine if they are valid.
20276func (s *GetCampaignActivitiesInput) Validate() error {
20277	invalidParams := request.ErrInvalidParams{Context: "GetCampaignActivitiesInput"}
20278	if s.ApplicationId == nil {
20279		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
20280	}
20281	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
20282		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
20283	}
20284	if s.CampaignId == nil {
20285		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
20286	}
20287	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
20288		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
20289	}
20290
20291	if invalidParams.Len() > 0 {
20292		return invalidParams
20293	}
20294	return nil
20295}
20296
20297// SetApplicationId sets the ApplicationId field's value.
20298func (s *GetCampaignActivitiesInput) SetApplicationId(v string) *GetCampaignActivitiesInput {
20299	s.ApplicationId = &v
20300	return s
20301}
20302
20303// SetCampaignId sets the CampaignId field's value.
20304func (s *GetCampaignActivitiesInput) SetCampaignId(v string) *GetCampaignActivitiesInput {
20305	s.CampaignId = &v
20306	return s
20307}
20308
20309// SetPageSize sets the PageSize field's value.
20310func (s *GetCampaignActivitiesInput) SetPageSize(v string) *GetCampaignActivitiesInput {
20311	s.PageSize = &v
20312	return s
20313}
20314
20315// SetToken sets the Token field's value.
20316func (s *GetCampaignActivitiesInput) SetToken(v string) *GetCampaignActivitiesInput {
20317	s.Token = &v
20318	return s
20319}
20320
20321type GetCampaignActivitiesOutput struct {
20322	_ struct{} `type:"structure" payload:"ActivitiesResponse"`
20323
20324	// Provides information about the activities that were performed by a campaign.
20325	//
20326	// ActivitiesResponse is a required field
20327	ActivitiesResponse *ActivitiesResponse `type:"structure" required:"true"`
20328}
20329
20330// String returns the string representation
20331func (s GetCampaignActivitiesOutput) String() string {
20332	return awsutil.Prettify(s)
20333}
20334
20335// GoString returns the string representation
20336func (s GetCampaignActivitiesOutput) GoString() string {
20337	return s.String()
20338}
20339
20340// SetActivitiesResponse sets the ActivitiesResponse field's value.
20341func (s *GetCampaignActivitiesOutput) SetActivitiesResponse(v *ActivitiesResponse) *GetCampaignActivitiesOutput {
20342	s.ActivitiesResponse = v
20343	return s
20344}
20345
20346type GetCampaignDateRangeKpiInput struct {
20347	_ struct{} `type:"structure"`
20348
20349	// ApplicationId is a required field
20350	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
20351
20352	// CampaignId is a required field
20353	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
20354
20355	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
20356
20357	// KpiName is a required field
20358	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
20359
20360	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
20361
20362	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
20363
20364	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
20365}
20366
20367// String returns the string representation
20368func (s GetCampaignDateRangeKpiInput) String() string {
20369	return awsutil.Prettify(s)
20370}
20371
20372// GoString returns the string representation
20373func (s GetCampaignDateRangeKpiInput) GoString() string {
20374	return s.String()
20375}
20376
20377// Validate inspects the fields of the type to determine if they are valid.
20378func (s *GetCampaignDateRangeKpiInput) Validate() error {
20379	invalidParams := request.ErrInvalidParams{Context: "GetCampaignDateRangeKpiInput"}
20380	if s.ApplicationId == nil {
20381		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
20382	}
20383	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
20384		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
20385	}
20386	if s.CampaignId == nil {
20387		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
20388	}
20389	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
20390		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
20391	}
20392	if s.KpiName == nil {
20393		invalidParams.Add(request.NewErrParamRequired("KpiName"))
20394	}
20395	if s.KpiName != nil && len(*s.KpiName) < 1 {
20396		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
20397	}
20398
20399	if invalidParams.Len() > 0 {
20400		return invalidParams
20401	}
20402	return nil
20403}
20404
20405// SetApplicationId sets the ApplicationId field's value.
20406func (s *GetCampaignDateRangeKpiInput) SetApplicationId(v string) *GetCampaignDateRangeKpiInput {
20407	s.ApplicationId = &v
20408	return s
20409}
20410
20411// SetCampaignId sets the CampaignId field's value.
20412func (s *GetCampaignDateRangeKpiInput) SetCampaignId(v string) *GetCampaignDateRangeKpiInput {
20413	s.CampaignId = &v
20414	return s
20415}
20416
20417// SetEndTime sets the EndTime field's value.
20418func (s *GetCampaignDateRangeKpiInput) SetEndTime(v time.Time) *GetCampaignDateRangeKpiInput {
20419	s.EndTime = &v
20420	return s
20421}
20422
20423// SetKpiName sets the KpiName field's value.
20424func (s *GetCampaignDateRangeKpiInput) SetKpiName(v string) *GetCampaignDateRangeKpiInput {
20425	s.KpiName = &v
20426	return s
20427}
20428
20429// SetNextToken sets the NextToken field's value.
20430func (s *GetCampaignDateRangeKpiInput) SetNextToken(v string) *GetCampaignDateRangeKpiInput {
20431	s.NextToken = &v
20432	return s
20433}
20434
20435// SetPageSize sets the PageSize field's value.
20436func (s *GetCampaignDateRangeKpiInput) SetPageSize(v string) *GetCampaignDateRangeKpiInput {
20437	s.PageSize = &v
20438	return s
20439}
20440
20441// SetStartTime sets the StartTime field's value.
20442func (s *GetCampaignDateRangeKpiInput) SetStartTime(v time.Time) *GetCampaignDateRangeKpiInput {
20443	s.StartTime = &v
20444	return s
20445}
20446
20447type GetCampaignDateRangeKpiOutput struct {
20448	_ struct{} `type:"structure" payload:"CampaignDateRangeKpiResponse"`
20449
20450	// Provides the results of a query that retrieved the data for a standard metric
20451	// that applies to a campaign, and provides information about that query.
20452	//
20453	// CampaignDateRangeKpiResponse is a required field
20454	CampaignDateRangeKpiResponse *CampaignDateRangeKpiResponse `type:"structure" required:"true"`
20455}
20456
20457// String returns the string representation
20458func (s GetCampaignDateRangeKpiOutput) String() string {
20459	return awsutil.Prettify(s)
20460}
20461
20462// GoString returns the string representation
20463func (s GetCampaignDateRangeKpiOutput) GoString() string {
20464	return s.String()
20465}
20466
20467// SetCampaignDateRangeKpiResponse sets the CampaignDateRangeKpiResponse field's value.
20468func (s *GetCampaignDateRangeKpiOutput) SetCampaignDateRangeKpiResponse(v *CampaignDateRangeKpiResponse) *GetCampaignDateRangeKpiOutput {
20469	s.CampaignDateRangeKpiResponse = v
20470	return s
20471}
20472
20473type GetCampaignInput struct {
20474	_ struct{} `type:"structure"`
20475
20476	// ApplicationId is a required field
20477	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
20478
20479	// CampaignId is a required field
20480	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
20481}
20482
20483// String returns the string representation
20484func (s GetCampaignInput) String() string {
20485	return awsutil.Prettify(s)
20486}
20487
20488// GoString returns the string representation
20489func (s GetCampaignInput) GoString() string {
20490	return s.String()
20491}
20492
20493// Validate inspects the fields of the type to determine if they are valid.
20494func (s *GetCampaignInput) Validate() error {
20495	invalidParams := request.ErrInvalidParams{Context: "GetCampaignInput"}
20496	if s.ApplicationId == nil {
20497		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
20498	}
20499	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
20500		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
20501	}
20502	if s.CampaignId == nil {
20503		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
20504	}
20505	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
20506		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
20507	}
20508
20509	if invalidParams.Len() > 0 {
20510		return invalidParams
20511	}
20512	return nil
20513}
20514
20515// SetApplicationId sets the ApplicationId field's value.
20516func (s *GetCampaignInput) SetApplicationId(v string) *GetCampaignInput {
20517	s.ApplicationId = &v
20518	return s
20519}
20520
20521// SetCampaignId sets the CampaignId field's value.
20522func (s *GetCampaignInput) SetCampaignId(v string) *GetCampaignInput {
20523	s.CampaignId = &v
20524	return s
20525}
20526
20527type GetCampaignOutput struct {
20528	_ struct{} `type:"structure" payload:"CampaignResponse"`
20529
20530	// Provides information about the status, configuration, and other settings
20531	// for a campaign.
20532	//
20533	// CampaignResponse is a required field
20534	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
20535}
20536
20537// String returns the string representation
20538func (s GetCampaignOutput) String() string {
20539	return awsutil.Prettify(s)
20540}
20541
20542// GoString returns the string representation
20543func (s GetCampaignOutput) GoString() string {
20544	return s.String()
20545}
20546
20547// SetCampaignResponse sets the CampaignResponse field's value.
20548func (s *GetCampaignOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignOutput {
20549	s.CampaignResponse = v
20550	return s
20551}
20552
20553type GetCampaignVersionInput struct {
20554	_ struct{} `type:"structure"`
20555
20556	// ApplicationId is a required field
20557	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
20558
20559	// CampaignId is a required field
20560	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
20561
20562	// Version is a required field
20563	Version *string `location:"uri" locationName:"version" type:"string" required:"true"`
20564}
20565
20566// String returns the string representation
20567func (s GetCampaignVersionInput) String() string {
20568	return awsutil.Prettify(s)
20569}
20570
20571// GoString returns the string representation
20572func (s GetCampaignVersionInput) GoString() string {
20573	return s.String()
20574}
20575
20576// Validate inspects the fields of the type to determine if they are valid.
20577func (s *GetCampaignVersionInput) Validate() error {
20578	invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionInput"}
20579	if s.ApplicationId == nil {
20580		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
20581	}
20582	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
20583		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
20584	}
20585	if s.CampaignId == nil {
20586		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
20587	}
20588	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
20589		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
20590	}
20591	if s.Version == nil {
20592		invalidParams.Add(request.NewErrParamRequired("Version"))
20593	}
20594	if s.Version != nil && len(*s.Version) < 1 {
20595		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
20596	}
20597
20598	if invalidParams.Len() > 0 {
20599		return invalidParams
20600	}
20601	return nil
20602}
20603
20604// SetApplicationId sets the ApplicationId field's value.
20605func (s *GetCampaignVersionInput) SetApplicationId(v string) *GetCampaignVersionInput {
20606	s.ApplicationId = &v
20607	return s
20608}
20609
20610// SetCampaignId sets the CampaignId field's value.
20611func (s *GetCampaignVersionInput) SetCampaignId(v string) *GetCampaignVersionInput {
20612	s.CampaignId = &v
20613	return s
20614}
20615
20616// SetVersion sets the Version field's value.
20617func (s *GetCampaignVersionInput) SetVersion(v string) *GetCampaignVersionInput {
20618	s.Version = &v
20619	return s
20620}
20621
20622type GetCampaignVersionOutput struct {
20623	_ struct{} `type:"structure" payload:"CampaignResponse"`
20624
20625	// Provides information about the status, configuration, and other settings
20626	// for a campaign.
20627	//
20628	// CampaignResponse is a required field
20629	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
20630}
20631
20632// String returns the string representation
20633func (s GetCampaignVersionOutput) String() string {
20634	return awsutil.Prettify(s)
20635}
20636
20637// GoString returns the string representation
20638func (s GetCampaignVersionOutput) GoString() string {
20639	return s.String()
20640}
20641
20642// SetCampaignResponse sets the CampaignResponse field's value.
20643func (s *GetCampaignVersionOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignVersionOutput {
20644	s.CampaignResponse = v
20645	return s
20646}
20647
20648type GetCampaignVersionsInput struct {
20649	_ struct{} `type:"structure"`
20650
20651	// ApplicationId is a required field
20652	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
20653
20654	// CampaignId is a required field
20655	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
20656
20657	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
20658
20659	Token *string `location:"querystring" locationName:"token" type:"string"`
20660}
20661
20662// String returns the string representation
20663func (s GetCampaignVersionsInput) String() string {
20664	return awsutil.Prettify(s)
20665}
20666
20667// GoString returns the string representation
20668func (s GetCampaignVersionsInput) GoString() string {
20669	return s.String()
20670}
20671
20672// Validate inspects the fields of the type to determine if they are valid.
20673func (s *GetCampaignVersionsInput) Validate() error {
20674	invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionsInput"}
20675	if s.ApplicationId == nil {
20676		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
20677	}
20678	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
20679		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
20680	}
20681	if s.CampaignId == nil {
20682		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
20683	}
20684	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
20685		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
20686	}
20687
20688	if invalidParams.Len() > 0 {
20689		return invalidParams
20690	}
20691	return nil
20692}
20693
20694// SetApplicationId sets the ApplicationId field's value.
20695func (s *GetCampaignVersionsInput) SetApplicationId(v string) *GetCampaignVersionsInput {
20696	s.ApplicationId = &v
20697	return s
20698}
20699
20700// SetCampaignId sets the CampaignId field's value.
20701func (s *GetCampaignVersionsInput) SetCampaignId(v string) *GetCampaignVersionsInput {
20702	s.CampaignId = &v
20703	return s
20704}
20705
20706// SetPageSize sets the PageSize field's value.
20707func (s *GetCampaignVersionsInput) SetPageSize(v string) *GetCampaignVersionsInput {
20708	s.PageSize = &v
20709	return s
20710}
20711
20712// SetToken sets the Token field's value.
20713func (s *GetCampaignVersionsInput) SetToken(v string) *GetCampaignVersionsInput {
20714	s.Token = &v
20715	return s
20716}
20717
20718type GetCampaignVersionsOutput struct {
20719	_ struct{} `type:"structure" payload:"CampaignsResponse"`
20720
20721	// Provides information about the configuration and other settings for all the
20722	// campaigns that are associated with an application.
20723	//
20724	// CampaignsResponse is a required field
20725	CampaignsResponse *CampaignsResponse `type:"structure" required:"true"`
20726}
20727
20728// String returns the string representation
20729func (s GetCampaignVersionsOutput) String() string {
20730	return awsutil.Prettify(s)
20731}
20732
20733// GoString returns the string representation
20734func (s GetCampaignVersionsOutput) GoString() string {
20735	return s.String()
20736}
20737
20738// SetCampaignsResponse sets the CampaignsResponse field's value.
20739func (s *GetCampaignVersionsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignVersionsOutput {
20740	s.CampaignsResponse = v
20741	return s
20742}
20743
20744type GetCampaignsInput struct {
20745	_ struct{} `type:"structure"`
20746
20747	// ApplicationId is a required field
20748	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
20749
20750	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
20751
20752	Token *string `location:"querystring" locationName:"token" type:"string"`
20753}
20754
20755// String returns the string representation
20756func (s GetCampaignsInput) String() string {
20757	return awsutil.Prettify(s)
20758}
20759
20760// GoString returns the string representation
20761func (s GetCampaignsInput) GoString() string {
20762	return s.String()
20763}
20764
20765// Validate inspects the fields of the type to determine if they are valid.
20766func (s *GetCampaignsInput) Validate() error {
20767	invalidParams := request.ErrInvalidParams{Context: "GetCampaignsInput"}
20768	if s.ApplicationId == nil {
20769		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
20770	}
20771	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
20772		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
20773	}
20774
20775	if invalidParams.Len() > 0 {
20776		return invalidParams
20777	}
20778	return nil
20779}
20780
20781// SetApplicationId sets the ApplicationId field's value.
20782func (s *GetCampaignsInput) SetApplicationId(v string) *GetCampaignsInput {
20783	s.ApplicationId = &v
20784	return s
20785}
20786
20787// SetPageSize sets the PageSize field's value.
20788func (s *GetCampaignsInput) SetPageSize(v string) *GetCampaignsInput {
20789	s.PageSize = &v
20790	return s
20791}
20792
20793// SetToken sets the Token field's value.
20794func (s *GetCampaignsInput) SetToken(v string) *GetCampaignsInput {
20795	s.Token = &v
20796	return s
20797}
20798
20799type GetCampaignsOutput struct {
20800	_ struct{} `type:"structure" payload:"CampaignsResponse"`
20801
20802	// Provides information about the configuration and other settings for all the
20803	// campaigns that are associated with an application.
20804	//
20805	// CampaignsResponse is a required field
20806	CampaignsResponse *CampaignsResponse `type:"structure" required:"true"`
20807}
20808
20809// String returns the string representation
20810func (s GetCampaignsOutput) String() string {
20811	return awsutil.Prettify(s)
20812}
20813
20814// GoString returns the string representation
20815func (s GetCampaignsOutput) GoString() string {
20816	return s.String()
20817}
20818
20819// SetCampaignsResponse sets the CampaignsResponse field's value.
20820func (s *GetCampaignsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignsOutput {
20821	s.CampaignsResponse = v
20822	return s
20823}
20824
20825type GetChannelsInput struct {
20826	_ struct{} `type:"structure"`
20827
20828	// ApplicationId is a required field
20829	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
20830}
20831
20832// String returns the string representation
20833func (s GetChannelsInput) String() string {
20834	return awsutil.Prettify(s)
20835}
20836
20837// GoString returns the string representation
20838func (s GetChannelsInput) GoString() string {
20839	return s.String()
20840}
20841
20842// Validate inspects the fields of the type to determine if they are valid.
20843func (s *GetChannelsInput) Validate() error {
20844	invalidParams := request.ErrInvalidParams{Context: "GetChannelsInput"}
20845	if s.ApplicationId == nil {
20846		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
20847	}
20848	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
20849		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
20850	}
20851
20852	if invalidParams.Len() > 0 {
20853		return invalidParams
20854	}
20855	return nil
20856}
20857
20858// SetApplicationId sets the ApplicationId field's value.
20859func (s *GetChannelsInput) SetApplicationId(v string) *GetChannelsInput {
20860	s.ApplicationId = &v
20861	return s
20862}
20863
20864type GetChannelsOutput struct {
20865	_ struct{} `type:"structure" payload:"ChannelsResponse"`
20866
20867	// Provides information about the general settings and status of all channels
20868	// for an application, including channels that aren't enabled for the application.
20869	//
20870	// ChannelsResponse is a required field
20871	ChannelsResponse *ChannelsResponse `type:"structure" required:"true"`
20872}
20873
20874// String returns the string representation
20875func (s GetChannelsOutput) String() string {
20876	return awsutil.Prettify(s)
20877}
20878
20879// GoString returns the string representation
20880func (s GetChannelsOutput) GoString() string {
20881	return s.String()
20882}
20883
20884// SetChannelsResponse sets the ChannelsResponse field's value.
20885func (s *GetChannelsOutput) SetChannelsResponse(v *ChannelsResponse) *GetChannelsOutput {
20886	s.ChannelsResponse = v
20887	return s
20888}
20889
20890type GetEmailChannelInput struct {
20891	_ struct{} `type:"structure"`
20892
20893	// ApplicationId is a required field
20894	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
20895}
20896
20897// String returns the string representation
20898func (s GetEmailChannelInput) String() string {
20899	return awsutil.Prettify(s)
20900}
20901
20902// GoString returns the string representation
20903func (s GetEmailChannelInput) GoString() string {
20904	return s.String()
20905}
20906
20907// Validate inspects the fields of the type to determine if they are valid.
20908func (s *GetEmailChannelInput) Validate() error {
20909	invalidParams := request.ErrInvalidParams{Context: "GetEmailChannelInput"}
20910	if s.ApplicationId == nil {
20911		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
20912	}
20913	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
20914		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
20915	}
20916
20917	if invalidParams.Len() > 0 {
20918		return invalidParams
20919	}
20920	return nil
20921}
20922
20923// SetApplicationId sets the ApplicationId field's value.
20924func (s *GetEmailChannelInput) SetApplicationId(v string) *GetEmailChannelInput {
20925	s.ApplicationId = &v
20926	return s
20927}
20928
20929type GetEmailChannelOutput struct {
20930	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
20931
20932	// Provides information about the status and settings of the email channel for
20933	// an application.
20934	//
20935	// EmailChannelResponse is a required field
20936	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
20937}
20938
20939// String returns the string representation
20940func (s GetEmailChannelOutput) String() string {
20941	return awsutil.Prettify(s)
20942}
20943
20944// GoString returns the string representation
20945func (s GetEmailChannelOutput) GoString() string {
20946	return s.String()
20947}
20948
20949// SetEmailChannelResponse sets the EmailChannelResponse field's value.
20950func (s *GetEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *GetEmailChannelOutput {
20951	s.EmailChannelResponse = v
20952	return s
20953}
20954
20955type GetEmailTemplateInput struct {
20956	_ struct{} `type:"structure"`
20957
20958	// TemplateName is a required field
20959	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
20960
20961	Version *string `location:"querystring" locationName:"version" type:"string"`
20962}
20963
20964// String returns the string representation
20965func (s GetEmailTemplateInput) String() string {
20966	return awsutil.Prettify(s)
20967}
20968
20969// GoString returns the string representation
20970func (s GetEmailTemplateInput) GoString() string {
20971	return s.String()
20972}
20973
20974// Validate inspects the fields of the type to determine if they are valid.
20975func (s *GetEmailTemplateInput) Validate() error {
20976	invalidParams := request.ErrInvalidParams{Context: "GetEmailTemplateInput"}
20977	if s.TemplateName == nil {
20978		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
20979	}
20980	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
20981		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
20982	}
20983
20984	if invalidParams.Len() > 0 {
20985		return invalidParams
20986	}
20987	return nil
20988}
20989
20990// SetTemplateName sets the TemplateName field's value.
20991func (s *GetEmailTemplateInput) SetTemplateName(v string) *GetEmailTemplateInput {
20992	s.TemplateName = &v
20993	return s
20994}
20995
20996// SetVersion sets the Version field's value.
20997func (s *GetEmailTemplateInput) SetVersion(v string) *GetEmailTemplateInput {
20998	s.Version = &v
20999	return s
21000}
21001
21002type GetEmailTemplateOutput struct {
21003	_ struct{} `type:"structure" payload:"EmailTemplateResponse"`
21004
21005	// Provides information about the content and settings for a message template
21006	// that can be used in messages that are sent through the email channel.
21007	//
21008	// EmailTemplateResponse is a required field
21009	EmailTemplateResponse *EmailTemplateResponse `type:"structure" required:"true"`
21010}
21011
21012// String returns the string representation
21013func (s GetEmailTemplateOutput) String() string {
21014	return awsutil.Prettify(s)
21015}
21016
21017// GoString returns the string representation
21018func (s GetEmailTemplateOutput) GoString() string {
21019	return s.String()
21020}
21021
21022// SetEmailTemplateResponse sets the EmailTemplateResponse field's value.
21023func (s *GetEmailTemplateOutput) SetEmailTemplateResponse(v *EmailTemplateResponse) *GetEmailTemplateOutput {
21024	s.EmailTemplateResponse = v
21025	return s
21026}
21027
21028type GetEndpointInput struct {
21029	_ struct{} `type:"structure"`
21030
21031	// ApplicationId is a required field
21032	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21033
21034	// EndpointId is a required field
21035	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
21036}
21037
21038// String returns the string representation
21039func (s GetEndpointInput) String() string {
21040	return awsutil.Prettify(s)
21041}
21042
21043// GoString returns the string representation
21044func (s GetEndpointInput) GoString() string {
21045	return s.String()
21046}
21047
21048// Validate inspects the fields of the type to determine if they are valid.
21049func (s *GetEndpointInput) Validate() error {
21050	invalidParams := request.ErrInvalidParams{Context: "GetEndpointInput"}
21051	if s.ApplicationId == nil {
21052		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21053	}
21054	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21055		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21056	}
21057	if s.EndpointId == nil {
21058		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
21059	}
21060	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
21061		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
21062	}
21063
21064	if invalidParams.Len() > 0 {
21065		return invalidParams
21066	}
21067	return nil
21068}
21069
21070// SetApplicationId sets the ApplicationId field's value.
21071func (s *GetEndpointInput) SetApplicationId(v string) *GetEndpointInput {
21072	s.ApplicationId = &v
21073	return s
21074}
21075
21076// SetEndpointId sets the EndpointId field's value.
21077func (s *GetEndpointInput) SetEndpointId(v string) *GetEndpointInput {
21078	s.EndpointId = &v
21079	return s
21080}
21081
21082type GetEndpointOutput struct {
21083	_ struct{} `type:"structure" payload:"EndpointResponse"`
21084
21085	// Provides information about the channel type and other settings for an endpoint.
21086	//
21087	// EndpointResponse is a required field
21088	EndpointResponse *EndpointResponse `type:"structure" required:"true"`
21089}
21090
21091// String returns the string representation
21092func (s GetEndpointOutput) String() string {
21093	return awsutil.Prettify(s)
21094}
21095
21096// GoString returns the string representation
21097func (s GetEndpointOutput) GoString() string {
21098	return s.String()
21099}
21100
21101// SetEndpointResponse sets the EndpointResponse field's value.
21102func (s *GetEndpointOutput) SetEndpointResponse(v *EndpointResponse) *GetEndpointOutput {
21103	s.EndpointResponse = v
21104	return s
21105}
21106
21107type GetEventStreamInput struct {
21108	_ struct{} `type:"structure"`
21109
21110	// ApplicationId is a required field
21111	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21112}
21113
21114// String returns the string representation
21115func (s GetEventStreamInput) String() string {
21116	return awsutil.Prettify(s)
21117}
21118
21119// GoString returns the string representation
21120func (s GetEventStreamInput) GoString() string {
21121	return s.String()
21122}
21123
21124// Validate inspects the fields of the type to determine if they are valid.
21125func (s *GetEventStreamInput) Validate() error {
21126	invalidParams := request.ErrInvalidParams{Context: "GetEventStreamInput"}
21127	if s.ApplicationId == nil {
21128		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21129	}
21130	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21131		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21132	}
21133
21134	if invalidParams.Len() > 0 {
21135		return invalidParams
21136	}
21137	return nil
21138}
21139
21140// SetApplicationId sets the ApplicationId field's value.
21141func (s *GetEventStreamInput) SetApplicationId(v string) *GetEventStreamInput {
21142	s.ApplicationId = &v
21143	return s
21144}
21145
21146type GetEventStreamOutput struct {
21147	_ struct{} `type:"structure" payload:"EventStream"`
21148
21149	// Specifies settings for publishing event data to an Amazon Kinesis data stream
21150	// or an Amazon Kinesis Data Firehose delivery stream.
21151	//
21152	// EventStream is a required field
21153	EventStream *EventStream `type:"structure" required:"true"`
21154}
21155
21156// String returns the string representation
21157func (s GetEventStreamOutput) String() string {
21158	return awsutil.Prettify(s)
21159}
21160
21161// GoString returns the string representation
21162func (s GetEventStreamOutput) GoString() string {
21163	return s.String()
21164}
21165
21166// SetEventStream sets the EventStream field's value.
21167func (s *GetEventStreamOutput) SetEventStream(v *EventStream) *GetEventStreamOutput {
21168	s.EventStream = v
21169	return s
21170}
21171
21172type GetExportJobInput struct {
21173	_ struct{} `type:"structure"`
21174
21175	// ApplicationId is a required field
21176	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21177
21178	// JobId is a required field
21179	JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"`
21180}
21181
21182// String returns the string representation
21183func (s GetExportJobInput) String() string {
21184	return awsutil.Prettify(s)
21185}
21186
21187// GoString returns the string representation
21188func (s GetExportJobInput) GoString() string {
21189	return s.String()
21190}
21191
21192// Validate inspects the fields of the type to determine if they are valid.
21193func (s *GetExportJobInput) Validate() error {
21194	invalidParams := request.ErrInvalidParams{Context: "GetExportJobInput"}
21195	if s.ApplicationId == nil {
21196		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21197	}
21198	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21199		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21200	}
21201	if s.JobId == nil {
21202		invalidParams.Add(request.NewErrParamRequired("JobId"))
21203	}
21204	if s.JobId != nil && len(*s.JobId) < 1 {
21205		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
21206	}
21207
21208	if invalidParams.Len() > 0 {
21209		return invalidParams
21210	}
21211	return nil
21212}
21213
21214// SetApplicationId sets the ApplicationId field's value.
21215func (s *GetExportJobInput) SetApplicationId(v string) *GetExportJobInput {
21216	s.ApplicationId = &v
21217	return s
21218}
21219
21220// SetJobId sets the JobId field's value.
21221func (s *GetExportJobInput) SetJobId(v string) *GetExportJobInput {
21222	s.JobId = &v
21223	return s
21224}
21225
21226type GetExportJobOutput struct {
21227	_ struct{} `type:"structure" payload:"ExportJobResponse"`
21228
21229	// Provides information about the status and settings of a job that exports
21230	// endpoint definitions to a file. The file can be added directly to an Amazon
21231	// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
21232	// or downloaded directly to a computer by using the Amazon Pinpoint console.
21233	//
21234	// ExportJobResponse is a required field
21235	ExportJobResponse *ExportJobResponse `type:"structure" required:"true"`
21236}
21237
21238// String returns the string representation
21239func (s GetExportJobOutput) String() string {
21240	return awsutil.Prettify(s)
21241}
21242
21243// GoString returns the string representation
21244func (s GetExportJobOutput) GoString() string {
21245	return s.String()
21246}
21247
21248// SetExportJobResponse sets the ExportJobResponse field's value.
21249func (s *GetExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *GetExportJobOutput {
21250	s.ExportJobResponse = v
21251	return s
21252}
21253
21254type GetExportJobsInput struct {
21255	_ struct{} `type:"structure"`
21256
21257	// ApplicationId is a required field
21258	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21259
21260	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
21261
21262	Token *string `location:"querystring" locationName:"token" type:"string"`
21263}
21264
21265// String returns the string representation
21266func (s GetExportJobsInput) String() string {
21267	return awsutil.Prettify(s)
21268}
21269
21270// GoString returns the string representation
21271func (s GetExportJobsInput) GoString() string {
21272	return s.String()
21273}
21274
21275// Validate inspects the fields of the type to determine if they are valid.
21276func (s *GetExportJobsInput) Validate() error {
21277	invalidParams := request.ErrInvalidParams{Context: "GetExportJobsInput"}
21278	if s.ApplicationId == nil {
21279		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21280	}
21281	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21282		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21283	}
21284
21285	if invalidParams.Len() > 0 {
21286		return invalidParams
21287	}
21288	return nil
21289}
21290
21291// SetApplicationId sets the ApplicationId field's value.
21292func (s *GetExportJobsInput) SetApplicationId(v string) *GetExportJobsInput {
21293	s.ApplicationId = &v
21294	return s
21295}
21296
21297// SetPageSize sets the PageSize field's value.
21298func (s *GetExportJobsInput) SetPageSize(v string) *GetExportJobsInput {
21299	s.PageSize = &v
21300	return s
21301}
21302
21303// SetToken sets the Token field's value.
21304func (s *GetExportJobsInput) SetToken(v string) *GetExportJobsInput {
21305	s.Token = &v
21306	return s
21307}
21308
21309type GetExportJobsOutput struct {
21310	_ struct{} `type:"structure" payload:"ExportJobsResponse"`
21311
21312	// Provides information about all the export jobs that are associated with an
21313	// application or segment. An export job is a job that exports endpoint definitions
21314	// to a file.
21315	//
21316	// ExportJobsResponse is a required field
21317	ExportJobsResponse *ExportJobsResponse `type:"structure" required:"true"`
21318}
21319
21320// String returns the string representation
21321func (s GetExportJobsOutput) String() string {
21322	return awsutil.Prettify(s)
21323}
21324
21325// GoString returns the string representation
21326func (s GetExportJobsOutput) GoString() string {
21327	return s.String()
21328}
21329
21330// SetExportJobsResponse sets the ExportJobsResponse field's value.
21331func (s *GetExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetExportJobsOutput {
21332	s.ExportJobsResponse = v
21333	return s
21334}
21335
21336type GetGcmChannelInput struct {
21337	_ struct{} `type:"structure"`
21338
21339	// ApplicationId is a required field
21340	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21341}
21342
21343// String returns the string representation
21344func (s GetGcmChannelInput) String() string {
21345	return awsutil.Prettify(s)
21346}
21347
21348// GoString returns the string representation
21349func (s GetGcmChannelInput) GoString() string {
21350	return s.String()
21351}
21352
21353// Validate inspects the fields of the type to determine if they are valid.
21354func (s *GetGcmChannelInput) Validate() error {
21355	invalidParams := request.ErrInvalidParams{Context: "GetGcmChannelInput"}
21356	if s.ApplicationId == nil {
21357		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21358	}
21359	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21360		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21361	}
21362
21363	if invalidParams.Len() > 0 {
21364		return invalidParams
21365	}
21366	return nil
21367}
21368
21369// SetApplicationId sets the ApplicationId field's value.
21370func (s *GetGcmChannelInput) SetApplicationId(v string) *GetGcmChannelInput {
21371	s.ApplicationId = &v
21372	return s
21373}
21374
21375type GetGcmChannelOutput struct {
21376	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
21377
21378	// Provides information about the status and settings of the GCM channel for
21379	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
21380	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
21381	// (GCM), service.
21382	//
21383	// GCMChannelResponse is a required field
21384	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
21385}
21386
21387// String returns the string representation
21388func (s GetGcmChannelOutput) String() string {
21389	return awsutil.Prettify(s)
21390}
21391
21392// GoString returns the string representation
21393func (s GetGcmChannelOutput) GoString() string {
21394	return s.String()
21395}
21396
21397// SetGCMChannelResponse sets the GCMChannelResponse field's value.
21398func (s *GetGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *GetGcmChannelOutput {
21399	s.GCMChannelResponse = v
21400	return s
21401}
21402
21403type GetImportJobInput struct {
21404	_ struct{} `type:"structure"`
21405
21406	// ApplicationId is a required field
21407	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21408
21409	// JobId is a required field
21410	JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"`
21411}
21412
21413// String returns the string representation
21414func (s GetImportJobInput) String() string {
21415	return awsutil.Prettify(s)
21416}
21417
21418// GoString returns the string representation
21419func (s GetImportJobInput) GoString() string {
21420	return s.String()
21421}
21422
21423// Validate inspects the fields of the type to determine if they are valid.
21424func (s *GetImportJobInput) Validate() error {
21425	invalidParams := request.ErrInvalidParams{Context: "GetImportJobInput"}
21426	if s.ApplicationId == nil {
21427		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21428	}
21429	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21430		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21431	}
21432	if s.JobId == nil {
21433		invalidParams.Add(request.NewErrParamRequired("JobId"))
21434	}
21435	if s.JobId != nil && len(*s.JobId) < 1 {
21436		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
21437	}
21438
21439	if invalidParams.Len() > 0 {
21440		return invalidParams
21441	}
21442	return nil
21443}
21444
21445// SetApplicationId sets the ApplicationId field's value.
21446func (s *GetImportJobInput) SetApplicationId(v string) *GetImportJobInput {
21447	s.ApplicationId = &v
21448	return s
21449}
21450
21451// SetJobId sets the JobId field's value.
21452func (s *GetImportJobInput) SetJobId(v string) *GetImportJobInput {
21453	s.JobId = &v
21454	return s
21455}
21456
21457type GetImportJobOutput struct {
21458	_ struct{} `type:"structure" payload:"ImportJobResponse"`
21459
21460	// Provides information about the status and settings of a job that imports
21461	// endpoint definitions from one or more files. The files can be stored in an
21462	// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
21463	// a computer by using the Amazon Pinpoint console.
21464	//
21465	// ImportJobResponse is a required field
21466	ImportJobResponse *ImportJobResponse `type:"structure" required:"true"`
21467}
21468
21469// String returns the string representation
21470func (s GetImportJobOutput) String() string {
21471	return awsutil.Prettify(s)
21472}
21473
21474// GoString returns the string representation
21475func (s GetImportJobOutput) GoString() string {
21476	return s.String()
21477}
21478
21479// SetImportJobResponse sets the ImportJobResponse field's value.
21480func (s *GetImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *GetImportJobOutput {
21481	s.ImportJobResponse = v
21482	return s
21483}
21484
21485type GetImportJobsInput struct {
21486	_ struct{} `type:"structure"`
21487
21488	// ApplicationId is a required field
21489	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21490
21491	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
21492
21493	Token *string `location:"querystring" locationName:"token" type:"string"`
21494}
21495
21496// String returns the string representation
21497func (s GetImportJobsInput) String() string {
21498	return awsutil.Prettify(s)
21499}
21500
21501// GoString returns the string representation
21502func (s GetImportJobsInput) GoString() string {
21503	return s.String()
21504}
21505
21506// Validate inspects the fields of the type to determine if they are valid.
21507func (s *GetImportJobsInput) Validate() error {
21508	invalidParams := request.ErrInvalidParams{Context: "GetImportJobsInput"}
21509	if s.ApplicationId == nil {
21510		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21511	}
21512	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21513		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21514	}
21515
21516	if invalidParams.Len() > 0 {
21517		return invalidParams
21518	}
21519	return nil
21520}
21521
21522// SetApplicationId sets the ApplicationId field's value.
21523func (s *GetImportJobsInput) SetApplicationId(v string) *GetImportJobsInput {
21524	s.ApplicationId = &v
21525	return s
21526}
21527
21528// SetPageSize sets the PageSize field's value.
21529func (s *GetImportJobsInput) SetPageSize(v string) *GetImportJobsInput {
21530	s.PageSize = &v
21531	return s
21532}
21533
21534// SetToken sets the Token field's value.
21535func (s *GetImportJobsInput) SetToken(v string) *GetImportJobsInput {
21536	s.Token = &v
21537	return s
21538}
21539
21540type GetImportJobsOutput struct {
21541	_ struct{} `type:"structure" payload:"ImportJobsResponse"`
21542
21543	// Provides information about the status and settings of all the import jobs
21544	// that are associated with an application or segment. An import job is a job
21545	// that imports endpoint definitions from one or more files.
21546	//
21547	// ImportJobsResponse is a required field
21548	ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"`
21549}
21550
21551// String returns the string representation
21552func (s GetImportJobsOutput) String() string {
21553	return awsutil.Prettify(s)
21554}
21555
21556// GoString returns the string representation
21557func (s GetImportJobsOutput) GoString() string {
21558	return s.String()
21559}
21560
21561// SetImportJobsResponse sets the ImportJobsResponse field's value.
21562func (s *GetImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetImportJobsOutput {
21563	s.ImportJobsResponse = v
21564	return s
21565}
21566
21567type GetJourneyDateRangeKpiInput struct {
21568	_ struct{} `type:"structure"`
21569
21570	// ApplicationId is a required field
21571	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21572
21573	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
21574
21575	// JourneyId is a required field
21576	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
21577
21578	// KpiName is a required field
21579	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
21580
21581	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
21582
21583	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
21584
21585	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
21586}
21587
21588// String returns the string representation
21589func (s GetJourneyDateRangeKpiInput) String() string {
21590	return awsutil.Prettify(s)
21591}
21592
21593// GoString returns the string representation
21594func (s GetJourneyDateRangeKpiInput) GoString() string {
21595	return s.String()
21596}
21597
21598// Validate inspects the fields of the type to determine if they are valid.
21599func (s *GetJourneyDateRangeKpiInput) Validate() error {
21600	invalidParams := request.ErrInvalidParams{Context: "GetJourneyDateRangeKpiInput"}
21601	if s.ApplicationId == nil {
21602		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21603	}
21604	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21605		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21606	}
21607	if s.JourneyId == nil {
21608		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
21609	}
21610	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
21611		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
21612	}
21613	if s.KpiName == nil {
21614		invalidParams.Add(request.NewErrParamRequired("KpiName"))
21615	}
21616	if s.KpiName != nil && len(*s.KpiName) < 1 {
21617		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
21618	}
21619
21620	if invalidParams.Len() > 0 {
21621		return invalidParams
21622	}
21623	return nil
21624}
21625
21626// SetApplicationId sets the ApplicationId field's value.
21627func (s *GetJourneyDateRangeKpiInput) SetApplicationId(v string) *GetJourneyDateRangeKpiInput {
21628	s.ApplicationId = &v
21629	return s
21630}
21631
21632// SetEndTime sets the EndTime field's value.
21633func (s *GetJourneyDateRangeKpiInput) SetEndTime(v time.Time) *GetJourneyDateRangeKpiInput {
21634	s.EndTime = &v
21635	return s
21636}
21637
21638// SetJourneyId sets the JourneyId field's value.
21639func (s *GetJourneyDateRangeKpiInput) SetJourneyId(v string) *GetJourneyDateRangeKpiInput {
21640	s.JourneyId = &v
21641	return s
21642}
21643
21644// SetKpiName sets the KpiName field's value.
21645func (s *GetJourneyDateRangeKpiInput) SetKpiName(v string) *GetJourneyDateRangeKpiInput {
21646	s.KpiName = &v
21647	return s
21648}
21649
21650// SetNextToken sets the NextToken field's value.
21651func (s *GetJourneyDateRangeKpiInput) SetNextToken(v string) *GetJourneyDateRangeKpiInput {
21652	s.NextToken = &v
21653	return s
21654}
21655
21656// SetPageSize sets the PageSize field's value.
21657func (s *GetJourneyDateRangeKpiInput) SetPageSize(v string) *GetJourneyDateRangeKpiInput {
21658	s.PageSize = &v
21659	return s
21660}
21661
21662// SetStartTime sets the StartTime field's value.
21663func (s *GetJourneyDateRangeKpiInput) SetStartTime(v time.Time) *GetJourneyDateRangeKpiInput {
21664	s.StartTime = &v
21665	return s
21666}
21667
21668type GetJourneyDateRangeKpiOutput struct {
21669	_ struct{} `type:"structure" payload:"JourneyDateRangeKpiResponse"`
21670
21671	// Provides the results of a query that retrieved the data for a standard engagement
21672	// metric that applies to a journey, and provides information about that query.
21673	//
21674	// JourneyDateRangeKpiResponse is a required field
21675	JourneyDateRangeKpiResponse *JourneyDateRangeKpiResponse `type:"structure" required:"true"`
21676}
21677
21678// String returns the string representation
21679func (s GetJourneyDateRangeKpiOutput) String() string {
21680	return awsutil.Prettify(s)
21681}
21682
21683// GoString returns the string representation
21684func (s GetJourneyDateRangeKpiOutput) GoString() string {
21685	return s.String()
21686}
21687
21688// SetJourneyDateRangeKpiResponse sets the JourneyDateRangeKpiResponse field's value.
21689func (s *GetJourneyDateRangeKpiOutput) SetJourneyDateRangeKpiResponse(v *JourneyDateRangeKpiResponse) *GetJourneyDateRangeKpiOutput {
21690	s.JourneyDateRangeKpiResponse = v
21691	return s
21692}
21693
21694type GetJourneyExecutionActivityMetricsInput struct {
21695	_ struct{} `type:"structure"`
21696
21697	// ApplicationId is a required field
21698	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21699
21700	// JourneyActivityId is a required field
21701	JourneyActivityId *string `location:"uri" locationName:"journey-activity-id" type:"string" required:"true"`
21702
21703	// JourneyId is a required field
21704	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
21705
21706	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
21707
21708	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
21709}
21710
21711// String returns the string representation
21712func (s GetJourneyExecutionActivityMetricsInput) String() string {
21713	return awsutil.Prettify(s)
21714}
21715
21716// GoString returns the string representation
21717func (s GetJourneyExecutionActivityMetricsInput) GoString() string {
21718	return s.String()
21719}
21720
21721// Validate inspects the fields of the type to determine if they are valid.
21722func (s *GetJourneyExecutionActivityMetricsInput) Validate() error {
21723	invalidParams := request.ErrInvalidParams{Context: "GetJourneyExecutionActivityMetricsInput"}
21724	if s.ApplicationId == nil {
21725		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21726	}
21727	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21728		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21729	}
21730	if s.JourneyActivityId == nil {
21731		invalidParams.Add(request.NewErrParamRequired("JourneyActivityId"))
21732	}
21733	if s.JourneyActivityId != nil && len(*s.JourneyActivityId) < 1 {
21734		invalidParams.Add(request.NewErrParamMinLen("JourneyActivityId", 1))
21735	}
21736	if s.JourneyId == nil {
21737		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
21738	}
21739	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
21740		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
21741	}
21742
21743	if invalidParams.Len() > 0 {
21744		return invalidParams
21745	}
21746	return nil
21747}
21748
21749// SetApplicationId sets the ApplicationId field's value.
21750func (s *GetJourneyExecutionActivityMetricsInput) SetApplicationId(v string) *GetJourneyExecutionActivityMetricsInput {
21751	s.ApplicationId = &v
21752	return s
21753}
21754
21755// SetJourneyActivityId sets the JourneyActivityId field's value.
21756func (s *GetJourneyExecutionActivityMetricsInput) SetJourneyActivityId(v string) *GetJourneyExecutionActivityMetricsInput {
21757	s.JourneyActivityId = &v
21758	return s
21759}
21760
21761// SetJourneyId sets the JourneyId field's value.
21762func (s *GetJourneyExecutionActivityMetricsInput) SetJourneyId(v string) *GetJourneyExecutionActivityMetricsInput {
21763	s.JourneyId = &v
21764	return s
21765}
21766
21767// SetNextToken sets the NextToken field's value.
21768func (s *GetJourneyExecutionActivityMetricsInput) SetNextToken(v string) *GetJourneyExecutionActivityMetricsInput {
21769	s.NextToken = &v
21770	return s
21771}
21772
21773// SetPageSize sets the PageSize field's value.
21774func (s *GetJourneyExecutionActivityMetricsInput) SetPageSize(v string) *GetJourneyExecutionActivityMetricsInput {
21775	s.PageSize = &v
21776	return s
21777}
21778
21779type GetJourneyExecutionActivityMetricsOutput struct {
21780	_ struct{} `type:"structure" payload:"JourneyExecutionActivityMetricsResponse"`
21781
21782	// Provides the results of a query that retrieved the data for a standard execution
21783	// metric that applies to a journey activity, and provides information about
21784	// that query.
21785	//
21786	// JourneyExecutionActivityMetricsResponse is a required field
21787	JourneyExecutionActivityMetricsResponse *JourneyExecutionActivityMetricsResponse `type:"structure" required:"true"`
21788}
21789
21790// String returns the string representation
21791func (s GetJourneyExecutionActivityMetricsOutput) String() string {
21792	return awsutil.Prettify(s)
21793}
21794
21795// GoString returns the string representation
21796func (s GetJourneyExecutionActivityMetricsOutput) GoString() string {
21797	return s.String()
21798}
21799
21800// SetJourneyExecutionActivityMetricsResponse sets the JourneyExecutionActivityMetricsResponse field's value.
21801func (s *GetJourneyExecutionActivityMetricsOutput) SetJourneyExecutionActivityMetricsResponse(v *JourneyExecutionActivityMetricsResponse) *GetJourneyExecutionActivityMetricsOutput {
21802	s.JourneyExecutionActivityMetricsResponse = v
21803	return s
21804}
21805
21806type GetJourneyExecutionMetricsInput struct {
21807	_ struct{} `type:"structure"`
21808
21809	// ApplicationId is a required field
21810	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21811
21812	// JourneyId is a required field
21813	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
21814
21815	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
21816
21817	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
21818}
21819
21820// String returns the string representation
21821func (s GetJourneyExecutionMetricsInput) String() string {
21822	return awsutil.Prettify(s)
21823}
21824
21825// GoString returns the string representation
21826func (s GetJourneyExecutionMetricsInput) GoString() string {
21827	return s.String()
21828}
21829
21830// Validate inspects the fields of the type to determine if they are valid.
21831func (s *GetJourneyExecutionMetricsInput) Validate() error {
21832	invalidParams := request.ErrInvalidParams{Context: "GetJourneyExecutionMetricsInput"}
21833	if s.ApplicationId == nil {
21834		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21835	}
21836	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21837		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21838	}
21839	if s.JourneyId == nil {
21840		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
21841	}
21842	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
21843		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
21844	}
21845
21846	if invalidParams.Len() > 0 {
21847		return invalidParams
21848	}
21849	return nil
21850}
21851
21852// SetApplicationId sets the ApplicationId field's value.
21853func (s *GetJourneyExecutionMetricsInput) SetApplicationId(v string) *GetJourneyExecutionMetricsInput {
21854	s.ApplicationId = &v
21855	return s
21856}
21857
21858// SetJourneyId sets the JourneyId field's value.
21859func (s *GetJourneyExecutionMetricsInput) SetJourneyId(v string) *GetJourneyExecutionMetricsInput {
21860	s.JourneyId = &v
21861	return s
21862}
21863
21864// SetNextToken sets the NextToken field's value.
21865func (s *GetJourneyExecutionMetricsInput) SetNextToken(v string) *GetJourneyExecutionMetricsInput {
21866	s.NextToken = &v
21867	return s
21868}
21869
21870// SetPageSize sets the PageSize field's value.
21871func (s *GetJourneyExecutionMetricsInput) SetPageSize(v string) *GetJourneyExecutionMetricsInput {
21872	s.PageSize = &v
21873	return s
21874}
21875
21876type GetJourneyExecutionMetricsOutput struct {
21877	_ struct{} `type:"structure" payload:"JourneyExecutionMetricsResponse"`
21878
21879	// Provides the results of a query that retrieved the data for a standard execution
21880	// metric that applies to a journey, and provides information about that query.
21881	//
21882	// JourneyExecutionMetricsResponse is a required field
21883	JourneyExecutionMetricsResponse *JourneyExecutionMetricsResponse `type:"structure" required:"true"`
21884}
21885
21886// String returns the string representation
21887func (s GetJourneyExecutionMetricsOutput) String() string {
21888	return awsutil.Prettify(s)
21889}
21890
21891// GoString returns the string representation
21892func (s GetJourneyExecutionMetricsOutput) GoString() string {
21893	return s.String()
21894}
21895
21896// SetJourneyExecutionMetricsResponse sets the JourneyExecutionMetricsResponse field's value.
21897func (s *GetJourneyExecutionMetricsOutput) SetJourneyExecutionMetricsResponse(v *JourneyExecutionMetricsResponse) *GetJourneyExecutionMetricsOutput {
21898	s.JourneyExecutionMetricsResponse = v
21899	return s
21900}
21901
21902type GetJourneyInput struct {
21903	_ struct{} `type:"structure"`
21904
21905	// ApplicationId is a required field
21906	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21907
21908	// JourneyId is a required field
21909	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
21910}
21911
21912// String returns the string representation
21913func (s GetJourneyInput) String() string {
21914	return awsutil.Prettify(s)
21915}
21916
21917// GoString returns the string representation
21918func (s GetJourneyInput) GoString() string {
21919	return s.String()
21920}
21921
21922// Validate inspects the fields of the type to determine if they are valid.
21923func (s *GetJourneyInput) Validate() error {
21924	invalidParams := request.ErrInvalidParams{Context: "GetJourneyInput"}
21925	if s.ApplicationId == nil {
21926		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21927	}
21928	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21929		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21930	}
21931	if s.JourneyId == nil {
21932		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
21933	}
21934	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
21935		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
21936	}
21937
21938	if invalidParams.Len() > 0 {
21939		return invalidParams
21940	}
21941	return nil
21942}
21943
21944// SetApplicationId sets the ApplicationId field's value.
21945func (s *GetJourneyInput) SetApplicationId(v string) *GetJourneyInput {
21946	s.ApplicationId = &v
21947	return s
21948}
21949
21950// SetJourneyId sets the JourneyId field's value.
21951func (s *GetJourneyInput) SetJourneyId(v string) *GetJourneyInput {
21952	s.JourneyId = &v
21953	return s
21954}
21955
21956type GetJourneyOutput struct {
21957	_ struct{} `type:"structure" payload:"JourneyResponse"`
21958
21959	// Provides information about the status, configuration, and other settings
21960	// for a journey.
21961	//
21962	// JourneyResponse is a required field
21963	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
21964}
21965
21966// String returns the string representation
21967func (s GetJourneyOutput) String() string {
21968	return awsutil.Prettify(s)
21969}
21970
21971// GoString returns the string representation
21972func (s GetJourneyOutput) GoString() string {
21973	return s.String()
21974}
21975
21976// SetJourneyResponse sets the JourneyResponse field's value.
21977func (s *GetJourneyOutput) SetJourneyResponse(v *JourneyResponse) *GetJourneyOutput {
21978	s.JourneyResponse = v
21979	return s
21980}
21981
21982type GetPushTemplateInput struct {
21983	_ struct{} `type:"structure"`
21984
21985	// TemplateName is a required field
21986	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
21987
21988	Version *string `location:"querystring" locationName:"version" type:"string"`
21989}
21990
21991// String returns the string representation
21992func (s GetPushTemplateInput) String() string {
21993	return awsutil.Prettify(s)
21994}
21995
21996// GoString returns the string representation
21997func (s GetPushTemplateInput) GoString() string {
21998	return s.String()
21999}
22000
22001// Validate inspects the fields of the type to determine if they are valid.
22002func (s *GetPushTemplateInput) Validate() error {
22003	invalidParams := request.ErrInvalidParams{Context: "GetPushTemplateInput"}
22004	if s.TemplateName == nil {
22005		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
22006	}
22007	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
22008		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
22009	}
22010
22011	if invalidParams.Len() > 0 {
22012		return invalidParams
22013	}
22014	return nil
22015}
22016
22017// SetTemplateName sets the TemplateName field's value.
22018func (s *GetPushTemplateInput) SetTemplateName(v string) *GetPushTemplateInput {
22019	s.TemplateName = &v
22020	return s
22021}
22022
22023// SetVersion sets the Version field's value.
22024func (s *GetPushTemplateInput) SetVersion(v string) *GetPushTemplateInput {
22025	s.Version = &v
22026	return s
22027}
22028
22029type GetPushTemplateOutput struct {
22030	_ struct{} `type:"structure" payload:"PushNotificationTemplateResponse"`
22031
22032	// Provides information about the content and settings for a message template
22033	// that can be used in messages that are sent through a push notification channel.
22034	//
22035	// PushNotificationTemplateResponse is a required field
22036	PushNotificationTemplateResponse *PushNotificationTemplateResponse `type:"structure" required:"true"`
22037}
22038
22039// String returns the string representation
22040func (s GetPushTemplateOutput) String() string {
22041	return awsutil.Prettify(s)
22042}
22043
22044// GoString returns the string representation
22045func (s GetPushTemplateOutput) GoString() string {
22046	return s.String()
22047}
22048
22049// SetPushNotificationTemplateResponse sets the PushNotificationTemplateResponse field's value.
22050func (s *GetPushTemplateOutput) SetPushNotificationTemplateResponse(v *PushNotificationTemplateResponse) *GetPushTemplateOutput {
22051	s.PushNotificationTemplateResponse = v
22052	return s
22053}
22054
22055type GetSegmentExportJobsInput struct {
22056	_ struct{} `type:"structure"`
22057
22058	// ApplicationId is a required field
22059	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22060
22061	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
22062
22063	// SegmentId is a required field
22064	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
22065
22066	Token *string `location:"querystring" locationName:"token" type:"string"`
22067}
22068
22069// String returns the string representation
22070func (s GetSegmentExportJobsInput) String() string {
22071	return awsutil.Prettify(s)
22072}
22073
22074// GoString returns the string representation
22075func (s GetSegmentExportJobsInput) GoString() string {
22076	return s.String()
22077}
22078
22079// Validate inspects the fields of the type to determine if they are valid.
22080func (s *GetSegmentExportJobsInput) Validate() error {
22081	invalidParams := request.ErrInvalidParams{Context: "GetSegmentExportJobsInput"}
22082	if s.ApplicationId == nil {
22083		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22084	}
22085	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22086		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22087	}
22088	if s.SegmentId == nil {
22089		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
22090	}
22091	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
22092		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
22093	}
22094
22095	if invalidParams.Len() > 0 {
22096		return invalidParams
22097	}
22098	return nil
22099}
22100
22101// SetApplicationId sets the ApplicationId field's value.
22102func (s *GetSegmentExportJobsInput) SetApplicationId(v string) *GetSegmentExportJobsInput {
22103	s.ApplicationId = &v
22104	return s
22105}
22106
22107// SetPageSize sets the PageSize field's value.
22108func (s *GetSegmentExportJobsInput) SetPageSize(v string) *GetSegmentExportJobsInput {
22109	s.PageSize = &v
22110	return s
22111}
22112
22113// SetSegmentId sets the SegmentId field's value.
22114func (s *GetSegmentExportJobsInput) SetSegmentId(v string) *GetSegmentExportJobsInput {
22115	s.SegmentId = &v
22116	return s
22117}
22118
22119// SetToken sets the Token field's value.
22120func (s *GetSegmentExportJobsInput) SetToken(v string) *GetSegmentExportJobsInput {
22121	s.Token = &v
22122	return s
22123}
22124
22125type GetSegmentExportJobsOutput struct {
22126	_ struct{} `type:"structure" payload:"ExportJobsResponse"`
22127
22128	// Provides information about all the export jobs that are associated with an
22129	// application or segment. An export job is a job that exports endpoint definitions
22130	// to a file.
22131	//
22132	// ExportJobsResponse is a required field
22133	ExportJobsResponse *ExportJobsResponse `type:"structure" required:"true"`
22134}
22135
22136// String returns the string representation
22137func (s GetSegmentExportJobsOutput) String() string {
22138	return awsutil.Prettify(s)
22139}
22140
22141// GoString returns the string representation
22142func (s GetSegmentExportJobsOutput) GoString() string {
22143	return s.String()
22144}
22145
22146// SetExportJobsResponse sets the ExportJobsResponse field's value.
22147func (s *GetSegmentExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetSegmentExportJobsOutput {
22148	s.ExportJobsResponse = v
22149	return s
22150}
22151
22152type GetSegmentImportJobsInput struct {
22153	_ struct{} `type:"structure"`
22154
22155	// ApplicationId is a required field
22156	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22157
22158	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
22159
22160	// SegmentId is a required field
22161	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
22162
22163	Token *string `location:"querystring" locationName:"token" type:"string"`
22164}
22165
22166// String returns the string representation
22167func (s GetSegmentImportJobsInput) String() string {
22168	return awsutil.Prettify(s)
22169}
22170
22171// GoString returns the string representation
22172func (s GetSegmentImportJobsInput) GoString() string {
22173	return s.String()
22174}
22175
22176// Validate inspects the fields of the type to determine if they are valid.
22177func (s *GetSegmentImportJobsInput) Validate() error {
22178	invalidParams := request.ErrInvalidParams{Context: "GetSegmentImportJobsInput"}
22179	if s.ApplicationId == nil {
22180		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22181	}
22182	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22183		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22184	}
22185	if s.SegmentId == nil {
22186		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
22187	}
22188	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
22189		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
22190	}
22191
22192	if invalidParams.Len() > 0 {
22193		return invalidParams
22194	}
22195	return nil
22196}
22197
22198// SetApplicationId sets the ApplicationId field's value.
22199func (s *GetSegmentImportJobsInput) SetApplicationId(v string) *GetSegmentImportJobsInput {
22200	s.ApplicationId = &v
22201	return s
22202}
22203
22204// SetPageSize sets the PageSize field's value.
22205func (s *GetSegmentImportJobsInput) SetPageSize(v string) *GetSegmentImportJobsInput {
22206	s.PageSize = &v
22207	return s
22208}
22209
22210// SetSegmentId sets the SegmentId field's value.
22211func (s *GetSegmentImportJobsInput) SetSegmentId(v string) *GetSegmentImportJobsInput {
22212	s.SegmentId = &v
22213	return s
22214}
22215
22216// SetToken sets the Token field's value.
22217func (s *GetSegmentImportJobsInput) SetToken(v string) *GetSegmentImportJobsInput {
22218	s.Token = &v
22219	return s
22220}
22221
22222type GetSegmentImportJobsOutput struct {
22223	_ struct{} `type:"structure" payload:"ImportJobsResponse"`
22224
22225	// Provides information about the status and settings of all the import jobs
22226	// that are associated with an application or segment. An import job is a job
22227	// that imports endpoint definitions from one or more files.
22228	//
22229	// ImportJobsResponse is a required field
22230	ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"`
22231}
22232
22233// String returns the string representation
22234func (s GetSegmentImportJobsOutput) String() string {
22235	return awsutil.Prettify(s)
22236}
22237
22238// GoString returns the string representation
22239func (s GetSegmentImportJobsOutput) GoString() string {
22240	return s.String()
22241}
22242
22243// SetImportJobsResponse sets the ImportJobsResponse field's value.
22244func (s *GetSegmentImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetSegmentImportJobsOutput {
22245	s.ImportJobsResponse = v
22246	return s
22247}
22248
22249type GetSegmentInput struct {
22250	_ struct{} `type:"structure"`
22251
22252	// ApplicationId is a required field
22253	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22254
22255	// SegmentId is a required field
22256	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
22257}
22258
22259// String returns the string representation
22260func (s GetSegmentInput) String() string {
22261	return awsutil.Prettify(s)
22262}
22263
22264// GoString returns the string representation
22265func (s GetSegmentInput) GoString() string {
22266	return s.String()
22267}
22268
22269// Validate inspects the fields of the type to determine if they are valid.
22270func (s *GetSegmentInput) Validate() error {
22271	invalidParams := request.ErrInvalidParams{Context: "GetSegmentInput"}
22272	if s.ApplicationId == nil {
22273		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22274	}
22275	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22276		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22277	}
22278	if s.SegmentId == nil {
22279		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
22280	}
22281	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
22282		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
22283	}
22284
22285	if invalidParams.Len() > 0 {
22286		return invalidParams
22287	}
22288	return nil
22289}
22290
22291// SetApplicationId sets the ApplicationId field's value.
22292func (s *GetSegmentInput) SetApplicationId(v string) *GetSegmentInput {
22293	s.ApplicationId = &v
22294	return s
22295}
22296
22297// SetSegmentId sets the SegmentId field's value.
22298func (s *GetSegmentInput) SetSegmentId(v string) *GetSegmentInput {
22299	s.SegmentId = &v
22300	return s
22301}
22302
22303type GetSegmentOutput struct {
22304	_ struct{} `type:"structure" payload:"SegmentResponse"`
22305
22306	// Provides information about the configuration, dimension, and other settings
22307	// for a segment.
22308	//
22309	// SegmentResponse is a required field
22310	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
22311}
22312
22313// String returns the string representation
22314func (s GetSegmentOutput) String() string {
22315	return awsutil.Prettify(s)
22316}
22317
22318// GoString returns the string representation
22319func (s GetSegmentOutput) GoString() string {
22320	return s.String()
22321}
22322
22323// SetSegmentResponse sets the SegmentResponse field's value.
22324func (s *GetSegmentOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentOutput {
22325	s.SegmentResponse = v
22326	return s
22327}
22328
22329type GetSegmentVersionInput struct {
22330	_ struct{} `type:"structure"`
22331
22332	// ApplicationId is a required field
22333	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22334
22335	// SegmentId is a required field
22336	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
22337
22338	// Version is a required field
22339	Version *string `location:"uri" locationName:"version" type:"string" required:"true"`
22340}
22341
22342// String returns the string representation
22343func (s GetSegmentVersionInput) String() string {
22344	return awsutil.Prettify(s)
22345}
22346
22347// GoString returns the string representation
22348func (s GetSegmentVersionInput) GoString() string {
22349	return s.String()
22350}
22351
22352// Validate inspects the fields of the type to determine if they are valid.
22353func (s *GetSegmentVersionInput) Validate() error {
22354	invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionInput"}
22355	if s.ApplicationId == nil {
22356		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22357	}
22358	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22359		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22360	}
22361	if s.SegmentId == nil {
22362		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
22363	}
22364	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
22365		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
22366	}
22367	if s.Version == nil {
22368		invalidParams.Add(request.NewErrParamRequired("Version"))
22369	}
22370	if s.Version != nil && len(*s.Version) < 1 {
22371		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
22372	}
22373
22374	if invalidParams.Len() > 0 {
22375		return invalidParams
22376	}
22377	return nil
22378}
22379
22380// SetApplicationId sets the ApplicationId field's value.
22381func (s *GetSegmentVersionInput) SetApplicationId(v string) *GetSegmentVersionInput {
22382	s.ApplicationId = &v
22383	return s
22384}
22385
22386// SetSegmentId sets the SegmentId field's value.
22387func (s *GetSegmentVersionInput) SetSegmentId(v string) *GetSegmentVersionInput {
22388	s.SegmentId = &v
22389	return s
22390}
22391
22392// SetVersion sets the Version field's value.
22393func (s *GetSegmentVersionInput) SetVersion(v string) *GetSegmentVersionInput {
22394	s.Version = &v
22395	return s
22396}
22397
22398type GetSegmentVersionOutput struct {
22399	_ struct{} `type:"structure" payload:"SegmentResponse"`
22400
22401	// Provides information about the configuration, dimension, and other settings
22402	// for a segment.
22403	//
22404	// SegmentResponse is a required field
22405	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
22406}
22407
22408// String returns the string representation
22409func (s GetSegmentVersionOutput) String() string {
22410	return awsutil.Prettify(s)
22411}
22412
22413// GoString returns the string representation
22414func (s GetSegmentVersionOutput) GoString() string {
22415	return s.String()
22416}
22417
22418// SetSegmentResponse sets the SegmentResponse field's value.
22419func (s *GetSegmentVersionOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentVersionOutput {
22420	s.SegmentResponse = v
22421	return s
22422}
22423
22424type GetSegmentVersionsInput struct {
22425	_ struct{} `type:"structure"`
22426
22427	// ApplicationId is a required field
22428	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22429
22430	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
22431
22432	// SegmentId is a required field
22433	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
22434
22435	Token *string `location:"querystring" locationName:"token" type:"string"`
22436}
22437
22438// String returns the string representation
22439func (s GetSegmentVersionsInput) String() string {
22440	return awsutil.Prettify(s)
22441}
22442
22443// GoString returns the string representation
22444func (s GetSegmentVersionsInput) GoString() string {
22445	return s.String()
22446}
22447
22448// Validate inspects the fields of the type to determine if they are valid.
22449func (s *GetSegmentVersionsInput) Validate() error {
22450	invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionsInput"}
22451	if s.ApplicationId == nil {
22452		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22453	}
22454	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22455		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22456	}
22457	if s.SegmentId == nil {
22458		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
22459	}
22460	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
22461		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
22462	}
22463
22464	if invalidParams.Len() > 0 {
22465		return invalidParams
22466	}
22467	return nil
22468}
22469
22470// SetApplicationId sets the ApplicationId field's value.
22471func (s *GetSegmentVersionsInput) SetApplicationId(v string) *GetSegmentVersionsInput {
22472	s.ApplicationId = &v
22473	return s
22474}
22475
22476// SetPageSize sets the PageSize field's value.
22477func (s *GetSegmentVersionsInput) SetPageSize(v string) *GetSegmentVersionsInput {
22478	s.PageSize = &v
22479	return s
22480}
22481
22482// SetSegmentId sets the SegmentId field's value.
22483func (s *GetSegmentVersionsInput) SetSegmentId(v string) *GetSegmentVersionsInput {
22484	s.SegmentId = &v
22485	return s
22486}
22487
22488// SetToken sets the Token field's value.
22489func (s *GetSegmentVersionsInput) SetToken(v string) *GetSegmentVersionsInput {
22490	s.Token = &v
22491	return s
22492}
22493
22494type GetSegmentVersionsOutput struct {
22495	_ struct{} `type:"structure" payload:"SegmentsResponse"`
22496
22497	// Provides information about all the segments that are associated with an application.
22498	//
22499	// SegmentsResponse is a required field
22500	SegmentsResponse *SegmentsResponse `type:"structure" required:"true"`
22501}
22502
22503// String returns the string representation
22504func (s GetSegmentVersionsOutput) String() string {
22505	return awsutil.Prettify(s)
22506}
22507
22508// GoString returns the string representation
22509func (s GetSegmentVersionsOutput) GoString() string {
22510	return s.String()
22511}
22512
22513// SetSegmentsResponse sets the SegmentsResponse field's value.
22514func (s *GetSegmentVersionsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentVersionsOutput {
22515	s.SegmentsResponse = v
22516	return s
22517}
22518
22519type GetSegmentsInput struct {
22520	_ struct{} `type:"structure"`
22521
22522	// ApplicationId is a required field
22523	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22524
22525	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
22526
22527	Token *string `location:"querystring" locationName:"token" type:"string"`
22528}
22529
22530// String returns the string representation
22531func (s GetSegmentsInput) String() string {
22532	return awsutil.Prettify(s)
22533}
22534
22535// GoString returns the string representation
22536func (s GetSegmentsInput) GoString() string {
22537	return s.String()
22538}
22539
22540// Validate inspects the fields of the type to determine if they are valid.
22541func (s *GetSegmentsInput) Validate() error {
22542	invalidParams := request.ErrInvalidParams{Context: "GetSegmentsInput"}
22543	if s.ApplicationId == nil {
22544		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22545	}
22546	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22547		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22548	}
22549
22550	if invalidParams.Len() > 0 {
22551		return invalidParams
22552	}
22553	return nil
22554}
22555
22556// SetApplicationId sets the ApplicationId field's value.
22557func (s *GetSegmentsInput) SetApplicationId(v string) *GetSegmentsInput {
22558	s.ApplicationId = &v
22559	return s
22560}
22561
22562// SetPageSize sets the PageSize field's value.
22563func (s *GetSegmentsInput) SetPageSize(v string) *GetSegmentsInput {
22564	s.PageSize = &v
22565	return s
22566}
22567
22568// SetToken sets the Token field's value.
22569func (s *GetSegmentsInput) SetToken(v string) *GetSegmentsInput {
22570	s.Token = &v
22571	return s
22572}
22573
22574type GetSegmentsOutput struct {
22575	_ struct{} `type:"structure" payload:"SegmentsResponse"`
22576
22577	// Provides information about all the segments that are associated with an application.
22578	//
22579	// SegmentsResponse is a required field
22580	SegmentsResponse *SegmentsResponse `type:"structure" required:"true"`
22581}
22582
22583// String returns the string representation
22584func (s GetSegmentsOutput) String() string {
22585	return awsutil.Prettify(s)
22586}
22587
22588// GoString returns the string representation
22589func (s GetSegmentsOutput) GoString() string {
22590	return s.String()
22591}
22592
22593// SetSegmentsResponse sets the SegmentsResponse field's value.
22594func (s *GetSegmentsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentsOutput {
22595	s.SegmentsResponse = v
22596	return s
22597}
22598
22599type GetSmsChannelInput struct {
22600	_ struct{} `type:"structure"`
22601
22602	// ApplicationId is a required field
22603	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22604}
22605
22606// String returns the string representation
22607func (s GetSmsChannelInput) String() string {
22608	return awsutil.Prettify(s)
22609}
22610
22611// GoString returns the string representation
22612func (s GetSmsChannelInput) GoString() string {
22613	return s.String()
22614}
22615
22616// Validate inspects the fields of the type to determine if they are valid.
22617func (s *GetSmsChannelInput) Validate() error {
22618	invalidParams := request.ErrInvalidParams{Context: "GetSmsChannelInput"}
22619	if s.ApplicationId == nil {
22620		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22621	}
22622	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22623		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22624	}
22625
22626	if invalidParams.Len() > 0 {
22627		return invalidParams
22628	}
22629	return nil
22630}
22631
22632// SetApplicationId sets the ApplicationId field's value.
22633func (s *GetSmsChannelInput) SetApplicationId(v string) *GetSmsChannelInput {
22634	s.ApplicationId = &v
22635	return s
22636}
22637
22638type GetSmsChannelOutput struct {
22639	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
22640
22641	// Provides information about the status and settings of the SMS channel for
22642	// an application.
22643	//
22644	// SMSChannelResponse is a required field
22645	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
22646}
22647
22648// String returns the string representation
22649func (s GetSmsChannelOutput) String() string {
22650	return awsutil.Prettify(s)
22651}
22652
22653// GoString returns the string representation
22654func (s GetSmsChannelOutput) GoString() string {
22655	return s.String()
22656}
22657
22658// SetSMSChannelResponse sets the SMSChannelResponse field's value.
22659func (s *GetSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *GetSmsChannelOutput {
22660	s.SMSChannelResponse = v
22661	return s
22662}
22663
22664type GetSmsTemplateInput struct {
22665	_ struct{} `type:"structure"`
22666
22667	// TemplateName is a required field
22668	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
22669
22670	Version *string `location:"querystring" locationName:"version" type:"string"`
22671}
22672
22673// String returns the string representation
22674func (s GetSmsTemplateInput) String() string {
22675	return awsutil.Prettify(s)
22676}
22677
22678// GoString returns the string representation
22679func (s GetSmsTemplateInput) GoString() string {
22680	return s.String()
22681}
22682
22683// Validate inspects the fields of the type to determine if they are valid.
22684func (s *GetSmsTemplateInput) Validate() error {
22685	invalidParams := request.ErrInvalidParams{Context: "GetSmsTemplateInput"}
22686	if s.TemplateName == nil {
22687		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
22688	}
22689	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
22690		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
22691	}
22692
22693	if invalidParams.Len() > 0 {
22694		return invalidParams
22695	}
22696	return nil
22697}
22698
22699// SetTemplateName sets the TemplateName field's value.
22700func (s *GetSmsTemplateInput) SetTemplateName(v string) *GetSmsTemplateInput {
22701	s.TemplateName = &v
22702	return s
22703}
22704
22705// SetVersion sets the Version field's value.
22706func (s *GetSmsTemplateInput) SetVersion(v string) *GetSmsTemplateInput {
22707	s.Version = &v
22708	return s
22709}
22710
22711type GetSmsTemplateOutput struct {
22712	_ struct{} `type:"structure" payload:"SMSTemplateResponse"`
22713
22714	// Provides information about the content and settings for a message template
22715	// that can be used in text messages that are sent through the SMS channel.
22716	//
22717	// SMSTemplateResponse is a required field
22718	SMSTemplateResponse *SMSTemplateResponse `type:"structure" required:"true"`
22719}
22720
22721// String returns the string representation
22722func (s GetSmsTemplateOutput) String() string {
22723	return awsutil.Prettify(s)
22724}
22725
22726// GoString returns the string representation
22727func (s GetSmsTemplateOutput) GoString() string {
22728	return s.String()
22729}
22730
22731// SetSMSTemplateResponse sets the SMSTemplateResponse field's value.
22732func (s *GetSmsTemplateOutput) SetSMSTemplateResponse(v *SMSTemplateResponse) *GetSmsTemplateOutput {
22733	s.SMSTemplateResponse = v
22734	return s
22735}
22736
22737type GetUserEndpointsInput struct {
22738	_ struct{} `type:"structure"`
22739
22740	// ApplicationId is a required field
22741	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22742
22743	// UserId is a required field
22744	UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"`
22745}
22746
22747// String returns the string representation
22748func (s GetUserEndpointsInput) String() string {
22749	return awsutil.Prettify(s)
22750}
22751
22752// GoString returns the string representation
22753func (s GetUserEndpointsInput) GoString() string {
22754	return s.String()
22755}
22756
22757// Validate inspects the fields of the type to determine if they are valid.
22758func (s *GetUserEndpointsInput) Validate() error {
22759	invalidParams := request.ErrInvalidParams{Context: "GetUserEndpointsInput"}
22760	if s.ApplicationId == nil {
22761		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22762	}
22763	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22764		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22765	}
22766	if s.UserId == nil {
22767		invalidParams.Add(request.NewErrParamRequired("UserId"))
22768	}
22769	if s.UserId != nil && len(*s.UserId) < 1 {
22770		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
22771	}
22772
22773	if invalidParams.Len() > 0 {
22774		return invalidParams
22775	}
22776	return nil
22777}
22778
22779// SetApplicationId sets the ApplicationId field's value.
22780func (s *GetUserEndpointsInput) SetApplicationId(v string) *GetUserEndpointsInput {
22781	s.ApplicationId = &v
22782	return s
22783}
22784
22785// SetUserId sets the UserId field's value.
22786func (s *GetUserEndpointsInput) SetUserId(v string) *GetUserEndpointsInput {
22787	s.UserId = &v
22788	return s
22789}
22790
22791type GetUserEndpointsOutput struct {
22792	_ struct{} `type:"structure" payload:"EndpointsResponse"`
22793
22794	// Provides information about all the endpoints that are associated with a user
22795	// ID.
22796	//
22797	// EndpointsResponse is a required field
22798	EndpointsResponse *EndpointsResponse `type:"structure" required:"true"`
22799}
22800
22801// String returns the string representation
22802func (s GetUserEndpointsOutput) String() string {
22803	return awsutil.Prettify(s)
22804}
22805
22806// GoString returns the string representation
22807func (s GetUserEndpointsOutput) GoString() string {
22808	return s.String()
22809}
22810
22811// SetEndpointsResponse sets the EndpointsResponse field's value.
22812func (s *GetUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *GetUserEndpointsOutput {
22813	s.EndpointsResponse = v
22814	return s
22815}
22816
22817type GetVoiceChannelInput struct {
22818	_ struct{} `type:"structure"`
22819
22820	// ApplicationId is a required field
22821	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22822}
22823
22824// String returns the string representation
22825func (s GetVoiceChannelInput) String() string {
22826	return awsutil.Prettify(s)
22827}
22828
22829// GoString returns the string representation
22830func (s GetVoiceChannelInput) GoString() string {
22831	return s.String()
22832}
22833
22834// Validate inspects the fields of the type to determine if they are valid.
22835func (s *GetVoiceChannelInput) Validate() error {
22836	invalidParams := request.ErrInvalidParams{Context: "GetVoiceChannelInput"}
22837	if s.ApplicationId == nil {
22838		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22839	}
22840	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22841		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22842	}
22843
22844	if invalidParams.Len() > 0 {
22845		return invalidParams
22846	}
22847	return nil
22848}
22849
22850// SetApplicationId sets the ApplicationId field's value.
22851func (s *GetVoiceChannelInput) SetApplicationId(v string) *GetVoiceChannelInput {
22852	s.ApplicationId = &v
22853	return s
22854}
22855
22856type GetVoiceChannelOutput struct {
22857	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
22858
22859	// Provides information about the status and settings of the voice channel for
22860	// an application.
22861	//
22862	// VoiceChannelResponse is a required field
22863	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
22864}
22865
22866// String returns the string representation
22867func (s GetVoiceChannelOutput) String() string {
22868	return awsutil.Prettify(s)
22869}
22870
22871// GoString returns the string representation
22872func (s GetVoiceChannelOutput) GoString() string {
22873	return s.String()
22874}
22875
22876// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
22877func (s *GetVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *GetVoiceChannelOutput {
22878	s.VoiceChannelResponse = v
22879	return s
22880}
22881
22882type GetVoiceTemplateInput struct {
22883	_ struct{} `type:"structure"`
22884
22885	// TemplateName is a required field
22886	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
22887
22888	Version *string `location:"querystring" locationName:"version" type:"string"`
22889}
22890
22891// String returns the string representation
22892func (s GetVoiceTemplateInput) String() string {
22893	return awsutil.Prettify(s)
22894}
22895
22896// GoString returns the string representation
22897func (s GetVoiceTemplateInput) GoString() string {
22898	return s.String()
22899}
22900
22901// Validate inspects the fields of the type to determine if they are valid.
22902func (s *GetVoiceTemplateInput) Validate() error {
22903	invalidParams := request.ErrInvalidParams{Context: "GetVoiceTemplateInput"}
22904	if s.TemplateName == nil {
22905		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
22906	}
22907	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
22908		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
22909	}
22910
22911	if invalidParams.Len() > 0 {
22912		return invalidParams
22913	}
22914	return nil
22915}
22916
22917// SetTemplateName sets the TemplateName field's value.
22918func (s *GetVoiceTemplateInput) SetTemplateName(v string) *GetVoiceTemplateInput {
22919	s.TemplateName = &v
22920	return s
22921}
22922
22923// SetVersion sets the Version field's value.
22924func (s *GetVoiceTemplateInput) SetVersion(v string) *GetVoiceTemplateInput {
22925	s.Version = &v
22926	return s
22927}
22928
22929type GetVoiceTemplateOutput struct {
22930	_ struct{} `type:"structure" payload:"VoiceTemplateResponse"`
22931
22932	// Provides information about the content and settings for a message template
22933	// that can be used in messages that are sent through the voice channel.
22934	//
22935	// VoiceTemplateResponse is a required field
22936	VoiceTemplateResponse *VoiceTemplateResponse `type:"structure" required:"true"`
22937}
22938
22939// String returns the string representation
22940func (s GetVoiceTemplateOutput) String() string {
22941	return awsutil.Prettify(s)
22942}
22943
22944// GoString returns the string representation
22945func (s GetVoiceTemplateOutput) GoString() string {
22946	return s.String()
22947}
22948
22949// SetVoiceTemplateResponse sets the VoiceTemplateResponse field's value.
22950func (s *GetVoiceTemplateOutput) SetVoiceTemplateResponse(v *VoiceTemplateResponse) *GetVoiceTemplateOutput {
22951	s.VoiceTemplateResponse = v
22952	return s
22953}
22954
22955// Specifies the settings for a holdout activity in a journey. This type of
22956// activity stops a journey for a specified percentage of participants.
22957type HoldoutActivity struct {
22958	_ struct{} `type:"structure"`
22959
22960	// The unique identifier for the next activity to perform, after performing
22961	// the holdout activity.
22962	NextActivity *string `type:"string"`
22963
22964	// The percentage of participants who shouldn't continue the journey.
22965	//
22966	// To determine which participants are held out, Amazon Pinpoint applies a probability-based
22967	// algorithm to the percentage that you specify. Therefore, the actual percentage
22968	// of participants who are held out may not be equal to the percentage that
22969	// you specify.
22970	//
22971	// Percentage is a required field
22972	Percentage *int64 `type:"integer" required:"true"`
22973}
22974
22975// String returns the string representation
22976func (s HoldoutActivity) String() string {
22977	return awsutil.Prettify(s)
22978}
22979
22980// GoString returns the string representation
22981func (s HoldoutActivity) GoString() string {
22982	return s.String()
22983}
22984
22985// Validate inspects the fields of the type to determine if they are valid.
22986func (s *HoldoutActivity) Validate() error {
22987	invalidParams := request.ErrInvalidParams{Context: "HoldoutActivity"}
22988	if s.Percentage == nil {
22989		invalidParams.Add(request.NewErrParamRequired("Percentage"))
22990	}
22991
22992	if invalidParams.Len() > 0 {
22993		return invalidParams
22994	}
22995	return nil
22996}
22997
22998// SetNextActivity sets the NextActivity field's value.
22999func (s *HoldoutActivity) SetNextActivity(v string) *HoldoutActivity {
23000	s.NextActivity = &v
23001	return s
23002}
23003
23004// SetPercentage sets the Percentage field's value.
23005func (s *HoldoutActivity) SetPercentage(v int64) *HoldoutActivity {
23006	s.Percentage = &v
23007	return s
23008}
23009
23010// Specifies the settings for a job that imports endpoint definitions from an
23011// Amazon Simple Storage Service (Amazon S3) bucket.
23012type ImportJobRequest struct {
23013	_ struct{} `type:"structure"`
23014
23015	// Specifies whether to create a segment that contains the endpoints, when the
23016	// endpoint definitions are imported.
23017	DefineSegment *bool `type:"boolean"`
23018
23019	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
23020	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
23021	// an IAM role when importing endpoint definitions, but we removed this requirement.
23022	// We don't recommend use of external IDs for IAM roles that are assumed by
23023	// Amazon Pinpoint.
23024	ExternalId *string `type:"string"`
23025
23026	// The format of the files that contain the endpoint definitions to import.
23027	// Valid values are: CSV, for comma-separated values format; and, JSON, for
23028	// newline-delimited JSON format. If the Amazon S3 location stores multiple
23029	// files that use different formats, Amazon Pinpoint imports data only from
23030	// the files that use the specified format.
23031	//
23032	// Format is a required field
23033	Format *string `type:"string" required:"true" enum:"Format"`
23034
23035	// Specifies whether to register the endpoints with Amazon Pinpoint, when the
23036	// endpoint definitions are imported.
23037	RegisterEndpoints *bool `type:"boolean"`
23038
23039	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
23040	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
23041	// to import endpoint definitions from.
23042	//
23043	// RoleArn is a required field
23044	RoleArn *string `type:"string" required:"true"`
23045
23046	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains
23047	// the endpoint definitions to import. This location can be a folder or a single
23048	// file. If the location is a folder, Amazon Pinpoint imports endpoint definitions
23049	// from the files in this location, including any subfolders that the folder
23050	// contains.
23051	//
23052	// The URL should be in the following format: s3://bucket-name/folder-name/file-name.
23053	// The location can end with the key for an individual object or a prefix that
23054	// qualifies multiple objects.
23055	//
23056	// S3Url is a required field
23057	S3Url *string `type:"string" required:"true"`
23058
23059	// The identifier for the segment to update or add the imported endpoint definitions
23060	// to, if the import job is meant to update an existing segment.
23061	SegmentId *string `type:"string"`
23062
23063	// The custom name for the segment that's created by the import job, if the
23064	// value of the DefineSegment property is true.
23065	SegmentName *string `type:"string"`
23066}
23067
23068// String returns the string representation
23069func (s ImportJobRequest) String() string {
23070	return awsutil.Prettify(s)
23071}
23072
23073// GoString returns the string representation
23074func (s ImportJobRequest) GoString() string {
23075	return s.String()
23076}
23077
23078// Validate inspects the fields of the type to determine if they are valid.
23079func (s *ImportJobRequest) Validate() error {
23080	invalidParams := request.ErrInvalidParams{Context: "ImportJobRequest"}
23081	if s.Format == nil {
23082		invalidParams.Add(request.NewErrParamRequired("Format"))
23083	}
23084	if s.RoleArn == nil {
23085		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
23086	}
23087	if s.S3Url == nil {
23088		invalidParams.Add(request.NewErrParamRequired("S3Url"))
23089	}
23090
23091	if invalidParams.Len() > 0 {
23092		return invalidParams
23093	}
23094	return nil
23095}
23096
23097// SetDefineSegment sets the DefineSegment field's value.
23098func (s *ImportJobRequest) SetDefineSegment(v bool) *ImportJobRequest {
23099	s.DefineSegment = &v
23100	return s
23101}
23102
23103// SetExternalId sets the ExternalId field's value.
23104func (s *ImportJobRequest) SetExternalId(v string) *ImportJobRequest {
23105	s.ExternalId = &v
23106	return s
23107}
23108
23109// SetFormat sets the Format field's value.
23110func (s *ImportJobRequest) SetFormat(v string) *ImportJobRequest {
23111	s.Format = &v
23112	return s
23113}
23114
23115// SetRegisterEndpoints sets the RegisterEndpoints field's value.
23116func (s *ImportJobRequest) SetRegisterEndpoints(v bool) *ImportJobRequest {
23117	s.RegisterEndpoints = &v
23118	return s
23119}
23120
23121// SetRoleArn sets the RoleArn field's value.
23122func (s *ImportJobRequest) SetRoleArn(v string) *ImportJobRequest {
23123	s.RoleArn = &v
23124	return s
23125}
23126
23127// SetS3Url sets the S3Url field's value.
23128func (s *ImportJobRequest) SetS3Url(v string) *ImportJobRequest {
23129	s.S3Url = &v
23130	return s
23131}
23132
23133// SetSegmentId sets the SegmentId field's value.
23134func (s *ImportJobRequest) SetSegmentId(v string) *ImportJobRequest {
23135	s.SegmentId = &v
23136	return s
23137}
23138
23139// SetSegmentName sets the SegmentName field's value.
23140func (s *ImportJobRequest) SetSegmentName(v string) *ImportJobRequest {
23141	s.SegmentName = &v
23142	return s
23143}
23144
23145// Provides information about the resource settings for a job that imports endpoint
23146// definitions from one or more files. The files can be stored in an Amazon
23147// Simple Storage Service (Amazon S3) bucket or uploaded directly from a computer
23148// by using the Amazon Pinpoint console.
23149type ImportJobResource struct {
23150	_ struct{} `type:"structure"`
23151
23152	// Specifies whether the import job creates a segment that contains the endpoints,
23153	// when the endpoint definitions are imported.
23154	DefineSegment *bool `type:"boolean"`
23155
23156	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
23157	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
23158	// an IAM role when importing endpoint definitions, but we removed this requirement.
23159	// We don't recommend use of external IDs for IAM roles that are assumed by
23160	// Amazon Pinpoint.
23161	ExternalId *string `type:"string"`
23162
23163	// The format of the files that contain the endpoint definitions to import.
23164	// Valid values are: CSV, for comma-separated values format; and, JSON, for
23165	// newline-delimited JSON format.
23166	//
23167	// If the files are stored in an Amazon S3 location and that location contains
23168	// multiple files that use different formats, Amazon Pinpoint imports data only
23169	// from the files that use the specified format.
23170	//
23171	// Format is a required field
23172	Format *string `type:"string" required:"true" enum:"Format"`
23173
23174	// Specifies whether the import job registers the endpoints with Amazon Pinpoint,
23175	// when the endpoint definitions are imported.
23176	RegisterEndpoints *bool `type:"boolean"`
23177
23178	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
23179	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
23180	// to import endpoint definitions from.
23181	//
23182	// RoleArn is a required field
23183	RoleArn *string `type:"string" required:"true"`
23184
23185	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains
23186	// the endpoint definitions to import. This location can be a folder or a single
23187	// file. If the location is a folder, Amazon Pinpoint imports endpoint definitions
23188	// from the files in this location, including any subfolders that the folder
23189	// contains.
23190	//
23191	// The URL should be in the following format: s3://bucket-name/folder-name/file-name.
23192	// The location can end with the key for an individual object or a prefix that
23193	// qualifies multiple objects.
23194	//
23195	// S3Url is a required field
23196	S3Url *string `type:"string" required:"true"`
23197
23198	// The identifier for the segment that the import job updates or adds endpoint
23199	// definitions to, if the import job updates an existing segment.
23200	SegmentId *string `type:"string"`
23201
23202	// The custom name for the segment that's created by the import job, if the
23203	// value of the DefineSegment property is true.
23204	SegmentName *string `type:"string"`
23205}
23206
23207// String returns the string representation
23208func (s ImportJobResource) String() string {
23209	return awsutil.Prettify(s)
23210}
23211
23212// GoString returns the string representation
23213func (s ImportJobResource) GoString() string {
23214	return s.String()
23215}
23216
23217// SetDefineSegment sets the DefineSegment field's value.
23218func (s *ImportJobResource) SetDefineSegment(v bool) *ImportJobResource {
23219	s.DefineSegment = &v
23220	return s
23221}
23222
23223// SetExternalId sets the ExternalId field's value.
23224func (s *ImportJobResource) SetExternalId(v string) *ImportJobResource {
23225	s.ExternalId = &v
23226	return s
23227}
23228
23229// SetFormat sets the Format field's value.
23230func (s *ImportJobResource) SetFormat(v string) *ImportJobResource {
23231	s.Format = &v
23232	return s
23233}
23234
23235// SetRegisterEndpoints sets the RegisterEndpoints field's value.
23236func (s *ImportJobResource) SetRegisterEndpoints(v bool) *ImportJobResource {
23237	s.RegisterEndpoints = &v
23238	return s
23239}
23240
23241// SetRoleArn sets the RoleArn field's value.
23242func (s *ImportJobResource) SetRoleArn(v string) *ImportJobResource {
23243	s.RoleArn = &v
23244	return s
23245}
23246
23247// SetS3Url sets the S3Url field's value.
23248func (s *ImportJobResource) SetS3Url(v string) *ImportJobResource {
23249	s.S3Url = &v
23250	return s
23251}
23252
23253// SetSegmentId sets the SegmentId field's value.
23254func (s *ImportJobResource) SetSegmentId(v string) *ImportJobResource {
23255	s.SegmentId = &v
23256	return s
23257}
23258
23259// SetSegmentName sets the SegmentName field's value.
23260func (s *ImportJobResource) SetSegmentName(v string) *ImportJobResource {
23261	s.SegmentName = &v
23262	return s
23263}
23264
23265// Provides information about the status and settings of a job that imports
23266// endpoint definitions from one or more files. The files can be stored in an
23267// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
23268// a computer by using the Amazon Pinpoint console.
23269type ImportJobResponse struct {
23270	_ struct{} `type:"structure"`
23271
23272	// The unique identifier for the application that's associated with the import
23273	// job.
23274	//
23275	// ApplicationId is a required field
23276	ApplicationId *string `type:"string" required:"true"`
23277
23278	// The number of pieces that were processed successfully (completed) by the
23279	// import job, as of the time of the request.
23280	CompletedPieces *int64 `type:"integer"`
23281
23282	// The date, in ISO 8601 format, when the import job was completed.
23283	CompletionDate *string `type:"string"`
23284
23285	// The date, in ISO 8601 format, when the import job was created.
23286	//
23287	// CreationDate is a required field
23288	CreationDate *string `type:"string" required:"true"`
23289
23290	// The resource settings that apply to the import job.
23291	//
23292	// Definition is a required field
23293	Definition *ImportJobResource `type:"structure" required:"true"`
23294
23295	// The number of pieces that weren't processed successfully (failed) by the
23296	// import job, as of the time of the request.
23297	FailedPieces *int64 `type:"integer"`
23298
23299	// An array of entries, one for each of the first 100 entries that weren't processed
23300	// successfully (failed) by the import job, if any.
23301	Failures []*string `type:"list"`
23302
23303	// The unique identifier for the import job.
23304	//
23305	// Id is a required field
23306	Id *string `type:"string" required:"true"`
23307
23308	// The status of the import job. The job status is FAILED if Amazon Pinpoint
23309	// wasn't able to process one or more pieces in the job.
23310	//
23311	// JobStatus is a required field
23312	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
23313
23314	// The total number of endpoint definitions that weren't processed successfully
23315	// (failed) by the import job, typically because an error, such as a syntax
23316	// error, occurred.
23317	TotalFailures *int64 `type:"integer"`
23318
23319	// The total number of pieces that must be processed to complete the import
23320	// job. Each piece consists of an approximately equal portion of the endpoint
23321	// definitions that are part of the import job.
23322	TotalPieces *int64 `type:"integer"`
23323
23324	// The total number of endpoint definitions that were processed by the import
23325	// job.
23326	TotalProcessed *int64 `type:"integer"`
23327
23328	// The job type. This value is IMPORT for import jobs.
23329	//
23330	// Type is a required field
23331	Type *string `type:"string" required:"true"`
23332}
23333
23334// String returns the string representation
23335func (s ImportJobResponse) String() string {
23336	return awsutil.Prettify(s)
23337}
23338
23339// GoString returns the string representation
23340func (s ImportJobResponse) GoString() string {
23341	return s.String()
23342}
23343
23344// SetApplicationId sets the ApplicationId field's value.
23345func (s *ImportJobResponse) SetApplicationId(v string) *ImportJobResponse {
23346	s.ApplicationId = &v
23347	return s
23348}
23349
23350// SetCompletedPieces sets the CompletedPieces field's value.
23351func (s *ImportJobResponse) SetCompletedPieces(v int64) *ImportJobResponse {
23352	s.CompletedPieces = &v
23353	return s
23354}
23355
23356// SetCompletionDate sets the CompletionDate field's value.
23357func (s *ImportJobResponse) SetCompletionDate(v string) *ImportJobResponse {
23358	s.CompletionDate = &v
23359	return s
23360}
23361
23362// SetCreationDate sets the CreationDate field's value.
23363func (s *ImportJobResponse) SetCreationDate(v string) *ImportJobResponse {
23364	s.CreationDate = &v
23365	return s
23366}
23367
23368// SetDefinition sets the Definition field's value.
23369func (s *ImportJobResponse) SetDefinition(v *ImportJobResource) *ImportJobResponse {
23370	s.Definition = v
23371	return s
23372}
23373
23374// SetFailedPieces sets the FailedPieces field's value.
23375func (s *ImportJobResponse) SetFailedPieces(v int64) *ImportJobResponse {
23376	s.FailedPieces = &v
23377	return s
23378}
23379
23380// SetFailures sets the Failures field's value.
23381func (s *ImportJobResponse) SetFailures(v []*string) *ImportJobResponse {
23382	s.Failures = v
23383	return s
23384}
23385
23386// SetId sets the Id field's value.
23387func (s *ImportJobResponse) SetId(v string) *ImportJobResponse {
23388	s.Id = &v
23389	return s
23390}
23391
23392// SetJobStatus sets the JobStatus field's value.
23393func (s *ImportJobResponse) SetJobStatus(v string) *ImportJobResponse {
23394	s.JobStatus = &v
23395	return s
23396}
23397
23398// SetTotalFailures sets the TotalFailures field's value.
23399func (s *ImportJobResponse) SetTotalFailures(v int64) *ImportJobResponse {
23400	s.TotalFailures = &v
23401	return s
23402}
23403
23404// SetTotalPieces sets the TotalPieces field's value.
23405func (s *ImportJobResponse) SetTotalPieces(v int64) *ImportJobResponse {
23406	s.TotalPieces = &v
23407	return s
23408}
23409
23410// SetTotalProcessed sets the TotalProcessed field's value.
23411func (s *ImportJobResponse) SetTotalProcessed(v int64) *ImportJobResponse {
23412	s.TotalProcessed = &v
23413	return s
23414}
23415
23416// SetType sets the Type field's value.
23417func (s *ImportJobResponse) SetType(v string) *ImportJobResponse {
23418	s.Type = &v
23419	return s
23420}
23421
23422// Provides information about the status and settings of all the import jobs
23423// that are associated with an application or segment. An import job is a job
23424// that imports endpoint definitions from one or more files.
23425type ImportJobsResponse struct {
23426	_ struct{} `type:"structure"`
23427
23428	// An array of responses, one for each import job that's associated with the
23429	// application (Import Jobs resource) or segment (Segment Import Jobs resource).
23430	//
23431	// Item is a required field
23432	Item []*ImportJobResponse `type:"list" required:"true"`
23433
23434	// The string to use in a subsequent request to get the next page of results
23435	// in a paginated response. This value is null if there are no additional pages.
23436	NextToken *string `type:"string"`
23437}
23438
23439// String returns the string representation
23440func (s ImportJobsResponse) String() string {
23441	return awsutil.Prettify(s)
23442}
23443
23444// GoString returns the string representation
23445func (s ImportJobsResponse) GoString() string {
23446	return s.String()
23447}
23448
23449// SetItem sets the Item field's value.
23450func (s *ImportJobsResponse) SetItem(v []*ImportJobResponse) *ImportJobsResponse {
23451	s.Item = v
23452	return s
23453}
23454
23455// SetNextToken sets the NextToken field's value.
23456func (s *ImportJobsResponse) SetNextToken(v string) *ImportJobsResponse {
23457	s.NextToken = &v
23458	return s
23459}
23460
23461// Provides information about the results of a request to create or update an
23462// endpoint that's associated with an event.
23463type ItemResponse struct {
23464	_ struct{} `type:"structure"`
23465
23466	// The response that was received after the endpoint data was accepted.
23467	EndpointItemResponse *EndpointItemResponse `type:"structure"`
23468
23469	// A multipart response object that contains a key and a value for each event
23470	// in the request. In each object, the event ID is the key and an EventItemResponse
23471	// object is the value.
23472	EventsItemResponse map[string]*EventItemResponse `type:"map"`
23473}
23474
23475// String returns the string representation
23476func (s ItemResponse) String() string {
23477	return awsutil.Prettify(s)
23478}
23479
23480// GoString returns the string representation
23481func (s ItemResponse) GoString() string {
23482	return s.String()
23483}
23484
23485// SetEndpointItemResponse sets the EndpointItemResponse field's value.
23486func (s *ItemResponse) SetEndpointItemResponse(v *EndpointItemResponse) *ItemResponse {
23487	s.EndpointItemResponse = v
23488	return s
23489}
23490
23491// SetEventsItemResponse sets the EventsItemResponse field's value.
23492func (s *ItemResponse) SetEventsItemResponse(v map[string]*EventItemResponse) *ItemResponse {
23493	s.EventsItemResponse = v
23494	return s
23495}
23496
23497// Provides the results of a query that retrieved the data for a standard engagement
23498// metric that applies to a journey, and provides information about that query.
23499type JourneyDateRangeKpiResponse struct {
23500	_ struct{} `type:"structure"`
23501
23502	// The unique identifier for the application that the metric applies to.
23503	//
23504	// ApplicationId is a required field
23505	ApplicationId *string `type:"string" required:"true"`
23506
23507	// EndTime is a required field
23508	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
23509
23510	// The unique identifier for the journey that the metric applies to.
23511	//
23512	// JourneyId is a required field
23513	JourneyId *string `type:"string" required:"true"`
23514
23515	// The name of the metric, also referred to as a key performance indicator (KPI),
23516	// that the data was retrieved for. This value describes the associated metric
23517	// and consists of two or more terms, which are comprised of lowercase alphanumeric
23518	// characters, separated by a hyphen. For a list of possible values, see the
23519	// Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html).
23520	//
23521	// KpiName is a required field
23522	KpiName *string `type:"string" required:"true"`
23523
23524	// An array of objects that contains the results of the query. Each object contains
23525	// the value for the metric and metadata about that value.
23526	//
23527	// KpiResult is a required field
23528	KpiResult *BaseKpiResult `type:"structure" required:"true"`
23529
23530	// The string to use in a subsequent request to get the next page of results
23531	// in a paginated response. This value is null for the Journey Engagement Metrics
23532	// resource because the resource returns all results in a single page.
23533	NextToken *string `type:"string"`
23534
23535	// StartTime is a required field
23536	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
23537}
23538
23539// String returns the string representation
23540func (s JourneyDateRangeKpiResponse) String() string {
23541	return awsutil.Prettify(s)
23542}
23543
23544// GoString returns the string representation
23545func (s JourneyDateRangeKpiResponse) GoString() string {
23546	return s.String()
23547}
23548
23549// SetApplicationId sets the ApplicationId field's value.
23550func (s *JourneyDateRangeKpiResponse) SetApplicationId(v string) *JourneyDateRangeKpiResponse {
23551	s.ApplicationId = &v
23552	return s
23553}
23554
23555// SetEndTime sets the EndTime field's value.
23556func (s *JourneyDateRangeKpiResponse) SetEndTime(v time.Time) *JourneyDateRangeKpiResponse {
23557	s.EndTime = &v
23558	return s
23559}
23560
23561// SetJourneyId sets the JourneyId field's value.
23562func (s *JourneyDateRangeKpiResponse) SetJourneyId(v string) *JourneyDateRangeKpiResponse {
23563	s.JourneyId = &v
23564	return s
23565}
23566
23567// SetKpiName sets the KpiName field's value.
23568func (s *JourneyDateRangeKpiResponse) SetKpiName(v string) *JourneyDateRangeKpiResponse {
23569	s.KpiName = &v
23570	return s
23571}
23572
23573// SetKpiResult sets the KpiResult field's value.
23574func (s *JourneyDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *JourneyDateRangeKpiResponse {
23575	s.KpiResult = v
23576	return s
23577}
23578
23579// SetNextToken sets the NextToken field's value.
23580func (s *JourneyDateRangeKpiResponse) SetNextToken(v string) *JourneyDateRangeKpiResponse {
23581	s.NextToken = &v
23582	return s
23583}
23584
23585// SetStartTime sets the StartTime field's value.
23586func (s *JourneyDateRangeKpiResponse) SetStartTime(v time.Time) *JourneyDateRangeKpiResponse {
23587	s.StartTime = &v
23588	return s
23589}
23590
23591// Specifies the "From" address for an email message that's sent to participants
23592// in a journey.
23593type JourneyEmailMessage struct {
23594	_ struct{} `type:"structure"`
23595
23596	// The verified email address to send the email message from. The default address
23597	// is the FromAddress specified for the email channel for the application.
23598	FromAddress *string `type:"string"`
23599}
23600
23601// String returns the string representation
23602func (s JourneyEmailMessage) String() string {
23603	return awsutil.Prettify(s)
23604}
23605
23606// GoString returns the string representation
23607func (s JourneyEmailMessage) GoString() string {
23608	return s.String()
23609}
23610
23611// SetFromAddress sets the FromAddress field's value.
23612func (s *JourneyEmailMessage) SetFromAddress(v string) *JourneyEmailMessage {
23613	s.FromAddress = &v
23614	return s
23615}
23616
23617// Provides the results of a query that retrieved the data for a standard execution
23618// metric that applies to a journey activity, and provides information about
23619// that query.
23620type JourneyExecutionActivityMetricsResponse struct {
23621	_ struct{} `type:"structure"`
23622
23623	// The type of activity that the metric applies to. Possible values are:
23624	//
23625	//    * CONDITIONAL_SPLIT - For a yes/no split activity, which is an activity
23626	//    that sends participants down one of two paths in a journey.
23627	//
23628	//    * HOLDOUT - For a holdout activity, which is an activity that stops a
23629	//    journey for a specified percentage of participants.
23630	//
23631	//    * MESSAGE - For an email activity, which is an activity that sends an
23632	//    email message to participants.
23633	//
23634	//    * MULTI_CONDITIONAL_SPLIT - For a multivariate split activity, which is
23635	//    an activity that sends participants down one of as many as five paths
23636	//    in a journey.
23637	//
23638	//    * RANDOM_SPLIT - For a random split activity, which is an activity that
23639	//    sends specified percentages of participants down one of as many as five
23640	//    paths in a journey.
23641	//
23642	//    * WAIT - For a wait activity, which is an activity that waits for a certain
23643	//    amount of time or until a specific date and time before moving participants
23644	//    to the next activity in a journey.
23645	//
23646	// ActivityType is a required field
23647	ActivityType *string `type:"string" required:"true"`
23648
23649	// The unique identifier for the application that the metric applies to.
23650	//
23651	// ApplicationId is a required field
23652	ApplicationId *string `type:"string" required:"true"`
23653
23654	// The unique identifier for the activity that the metric applies to.
23655	//
23656	// JourneyActivityId is a required field
23657	JourneyActivityId *string `type:"string" required:"true"`
23658
23659	// The unique identifier for the journey that the metric applies to.
23660	//
23661	// JourneyId is a required field
23662	JourneyId *string `type:"string" required:"true"`
23663
23664	// The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
23665	// the execution status of the activity and updated the data for the metric.
23666	//
23667	// LastEvaluatedTime is a required field
23668	LastEvaluatedTime *string `type:"string" required:"true"`
23669
23670	// A JSON object that contains the results of the query. The results vary depending
23671	// on the type of activity (ActivityType). For information about the structure
23672	// and contents of the results, see the Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html).
23673	//
23674	// Metrics is a required field
23675	Metrics map[string]*string `type:"map" required:"true"`
23676}
23677
23678// String returns the string representation
23679func (s JourneyExecutionActivityMetricsResponse) String() string {
23680	return awsutil.Prettify(s)
23681}
23682
23683// GoString returns the string representation
23684func (s JourneyExecutionActivityMetricsResponse) GoString() string {
23685	return s.String()
23686}
23687
23688// SetActivityType sets the ActivityType field's value.
23689func (s *JourneyExecutionActivityMetricsResponse) SetActivityType(v string) *JourneyExecutionActivityMetricsResponse {
23690	s.ActivityType = &v
23691	return s
23692}
23693
23694// SetApplicationId sets the ApplicationId field's value.
23695func (s *JourneyExecutionActivityMetricsResponse) SetApplicationId(v string) *JourneyExecutionActivityMetricsResponse {
23696	s.ApplicationId = &v
23697	return s
23698}
23699
23700// SetJourneyActivityId sets the JourneyActivityId field's value.
23701func (s *JourneyExecutionActivityMetricsResponse) SetJourneyActivityId(v string) *JourneyExecutionActivityMetricsResponse {
23702	s.JourneyActivityId = &v
23703	return s
23704}
23705
23706// SetJourneyId sets the JourneyId field's value.
23707func (s *JourneyExecutionActivityMetricsResponse) SetJourneyId(v string) *JourneyExecutionActivityMetricsResponse {
23708	s.JourneyId = &v
23709	return s
23710}
23711
23712// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
23713func (s *JourneyExecutionActivityMetricsResponse) SetLastEvaluatedTime(v string) *JourneyExecutionActivityMetricsResponse {
23714	s.LastEvaluatedTime = &v
23715	return s
23716}
23717
23718// SetMetrics sets the Metrics field's value.
23719func (s *JourneyExecutionActivityMetricsResponse) SetMetrics(v map[string]*string) *JourneyExecutionActivityMetricsResponse {
23720	s.Metrics = v
23721	return s
23722}
23723
23724// Provides the results of a query that retrieved the data for a standard execution
23725// metric that applies to a journey, and provides information about that query.
23726type JourneyExecutionMetricsResponse struct {
23727	_ struct{} `type:"structure"`
23728
23729	// The unique identifier for the application that the metric applies to.
23730	//
23731	// ApplicationId is a required field
23732	ApplicationId *string `type:"string" required:"true"`
23733
23734	// The unique identifier for the journey that the metric applies to.
23735	//
23736	// JourneyId is a required field
23737	JourneyId *string `type:"string" required:"true"`
23738
23739	// The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
23740	// the journey and updated the data for the metric.
23741	//
23742	// LastEvaluatedTime is a required field
23743	LastEvaluatedTime *string `type:"string" required:"true"`
23744
23745	// A JSON object that contains the results of the query. For information about
23746	// the structure and contents of the results, see the Amazon Pinpoint Developer
23747	// Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html).
23748	//
23749	// Metrics is a required field
23750	Metrics map[string]*string `type:"map" required:"true"`
23751}
23752
23753// String returns the string representation
23754func (s JourneyExecutionMetricsResponse) String() string {
23755	return awsutil.Prettify(s)
23756}
23757
23758// GoString returns the string representation
23759func (s JourneyExecutionMetricsResponse) GoString() string {
23760	return s.String()
23761}
23762
23763// SetApplicationId sets the ApplicationId field's value.
23764func (s *JourneyExecutionMetricsResponse) SetApplicationId(v string) *JourneyExecutionMetricsResponse {
23765	s.ApplicationId = &v
23766	return s
23767}
23768
23769// SetJourneyId sets the JourneyId field's value.
23770func (s *JourneyExecutionMetricsResponse) SetJourneyId(v string) *JourneyExecutionMetricsResponse {
23771	s.JourneyId = &v
23772	return s
23773}
23774
23775// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
23776func (s *JourneyExecutionMetricsResponse) SetLastEvaluatedTime(v string) *JourneyExecutionMetricsResponse {
23777	s.LastEvaluatedTime = &v
23778	return s
23779}
23780
23781// SetMetrics sets the Metrics field's value.
23782func (s *JourneyExecutionMetricsResponse) SetMetrics(v map[string]*string) *JourneyExecutionMetricsResponse {
23783	s.Metrics = v
23784	return s
23785}
23786
23787// Specifies limits on the messages that a journey can send and the number of
23788// times participants can enter a journey.
23789type JourneyLimits struct {
23790	_ struct{} `type:"structure"`
23791
23792	// The maximum number of messages that the journey can send to a single participant
23793	// during a 24-hour period. The maximum value is 100.
23794	DailyCap *int64 `type:"integer"`
23795
23796	// The maximum number of times that a participant can enter the journey. The
23797	// maximum value is 100. To allow participants to enter the journey an unlimited
23798	// number of times, set this value to 0.
23799	EndpointReentryCap *int64 `type:"integer"`
23800
23801	// The maximum number of messages that the journey can send each second.
23802	MessagesPerSecond *int64 `type:"integer"`
23803}
23804
23805// String returns the string representation
23806func (s JourneyLimits) String() string {
23807	return awsutil.Prettify(s)
23808}
23809
23810// GoString returns the string representation
23811func (s JourneyLimits) GoString() string {
23812	return s.String()
23813}
23814
23815// SetDailyCap sets the DailyCap field's value.
23816func (s *JourneyLimits) SetDailyCap(v int64) *JourneyLimits {
23817	s.DailyCap = &v
23818	return s
23819}
23820
23821// SetEndpointReentryCap sets the EndpointReentryCap field's value.
23822func (s *JourneyLimits) SetEndpointReentryCap(v int64) *JourneyLimits {
23823	s.EndpointReentryCap = &v
23824	return s
23825}
23826
23827// SetMessagesPerSecond sets the MessagesPerSecond field's value.
23828func (s *JourneyLimits) SetMessagesPerSecond(v int64) *JourneyLimits {
23829	s.MessagesPerSecond = &v
23830	return s
23831}
23832
23833// Provides information about the status, configuration, and other settings
23834// for a journey.
23835type JourneyResponse struct {
23836	_ struct{} `type:"structure"`
23837
23838	// A map that contains a set of Activity objects, one object for each activity
23839	// in the journey. For each Activity object, the key is the unique identifier
23840	// (string) for an activity and the value is the settings for the activity.
23841	Activities map[string]*Activity `type:"map"`
23842
23843	// The unique identifier for the application that the journey applies to.
23844	//
23845	// ApplicationId is a required field
23846	ApplicationId *string `type:"string" required:"true"`
23847
23848	// The date, in ISO 8601 format, when the journey was created.
23849	CreationDate *string `type:"string"`
23850
23851	// The unique identifier for the journey.
23852	//
23853	// Id is a required field
23854	Id *string `type:"string" required:"true"`
23855
23856	// The date, in ISO 8601 format, when the journey was last modified.
23857	LastModifiedDate *string `type:"string"`
23858
23859	// The messaging and entry limits for the journey.
23860	Limits *JourneyLimits `type:"structure"`
23861
23862	// Specifies whether the journey's scheduled start and end times use each participant's
23863	// local time. If this value is true, the schedule uses each participant's local
23864	// time.
23865	LocalTime *bool `type:"boolean"`
23866
23867	// The name of the journey.
23868	//
23869	// Name is a required field
23870	Name *string `type:"string" required:"true"`
23871
23872	// The quiet time settings for the journey. Quiet time is a specific time range
23873	// when a journey doesn't send messages to participants, if all the following
23874	// conditions are met:
23875	//
23876	//    * The EndpointDemographic.Timezone property of the endpoint for the participant
23877	//    is set to a valid value.
23878	//
23879	//    * The current time in the participant's time zone is later than or equal
23880	//    to the time specified by the QuietTime.Start property for the journey.
23881	//
23882	//    * The current time in the participant's time zone is earlier than or equal
23883	//    to the time specified by the QuietTime.End property for the journey.
23884	//
23885	// If any of the preceding conditions isn't met, the participant will receive
23886	// messages from the journey, even if quiet time is enabled.
23887	QuietTime *QuietTime `type:"structure"`
23888
23889	// The frequency with which Amazon Pinpoint evaluates segment and event data
23890	// for the journey, as a duration in ISO 8601 format.
23891	RefreshFrequency *string `type:"string"`
23892
23893	// The schedule settings for the journey.
23894	Schedule *JourneySchedule `type:"structure"`
23895
23896	// The unique identifier for the first activity in the journey.
23897	StartActivity *string `type:"string"`
23898
23899	// The segment that defines which users are participants in the journey.
23900	StartCondition *StartCondition `type:"structure"`
23901
23902	// The current status of the journey. Possible values are:
23903	//
23904	//    * DRAFT - The journey is being developed and hasn't been published yet.
23905	//
23906	//    * ACTIVE - The journey has been developed and published. Depending on
23907	//    the journey's schedule, the journey may currently be running or scheduled
23908	//    to start running at a later time. If a journey's status is ACTIVE, you
23909	//    can't add, change, or remove activities from it.
23910	//
23911	//    * COMPLETED - The journey has been published and has finished running.
23912	//    All participants have entered the journey and no participants are waiting
23913	//    to complete the journey or any activities in the journey.
23914	//
23915	//    * CANCELLED - The journey has been stopped. If a journey's status is CANCELLED,
23916	//    you can't add, change, or remove activities or segment settings from the
23917	//    journey.
23918	//
23919	//    * CLOSED - The journey has been published and has started running. It
23920	//    may have also passed its scheduled end time, or passed its scheduled start
23921	//    time and a refresh frequency hasn't been specified for it. If a journey's
23922	//    status is CLOSED, you can't add participants to it, and no existing participants
23923	//    can enter the journey for the first time. However, any existing participants
23924	//    who are currently waiting to start an activity may continue the journey.
23925	State *string `type:"string" enum:"State"`
23926
23927	// A string-to-string map of key-value pairs that identifies the tags that are
23928	// associated with the journey. Each tag consists of a required tag key and
23929	// an associated tag value.
23930	Tags map[string]*string `locationName:"tags" type:"map"`
23931}
23932
23933// String returns the string representation
23934func (s JourneyResponse) String() string {
23935	return awsutil.Prettify(s)
23936}
23937
23938// GoString returns the string representation
23939func (s JourneyResponse) GoString() string {
23940	return s.String()
23941}
23942
23943// SetActivities sets the Activities field's value.
23944func (s *JourneyResponse) SetActivities(v map[string]*Activity) *JourneyResponse {
23945	s.Activities = v
23946	return s
23947}
23948
23949// SetApplicationId sets the ApplicationId field's value.
23950func (s *JourneyResponse) SetApplicationId(v string) *JourneyResponse {
23951	s.ApplicationId = &v
23952	return s
23953}
23954
23955// SetCreationDate sets the CreationDate field's value.
23956func (s *JourneyResponse) SetCreationDate(v string) *JourneyResponse {
23957	s.CreationDate = &v
23958	return s
23959}
23960
23961// SetId sets the Id field's value.
23962func (s *JourneyResponse) SetId(v string) *JourneyResponse {
23963	s.Id = &v
23964	return s
23965}
23966
23967// SetLastModifiedDate sets the LastModifiedDate field's value.
23968func (s *JourneyResponse) SetLastModifiedDate(v string) *JourneyResponse {
23969	s.LastModifiedDate = &v
23970	return s
23971}
23972
23973// SetLimits sets the Limits field's value.
23974func (s *JourneyResponse) SetLimits(v *JourneyLimits) *JourneyResponse {
23975	s.Limits = v
23976	return s
23977}
23978
23979// SetLocalTime sets the LocalTime field's value.
23980func (s *JourneyResponse) SetLocalTime(v bool) *JourneyResponse {
23981	s.LocalTime = &v
23982	return s
23983}
23984
23985// SetName sets the Name field's value.
23986func (s *JourneyResponse) SetName(v string) *JourneyResponse {
23987	s.Name = &v
23988	return s
23989}
23990
23991// SetQuietTime sets the QuietTime field's value.
23992func (s *JourneyResponse) SetQuietTime(v *QuietTime) *JourneyResponse {
23993	s.QuietTime = v
23994	return s
23995}
23996
23997// SetRefreshFrequency sets the RefreshFrequency field's value.
23998func (s *JourneyResponse) SetRefreshFrequency(v string) *JourneyResponse {
23999	s.RefreshFrequency = &v
24000	return s
24001}
24002
24003// SetSchedule sets the Schedule field's value.
24004func (s *JourneyResponse) SetSchedule(v *JourneySchedule) *JourneyResponse {
24005	s.Schedule = v
24006	return s
24007}
24008
24009// SetStartActivity sets the StartActivity field's value.
24010func (s *JourneyResponse) SetStartActivity(v string) *JourneyResponse {
24011	s.StartActivity = &v
24012	return s
24013}
24014
24015// SetStartCondition sets the StartCondition field's value.
24016func (s *JourneyResponse) SetStartCondition(v *StartCondition) *JourneyResponse {
24017	s.StartCondition = v
24018	return s
24019}
24020
24021// SetState sets the State field's value.
24022func (s *JourneyResponse) SetState(v string) *JourneyResponse {
24023	s.State = &v
24024	return s
24025}
24026
24027// SetTags sets the Tags field's value.
24028func (s *JourneyResponse) SetTags(v map[string]*string) *JourneyResponse {
24029	s.Tags = v
24030	return s
24031}
24032
24033// Specifies the schedule settings for a journey.
24034type JourneySchedule struct {
24035	_ struct{} `type:"structure"`
24036
24037	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
24038
24039	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
24040
24041	// The starting UTC offset for the journey schedule, if the value of the journey's
24042	// LocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03,
24043	// UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30,
24044	// UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11,
24045	// UTC+12, UTC+12:45, UTC+13, UTC+13:45, UTC-02, UTC-02:30, UTC-03, UTC-03:30,
24046	// UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-09:30, UTC-10, and UTC-11.
24047	Timezone *string `type:"string"`
24048}
24049
24050// String returns the string representation
24051func (s JourneySchedule) String() string {
24052	return awsutil.Prettify(s)
24053}
24054
24055// GoString returns the string representation
24056func (s JourneySchedule) GoString() string {
24057	return s.String()
24058}
24059
24060// SetEndTime sets the EndTime field's value.
24061func (s *JourneySchedule) SetEndTime(v time.Time) *JourneySchedule {
24062	s.EndTime = &v
24063	return s
24064}
24065
24066// SetStartTime sets the StartTime field's value.
24067func (s *JourneySchedule) SetStartTime(v time.Time) *JourneySchedule {
24068	s.StartTime = &v
24069	return s
24070}
24071
24072// SetTimezone sets the Timezone field's value.
24073func (s *JourneySchedule) SetTimezone(v string) *JourneySchedule {
24074	s.Timezone = &v
24075	return s
24076}
24077
24078// Changes the status of a journey.
24079type JourneyStateRequest struct {
24080	_ struct{} `type:"structure"`
24081
24082	// The status of the journey. Currently, the only supported value is CANCELLED.
24083	//
24084	// If you cancel a journey, Amazon Pinpoint continues to perform activities
24085	// that are currently in progress, until those activities are complete. Amazon
24086	// Pinpoint also continues to collect and aggregate analytics data for those
24087	// activities, until they are complete, and any activities that were complete
24088	// when you cancelled the journey.
24089	//
24090	// After you cancel a journey, you can't add, change, or remove any activities
24091	// from the journey. In addition, Amazon Pinpoint stops evaluating the journey
24092	// and doesn't perform any activities that haven't started.
24093	State *string `type:"string" enum:"State"`
24094}
24095
24096// String returns the string representation
24097func (s JourneyStateRequest) String() string {
24098	return awsutil.Prettify(s)
24099}
24100
24101// GoString returns the string representation
24102func (s JourneyStateRequest) GoString() string {
24103	return s.String()
24104}
24105
24106// SetState sets the State field's value.
24107func (s *JourneyStateRequest) SetState(v string) *JourneyStateRequest {
24108	s.State = &v
24109	return s
24110}
24111
24112// Provides information about the status, configuration, and other settings
24113// for all the journeys that are associated with an application.
24114type JourneysResponse struct {
24115	_ struct{} `type:"structure"`
24116
24117	// An array of responses, one for each journey that's associated with the application.
24118	//
24119	// Item is a required field
24120	Item []*JourneyResponse `type:"list" required:"true"`
24121
24122	// The string to use in a subsequent request to get the next page of results
24123	// in a paginated response. This value is null if there are no additional pages.
24124	NextToken *string `type:"string"`
24125}
24126
24127// String returns the string representation
24128func (s JourneysResponse) String() string {
24129	return awsutil.Prettify(s)
24130}
24131
24132// GoString returns the string representation
24133func (s JourneysResponse) GoString() string {
24134	return s.String()
24135}
24136
24137// SetItem sets the Item field's value.
24138func (s *JourneysResponse) SetItem(v []*JourneyResponse) *JourneysResponse {
24139	s.Item = v
24140	return s
24141}
24142
24143// SetNextToken sets the NextToken field's value.
24144func (s *JourneysResponse) SetNextToken(v string) *JourneysResponse {
24145	s.NextToken = &v
24146	return s
24147}
24148
24149type ListJourneysInput struct {
24150	_ struct{} `type:"structure"`
24151
24152	// ApplicationId is a required field
24153	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24154
24155	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
24156
24157	Token *string `location:"querystring" locationName:"token" type:"string"`
24158}
24159
24160// String returns the string representation
24161func (s ListJourneysInput) String() string {
24162	return awsutil.Prettify(s)
24163}
24164
24165// GoString returns the string representation
24166func (s ListJourneysInput) GoString() string {
24167	return s.String()
24168}
24169
24170// Validate inspects the fields of the type to determine if they are valid.
24171func (s *ListJourneysInput) Validate() error {
24172	invalidParams := request.ErrInvalidParams{Context: "ListJourneysInput"}
24173	if s.ApplicationId == nil {
24174		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24175	}
24176	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24177		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24178	}
24179
24180	if invalidParams.Len() > 0 {
24181		return invalidParams
24182	}
24183	return nil
24184}
24185
24186// SetApplicationId sets the ApplicationId field's value.
24187func (s *ListJourneysInput) SetApplicationId(v string) *ListJourneysInput {
24188	s.ApplicationId = &v
24189	return s
24190}
24191
24192// SetPageSize sets the PageSize field's value.
24193func (s *ListJourneysInput) SetPageSize(v string) *ListJourneysInput {
24194	s.PageSize = &v
24195	return s
24196}
24197
24198// SetToken sets the Token field's value.
24199func (s *ListJourneysInput) SetToken(v string) *ListJourneysInput {
24200	s.Token = &v
24201	return s
24202}
24203
24204type ListJourneysOutput struct {
24205	_ struct{} `type:"structure" payload:"JourneysResponse"`
24206
24207	// Provides information about the status, configuration, and other settings
24208	// for all the journeys that are associated with an application.
24209	//
24210	// JourneysResponse is a required field
24211	JourneysResponse *JourneysResponse `type:"structure" required:"true"`
24212}
24213
24214// String returns the string representation
24215func (s ListJourneysOutput) String() string {
24216	return awsutil.Prettify(s)
24217}
24218
24219// GoString returns the string representation
24220func (s ListJourneysOutput) GoString() string {
24221	return s.String()
24222}
24223
24224// SetJourneysResponse sets the JourneysResponse field's value.
24225func (s *ListJourneysOutput) SetJourneysResponse(v *JourneysResponse) *ListJourneysOutput {
24226	s.JourneysResponse = v
24227	return s
24228}
24229
24230type ListTagsForResourceInput struct {
24231	_ struct{} `type:"structure"`
24232
24233	// ResourceArn is a required field
24234	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
24235}
24236
24237// String returns the string representation
24238func (s ListTagsForResourceInput) String() string {
24239	return awsutil.Prettify(s)
24240}
24241
24242// GoString returns the string representation
24243func (s ListTagsForResourceInput) GoString() string {
24244	return s.String()
24245}
24246
24247// Validate inspects the fields of the type to determine if they are valid.
24248func (s *ListTagsForResourceInput) Validate() error {
24249	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
24250	if s.ResourceArn == nil {
24251		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
24252	}
24253	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
24254		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
24255	}
24256
24257	if invalidParams.Len() > 0 {
24258		return invalidParams
24259	}
24260	return nil
24261}
24262
24263// SetResourceArn sets the ResourceArn field's value.
24264func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
24265	s.ResourceArn = &v
24266	return s
24267}
24268
24269type ListTagsForResourceOutput struct {
24270	_ struct{} `type:"structure" payload:"TagsModel"`
24271
24272	// Specifies the tags (keys and values) for an application, campaign, journey,
24273	// message template, or segment.
24274	//
24275	// TagsModel is a required field
24276	TagsModel *TagsModel `type:"structure" required:"true"`
24277}
24278
24279// String returns the string representation
24280func (s ListTagsForResourceOutput) String() string {
24281	return awsutil.Prettify(s)
24282}
24283
24284// GoString returns the string representation
24285func (s ListTagsForResourceOutput) GoString() string {
24286	return s.String()
24287}
24288
24289// SetTagsModel sets the TagsModel field's value.
24290func (s *ListTagsForResourceOutput) SetTagsModel(v *TagsModel) *ListTagsForResourceOutput {
24291	s.TagsModel = v
24292	return s
24293}
24294
24295type ListTemplateVersionsInput struct {
24296	_ struct{} `type:"structure"`
24297
24298	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
24299
24300	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
24301
24302	// TemplateName is a required field
24303	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
24304
24305	// TemplateType is a required field
24306	TemplateType *string `location:"uri" locationName:"template-type" type:"string" required:"true"`
24307}
24308
24309// String returns the string representation
24310func (s ListTemplateVersionsInput) String() string {
24311	return awsutil.Prettify(s)
24312}
24313
24314// GoString returns the string representation
24315func (s ListTemplateVersionsInput) GoString() string {
24316	return s.String()
24317}
24318
24319// Validate inspects the fields of the type to determine if they are valid.
24320func (s *ListTemplateVersionsInput) Validate() error {
24321	invalidParams := request.ErrInvalidParams{Context: "ListTemplateVersionsInput"}
24322	if s.TemplateName == nil {
24323		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
24324	}
24325	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
24326		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
24327	}
24328	if s.TemplateType == nil {
24329		invalidParams.Add(request.NewErrParamRequired("TemplateType"))
24330	}
24331	if s.TemplateType != nil && len(*s.TemplateType) < 1 {
24332		invalidParams.Add(request.NewErrParamMinLen("TemplateType", 1))
24333	}
24334
24335	if invalidParams.Len() > 0 {
24336		return invalidParams
24337	}
24338	return nil
24339}
24340
24341// SetNextToken sets the NextToken field's value.
24342func (s *ListTemplateVersionsInput) SetNextToken(v string) *ListTemplateVersionsInput {
24343	s.NextToken = &v
24344	return s
24345}
24346
24347// SetPageSize sets the PageSize field's value.
24348func (s *ListTemplateVersionsInput) SetPageSize(v string) *ListTemplateVersionsInput {
24349	s.PageSize = &v
24350	return s
24351}
24352
24353// SetTemplateName sets the TemplateName field's value.
24354func (s *ListTemplateVersionsInput) SetTemplateName(v string) *ListTemplateVersionsInput {
24355	s.TemplateName = &v
24356	return s
24357}
24358
24359// SetTemplateType sets the TemplateType field's value.
24360func (s *ListTemplateVersionsInput) SetTemplateType(v string) *ListTemplateVersionsInput {
24361	s.TemplateType = &v
24362	return s
24363}
24364
24365type ListTemplateVersionsOutput struct {
24366	_ struct{} `type:"structure" payload:"TemplateVersionsResponse"`
24367
24368	// Provides information about all the versions of a specific message template.
24369	//
24370	// TemplateVersionsResponse is a required field
24371	TemplateVersionsResponse *TemplateVersionsResponse `type:"structure" required:"true"`
24372}
24373
24374// String returns the string representation
24375func (s ListTemplateVersionsOutput) String() string {
24376	return awsutil.Prettify(s)
24377}
24378
24379// GoString returns the string representation
24380func (s ListTemplateVersionsOutput) GoString() string {
24381	return s.String()
24382}
24383
24384// SetTemplateVersionsResponse sets the TemplateVersionsResponse field's value.
24385func (s *ListTemplateVersionsOutput) SetTemplateVersionsResponse(v *TemplateVersionsResponse) *ListTemplateVersionsOutput {
24386	s.TemplateVersionsResponse = v
24387	return s
24388}
24389
24390type ListTemplatesInput struct {
24391	_ struct{} `type:"structure"`
24392
24393	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
24394
24395	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
24396
24397	Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
24398
24399	TemplateType *string `location:"querystring" locationName:"template-type" type:"string"`
24400}
24401
24402// String returns the string representation
24403func (s ListTemplatesInput) String() string {
24404	return awsutil.Prettify(s)
24405}
24406
24407// GoString returns the string representation
24408func (s ListTemplatesInput) GoString() string {
24409	return s.String()
24410}
24411
24412// SetNextToken sets the NextToken field's value.
24413func (s *ListTemplatesInput) SetNextToken(v string) *ListTemplatesInput {
24414	s.NextToken = &v
24415	return s
24416}
24417
24418// SetPageSize sets the PageSize field's value.
24419func (s *ListTemplatesInput) SetPageSize(v string) *ListTemplatesInput {
24420	s.PageSize = &v
24421	return s
24422}
24423
24424// SetPrefix sets the Prefix field's value.
24425func (s *ListTemplatesInput) SetPrefix(v string) *ListTemplatesInput {
24426	s.Prefix = &v
24427	return s
24428}
24429
24430// SetTemplateType sets the TemplateType field's value.
24431func (s *ListTemplatesInput) SetTemplateType(v string) *ListTemplatesInput {
24432	s.TemplateType = &v
24433	return s
24434}
24435
24436type ListTemplatesOutput struct {
24437	_ struct{} `type:"structure" payload:"TemplatesResponse"`
24438
24439	// Provides information about all the message templates that are associated
24440	// with your Amazon Pinpoint account.
24441	//
24442	// TemplatesResponse is a required field
24443	TemplatesResponse *TemplatesResponse `type:"structure" required:"true"`
24444}
24445
24446// String returns the string representation
24447func (s ListTemplatesOutput) String() string {
24448	return awsutil.Prettify(s)
24449}
24450
24451// GoString returns the string representation
24452func (s ListTemplatesOutput) GoString() string {
24453	return s.String()
24454}
24455
24456// SetTemplatesResponse sets the TemplatesResponse field's value.
24457func (s *ListTemplatesOutput) SetTemplatesResponse(v *TemplatesResponse) *ListTemplatesOutput {
24458	s.TemplatesResponse = v
24459	return s
24460}
24461
24462// Specifies the content and settings for a push notification that's sent to
24463// recipients of a campaign.
24464type Message struct {
24465	_ struct{} `type:"structure"`
24466
24467	// The action to occur if a recipient taps the push notification. Valid values
24468	// are:
24469	//
24470	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
24471	//    sent to the background. This is the default action.
24472	//
24473	//    * DEEP_LINK - Your app opens and displays a designated user interface
24474	//    in the app. This setting uses the deep-linking features of iOS and Android.
24475	//
24476	//    * URL - The default mobile browser on the recipient's device opens and
24477	//    loads the web page at a URL that you specify.
24478	Action *string `type:"string" enum:"Action"`
24479
24480	// The body of the notification message. The maximum number of characters is
24481	// 200.
24482	Body *string `type:"string"`
24483
24484	// The URL of the image to display as the push-notification icon, such as the
24485	// icon for the app.
24486	ImageIconUrl *string `type:"string"`
24487
24488	// The URL of the image to display as the small, push-notification icon, such
24489	// as a small version of the icon for the app.
24490	ImageSmallIconUrl *string `type:"string"`
24491
24492	// The URL of an image to display in the push notification.
24493	ImageUrl *string `type:"string"`
24494
24495	// The JSON payload to use for a silent push notification.
24496	JsonBody *string `type:"string"`
24497
24498	// The URL of the image or video to display in the push notification.
24499	MediaUrl *string `type:"string"`
24500
24501	// The raw, JSON-formatted string to use as the payload for the notification
24502	// message. If specified, this value overrides all other content for the message.
24503	RawContent *string `type:"string"`
24504
24505	// Specifies whether the notification is a silent push notification, which is
24506	// a push notification that doesn't display on a recipient's device. Silent
24507	// push notifications can be used for cases such as updating an app's configuration,
24508	// displaying messages in an in-app message center, or supporting phone home
24509	// functionality.
24510	SilentPush *bool `type:"boolean"`
24511
24512	// The number of seconds that the push-notification service should keep the
24513	// message, if the service is unable to deliver the notification the first time.
24514	// This value is converted to an expiration value when it's sent to a push-notification
24515	// service. If this value is 0, the service treats the notification as if it
24516	// expires immediately and the service doesn't store or try to deliver the notification
24517	// again.
24518	//
24519	// This value doesn't apply to messages that are sent through the Amazon Device
24520	// Messaging (ADM) service.
24521	TimeToLive *int64 `type:"integer"`
24522
24523	// The title to display above the notification message on a recipient's device.
24524	Title *string `type:"string"`
24525
24526	// The URL to open in a recipient's default mobile browser, if a recipient taps
24527	// the push notification and the value of the Action property is URL.
24528	Url *string `type:"string"`
24529}
24530
24531// String returns the string representation
24532func (s Message) String() string {
24533	return awsutil.Prettify(s)
24534}
24535
24536// GoString returns the string representation
24537func (s Message) GoString() string {
24538	return s.String()
24539}
24540
24541// SetAction sets the Action field's value.
24542func (s *Message) SetAction(v string) *Message {
24543	s.Action = &v
24544	return s
24545}
24546
24547// SetBody sets the Body field's value.
24548func (s *Message) SetBody(v string) *Message {
24549	s.Body = &v
24550	return s
24551}
24552
24553// SetImageIconUrl sets the ImageIconUrl field's value.
24554func (s *Message) SetImageIconUrl(v string) *Message {
24555	s.ImageIconUrl = &v
24556	return s
24557}
24558
24559// SetImageSmallIconUrl sets the ImageSmallIconUrl field's value.
24560func (s *Message) SetImageSmallIconUrl(v string) *Message {
24561	s.ImageSmallIconUrl = &v
24562	return s
24563}
24564
24565// SetImageUrl sets the ImageUrl field's value.
24566func (s *Message) SetImageUrl(v string) *Message {
24567	s.ImageUrl = &v
24568	return s
24569}
24570
24571// SetJsonBody sets the JsonBody field's value.
24572func (s *Message) SetJsonBody(v string) *Message {
24573	s.JsonBody = &v
24574	return s
24575}
24576
24577// SetMediaUrl sets the MediaUrl field's value.
24578func (s *Message) SetMediaUrl(v string) *Message {
24579	s.MediaUrl = &v
24580	return s
24581}
24582
24583// SetRawContent sets the RawContent field's value.
24584func (s *Message) SetRawContent(v string) *Message {
24585	s.RawContent = &v
24586	return s
24587}
24588
24589// SetSilentPush sets the SilentPush field's value.
24590func (s *Message) SetSilentPush(v bool) *Message {
24591	s.SilentPush = &v
24592	return s
24593}
24594
24595// SetTimeToLive sets the TimeToLive field's value.
24596func (s *Message) SetTimeToLive(v int64) *Message {
24597	s.TimeToLive = &v
24598	return s
24599}
24600
24601// SetTitle sets the Title field's value.
24602func (s *Message) SetTitle(v string) *Message {
24603	s.Title = &v
24604	return s
24605}
24606
24607// SetUrl sets the Url field's value.
24608func (s *Message) SetUrl(v string) *Message {
24609	s.Url = &v
24610	return s
24611}
24612
24613// Provides information about an API request or response.
24614type MessageBody struct {
24615	_ struct{} `type:"structure"`
24616
24617	// The message that's returned from the API.
24618	Message *string `type:"string"`
24619
24620	// The unique identifier for the request or response.
24621	RequestID *string `type:"string"`
24622}
24623
24624// String returns the string representation
24625func (s MessageBody) String() string {
24626	return awsutil.Prettify(s)
24627}
24628
24629// GoString returns the string representation
24630func (s MessageBody) GoString() string {
24631	return s.String()
24632}
24633
24634// SetMessage sets the Message field's value.
24635func (s *MessageBody) SetMessage(v string) *MessageBody {
24636	s.Message = &v
24637	return s
24638}
24639
24640// SetRequestID sets the RequestID field's value.
24641func (s *MessageBody) SetRequestID(v string) *MessageBody {
24642	s.RequestID = &v
24643	return s
24644}
24645
24646// Specifies the message configuration settings for a campaign.
24647type MessageConfiguration struct {
24648	_ struct{} `type:"structure"`
24649
24650	// The message that the campaign sends through the ADM (Amazon Device Messaging)
24651	// channel. This message overrides the default message.
24652	ADMMessage *Message `type:"structure"`
24653
24654	// The message that the campaign sends through the APNs (Apple Push Notification
24655	// service) channel. This message overrides the default message.
24656	APNSMessage *Message `type:"structure"`
24657
24658	// The message that the campaign sends through the Baidu (Baidu Cloud Push)
24659	// channel. This message overrides the default message.
24660	BaiduMessage *Message `type:"structure"`
24661
24662	// The default message that the campaign sends through all the channels that
24663	// are configured for the campaign.
24664	DefaultMessage *Message `type:"structure"`
24665
24666	// The message that the campaign sends through the email channel.
24667	EmailMessage *CampaignEmailMessage `type:"structure"`
24668
24669	// The message that the campaign sends through the GCM channel, which enables
24670	// Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging
24671	// (FCM), formerly Google Cloud Messaging (GCM), service. This message overrides
24672	// the default message.
24673	GCMMessage *Message `type:"structure"`
24674
24675	// The message that the campaign sends through the SMS channel.
24676	SMSMessage *CampaignSmsMessage `type:"structure"`
24677}
24678
24679// String returns the string representation
24680func (s MessageConfiguration) String() string {
24681	return awsutil.Prettify(s)
24682}
24683
24684// GoString returns the string representation
24685func (s MessageConfiguration) GoString() string {
24686	return s.String()
24687}
24688
24689// Validate inspects the fields of the type to determine if they are valid.
24690func (s *MessageConfiguration) Validate() error {
24691	invalidParams := request.ErrInvalidParams{Context: "MessageConfiguration"}
24692	if s.EmailMessage != nil {
24693		if err := s.EmailMessage.Validate(); err != nil {
24694			invalidParams.AddNested("EmailMessage", err.(request.ErrInvalidParams))
24695		}
24696	}
24697
24698	if invalidParams.Len() > 0 {
24699		return invalidParams
24700	}
24701	return nil
24702}
24703
24704// SetADMMessage sets the ADMMessage field's value.
24705func (s *MessageConfiguration) SetADMMessage(v *Message) *MessageConfiguration {
24706	s.ADMMessage = v
24707	return s
24708}
24709
24710// SetAPNSMessage sets the APNSMessage field's value.
24711func (s *MessageConfiguration) SetAPNSMessage(v *Message) *MessageConfiguration {
24712	s.APNSMessage = v
24713	return s
24714}
24715
24716// SetBaiduMessage sets the BaiduMessage field's value.
24717func (s *MessageConfiguration) SetBaiduMessage(v *Message) *MessageConfiguration {
24718	s.BaiduMessage = v
24719	return s
24720}
24721
24722// SetDefaultMessage sets the DefaultMessage field's value.
24723func (s *MessageConfiguration) SetDefaultMessage(v *Message) *MessageConfiguration {
24724	s.DefaultMessage = v
24725	return s
24726}
24727
24728// SetEmailMessage sets the EmailMessage field's value.
24729func (s *MessageConfiguration) SetEmailMessage(v *CampaignEmailMessage) *MessageConfiguration {
24730	s.EmailMessage = v
24731	return s
24732}
24733
24734// SetGCMMessage sets the GCMMessage field's value.
24735func (s *MessageConfiguration) SetGCMMessage(v *Message) *MessageConfiguration {
24736	s.GCMMessage = v
24737	return s
24738}
24739
24740// SetSMSMessage sets the SMSMessage field's value.
24741func (s *MessageConfiguration) SetSMSMessage(v *CampaignSmsMessage) *MessageConfiguration {
24742	s.SMSMessage = v
24743	return s
24744}
24745
24746// Specifies the configuration and other settings for a message.
24747type MessageRequest struct {
24748	_ struct{} `type:"structure"`
24749
24750	// A map of key-value pairs, where each key is an address and each value is
24751	// an AddressConfiguration object. An address can be a push notification token,
24752	// a phone number, or an email address. You can use an AddressConfiguration
24753	// object to tailor the message for an address by specifying settings such as
24754	// content overrides and message variables.
24755	Addresses map[string]*AddressConfiguration `type:"map"`
24756
24757	// A map of custom attributes to attach to the message. For a push notification,
24758	// this payload is added to the data.pinpoint object. For an email or text message,
24759	// this payload is added to email/SMS delivery receipt event attributes.
24760	Context map[string]*string `type:"map"`
24761
24762	// A map of key-value pairs, where each key is an endpoint ID and each value
24763	// is an EndpointSendConfiguration object. You can use an EndpointSendConfiguration
24764	// object to tailor the message for an endpoint by specifying settings such
24765	// as content overrides and message variables.
24766	Endpoints map[string]*EndpointSendConfiguration `type:"map"`
24767
24768	// The settings and content for the default message and any default messages
24769	// that you defined for specific channels.
24770	//
24771	// MessageConfiguration is a required field
24772	MessageConfiguration *DirectMessageConfiguration `type:"structure" required:"true"`
24773
24774	// The message template to use for the message.
24775	TemplateConfiguration *TemplateConfiguration `type:"structure"`
24776
24777	// The unique identifier for tracing the message. This identifier is visible
24778	// to message recipients.
24779	TraceId *string `type:"string"`
24780}
24781
24782// String returns the string representation
24783func (s MessageRequest) String() string {
24784	return awsutil.Prettify(s)
24785}
24786
24787// GoString returns the string representation
24788func (s MessageRequest) GoString() string {
24789	return s.String()
24790}
24791
24792// Validate inspects the fields of the type to determine if they are valid.
24793func (s *MessageRequest) Validate() error {
24794	invalidParams := request.ErrInvalidParams{Context: "MessageRequest"}
24795	if s.MessageConfiguration == nil {
24796		invalidParams.Add(request.NewErrParamRequired("MessageConfiguration"))
24797	}
24798
24799	if invalidParams.Len() > 0 {
24800		return invalidParams
24801	}
24802	return nil
24803}
24804
24805// SetAddresses sets the Addresses field's value.
24806func (s *MessageRequest) SetAddresses(v map[string]*AddressConfiguration) *MessageRequest {
24807	s.Addresses = v
24808	return s
24809}
24810
24811// SetContext sets the Context field's value.
24812func (s *MessageRequest) SetContext(v map[string]*string) *MessageRequest {
24813	s.Context = v
24814	return s
24815}
24816
24817// SetEndpoints sets the Endpoints field's value.
24818func (s *MessageRequest) SetEndpoints(v map[string]*EndpointSendConfiguration) *MessageRequest {
24819	s.Endpoints = v
24820	return s
24821}
24822
24823// SetMessageConfiguration sets the MessageConfiguration field's value.
24824func (s *MessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) *MessageRequest {
24825	s.MessageConfiguration = v
24826	return s
24827}
24828
24829// SetTemplateConfiguration sets the TemplateConfiguration field's value.
24830func (s *MessageRequest) SetTemplateConfiguration(v *TemplateConfiguration) *MessageRequest {
24831	s.TemplateConfiguration = v
24832	return s
24833}
24834
24835// SetTraceId sets the TraceId field's value.
24836func (s *MessageRequest) SetTraceId(v string) *MessageRequest {
24837	s.TraceId = &v
24838	return s
24839}
24840
24841// Provides information about the results of a request to send a message to
24842// an endpoint address.
24843type MessageResponse struct {
24844	_ struct{} `type:"structure"`
24845
24846	// The unique identifier for the application that was used to send the message.
24847	//
24848	// ApplicationId is a required field
24849	ApplicationId *string `type:"string" required:"true"`
24850
24851	// A map that contains a multipart response for each address that the message
24852	// was sent to. In the map, the endpoint ID is the key and the result is the
24853	// value.
24854	EndpointResult map[string]*EndpointMessageResult `type:"map"`
24855
24856	// The identifier for the original request that the message was delivered for.
24857	RequestId *string `type:"string"`
24858
24859	// A map that contains a multipart response for each address (email address,
24860	// phone number, or push notification token) that the message was sent to. In
24861	// the map, the address is the key and the result is the value.
24862	Result map[string]*MessageResult `type:"map"`
24863}
24864
24865// String returns the string representation
24866func (s MessageResponse) String() string {
24867	return awsutil.Prettify(s)
24868}
24869
24870// GoString returns the string representation
24871func (s MessageResponse) GoString() string {
24872	return s.String()
24873}
24874
24875// SetApplicationId sets the ApplicationId field's value.
24876func (s *MessageResponse) SetApplicationId(v string) *MessageResponse {
24877	s.ApplicationId = &v
24878	return s
24879}
24880
24881// SetEndpointResult sets the EndpointResult field's value.
24882func (s *MessageResponse) SetEndpointResult(v map[string]*EndpointMessageResult) *MessageResponse {
24883	s.EndpointResult = v
24884	return s
24885}
24886
24887// SetRequestId sets the RequestId field's value.
24888func (s *MessageResponse) SetRequestId(v string) *MessageResponse {
24889	s.RequestId = &v
24890	return s
24891}
24892
24893// SetResult sets the Result field's value.
24894func (s *MessageResponse) SetResult(v map[string]*MessageResult) *MessageResponse {
24895	s.Result = v
24896	return s
24897}
24898
24899// Provides information about the results of sending a message directly to an
24900// endpoint address.
24901type MessageResult struct {
24902	_ struct{} `type:"structure"`
24903
24904	// The delivery status of the message. Possible values are:
24905	//
24906	//    * DUPLICATE - The endpoint address is a duplicate of another endpoint
24907	//    address. Amazon Pinpoint won't attempt to send the message again.
24908	//
24909	//    * OPT_OUT - The user who's associated with the endpoint address has opted
24910	//    out of receiving messages from you. Amazon Pinpoint won't attempt to send
24911	//    the message again.
24912	//
24913	//    * PERMANENT_FAILURE - An error occurred when delivering the message to
24914	//    the endpoint address. Amazon Pinpoint won't attempt to send the message
24915	//    again.
24916	//
24917	//    * SUCCESSFUL - The message was successfully delivered to the endpoint
24918	//    address.
24919	//
24920	//    * TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint will
24921	//    attempt to deliver the message again later.
24922	//
24923	//    * THROTTLED - Amazon Pinpoint throttled the operation to send the message
24924	//    to the endpoint address.
24925	//
24926	//    * TIMEOUT - The message couldn't be sent within the timeout period.
24927	//
24928	//    * UNKNOWN_FAILURE - An unknown error occurred.
24929	//
24930	// DeliveryStatus is a required field
24931	DeliveryStatus *string `type:"string" required:"true" enum:"DeliveryStatus"`
24932
24933	// The unique identifier for the message that was sent.
24934	MessageId *string `type:"string"`
24935
24936	// The downstream service status code for delivering the message.
24937	//
24938	// StatusCode is a required field
24939	StatusCode *int64 `type:"integer" required:"true"`
24940
24941	// The status message for delivering the message.
24942	StatusMessage *string `type:"string"`
24943
24944	// For push notifications that are sent through the GCM channel, specifies whether
24945	// the endpoint's device registration token was updated as part of delivering
24946	// the message.
24947	UpdatedToken *string `type:"string"`
24948}
24949
24950// String returns the string representation
24951func (s MessageResult) String() string {
24952	return awsutil.Prettify(s)
24953}
24954
24955// GoString returns the string representation
24956func (s MessageResult) GoString() string {
24957	return s.String()
24958}
24959
24960// SetDeliveryStatus sets the DeliveryStatus field's value.
24961func (s *MessageResult) SetDeliveryStatus(v string) *MessageResult {
24962	s.DeliveryStatus = &v
24963	return s
24964}
24965
24966// SetMessageId sets the MessageId field's value.
24967func (s *MessageResult) SetMessageId(v string) *MessageResult {
24968	s.MessageId = &v
24969	return s
24970}
24971
24972// SetStatusCode sets the StatusCode field's value.
24973func (s *MessageResult) SetStatusCode(v int64) *MessageResult {
24974	s.StatusCode = &v
24975	return s
24976}
24977
24978// SetStatusMessage sets the StatusMessage field's value.
24979func (s *MessageResult) SetStatusMessage(v string) *MessageResult {
24980	s.StatusMessage = &v
24981	return s
24982}
24983
24984// SetUpdatedToken sets the UpdatedToken field's value.
24985func (s *MessageResult) SetUpdatedToken(v string) *MessageResult {
24986	s.UpdatedToken = &v
24987	return s
24988}
24989
24990// Specifies metric-based criteria for including or excluding endpoints from
24991// a segment. These criteria derive from custom metrics that you define for
24992// endpoints.
24993type MetricDimension struct {
24994	_ struct{} `type:"structure"`
24995
24996	// The operator to use when comparing metric values. Valid values are: GREATER_THAN,
24997	// LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, and EQUAL.
24998	//
24999	// ComparisonOperator is a required field
25000	ComparisonOperator *string `type:"string" required:"true"`
25001
25002	// The value to compare.
25003	//
25004	// Value is a required field
25005	Value *float64 `type:"double" required:"true"`
25006}
25007
25008// String returns the string representation
25009func (s MetricDimension) String() string {
25010	return awsutil.Prettify(s)
25011}
25012
25013// GoString returns the string representation
25014func (s MetricDimension) GoString() string {
25015	return s.String()
25016}
25017
25018// Validate inspects the fields of the type to determine if they are valid.
25019func (s *MetricDimension) Validate() error {
25020	invalidParams := request.ErrInvalidParams{Context: "MetricDimension"}
25021	if s.ComparisonOperator == nil {
25022		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
25023	}
25024	if s.Value == nil {
25025		invalidParams.Add(request.NewErrParamRequired("Value"))
25026	}
25027
25028	if invalidParams.Len() > 0 {
25029		return invalidParams
25030	}
25031	return nil
25032}
25033
25034// SetComparisonOperator sets the ComparisonOperator field's value.
25035func (s *MetricDimension) SetComparisonOperator(v string) *MetricDimension {
25036	s.ComparisonOperator = &v
25037	return s
25038}
25039
25040// SetValue sets the Value field's value.
25041func (s *MetricDimension) SetValue(v float64) *MetricDimension {
25042	s.Value = &v
25043	return s
25044}
25045
25046// Specifies a condition to evaluate for an activity path in a journey.
25047type MultiConditionalBranch struct {
25048	_ struct{} `type:"structure"`
25049
25050	// The condition to evaluate for the activity path.
25051	Condition *SimpleCondition `type:"structure"`
25052
25053	// The unique identifier for the next activity to perform, after completing
25054	// the activity for the path.
25055	NextActivity *string `type:"string"`
25056}
25057
25058// String returns the string representation
25059func (s MultiConditionalBranch) String() string {
25060	return awsutil.Prettify(s)
25061}
25062
25063// GoString returns the string representation
25064func (s MultiConditionalBranch) GoString() string {
25065	return s.String()
25066}
25067
25068// Validate inspects the fields of the type to determine if they are valid.
25069func (s *MultiConditionalBranch) Validate() error {
25070	invalidParams := request.ErrInvalidParams{Context: "MultiConditionalBranch"}
25071	if s.Condition != nil {
25072		if err := s.Condition.Validate(); err != nil {
25073			invalidParams.AddNested("Condition", err.(request.ErrInvalidParams))
25074		}
25075	}
25076
25077	if invalidParams.Len() > 0 {
25078		return invalidParams
25079	}
25080	return nil
25081}
25082
25083// SetCondition sets the Condition field's value.
25084func (s *MultiConditionalBranch) SetCondition(v *SimpleCondition) *MultiConditionalBranch {
25085	s.Condition = v
25086	return s
25087}
25088
25089// SetNextActivity sets the NextActivity field's value.
25090func (s *MultiConditionalBranch) SetNextActivity(v string) *MultiConditionalBranch {
25091	s.NextActivity = &v
25092	return s
25093}
25094
25095// Specifies the settings for a multivariate split activity in a journey. This
25096// type of activity sends participants down one of as many as five paths (including
25097// a default Else path) in a journey, based on conditions that you specify.
25098type MultiConditionalSplitActivity struct {
25099	_ struct{} `type:"structure"`
25100
25101	// The paths for the activity, including the conditions for entering each path
25102	// and the activity to perform for each path.
25103	Branches []*MultiConditionalBranch `type:"list"`
25104
25105	// The unique identifier for the activity to perform for participants who don't
25106	// meet any of the conditions specified for other paths in the activity.
25107	DefaultActivity *string `type:"string"`
25108
25109	// The amount of time to wait or the date and time when Amazon Pinpoint determines
25110	// whether the conditions are met.
25111	EvaluationWaitTime *WaitTime `type:"structure"`
25112}
25113
25114// String returns the string representation
25115func (s MultiConditionalSplitActivity) String() string {
25116	return awsutil.Prettify(s)
25117}
25118
25119// GoString returns the string representation
25120func (s MultiConditionalSplitActivity) GoString() string {
25121	return s.String()
25122}
25123
25124// Validate inspects the fields of the type to determine if they are valid.
25125func (s *MultiConditionalSplitActivity) Validate() error {
25126	invalidParams := request.ErrInvalidParams{Context: "MultiConditionalSplitActivity"}
25127	if s.Branches != nil {
25128		for i, v := range s.Branches {
25129			if v == nil {
25130				continue
25131			}
25132			if err := v.Validate(); err != nil {
25133				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Branches", i), err.(request.ErrInvalidParams))
25134			}
25135		}
25136	}
25137
25138	if invalidParams.Len() > 0 {
25139		return invalidParams
25140	}
25141	return nil
25142}
25143
25144// SetBranches sets the Branches field's value.
25145func (s *MultiConditionalSplitActivity) SetBranches(v []*MultiConditionalBranch) *MultiConditionalSplitActivity {
25146	s.Branches = v
25147	return s
25148}
25149
25150// SetDefaultActivity sets the DefaultActivity field's value.
25151func (s *MultiConditionalSplitActivity) SetDefaultActivity(v string) *MultiConditionalSplitActivity {
25152	s.DefaultActivity = &v
25153	return s
25154}
25155
25156// SetEvaluationWaitTime sets the EvaluationWaitTime field's value.
25157func (s *MultiConditionalSplitActivity) SetEvaluationWaitTime(v *WaitTime) *MultiConditionalSplitActivity {
25158	s.EvaluationWaitTime = v
25159	return s
25160}
25161
25162// Specifies a phone number to validate and retrieve information about.
25163type NumberValidateRequest struct {
25164	_ struct{} `type:"structure"`
25165
25166	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
25167	// region where the phone number was originally registered.
25168	IsoCountryCode *string `type:"string"`
25169
25170	// The phone number to retrieve information about. The phone number that you
25171	// provide should include a valid numeric country code. Otherwise, the operation
25172	// might result in an error.
25173	PhoneNumber *string `type:"string"`
25174}
25175
25176// String returns the string representation
25177func (s NumberValidateRequest) String() string {
25178	return awsutil.Prettify(s)
25179}
25180
25181// GoString returns the string representation
25182func (s NumberValidateRequest) GoString() string {
25183	return s.String()
25184}
25185
25186// SetIsoCountryCode sets the IsoCountryCode field's value.
25187func (s *NumberValidateRequest) SetIsoCountryCode(v string) *NumberValidateRequest {
25188	s.IsoCountryCode = &v
25189	return s
25190}
25191
25192// SetPhoneNumber sets the PhoneNumber field's value.
25193func (s *NumberValidateRequest) SetPhoneNumber(v string) *NumberValidateRequest {
25194	s.PhoneNumber = &v
25195	return s
25196}
25197
25198// Provides information about a phone number.
25199type NumberValidateResponse struct {
25200	_ struct{} `type:"structure"`
25201
25202	// The carrier or service provider that the phone number is currently registered
25203	// with. In some countries and regions, this value may be the carrier or service
25204	// provider that the phone number was originally registered with.
25205	Carrier *string `type:"string"`
25206
25207	// The name of the city where the phone number was originally registered.
25208	City *string `type:"string"`
25209
25210	// The cleansed phone number, in E.164 format, for the location where the phone
25211	// number was originally registered.
25212	CleansedPhoneNumberE164 *string `type:"string"`
25213
25214	// The cleansed phone number, in the format for the location where the phone
25215	// number was originally registered.
25216	CleansedPhoneNumberNational *string `type:"string"`
25217
25218	// The name of the country or region where the phone number was originally registered.
25219	Country *string `type:"string"`
25220
25221	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
25222	// region where the phone number was originally registered.
25223	CountryCodeIso2 *string `type:"string"`
25224
25225	// The numeric code for the country or region where the phone number was originally
25226	// registered.
25227	CountryCodeNumeric *string `type:"string"`
25228
25229	// The name of the county where the phone number was originally registered.
25230	County *string `type:"string"`
25231
25232	// The two-character code, in ISO 3166-1 alpha-2 format, that was sent in the
25233	// request body.
25234	OriginalCountryCodeIso2 *string `type:"string"`
25235
25236	// The phone number that was sent in the request body.
25237	OriginalPhoneNumber *string `type:"string"`
25238
25239	// The description of the phone type. Valid values are: MOBILE, LANDLINE, VOIP,
25240	// INVALID, PREPAID, and OTHER.
25241	PhoneType *string `type:"string"`
25242
25243	// The phone type, represented by an integer. Valid values are: 0 (mobile),
25244	// 1 (landline), 2 (VoIP), 3 (invalid), 4 (other), and 5 (prepaid).
25245	PhoneTypeCode *int64 `type:"integer"`
25246
25247	// The time zone for the location where the phone number was originally registered.
25248	Timezone *string `type:"string"`
25249
25250	// The postal or ZIP code for the location where the phone number was originally
25251	// registered.
25252	ZipCode *string `type:"string"`
25253}
25254
25255// String returns the string representation
25256func (s NumberValidateResponse) String() string {
25257	return awsutil.Prettify(s)
25258}
25259
25260// GoString returns the string representation
25261func (s NumberValidateResponse) GoString() string {
25262	return s.String()
25263}
25264
25265// SetCarrier sets the Carrier field's value.
25266func (s *NumberValidateResponse) SetCarrier(v string) *NumberValidateResponse {
25267	s.Carrier = &v
25268	return s
25269}
25270
25271// SetCity sets the City field's value.
25272func (s *NumberValidateResponse) SetCity(v string) *NumberValidateResponse {
25273	s.City = &v
25274	return s
25275}
25276
25277// SetCleansedPhoneNumberE164 sets the CleansedPhoneNumberE164 field's value.
25278func (s *NumberValidateResponse) SetCleansedPhoneNumberE164(v string) *NumberValidateResponse {
25279	s.CleansedPhoneNumberE164 = &v
25280	return s
25281}
25282
25283// SetCleansedPhoneNumberNational sets the CleansedPhoneNumberNational field's value.
25284func (s *NumberValidateResponse) SetCleansedPhoneNumberNational(v string) *NumberValidateResponse {
25285	s.CleansedPhoneNumberNational = &v
25286	return s
25287}
25288
25289// SetCountry sets the Country field's value.
25290func (s *NumberValidateResponse) SetCountry(v string) *NumberValidateResponse {
25291	s.Country = &v
25292	return s
25293}
25294
25295// SetCountryCodeIso2 sets the CountryCodeIso2 field's value.
25296func (s *NumberValidateResponse) SetCountryCodeIso2(v string) *NumberValidateResponse {
25297	s.CountryCodeIso2 = &v
25298	return s
25299}
25300
25301// SetCountryCodeNumeric sets the CountryCodeNumeric field's value.
25302func (s *NumberValidateResponse) SetCountryCodeNumeric(v string) *NumberValidateResponse {
25303	s.CountryCodeNumeric = &v
25304	return s
25305}
25306
25307// SetCounty sets the County field's value.
25308func (s *NumberValidateResponse) SetCounty(v string) *NumberValidateResponse {
25309	s.County = &v
25310	return s
25311}
25312
25313// SetOriginalCountryCodeIso2 sets the OriginalCountryCodeIso2 field's value.
25314func (s *NumberValidateResponse) SetOriginalCountryCodeIso2(v string) *NumberValidateResponse {
25315	s.OriginalCountryCodeIso2 = &v
25316	return s
25317}
25318
25319// SetOriginalPhoneNumber sets the OriginalPhoneNumber field's value.
25320func (s *NumberValidateResponse) SetOriginalPhoneNumber(v string) *NumberValidateResponse {
25321	s.OriginalPhoneNumber = &v
25322	return s
25323}
25324
25325// SetPhoneType sets the PhoneType field's value.
25326func (s *NumberValidateResponse) SetPhoneType(v string) *NumberValidateResponse {
25327	s.PhoneType = &v
25328	return s
25329}
25330
25331// SetPhoneTypeCode sets the PhoneTypeCode field's value.
25332func (s *NumberValidateResponse) SetPhoneTypeCode(v int64) *NumberValidateResponse {
25333	s.PhoneTypeCode = &v
25334	return s
25335}
25336
25337// SetTimezone sets the Timezone field's value.
25338func (s *NumberValidateResponse) SetTimezone(v string) *NumberValidateResponse {
25339	s.Timezone = &v
25340	return s
25341}
25342
25343// SetZipCode sets the ZipCode field's value.
25344func (s *NumberValidateResponse) SetZipCode(v string) *NumberValidateResponse {
25345	s.ZipCode = &v
25346	return s
25347}
25348
25349type PhoneNumberValidateInput struct {
25350	_ struct{} `type:"structure" payload:"NumberValidateRequest"`
25351
25352	// Specifies a phone number to validate and retrieve information about.
25353	//
25354	// NumberValidateRequest is a required field
25355	NumberValidateRequest *NumberValidateRequest `type:"structure" required:"true"`
25356}
25357
25358// String returns the string representation
25359func (s PhoneNumberValidateInput) String() string {
25360	return awsutil.Prettify(s)
25361}
25362
25363// GoString returns the string representation
25364func (s PhoneNumberValidateInput) GoString() string {
25365	return s.String()
25366}
25367
25368// Validate inspects the fields of the type to determine if they are valid.
25369func (s *PhoneNumberValidateInput) Validate() error {
25370	invalidParams := request.ErrInvalidParams{Context: "PhoneNumberValidateInput"}
25371	if s.NumberValidateRequest == nil {
25372		invalidParams.Add(request.NewErrParamRequired("NumberValidateRequest"))
25373	}
25374
25375	if invalidParams.Len() > 0 {
25376		return invalidParams
25377	}
25378	return nil
25379}
25380
25381// SetNumberValidateRequest sets the NumberValidateRequest field's value.
25382func (s *PhoneNumberValidateInput) SetNumberValidateRequest(v *NumberValidateRequest) *PhoneNumberValidateInput {
25383	s.NumberValidateRequest = v
25384	return s
25385}
25386
25387type PhoneNumberValidateOutput struct {
25388	_ struct{} `type:"structure" payload:"NumberValidateResponse"`
25389
25390	// Provides information about a phone number.
25391	//
25392	// NumberValidateResponse is a required field
25393	NumberValidateResponse *NumberValidateResponse `type:"structure" required:"true"`
25394}
25395
25396// String returns the string representation
25397func (s PhoneNumberValidateOutput) String() string {
25398	return awsutil.Prettify(s)
25399}
25400
25401// GoString returns the string representation
25402func (s PhoneNumberValidateOutput) GoString() string {
25403	return s.String()
25404}
25405
25406// SetNumberValidateResponse sets the NumberValidateResponse field's value.
25407func (s *PhoneNumberValidateOutput) SetNumberValidateResponse(v *NumberValidateResponse) *PhoneNumberValidateOutput {
25408	s.NumberValidateResponse = v
25409	return s
25410}
25411
25412// Specifies the properties and attributes of an endpoint that's associated
25413// with an event.
25414type PublicEndpoint struct {
25415	_ struct{} `type:"structure"`
25416
25417	// The unique identifier for the recipient, such as a device token, email address,
25418	// or mobile phone number.
25419	Address *string `type:"string"`
25420
25421	// One or more custom attributes that describe the endpoint by associating a
25422	// name with an array of values. You can use these attributes as filter criteria
25423	// when you create segments.
25424	Attributes map[string][]*string `type:"map"`
25425
25426	// The channel that's used when sending messages or push notifications to the
25427	// endpoint.
25428	ChannelType *string `type:"string" enum:"ChannelType"`
25429
25430	// The demographic information for the endpoint, such as the time zone and platform.
25431	Demographic *EndpointDemographic `type:"structure"`
25432
25433	// The date and time, in ISO 8601 format, when the endpoint was last updated.
25434	EffectiveDate *string `type:"string"`
25435
25436	// Specifies whether to send messages or push notifications to the endpoint.
25437	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
25438	// messages aren’t sent to the endpoint.
25439	//
25440	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
25441	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
25442	// this value to INACTIVE if you update another endpoint that has the same address
25443	// specified by the Address property.
25444	EndpointStatus *string `type:"string"`
25445
25446	// The geographic information for the endpoint.
25447	Location *EndpointLocation `type:"structure"`
25448
25449	// One or more custom metrics that your app reports to Amazon Pinpoint for the
25450	// endpoint.
25451	Metrics map[string]*float64 `type:"map"`
25452
25453	// Specifies whether the user who's associated with the endpoint has opted out
25454	// of receiving messages and push notifications from you. Possible values are:
25455	// ALL, the user has opted out and doesn't want to receive any messages or push
25456	// notifications; and, NONE, the user hasn't opted out and wants to receive
25457	// all messages and push notifications.
25458	OptOut *string `type:"string"`
25459
25460	// A unique identifier that's generated each time the endpoint is updated.
25461	RequestId *string `type:"string"`
25462
25463	// One or more custom user attributes that your app reports to Amazon Pinpoint
25464	// for the user who's associated with the endpoint.
25465	User *EndpointUser `type:"structure"`
25466}
25467
25468// String returns the string representation
25469func (s PublicEndpoint) String() string {
25470	return awsutil.Prettify(s)
25471}
25472
25473// GoString returns the string representation
25474func (s PublicEndpoint) GoString() string {
25475	return s.String()
25476}
25477
25478// SetAddress sets the Address field's value.
25479func (s *PublicEndpoint) SetAddress(v string) *PublicEndpoint {
25480	s.Address = &v
25481	return s
25482}
25483
25484// SetAttributes sets the Attributes field's value.
25485func (s *PublicEndpoint) SetAttributes(v map[string][]*string) *PublicEndpoint {
25486	s.Attributes = v
25487	return s
25488}
25489
25490// SetChannelType sets the ChannelType field's value.
25491func (s *PublicEndpoint) SetChannelType(v string) *PublicEndpoint {
25492	s.ChannelType = &v
25493	return s
25494}
25495
25496// SetDemographic sets the Demographic field's value.
25497func (s *PublicEndpoint) SetDemographic(v *EndpointDemographic) *PublicEndpoint {
25498	s.Demographic = v
25499	return s
25500}
25501
25502// SetEffectiveDate sets the EffectiveDate field's value.
25503func (s *PublicEndpoint) SetEffectiveDate(v string) *PublicEndpoint {
25504	s.EffectiveDate = &v
25505	return s
25506}
25507
25508// SetEndpointStatus sets the EndpointStatus field's value.
25509func (s *PublicEndpoint) SetEndpointStatus(v string) *PublicEndpoint {
25510	s.EndpointStatus = &v
25511	return s
25512}
25513
25514// SetLocation sets the Location field's value.
25515func (s *PublicEndpoint) SetLocation(v *EndpointLocation) *PublicEndpoint {
25516	s.Location = v
25517	return s
25518}
25519
25520// SetMetrics sets the Metrics field's value.
25521func (s *PublicEndpoint) SetMetrics(v map[string]*float64) *PublicEndpoint {
25522	s.Metrics = v
25523	return s
25524}
25525
25526// SetOptOut sets the OptOut field's value.
25527func (s *PublicEndpoint) SetOptOut(v string) *PublicEndpoint {
25528	s.OptOut = &v
25529	return s
25530}
25531
25532// SetRequestId sets the RequestId field's value.
25533func (s *PublicEndpoint) SetRequestId(v string) *PublicEndpoint {
25534	s.RequestId = &v
25535	return s
25536}
25537
25538// SetUser sets the User field's value.
25539func (s *PublicEndpoint) SetUser(v *EndpointUser) *PublicEndpoint {
25540	s.User = v
25541	return s
25542}
25543
25544// Specifies the content and settings for a message template that can be used
25545// in messages that are sent through a push notification channel.
25546type PushNotificationTemplateRequest struct {
25547	_ struct{} `type:"structure"`
25548
25549	// The message template to use for the ADM (Amazon Device Messaging) channel.
25550	// This message template overrides the default template for push notification
25551	// channels (DefaultPushNotificationTemplate).
25552	ADM *AndroidPushNotificationTemplate `type:"structure"`
25553
25554	// The message template to use for the APNs (Apple Push Notification service)
25555	// channel. This message template overrides the default template for push notification
25556	// channels (DefaultPushNotificationTemplate).
25557	APNS *APNSPushNotificationTemplate `type:"structure"`
25558
25559	// The message template to use for the Baidu (Baidu Cloud Push) channel. This
25560	// message template overrides the default template for push notification channels
25561	// (DefaultPushNotificationTemplate).
25562	Baidu *AndroidPushNotificationTemplate `type:"structure"`
25563
25564	// The default message template to use for push notification channels.
25565	Default *DefaultPushNotificationTemplate `type:"structure"`
25566
25567	// A JSON object that specifies the default values to use for message variables
25568	// in the message template. This object is a set of key-value pairs. Each key
25569	// defines a message variable in the template. The corresponding value defines
25570	// the default value for that variable. When you create a message that's based
25571	// on the template, you can override these defaults with message-specific and
25572	// address-specific variables and values.
25573	DefaultSubstitutions *string `type:"string"`
25574
25575	// The message template to use for the GCM channel, which is used to send notifications
25576	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
25577	// (GCM), service. This message template overrides the default template for
25578	// push notification channels (DefaultPushNotificationTemplate).
25579	GCM *AndroidPushNotificationTemplate `type:"structure"`
25580
25581	// A string-to-string map of key-value pairs that defines the tags to associate
25582	// with the message template. Each tag consists of a required tag key and an
25583	// associated tag value.
25584	Tags map[string]*string `locationName:"tags" type:"map"`
25585
25586	// A custom description of the message template.
25587	TemplateDescription *string `type:"string"`
25588}
25589
25590// String returns the string representation
25591func (s PushNotificationTemplateRequest) String() string {
25592	return awsutil.Prettify(s)
25593}
25594
25595// GoString returns the string representation
25596func (s PushNotificationTemplateRequest) GoString() string {
25597	return s.String()
25598}
25599
25600// SetADM sets the ADM field's value.
25601func (s *PushNotificationTemplateRequest) SetADM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
25602	s.ADM = v
25603	return s
25604}
25605
25606// SetAPNS sets the APNS field's value.
25607func (s *PushNotificationTemplateRequest) SetAPNS(v *APNSPushNotificationTemplate) *PushNotificationTemplateRequest {
25608	s.APNS = v
25609	return s
25610}
25611
25612// SetBaidu sets the Baidu field's value.
25613func (s *PushNotificationTemplateRequest) SetBaidu(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
25614	s.Baidu = v
25615	return s
25616}
25617
25618// SetDefault sets the Default field's value.
25619func (s *PushNotificationTemplateRequest) SetDefault(v *DefaultPushNotificationTemplate) *PushNotificationTemplateRequest {
25620	s.Default = v
25621	return s
25622}
25623
25624// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
25625func (s *PushNotificationTemplateRequest) SetDefaultSubstitutions(v string) *PushNotificationTemplateRequest {
25626	s.DefaultSubstitutions = &v
25627	return s
25628}
25629
25630// SetGCM sets the GCM field's value.
25631func (s *PushNotificationTemplateRequest) SetGCM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
25632	s.GCM = v
25633	return s
25634}
25635
25636// SetTags sets the Tags field's value.
25637func (s *PushNotificationTemplateRequest) SetTags(v map[string]*string) *PushNotificationTemplateRequest {
25638	s.Tags = v
25639	return s
25640}
25641
25642// SetTemplateDescription sets the TemplateDescription field's value.
25643func (s *PushNotificationTemplateRequest) SetTemplateDescription(v string) *PushNotificationTemplateRequest {
25644	s.TemplateDescription = &v
25645	return s
25646}
25647
25648// Provides information about the content and settings for a message template
25649// that can be used in messages that are sent through a push notification channel.
25650type PushNotificationTemplateResponse struct {
25651	_ struct{} `type:"structure"`
25652
25653	// The message template that's used for the ADM (Amazon Device Messaging) channel.
25654	// This message template overrides the default template for push notification
25655	// channels (DefaultPushNotificationTemplate).
25656	ADM *AndroidPushNotificationTemplate `type:"structure"`
25657
25658	// The message template that's used for the APNs (Apple Push Notification service)
25659	// channel. This message template overrides the default template for push notification
25660	// channels (DefaultPushNotificationTemplate).
25661	APNS *APNSPushNotificationTemplate `type:"structure"`
25662
25663	// The Amazon Resource Name (ARN) of the message template.
25664	Arn *string `type:"string"`
25665
25666	// The message template that's used for the Baidu (Baidu Cloud Push) channel.
25667	// This message template overrides the default template for push notification
25668	// channels (DefaultPushNotificationTemplate).
25669	Baidu *AndroidPushNotificationTemplate `type:"structure"`
25670
25671	// The date, in ISO 8601 format, when the message template was created.
25672	//
25673	// CreationDate is a required field
25674	CreationDate *string `type:"string" required:"true"`
25675
25676	// The default message template that's used for push notification channels.
25677	Default *DefaultPushNotificationTemplate `type:"structure"`
25678
25679	// The JSON object that specifies the default values that are used for message
25680	// variables in the message template. This object is a set of key-value pairs.
25681	// Each key defines a message variable in the template. The corresponding value
25682	// defines the default value for that variable.
25683	DefaultSubstitutions *string `type:"string"`
25684
25685	// The message template that's used for the GCM channel, which is used to send
25686	// notifications through the Firebase Cloud Messaging (FCM), formerly Google
25687	// Cloud Messaging (GCM), service. This message template overrides the default
25688	// template for push notification channels (DefaultPushNotificationTemplate).
25689	GCM *AndroidPushNotificationTemplate `type:"structure"`
25690
25691	// The date, in ISO 8601 format, when the message template was last modified.
25692	//
25693	// LastModifiedDate is a required field
25694	LastModifiedDate *string `type:"string" required:"true"`
25695
25696	// A string-to-string map of key-value pairs that identifies the tags that are
25697	// associated with the message template. Each tag consists of a required tag
25698	// key and an associated tag value.
25699	Tags map[string]*string `locationName:"tags" type:"map"`
25700
25701	// The custom description of the message template.
25702	TemplateDescription *string `type:"string"`
25703
25704	// The name of the message template.
25705	//
25706	// TemplateName is a required field
25707	TemplateName *string `type:"string" required:"true"`
25708
25709	// The type of channel that the message template is designed for. For a push
25710	// notification template, this value is PUSH.
25711	//
25712	// TemplateType is a required field
25713	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
25714
25715	// The unique identifier, as an integer, for the active version of the message
25716	// template, or the version of the template that you specified by using the
25717	// version parameter in your request.
25718	Version *string `type:"string"`
25719}
25720
25721// String returns the string representation
25722func (s PushNotificationTemplateResponse) String() string {
25723	return awsutil.Prettify(s)
25724}
25725
25726// GoString returns the string representation
25727func (s PushNotificationTemplateResponse) GoString() string {
25728	return s.String()
25729}
25730
25731// SetADM sets the ADM field's value.
25732func (s *PushNotificationTemplateResponse) SetADM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
25733	s.ADM = v
25734	return s
25735}
25736
25737// SetAPNS sets the APNS field's value.
25738func (s *PushNotificationTemplateResponse) SetAPNS(v *APNSPushNotificationTemplate) *PushNotificationTemplateResponse {
25739	s.APNS = v
25740	return s
25741}
25742
25743// SetArn sets the Arn field's value.
25744func (s *PushNotificationTemplateResponse) SetArn(v string) *PushNotificationTemplateResponse {
25745	s.Arn = &v
25746	return s
25747}
25748
25749// SetBaidu sets the Baidu field's value.
25750func (s *PushNotificationTemplateResponse) SetBaidu(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
25751	s.Baidu = v
25752	return s
25753}
25754
25755// SetCreationDate sets the CreationDate field's value.
25756func (s *PushNotificationTemplateResponse) SetCreationDate(v string) *PushNotificationTemplateResponse {
25757	s.CreationDate = &v
25758	return s
25759}
25760
25761// SetDefault sets the Default field's value.
25762func (s *PushNotificationTemplateResponse) SetDefault(v *DefaultPushNotificationTemplate) *PushNotificationTemplateResponse {
25763	s.Default = v
25764	return s
25765}
25766
25767// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
25768func (s *PushNotificationTemplateResponse) SetDefaultSubstitutions(v string) *PushNotificationTemplateResponse {
25769	s.DefaultSubstitutions = &v
25770	return s
25771}
25772
25773// SetGCM sets the GCM field's value.
25774func (s *PushNotificationTemplateResponse) SetGCM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
25775	s.GCM = v
25776	return s
25777}
25778
25779// SetLastModifiedDate sets the LastModifiedDate field's value.
25780func (s *PushNotificationTemplateResponse) SetLastModifiedDate(v string) *PushNotificationTemplateResponse {
25781	s.LastModifiedDate = &v
25782	return s
25783}
25784
25785// SetTags sets the Tags field's value.
25786func (s *PushNotificationTemplateResponse) SetTags(v map[string]*string) *PushNotificationTemplateResponse {
25787	s.Tags = v
25788	return s
25789}
25790
25791// SetTemplateDescription sets the TemplateDescription field's value.
25792func (s *PushNotificationTemplateResponse) SetTemplateDescription(v string) *PushNotificationTemplateResponse {
25793	s.TemplateDescription = &v
25794	return s
25795}
25796
25797// SetTemplateName sets the TemplateName field's value.
25798func (s *PushNotificationTemplateResponse) SetTemplateName(v string) *PushNotificationTemplateResponse {
25799	s.TemplateName = &v
25800	return s
25801}
25802
25803// SetTemplateType sets the TemplateType field's value.
25804func (s *PushNotificationTemplateResponse) SetTemplateType(v string) *PushNotificationTemplateResponse {
25805	s.TemplateType = &v
25806	return s
25807}
25808
25809// SetVersion sets the Version field's value.
25810func (s *PushNotificationTemplateResponse) SetVersion(v string) *PushNotificationTemplateResponse {
25811	s.Version = &v
25812	return s
25813}
25814
25815type PutEventStreamInput struct {
25816	_ struct{} `type:"structure" payload:"WriteEventStream"`
25817
25818	// ApplicationId is a required field
25819	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25820
25821	// Specifies the Amazon Resource Name (ARN) of an event stream to publish events
25822	// to and the AWS Identity and Access Management (IAM) role to use when publishing
25823	// those events.
25824	//
25825	// WriteEventStream is a required field
25826	WriteEventStream *WriteEventStream `type:"structure" required:"true"`
25827}
25828
25829// String returns the string representation
25830func (s PutEventStreamInput) String() string {
25831	return awsutil.Prettify(s)
25832}
25833
25834// GoString returns the string representation
25835func (s PutEventStreamInput) GoString() string {
25836	return s.String()
25837}
25838
25839// Validate inspects the fields of the type to determine if they are valid.
25840func (s *PutEventStreamInput) Validate() error {
25841	invalidParams := request.ErrInvalidParams{Context: "PutEventStreamInput"}
25842	if s.ApplicationId == nil {
25843		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25844	}
25845	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25846		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25847	}
25848	if s.WriteEventStream == nil {
25849		invalidParams.Add(request.NewErrParamRequired("WriteEventStream"))
25850	}
25851	if s.WriteEventStream != nil {
25852		if err := s.WriteEventStream.Validate(); err != nil {
25853			invalidParams.AddNested("WriteEventStream", err.(request.ErrInvalidParams))
25854		}
25855	}
25856
25857	if invalidParams.Len() > 0 {
25858		return invalidParams
25859	}
25860	return nil
25861}
25862
25863// SetApplicationId sets the ApplicationId field's value.
25864func (s *PutEventStreamInput) SetApplicationId(v string) *PutEventStreamInput {
25865	s.ApplicationId = &v
25866	return s
25867}
25868
25869// SetWriteEventStream sets the WriteEventStream field's value.
25870func (s *PutEventStreamInput) SetWriteEventStream(v *WriteEventStream) *PutEventStreamInput {
25871	s.WriteEventStream = v
25872	return s
25873}
25874
25875type PutEventStreamOutput struct {
25876	_ struct{} `type:"structure" payload:"EventStream"`
25877
25878	// Specifies settings for publishing event data to an Amazon Kinesis data stream
25879	// or an Amazon Kinesis Data Firehose delivery stream.
25880	//
25881	// EventStream is a required field
25882	EventStream *EventStream `type:"structure" required:"true"`
25883}
25884
25885// String returns the string representation
25886func (s PutEventStreamOutput) String() string {
25887	return awsutil.Prettify(s)
25888}
25889
25890// GoString returns the string representation
25891func (s PutEventStreamOutput) GoString() string {
25892	return s.String()
25893}
25894
25895// SetEventStream sets the EventStream field's value.
25896func (s *PutEventStreamOutput) SetEventStream(v *EventStream) *PutEventStreamOutput {
25897	s.EventStream = v
25898	return s
25899}
25900
25901type PutEventsInput struct {
25902	_ struct{} `type:"structure" payload:"EventsRequest"`
25903
25904	// ApplicationId is a required field
25905	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25906
25907	// Specifies a batch of events to process.
25908	//
25909	// EventsRequest is a required field
25910	EventsRequest *EventsRequest `type:"structure" required:"true"`
25911}
25912
25913// String returns the string representation
25914func (s PutEventsInput) String() string {
25915	return awsutil.Prettify(s)
25916}
25917
25918// GoString returns the string representation
25919func (s PutEventsInput) GoString() string {
25920	return s.String()
25921}
25922
25923// Validate inspects the fields of the type to determine if they are valid.
25924func (s *PutEventsInput) Validate() error {
25925	invalidParams := request.ErrInvalidParams{Context: "PutEventsInput"}
25926	if s.ApplicationId == nil {
25927		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25928	}
25929	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25930		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25931	}
25932	if s.EventsRequest == nil {
25933		invalidParams.Add(request.NewErrParamRequired("EventsRequest"))
25934	}
25935	if s.EventsRequest != nil {
25936		if err := s.EventsRequest.Validate(); err != nil {
25937			invalidParams.AddNested("EventsRequest", err.(request.ErrInvalidParams))
25938		}
25939	}
25940
25941	if invalidParams.Len() > 0 {
25942		return invalidParams
25943	}
25944	return nil
25945}
25946
25947// SetApplicationId sets the ApplicationId field's value.
25948func (s *PutEventsInput) SetApplicationId(v string) *PutEventsInput {
25949	s.ApplicationId = &v
25950	return s
25951}
25952
25953// SetEventsRequest sets the EventsRequest field's value.
25954func (s *PutEventsInput) SetEventsRequest(v *EventsRequest) *PutEventsInput {
25955	s.EventsRequest = v
25956	return s
25957}
25958
25959type PutEventsOutput struct {
25960	_ struct{} `type:"structure" payload:"EventsResponse"`
25961
25962	// Provides information about endpoints and the events that they're associated
25963	// with.
25964	//
25965	// EventsResponse is a required field
25966	EventsResponse *EventsResponse `type:"structure" required:"true"`
25967}
25968
25969// String returns the string representation
25970func (s PutEventsOutput) String() string {
25971	return awsutil.Prettify(s)
25972}
25973
25974// GoString returns the string representation
25975func (s PutEventsOutput) GoString() string {
25976	return s.String()
25977}
25978
25979// SetEventsResponse sets the EventsResponse field's value.
25980func (s *PutEventsOutput) SetEventsResponse(v *EventsResponse) *PutEventsOutput {
25981	s.EventsResponse = v
25982	return s
25983}
25984
25985// Specifies the start and end times that define a time range when messages
25986// aren't sent to endpoints.
25987type QuietTime struct {
25988	_ struct{} `type:"structure"`
25989
25990	// The specific time when quiet time ends. This value has to use 24-hour notation
25991	// and be in HH:MM format, where HH is the hour (with a leading zero, if applicable)
25992	// and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30
25993	// to represent 2:30 PM.
25994	End *string `type:"string"`
25995
25996	// The specific time when quiet time begins. This value has to use 24-hour notation
25997	// and be in HH:MM format, where HH is the hour (with a leading zero, if applicable)
25998	// and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30
25999	// to represent 2:30 PM.
26000	Start *string `type:"string"`
26001}
26002
26003// String returns the string representation
26004func (s QuietTime) String() string {
26005	return awsutil.Prettify(s)
26006}
26007
26008// GoString returns the string representation
26009func (s QuietTime) GoString() string {
26010	return s.String()
26011}
26012
26013// SetEnd sets the End field's value.
26014func (s *QuietTime) SetEnd(v string) *QuietTime {
26015	s.End = &v
26016	return s
26017}
26018
26019// SetStart sets the Start field's value.
26020func (s *QuietTime) SetStart(v string) *QuietTime {
26021	s.Start = &v
26022	return s
26023}
26024
26025// Specifies the settings for a random split activity in a journey. This type
26026// of activity randomly sends specified percentages of participants down one
26027// of as many as five paths in a journey, based on conditions that you specify.
26028type RandomSplitActivity struct {
26029	_ struct{} `type:"structure"`
26030
26031	// The paths for the activity, including the percentage of participants to enter
26032	// each path and the activity to perform for each path.
26033	Branches []*RandomSplitEntry `type:"list"`
26034}
26035
26036// String returns the string representation
26037func (s RandomSplitActivity) String() string {
26038	return awsutil.Prettify(s)
26039}
26040
26041// GoString returns the string representation
26042func (s RandomSplitActivity) GoString() string {
26043	return s.String()
26044}
26045
26046// SetBranches sets the Branches field's value.
26047func (s *RandomSplitActivity) SetBranches(v []*RandomSplitEntry) *RandomSplitActivity {
26048	s.Branches = v
26049	return s
26050}
26051
26052// Specifies the settings for a path in a random split activity in a journey.
26053type RandomSplitEntry struct {
26054	_ struct{} `type:"structure"`
26055
26056	// The unique identifier for the next activity to perform, after completing
26057	// the activity for the path.
26058	NextActivity *string `type:"string"`
26059
26060	// The percentage of participants to send down the activity path.
26061	//
26062	// To determine which participants are sent down each path, Amazon Pinpoint
26063	// applies a probability-based algorithm to the percentages that you specify
26064	// for the paths. Therefore, the actual percentage of participants who are sent
26065	// down a path may not be equal to the percentage that you specify.
26066	Percentage *int64 `type:"integer"`
26067}
26068
26069// String returns the string representation
26070func (s RandomSplitEntry) String() string {
26071	return awsutil.Prettify(s)
26072}
26073
26074// GoString returns the string representation
26075func (s RandomSplitEntry) GoString() string {
26076	return s.String()
26077}
26078
26079// SetNextActivity sets the NextActivity field's value.
26080func (s *RandomSplitEntry) SetNextActivity(v string) *RandomSplitEntry {
26081	s.NextActivity = &v
26082	return s
26083}
26084
26085// SetPercentage sets the Percentage field's value.
26086func (s *RandomSplitEntry) SetPercentage(v int64) *RandomSplitEntry {
26087	s.Percentage = &v
26088	return s
26089}
26090
26091// Specifies the contents of an email message, represented as a raw MIME message.
26092type RawEmail struct {
26093	_ struct{} `type:"structure"`
26094
26095	// Data is automatically base64 encoded/decoded by the SDK.
26096	Data []byte `type:"blob"`
26097}
26098
26099// String returns the string representation
26100func (s RawEmail) String() string {
26101	return awsutil.Prettify(s)
26102}
26103
26104// GoString returns the string representation
26105func (s RawEmail) GoString() string {
26106	return s.String()
26107}
26108
26109// SetData sets the Data field's value.
26110func (s *RawEmail) SetData(v []byte) *RawEmail {
26111	s.Data = v
26112	return s
26113}
26114
26115// Specifies criteria for including or excluding endpoints from a segment based
26116// on how recently an endpoint was active.
26117type RecencyDimension struct {
26118	_ struct{} `type:"structure"`
26119
26120	// The duration to use when determining whether an endpoint is active or inactive.
26121	//
26122	// Duration is a required field
26123	Duration *string `type:"string" required:"true" enum:"Duration"`
26124
26125	// The type of recency dimension to use for the segment. Valid values are: ACTIVE,
26126	// endpoints that were active within the specified duration are included in
26127	// the segment; and, INACTIVE, endpoints that weren't active within the specified
26128	// duration are included in the segment.
26129	//
26130	// RecencyType is a required field
26131	RecencyType *string `type:"string" required:"true" enum:"RecencyType"`
26132}
26133
26134// String returns the string representation
26135func (s RecencyDimension) String() string {
26136	return awsutil.Prettify(s)
26137}
26138
26139// GoString returns the string representation
26140func (s RecencyDimension) GoString() string {
26141	return s.String()
26142}
26143
26144// Validate inspects the fields of the type to determine if they are valid.
26145func (s *RecencyDimension) Validate() error {
26146	invalidParams := request.ErrInvalidParams{Context: "RecencyDimension"}
26147	if s.Duration == nil {
26148		invalidParams.Add(request.NewErrParamRequired("Duration"))
26149	}
26150	if s.RecencyType == nil {
26151		invalidParams.Add(request.NewErrParamRequired("RecencyType"))
26152	}
26153
26154	if invalidParams.Len() > 0 {
26155		return invalidParams
26156	}
26157	return nil
26158}
26159
26160// SetDuration sets the Duration field's value.
26161func (s *RecencyDimension) SetDuration(v string) *RecencyDimension {
26162	s.Duration = &v
26163	return s
26164}
26165
26166// SetRecencyType sets the RecencyType field's value.
26167func (s *RecencyDimension) SetRecencyType(v string) *RecencyDimension {
26168	s.RecencyType = &v
26169	return s
26170}
26171
26172type RemoveAttributesInput struct {
26173	_ struct{} `type:"structure" payload:"UpdateAttributesRequest"`
26174
26175	// ApplicationId is a required field
26176	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
26177
26178	// AttributeType is a required field
26179	AttributeType *string `location:"uri" locationName:"attribute-type" type:"string" required:"true"`
26180
26181	// Specifies one or more attributes to remove from all the endpoints that are
26182	// associated with an application.
26183	//
26184	// UpdateAttributesRequest is a required field
26185	UpdateAttributesRequest *UpdateAttributesRequest `type:"structure" required:"true"`
26186}
26187
26188// String returns the string representation
26189func (s RemoveAttributesInput) String() string {
26190	return awsutil.Prettify(s)
26191}
26192
26193// GoString returns the string representation
26194func (s RemoveAttributesInput) GoString() string {
26195	return s.String()
26196}
26197
26198// Validate inspects the fields of the type to determine if they are valid.
26199func (s *RemoveAttributesInput) Validate() error {
26200	invalidParams := request.ErrInvalidParams{Context: "RemoveAttributesInput"}
26201	if s.ApplicationId == nil {
26202		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
26203	}
26204	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
26205		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
26206	}
26207	if s.AttributeType == nil {
26208		invalidParams.Add(request.NewErrParamRequired("AttributeType"))
26209	}
26210	if s.AttributeType != nil && len(*s.AttributeType) < 1 {
26211		invalidParams.Add(request.NewErrParamMinLen("AttributeType", 1))
26212	}
26213	if s.UpdateAttributesRequest == nil {
26214		invalidParams.Add(request.NewErrParamRequired("UpdateAttributesRequest"))
26215	}
26216
26217	if invalidParams.Len() > 0 {
26218		return invalidParams
26219	}
26220	return nil
26221}
26222
26223// SetApplicationId sets the ApplicationId field's value.
26224func (s *RemoveAttributesInput) SetApplicationId(v string) *RemoveAttributesInput {
26225	s.ApplicationId = &v
26226	return s
26227}
26228
26229// SetAttributeType sets the AttributeType field's value.
26230func (s *RemoveAttributesInput) SetAttributeType(v string) *RemoveAttributesInput {
26231	s.AttributeType = &v
26232	return s
26233}
26234
26235// SetUpdateAttributesRequest sets the UpdateAttributesRequest field's value.
26236func (s *RemoveAttributesInput) SetUpdateAttributesRequest(v *UpdateAttributesRequest) *RemoveAttributesInput {
26237	s.UpdateAttributesRequest = v
26238	return s
26239}
26240
26241type RemoveAttributesOutput struct {
26242	_ struct{} `type:"structure" payload:"AttributesResource"`
26243
26244	// Provides information about the type and the names of attributes that were
26245	// removed from all the endpoints that are associated with an application.
26246	//
26247	// AttributesResource is a required field
26248	AttributesResource *AttributesResource `type:"structure" required:"true"`
26249}
26250
26251// String returns the string representation
26252func (s RemoveAttributesOutput) String() string {
26253	return awsutil.Prettify(s)
26254}
26255
26256// GoString returns the string representation
26257func (s RemoveAttributesOutput) GoString() string {
26258	return s.String()
26259}
26260
26261// SetAttributesResource sets the AttributesResource field's value.
26262func (s *RemoveAttributesOutput) SetAttributesResource(v *AttributesResource) *RemoveAttributesOutput {
26263	s.AttributesResource = v
26264	return s
26265}
26266
26267// Provides the results of a query that retrieved the data for a standard metric
26268// that applies to an application, campaign, or journey.
26269type ResultRow struct {
26270	_ struct{} `type:"structure"`
26271
26272	// An array of objects that defines the field and field values that were used
26273	// to group data in a result set that contains multiple results. This value
26274	// is null if the data in a result set isn’t grouped.
26275	//
26276	// GroupedBys is a required field
26277	GroupedBys []*ResultRowValue `type:"list" required:"true"`
26278
26279	// An array of objects that provides pre-aggregated values for a standard metric
26280	// that applies to an application, campaign, or journey.
26281	//
26282	// Values is a required field
26283	Values []*ResultRowValue `type:"list" required:"true"`
26284}
26285
26286// String returns the string representation
26287func (s ResultRow) String() string {
26288	return awsutil.Prettify(s)
26289}
26290
26291// GoString returns the string representation
26292func (s ResultRow) GoString() string {
26293	return s.String()
26294}
26295
26296// SetGroupedBys sets the GroupedBys field's value.
26297func (s *ResultRow) SetGroupedBys(v []*ResultRowValue) *ResultRow {
26298	s.GroupedBys = v
26299	return s
26300}
26301
26302// SetValues sets the Values field's value.
26303func (s *ResultRow) SetValues(v []*ResultRowValue) *ResultRow {
26304	s.Values = v
26305	return s
26306}
26307
26308// Provides a single value and metadata about that value as part of an array
26309// of query results for a standard metric that applies to an application, campaign,
26310// or journey.
26311type ResultRowValue struct {
26312	_ struct{} `type:"structure"`
26313
26314	// The friendly name of the metric whose value is specified by the Value property.
26315	//
26316	// Key is a required field
26317	Key *string `type:"string" required:"true"`
26318
26319	// The data type of the value specified by the Value property.
26320	//
26321	// Type is a required field
26322	Type *string `type:"string" required:"true"`
26323
26324	// In a Values object, the value for the metric that the query retrieved data
26325	// for. In a GroupedBys object, the value for the field that was used to group
26326	// data in a result set that contains multiple results (Values objects).
26327	//
26328	// Value is a required field
26329	Value *string `type:"string" required:"true"`
26330}
26331
26332// String returns the string representation
26333func (s ResultRowValue) String() string {
26334	return awsutil.Prettify(s)
26335}
26336
26337// GoString returns the string representation
26338func (s ResultRowValue) GoString() string {
26339	return s.String()
26340}
26341
26342// SetKey sets the Key field's value.
26343func (s *ResultRowValue) SetKey(v string) *ResultRowValue {
26344	s.Key = &v
26345	return s
26346}
26347
26348// SetType sets the Type field's value.
26349func (s *ResultRowValue) SetType(v string) *ResultRowValue {
26350	s.Type = &v
26351	return s
26352}
26353
26354// SetValue sets the Value field's value.
26355func (s *ResultRowValue) SetValue(v string) *ResultRowValue {
26356	s.Value = &v
26357	return s
26358}
26359
26360// Specifies the status and settings of the SMS channel for an application.
26361type SMSChannelRequest struct {
26362	_ struct{} `type:"structure"`
26363
26364	// Specifies whether to enable the SMS channel for the application.
26365	Enabled *bool `type:"boolean"`
26366
26367	// The identity that you want to display on recipients' devices when they receive
26368	// messages from the SMS channel.
26369	SenderId *string `type:"string"`
26370
26371	// The registered short code that you want to use when you send messages through
26372	// the SMS channel.
26373	ShortCode *string `type:"string"`
26374}
26375
26376// String returns the string representation
26377func (s SMSChannelRequest) String() string {
26378	return awsutil.Prettify(s)
26379}
26380
26381// GoString returns the string representation
26382func (s SMSChannelRequest) GoString() string {
26383	return s.String()
26384}
26385
26386// SetEnabled sets the Enabled field's value.
26387func (s *SMSChannelRequest) SetEnabled(v bool) *SMSChannelRequest {
26388	s.Enabled = &v
26389	return s
26390}
26391
26392// SetSenderId sets the SenderId field's value.
26393func (s *SMSChannelRequest) SetSenderId(v string) *SMSChannelRequest {
26394	s.SenderId = &v
26395	return s
26396}
26397
26398// SetShortCode sets the ShortCode field's value.
26399func (s *SMSChannelRequest) SetShortCode(v string) *SMSChannelRequest {
26400	s.ShortCode = &v
26401	return s
26402}
26403
26404// Provides information about the status and settings of the SMS channel for
26405// an application.
26406type SMSChannelResponse struct {
26407	_ struct{} `type:"structure"`
26408
26409	// The unique identifier for the application that the SMS channel applies to.
26410	ApplicationId *string `type:"string"`
26411
26412	// The date and time, in ISO 8601 format, when the SMS channel was enabled.
26413	CreationDate *string `type:"string"`
26414
26415	// Specifies whether the SMS channel is enabled for the application.
26416	Enabled *bool `type:"boolean"`
26417
26418	// (Not used) This property is retained only for backward compatibility.
26419	HasCredential *bool `type:"boolean"`
26420
26421	// (Deprecated) An identifier for the SMS channel. This property is retained
26422	// only for backward compatibility.
26423	Id *string `type:"string"`
26424
26425	// Specifies whether the SMS channel is archived.
26426	IsArchived *bool `type:"boolean"`
26427
26428	// The user who last modified the SMS channel.
26429	LastModifiedBy *string `type:"string"`
26430
26431	// The date and time, in ISO 8601 format, when the SMS channel was last modified.
26432	LastModifiedDate *string `type:"string"`
26433
26434	// The type of messaging or notification platform for the channel. For the SMS
26435	// channel, this value is SMS.
26436	//
26437	// Platform is a required field
26438	Platform *string `type:"string" required:"true"`
26439
26440	// The maximum number of promotional messages that you can send through the
26441	// SMS channel each second.
26442	PromotionalMessagesPerSecond *int64 `type:"integer"`
26443
26444	// The identity that displays on recipients' devices when they receive messages
26445	// from the SMS channel.
26446	SenderId *string `type:"string"`
26447
26448	// The registered short code to use when you send messages through the SMS channel.
26449	ShortCode *string `type:"string"`
26450
26451	// The maximum number of transactional messages that you can send through the
26452	// SMS channel each second.
26453	TransactionalMessagesPerSecond *int64 `type:"integer"`
26454
26455	// The current version of the SMS channel.
26456	Version *int64 `type:"integer"`
26457}
26458
26459// String returns the string representation
26460func (s SMSChannelResponse) String() string {
26461	return awsutil.Prettify(s)
26462}
26463
26464// GoString returns the string representation
26465func (s SMSChannelResponse) GoString() string {
26466	return s.String()
26467}
26468
26469// SetApplicationId sets the ApplicationId field's value.
26470func (s *SMSChannelResponse) SetApplicationId(v string) *SMSChannelResponse {
26471	s.ApplicationId = &v
26472	return s
26473}
26474
26475// SetCreationDate sets the CreationDate field's value.
26476func (s *SMSChannelResponse) SetCreationDate(v string) *SMSChannelResponse {
26477	s.CreationDate = &v
26478	return s
26479}
26480
26481// SetEnabled sets the Enabled field's value.
26482func (s *SMSChannelResponse) SetEnabled(v bool) *SMSChannelResponse {
26483	s.Enabled = &v
26484	return s
26485}
26486
26487// SetHasCredential sets the HasCredential field's value.
26488func (s *SMSChannelResponse) SetHasCredential(v bool) *SMSChannelResponse {
26489	s.HasCredential = &v
26490	return s
26491}
26492
26493// SetId sets the Id field's value.
26494func (s *SMSChannelResponse) SetId(v string) *SMSChannelResponse {
26495	s.Id = &v
26496	return s
26497}
26498
26499// SetIsArchived sets the IsArchived field's value.
26500func (s *SMSChannelResponse) SetIsArchived(v bool) *SMSChannelResponse {
26501	s.IsArchived = &v
26502	return s
26503}
26504
26505// SetLastModifiedBy sets the LastModifiedBy field's value.
26506func (s *SMSChannelResponse) SetLastModifiedBy(v string) *SMSChannelResponse {
26507	s.LastModifiedBy = &v
26508	return s
26509}
26510
26511// SetLastModifiedDate sets the LastModifiedDate field's value.
26512func (s *SMSChannelResponse) SetLastModifiedDate(v string) *SMSChannelResponse {
26513	s.LastModifiedDate = &v
26514	return s
26515}
26516
26517// SetPlatform sets the Platform field's value.
26518func (s *SMSChannelResponse) SetPlatform(v string) *SMSChannelResponse {
26519	s.Platform = &v
26520	return s
26521}
26522
26523// SetPromotionalMessagesPerSecond sets the PromotionalMessagesPerSecond field's value.
26524func (s *SMSChannelResponse) SetPromotionalMessagesPerSecond(v int64) *SMSChannelResponse {
26525	s.PromotionalMessagesPerSecond = &v
26526	return s
26527}
26528
26529// SetSenderId sets the SenderId field's value.
26530func (s *SMSChannelResponse) SetSenderId(v string) *SMSChannelResponse {
26531	s.SenderId = &v
26532	return s
26533}
26534
26535// SetShortCode sets the ShortCode field's value.
26536func (s *SMSChannelResponse) SetShortCode(v string) *SMSChannelResponse {
26537	s.ShortCode = &v
26538	return s
26539}
26540
26541// SetTransactionalMessagesPerSecond sets the TransactionalMessagesPerSecond field's value.
26542func (s *SMSChannelResponse) SetTransactionalMessagesPerSecond(v int64) *SMSChannelResponse {
26543	s.TransactionalMessagesPerSecond = &v
26544	return s
26545}
26546
26547// SetVersion sets the Version field's value.
26548func (s *SMSChannelResponse) SetVersion(v int64) *SMSChannelResponse {
26549	s.Version = &v
26550	return s
26551}
26552
26553// Specifies the default settings for a one-time SMS message that's sent directly
26554// to an endpoint.
26555type SMSMessage struct {
26556	_ struct{} `type:"structure"`
26557
26558	// The body of the SMS message.
26559	Body *string `type:"string"`
26560
26561	// The SMS program name that you provided to AWS Support when you requested
26562	// your dedicated number.
26563	Keyword *string `type:"string"`
26564
26565	// The SMS message type. Valid values are: TRANSACTIONAL, the message is critical
26566	// or time-sensitive, such as a one-time password that supports a customer transaction;
26567	// and, PROMOTIONAL, the message is not critical or time-sensitive, such as
26568	// a marketing message.
26569	MessageType *string `type:"string" enum:"MessageType"`
26570
26571	// The number to send the SMS message from. This value should be one of the
26572	// dedicated long or short codes that's assigned to your AWS account. If you
26573	// don't specify a long or short code, Amazon Pinpoint assigns a random long
26574	// code to the SMS message and sends the message from that code.
26575	OriginationNumber *string `type:"string"`
26576
26577	// The sender ID to display as the sender of the message on a recipient's device.
26578	// Support for sender IDs varies by country or region.
26579	SenderId *string `type:"string"`
26580
26581	// The message variables to use in the SMS message. You can override the default
26582	// variables with individual address variables.
26583	Substitutions map[string][]*string `type:"map"`
26584}
26585
26586// String returns the string representation
26587func (s SMSMessage) String() string {
26588	return awsutil.Prettify(s)
26589}
26590
26591// GoString returns the string representation
26592func (s SMSMessage) GoString() string {
26593	return s.String()
26594}
26595
26596// SetBody sets the Body field's value.
26597func (s *SMSMessage) SetBody(v string) *SMSMessage {
26598	s.Body = &v
26599	return s
26600}
26601
26602// SetKeyword sets the Keyword field's value.
26603func (s *SMSMessage) SetKeyword(v string) *SMSMessage {
26604	s.Keyword = &v
26605	return s
26606}
26607
26608// SetMessageType sets the MessageType field's value.
26609func (s *SMSMessage) SetMessageType(v string) *SMSMessage {
26610	s.MessageType = &v
26611	return s
26612}
26613
26614// SetOriginationNumber sets the OriginationNumber field's value.
26615func (s *SMSMessage) SetOriginationNumber(v string) *SMSMessage {
26616	s.OriginationNumber = &v
26617	return s
26618}
26619
26620// SetSenderId sets the SenderId field's value.
26621func (s *SMSMessage) SetSenderId(v string) *SMSMessage {
26622	s.SenderId = &v
26623	return s
26624}
26625
26626// SetSubstitutions sets the Substitutions field's value.
26627func (s *SMSMessage) SetSubstitutions(v map[string][]*string) *SMSMessage {
26628	s.Substitutions = v
26629	return s
26630}
26631
26632// Specifies the content and settings for a message template that can be used
26633// in text messages that are sent through the SMS channel.
26634type SMSTemplateRequest struct {
26635	_ struct{} `type:"structure"`
26636
26637	// The message body to use in text messages that are based on the message template.
26638	Body *string `type:"string"`
26639
26640	// A JSON object that specifies the default values to use for message variables
26641	// in the message template. This object is a set of key-value pairs. Each key
26642	// defines a message variable in the template. The corresponding value defines
26643	// the default value for that variable. When you create a message that's based
26644	// on the template, you can override these defaults with message-specific and
26645	// address-specific variables and values.
26646	DefaultSubstitutions *string `type:"string"`
26647
26648	// A string-to-string map of key-value pairs that defines the tags to associate
26649	// with the message template. Each tag consists of a required tag key and an
26650	// associated tag value.
26651	Tags map[string]*string `locationName:"tags" type:"map"`
26652
26653	// A custom description of the message template.
26654	TemplateDescription *string `type:"string"`
26655}
26656
26657// String returns the string representation
26658func (s SMSTemplateRequest) String() string {
26659	return awsutil.Prettify(s)
26660}
26661
26662// GoString returns the string representation
26663func (s SMSTemplateRequest) GoString() string {
26664	return s.String()
26665}
26666
26667// SetBody sets the Body field's value.
26668func (s *SMSTemplateRequest) SetBody(v string) *SMSTemplateRequest {
26669	s.Body = &v
26670	return s
26671}
26672
26673// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
26674func (s *SMSTemplateRequest) SetDefaultSubstitutions(v string) *SMSTemplateRequest {
26675	s.DefaultSubstitutions = &v
26676	return s
26677}
26678
26679// SetTags sets the Tags field's value.
26680func (s *SMSTemplateRequest) SetTags(v map[string]*string) *SMSTemplateRequest {
26681	s.Tags = v
26682	return s
26683}
26684
26685// SetTemplateDescription sets the TemplateDescription field's value.
26686func (s *SMSTemplateRequest) SetTemplateDescription(v string) *SMSTemplateRequest {
26687	s.TemplateDescription = &v
26688	return s
26689}
26690
26691// Provides information about the content and settings for a message template
26692// that can be used in text messages that are sent through the SMS channel.
26693type SMSTemplateResponse struct {
26694	_ struct{} `type:"structure"`
26695
26696	// The Amazon Resource Name (ARN) of the message template.
26697	Arn *string `type:"string"`
26698
26699	// The message body that's used in text messages that are based on the message
26700	// template.
26701	Body *string `type:"string"`
26702
26703	// The date, in ISO 8601 format, when the message template was created.
26704	//
26705	// CreationDate is a required field
26706	CreationDate *string `type:"string" required:"true"`
26707
26708	// The JSON object that specifies the default values that are used for message
26709	// variables in the message template. This object is a set of key-value pairs.
26710	// Each key defines a message variable in the template. The corresponding value
26711	// defines the default value for that variable.
26712	DefaultSubstitutions *string `type:"string"`
26713
26714	// The date, in ISO 8601 format, when the message template was last modified.
26715	//
26716	// LastModifiedDate is a required field
26717	LastModifiedDate *string `type:"string" required:"true"`
26718
26719	// A string-to-string map of key-value pairs that identifies the tags that are
26720	// associated with the message template. Each tag consists of a required tag
26721	// key and an associated tag value.
26722	Tags map[string]*string `locationName:"tags" type:"map"`
26723
26724	// The custom description of the message template.
26725	TemplateDescription *string `type:"string"`
26726
26727	// The name of the message template.
26728	//
26729	// TemplateName is a required field
26730	TemplateName *string `type:"string" required:"true"`
26731
26732	// The type of channel that the message template is designed for. For an SMS
26733	// template, this value is SMS.
26734	//
26735	// TemplateType is a required field
26736	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
26737
26738	// The unique identifier, as an integer, for the active version of the message
26739	// template, or the version of the template that you specified by using the
26740	// version parameter in your request.
26741	Version *string `type:"string"`
26742}
26743
26744// String returns the string representation
26745func (s SMSTemplateResponse) String() string {
26746	return awsutil.Prettify(s)
26747}
26748
26749// GoString returns the string representation
26750func (s SMSTemplateResponse) GoString() string {
26751	return s.String()
26752}
26753
26754// SetArn sets the Arn field's value.
26755func (s *SMSTemplateResponse) SetArn(v string) *SMSTemplateResponse {
26756	s.Arn = &v
26757	return s
26758}
26759
26760// SetBody sets the Body field's value.
26761func (s *SMSTemplateResponse) SetBody(v string) *SMSTemplateResponse {
26762	s.Body = &v
26763	return s
26764}
26765
26766// SetCreationDate sets the CreationDate field's value.
26767func (s *SMSTemplateResponse) SetCreationDate(v string) *SMSTemplateResponse {
26768	s.CreationDate = &v
26769	return s
26770}
26771
26772// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
26773func (s *SMSTemplateResponse) SetDefaultSubstitutions(v string) *SMSTemplateResponse {
26774	s.DefaultSubstitutions = &v
26775	return s
26776}
26777
26778// SetLastModifiedDate sets the LastModifiedDate field's value.
26779func (s *SMSTemplateResponse) SetLastModifiedDate(v string) *SMSTemplateResponse {
26780	s.LastModifiedDate = &v
26781	return s
26782}
26783
26784// SetTags sets the Tags field's value.
26785func (s *SMSTemplateResponse) SetTags(v map[string]*string) *SMSTemplateResponse {
26786	s.Tags = v
26787	return s
26788}
26789
26790// SetTemplateDescription sets the TemplateDescription field's value.
26791func (s *SMSTemplateResponse) SetTemplateDescription(v string) *SMSTemplateResponse {
26792	s.TemplateDescription = &v
26793	return s
26794}
26795
26796// SetTemplateName sets the TemplateName field's value.
26797func (s *SMSTemplateResponse) SetTemplateName(v string) *SMSTemplateResponse {
26798	s.TemplateName = &v
26799	return s
26800}
26801
26802// SetTemplateType sets the TemplateType field's value.
26803func (s *SMSTemplateResponse) SetTemplateType(v string) *SMSTemplateResponse {
26804	s.TemplateType = &v
26805	return s
26806}
26807
26808// SetVersion sets the Version field's value.
26809func (s *SMSTemplateResponse) SetVersion(v string) *SMSTemplateResponse {
26810	s.Version = &v
26811	return s
26812}
26813
26814// Specifies the schedule settings for a campaign.
26815type Schedule struct {
26816	_ struct{} `type:"structure"`
26817
26818	// The scheduled time, in ISO 8601 format, when the campaign ended or will end.
26819	EndTime *string `type:"string"`
26820
26821	// The type of event that causes the campaign to be sent, if the value of the
26822	// Frequency property is EVENT.
26823	EventFilter *CampaignEventFilter `type:"structure"`
26824
26825	// Specifies how often the campaign is sent or whether the campaign is sent
26826	// in response to a specific event.
26827	Frequency *string `type:"string" enum:"Frequency"`
26828
26829	// Specifies whether the start and end times for the campaign schedule use each
26830	// recipient's local time. To base the schedule on each recipient's local time,
26831	// set this value to true.
26832	IsLocalTime *bool `type:"boolean"`
26833
26834	// The default quiet time for the campaign. Quiet time is a specific time range
26835	// when a campaign doesn't send messages to endpoints, if all the following
26836	// conditions are met:
26837	//
26838	//    * The EndpointDemographic.Timezone property of the endpoint is set to
26839	//    a valid value.
26840	//
26841	//    * The current time in the endpoint's time zone is later than or equal
26842	//    to the time specified by the QuietTime.Start property for the campaign.
26843	//
26844	//    * The current time in the endpoint's time zone is earlier than or equal
26845	//    to the time specified by the QuietTime.End property for the campaign.
26846	//
26847	// If any of the preceding conditions isn't met, the endpoint will receive messages
26848	// from the campaign, even if quiet time is enabled.
26849	QuietTime *QuietTime `type:"structure"`
26850
26851	// The scheduled time, in ISO 8601 format, when the campaign began or will begin.
26852	//
26853	// StartTime is a required field
26854	StartTime *string `type:"string" required:"true"`
26855
26856	// The starting UTC offset for the campaign schedule, if the value of the IsLocalTime
26857	// property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, UTC+03:30,
26858	// UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30, UTC+07,
26859	// UTC+08, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02,
26860	// UTC-03, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.
26861	Timezone *string `type:"string"`
26862}
26863
26864// String returns the string representation
26865func (s Schedule) String() string {
26866	return awsutil.Prettify(s)
26867}
26868
26869// GoString returns the string representation
26870func (s Schedule) GoString() string {
26871	return s.String()
26872}
26873
26874// Validate inspects the fields of the type to determine if they are valid.
26875func (s *Schedule) Validate() error {
26876	invalidParams := request.ErrInvalidParams{Context: "Schedule"}
26877	if s.StartTime == nil {
26878		invalidParams.Add(request.NewErrParamRequired("StartTime"))
26879	}
26880	if s.EventFilter != nil {
26881		if err := s.EventFilter.Validate(); err != nil {
26882			invalidParams.AddNested("EventFilter", err.(request.ErrInvalidParams))
26883		}
26884	}
26885
26886	if invalidParams.Len() > 0 {
26887		return invalidParams
26888	}
26889	return nil
26890}
26891
26892// SetEndTime sets the EndTime field's value.
26893func (s *Schedule) SetEndTime(v string) *Schedule {
26894	s.EndTime = &v
26895	return s
26896}
26897
26898// SetEventFilter sets the EventFilter field's value.
26899func (s *Schedule) SetEventFilter(v *CampaignEventFilter) *Schedule {
26900	s.EventFilter = v
26901	return s
26902}
26903
26904// SetFrequency sets the Frequency field's value.
26905func (s *Schedule) SetFrequency(v string) *Schedule {
26906	s.Frequency = &v
26907	return s
26908}
26909
26910// SetIsLocalTime sets the IsLocalTime field's value.
26911func (s *Schedule) SetIsLocalTime(v bool) *Schedule {
26912	s.IsLocalTime = &v
26913	return s
26914}
26915
26916// SetQuietTime sets the QuietTime field's value.
26917func (s *Schedule) SetQuietTime(v *QuietTime) *Schedule {
26918	s.QuietTime = v
26919	return s
26920}
26921
26922// SetStartTime sets the StartTime field's value.
26923func (s *Schedule) SetStartTime(v string) *Schedule {
26924	s.StartTime = &v
26925	return s
26926}
26927
26928// SetTimezone sets the Timezone field's value.
26929func (s *Schedule) SetTimezone(v string) *Schedule {
26930	s.Timezone = &v
26931	return s
26932}
26933
26934// Specifies dimension settings for including or excluding endpoints from a
26935// segment based on how recently an endpoint was active.
26936type SegmentBehaviors struct {
26937	_ struct{} `type:"structure"`
26938
26939	// The dimension settings that are based on how recently an endpoint was active.
26940	Recency *RecencyDimension `type:"structure"`
26941}
26942
26943// String returns the string representation
26944func (s SegmentBehaviors) String() string {
26945	return awsutil.Prettify(s)
26946}
26947
26948// GoString returns the string representation
26949func (s SegmentBehaviors) GoString() string {
26950	return s.String()
26951}
26952
26953// Validate inspects the fields of the type to determine if they are valid.
26954func (s *SegmentBehaviors) Validate() error {
26955	invalidParams := request.ErrInvalidParams{Context: "SegmentBehaviors"}
26956	if s.Recency != nil {
26957		if err := s.Recency.Validate(); err != nil {
26958			invalidParams.AddNested("Recency", err.(request.ErrInvalidParams))
26959		}
26960	}
26961
26962	if invalidParams.Len() > 0 {
26963		return invalidParams
26964	}
26965	return nil
26966}
26967
26968// SetRecency sets the Recency field's value.
26969func (s *SegmentBehaviors) SetRecency(v *RecencyDimension) *SegmentBehaviors {
26970	s.Recency = v
26971	return s
26972}
26973
26974// Specifies a segment to associate with an activity in a journey.
26975type SegmentCondition struct {
26976	_ struct{} `type:"structure"`
26977
26978	// The unique identifier for the segment to associate with the activity.
26979	//
26980	// SegmentId is a required field
26981	SegmentId *string `type:"string" required:"true"`
26982}
26983
26984// String returns the string representation
26985func (s SegmentCondition) String() string {
26986	return awsutil.Prettify(s)
26987}
26988
26989// GoString returns the string representation
26990func (s SegmentCondition) GoString() string {
26991	return s.String()
26992}
26993
26994// Validate inspects the fields of the type to determine if they are valid.
26995func (s *SegmentCondition) Validate() error {
26996	invalidParams := request.ErrInvalidParams{Context: "SegmentCondition"}
26997	if s.SegmentId == nil {
26998		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
26999	}
27000
27001	if invalidParams.Len() > 0 {
27002		return invalidParams
27003	}
27004	return nil
27005}
27006
27007// SetSegmentId sets the SegmentId field's value.
27008func (s *SegmentCondition) SetSegmentId(v string) *SegmentCondition {
27009	s.SegmentId = &v
27010	return s
27011}
27012
27013// Specifies demographic-based dimension settings for including or excluding
27014// endpoints from a segment. These settings derive from characteristics of endpoint
27015// devices, such as platform, make, and model.
27016type SegmentDemographics struct {
27017	_ struct{} `type:"structure"`
27018
27019	// The app version criteria for the segment.
27020	AppVersion *SetDimension `type:"structure"`
27021
27022	// The channel criteria for the segment.
27023	Channel *SetDimension `type:"structure"`
27024
27025	// The device type criteria for the segment.
27026	DeviceType *SetDimension `type:"structure"`
27027
27028	// The device make criteria for the segment.
27029	Make *SetDimension `type:"structure"`
27030
27031	// The device model criteria for the segment.
27032	Model *SetDimension `type:"structure"`
27033
27034	// The device platform criteria for the segment.
27035	Platform *SetDimension `type:"structure"`
27036}
27037
27038// String returns the string representation
27039func (s SegmentDemographics) String() string {
27040	return awsutil.Prettify(s)
27041}
27042
27043// GoString returns the string representation
27044func (s SegmentDemographics) GoString() string {
27045	return s.String()
27046}
27047
27048// Validate inspects the fields of the type to determine if they are valid.
27049func (s *SegmentDemographics) Validate() error {
27050	invalidParams := request.ErrInvalidParams{Context: "SegmentDemographics"}
27051	if s.AppVersion != nil {
27052		if err := s.AppVersion.Validate(); err != nil {
27053			invalidParams.AddNested("AppVersion", err.(request.ErrInvalidParams))
27054		}
27055	}
27056	if s.Channel != nil {
27057		if err := s.Channel.Validate(); err != nil {
27058			invalidParams.AddNested("Channel", err.(request.ErrInvalidParams))
27059		}
27060	}
27061	if s.DeviceType != nil {
27062		if err := s.DeviceType.Validate(); err != nil {
27063			invalidParams.AddNested("DeviceType", err.(request.ErrInvalidParams))
27064		}
27065	}
27066	if s.Make != nil {
27067		if err := s.Make.Validate(); err != nil {
27068			invalidParams.AddNested("Make", err.(request.ErrInvalidParams))
27069		}
27070	}
27071	if s.Model != nil {
27072		if err := s.Model.Validate(); err != nil {
27073			invalidParams.AddNested("Model", err.(request.ErrInvalidParams))
27074		}
27075	}
27076	if s.Platform != nil {
27077		if err := s.Platform.Validate(); err != nil {
27078			invalidParams.AddNested("Platform", err.(request.ErrInvalidParams))
27079		}
27080	}
27081
27082	if invalidParams.Len() > 0 {
27083		return invalidParams
27084	}
27085	return nil
27086}
27087
27088// SetAppVersion sets the AppVersion field's value.
27089func (s *SegmentDemographics) SetAppVersion(v *SetDimension) *SegmentDemographics {
27090	s.AppVersion = v
27091	return s
27092}
27093
27094// SetChannel sets the Channel field's value.
27095func (s *SegmentDemographics) SetChannel(v *SetDimension) *SegmentDemographics {
27096	s.Channel = v
27097	return s
27098}
27099
27100// SetDeviceType sets the DeviceType field's value.
27101func (s *SegmentDemographics) SetDeviceType(v *SetDimension) *SegmentDemographics {
27102	s.DeviceType = v
27103	return s
27104}
27105
27106// SetMake sets the Make field's value.
27107func (s *SegmentDemographics) SetMake(v *SetDimension) *SegmentDemographics {
27108	s.Make = v
27109	return s
27110}
27111
27112// SetModel sets the Model field's value.
27113func (s *SegmentDemographics) SetModel(v *SetDimension) *SegmentDemographics {
27114	s.Model = v
27115	return s
27116}
27117
27118// SetPlatform sets the Platform field's value.
27119func (s *SegmentDemographics) SetPlatform(v *SetDimension) *SegmentDemographics {
27120	s.Platform = v
27121	return s
27122}
27123
27124// Specifies the dimension settings for a segment.
27125type SegmentDimensions struct {
27126	_ struct{} `type:"structure"`
27127
27128	// One or more custom attributes to use as criteria for the segment.
27129	Attributes map[string]*AttributeDimension `type:"map"`
27130
27131	// The behavior-based criteria, such as how recently users have used your app,
27132	// for the segment.
27133	Behavior *SegmentBehaviors `type:"structure"`
27134
27135	// The demographic-based criteria, such as device platform, for the segment.
27136	Demographic *SegmentDemographics `type:"structure"`
27137
27138	// The location-based criteria, such as region or GPS coordinates, for the segment.
27139	Location *SegmentLocation `type:"structure"`
27140
27141	// One or more custom metrics to use as criteria for the segment.
27142	Metrics map[string]*MetricDimension `type:"map"`
27143
27144	// One or more custom user attributes to use as criteria for the segment.
27145	UserAttributes map[string]*AttributeDimension `type:"map"`
27146}
27147
27148// String returns the string representation
27149func (s SegmentDimensions) String() string {
27150	return awsutil.Prettify(s)
27151}
27152
27153// GoString returns the string representation
27154func (s SegmentDimensions) GoString() string {
27155	return s.String()
27156}
27157
27158// Validate inspects the fields of the type to determine if they are valid.
27159func (s *SegmentDimensions) Validate() error {
27160	invalidParams := request.ErrInvalidParams{Context: "SegmentDimensions"}
27161	if s.Attributes != nil {
27162		for i, v := range s.Attributes {
27163			if v == nil {
27164				continue
27165			}
27166			if err := v.Validate(); err != nil {
27167				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
27168			}
27169		}
27170	}
27171	if s.Behavior != nil {
27172		if err := s.Behavior.Validate(); err != nil {
27173			invalidParams.AddNested("Behavior", err.(request.ErrInvalidParams))
27174		}
27175	}
27176	if s.Demographic != nil {
27177		if err := s.Demographic.Validate(); err != nil {
27178			invalidParams.AddNested("Demographic", err.(request.ErrInvalidParams))
27179		}
27180	}
27181	if s.Location != nil {
27182		if err := s.Location.Validate(); err != nil {
27183			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
27184		}
27185	}
27186	if s.Metrics != nil {
27187		for i, v := range s.Metrics {
27188			if v == nil {
27189				continue
27190			}
27191			if err := v.Validate(); err != nil {
27192				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams))
27193			}
27194		}
27195	}
27196	if s.UserAttributes != nil {
27197		for i, v := range s.UserAttributes {
27198			if v == nil {
27199				continue
27200			}
27201			if err := v.Validate(); err != nil {
27202				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAttributes", i), err.(request.ErrInvalidParams))
27203			}
27204		}
27205	}
27206
27207	if invalidParams.Len() > 0 {
27208		return invalidParams
27209	}
27210	return nil
27211}
27212
27213// SetAttributes sets the Attributes field's value.
27214func (s *SegmentDimensions) SetAttributes(v map[string]*AttributeDimension) *SegmentDimensions {
27215	s.Attributes = v
27216	return s
27217}
27218
27219// SetBehavior sets the Behavior field's value.
27220func (s *SegmentDimensions) SetBehavior(v *SegmentBehaviors) *SegmentDimensions {
27221	s.Behavior = v
27222	return s
27223}
27224
27225// SetDemographic sets the Demographic field's value.
27226func (s *SegmentDimensions) SetDemographic(v *SegmentDemographics) *SegmentDimensions {
27227	s.Demographic = v
27228	return s
27229}
27230
27231// SetLocation sets the Location field's value.
27232func (s *SegmentDimensions) SetLocation(v *SegmentLocation) *SegmentDimensions {
27233	s.Location = v
27234	return s
27235}
27236
27237// SetMetrics sets the Metrics field's value.
27238func (s *SegmentDimensions) SetMetrics(v map[string]*MetricDimension) *SegmentDimensions {
27239	s.Metrics = v
27240	return s
27241}
27242
27243// SetUserAttributes sets the UserAttributes field's value.
27244func (s *SegmentDimensions) SetUserAttributes(v map[string]*AttributeDimension) *SegmentDimensions {
27245	s.UserAttributes = v
27246	return s
27247}
27248
27249// Specifies the base segments and dimensions for a segment, and the relationships
27250// between these base segments and dimensions.
27251type SegmentGroup struct {
27252	_ struct{} `type:"structure"`
27253
27254	// An array that defines the dimensions for the segment.
27255	Dimensions []*SegmentDimensions `type:"list"`
27256
27257	// The base segment to build the segment on. A base segment, also referred to
27258	// as a source segment, defines the initial population of endpoints for a segment.
27259	// When you add dimensions to a segment, Amazon Pinpoint filters the base segment
27260	// by using the dimensions that you specify.
27261	//
27262	// You can specify more than one dimensional segment or only one imported segment.
27263	// If you specify an imported segment, the Amazon Pinpoint console displays
27264	// a segment size estimate that indicates the size of the imported segment without
27265	// any filters applied to it.
27266	SourceSegments []*SegmentReference `type:"list"`
27267
27268	// Specifies how to handle multiple base segments for the segment. For example,
27269	// if you specify three base segments for the segment, whether the resulting
27270	// segment is based on all, any, or none of the base segments.
27271	SourceType *string `type:"string" enum:"SourceType"`
27272
27273	// Specifies how to handle multiple dimensions for the segment. For example,
27274	// if you specify three dimensions for the segment, whether the resulting segment
27275	// includes endpoints that match all, any, or none of the dimensions.
27276	Type *string `type:"string" enum:"Type"`
27277}
27278
27279// String returns the string representation
27280func (s SegmentGroup) String() string {
27281	return awsutil.Prettify(s)
27282}
27283
27284// GoString returns the string representation
27285func (s SegmentGroup) GoString() string {
27286	return s.String()
27287}
27288
27289// Validate inspects the fields of the type to determine if they are valid.
27290func (s *SegmentGroup) Validate() error {
27291	invalidParams := request.ErrInvalidParams{Context: "SegmentGroup"}
27292	if s.Dimensions != nil {
27293		for i, v := range s.Dimensions {
27294			if v == nil {
27295				continue
27296			}
27297			if err := v.Validate(); err != nil {
27298				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
27299			}
27300		}
27301	}
27302	if s.SourceSegments != nil {
27303		for i, v := range s.SourceSegments {
27304			if v == nil {
27305				continue
27306			}
27307			if err := v.Validate(); err != nil {
27308				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SourceSegments", i), err.(request.ErrInvalidParams))
27309			}
27310		}
27311	}
27312
27313	if invalidParams.Len() > 0 {
27314		return invalidParams
27315	}
27316	return nil
27317}
27318
27319// SetDimensions sets the Dimensions field's value.
27320func (s *SegmentGroup) SetDimensions(v []*SegmentDimensions) *SegmentGroup {
27321	s.Dimensions = v
27322	return s
27323}
27324
27325// SetSourceSegments sets the SourceSegments field's value.
27326func (s *SegmentGroup) SetSourceSegments(v []*SegmentReference) *SegmentGroup {
27327	s.SourceSegments = v
27328	return s
27329}
27330
27331// SetSourceType sets the SourceType field's value.
27332func (s *SegmentGroup) SetSourceType(v string) *SegmentGroup {
27333	s.SourceType = &v
27334	return s
27335}
27336
27337// SetType sets the Type field's value.
27338func (s *SegmentGroup) SetType(v string) *SegmentGroup {
27339	s.Type = &v
27340	return s
27341}
27342
27343// Specifies the settings that define the relationships between segment groups
27344// for a segment.
27345type SegmentGroupList struct {
27346	_ struct{} `type:"structure"`
27347
27348	// An array that defines the set of segment criteria to evaluate when handling
27349	// segment groups for the segment.
27350	Groups []*SegmentGroup `type:"list"`
27351
27352	// Specifies how to handle multiple segment groups for the segment. For example,
27353	// if the segment includes three segment groups, whether the resulting segment
27354	// includes endpoints that match all, any, or none of the segment groups.
27355	Include *string `type:"string" enum:"Include"`
27356}
27357
27358// String returns the string representation
27359func (s SegmentGroupList) String() string {
27360	return awsutil.Prettify(s)
27361}
27362
27363// GoString returns the string representation
27364func (s SegmentGroupList) GoString() string {
27365	return s.String()
27366}
27367
27368// Validate inspects the fields of the type to determine if they are valid.
27369func (s *SegmentGroupList) Validate() error {
27370	invalidParams := request.ErrInvalidParams{Context: "SegmentGroupList"}
27371	if s.Groups != nil {
27372		for i, v := range s.Groups {
27373			if v == nil {
27374				continue
27375			}
27376			if err := v.Validate(); err != nil {
27377				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Groups", i), err.(request.ErrInvalidParams))
27378			}
27379		}
27380	}
27381
27382	if invalidParams.Len() > 0 {
27383		return invalidParams
27384	}
27385	return nil
27386}
27387
27388// SetGroups sets the Groups field's value.
27389func (s *SegmentGroupList) SetGroups(v []*SegmentGroup) *SegmentGroupList {
27390	s.Groups = v
27391	return s
27392}
27393
27394// SetInclude sets the Include field's value.
27395func (s *SegmentGroupList) SetInclude(v string) *SegmentGroupList {
27396	s.Include = &v
27397	return s
27398}
27399
27400// Provides information about the import job that created a segment. An import
27401// job is a job that creates a user segment by importing endpoint definitions.
27402type SegmentImportResource struct {
27403	_ struct{} `type:"structure"`
27404
27405	// The number of channel types in the endpoint definitions that were imported
27406	// to create the segment.
27407	ChannelCounts map[string]*int64 `type:"map"`
27408
27409	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
27410	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
27411	// an IAM role when importing endpoint definitions, but we removed this requirement.
27412	// We don't recommend use of external IDs for IAM roles that are assumed by
27413	// Amazon Pinpoint.
27414	//
27415	// ExternalId is a required field
27416	ExternalId *string `type:"string" required:"true"`
27417
27418	// The format of the files that were imported to create the segment. Valid values
27419	// are: CSV, for comma-separated values format; and, JSON, for newline-delimited
27420	// JSON format.
27421	//
27422	// Format is a required field
27423	Format *string `type:"string" required:"true" enum:"Format"`
27424
27425	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
27426	// (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location
27427	// to import endpoint definitions from.
27428	//
27429	// RoleArn is a required field
27430	RoleArn *string `type:"string" required:"true"`
27431
27432	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that the
27433	// endpoint definitions were imported from to create the segment.
27434	//
27435	// S3Url is a required field
27436	S3Url *string `type:"string" required:"true"`
27437
27438	// The number of endpoint definitions that were imported successfully to create
27439	// the segment.
27440	//
27441	// Size is a required field
27442	Size *int64 `type:"integer" required:"true"`
27443}
27444
27445// String returns the string representation
27446func (s SegmentImportResource) String() string {
27447	return awsutil.Prettify(s)
27448}
27449
27450// GoString returns the string representation
27451func (s SegmentImportResource) GoString() string {
27452	return s.String()
27453}
27454
27455// SetChannelCounts sets the ChannelCounts field's value.
27456func (s *SegmentImportResource) SetChannelCounts(v map[string]*int64) *SegmentImportResource {
27457	s.ChannelCounts = v
27458	return s
27459}
27460
27461// SetExternalId sets the ExternalId field's value.
27462func (s *SegmentImportResource) SetExternalId(v string) *SegmentImportResource {
27463	s.ExternalId = &v
27464	return s
27465}
27466
27467// SetFormat sets the Format field's value.
27468func (s *SegmentImportResource) SetFormat(v string) *SegmentImportResource {
27469	s.Format = &v
27470	return s
27471}
27472
27473// SetRoleArn sets the RoleArn field's value.
27474func (s *SegmentImportResource) SetRoleArn(v string) *SegmentImportResource {
27475	s.RoleArn = &v
27476	return s
27477}
27478
27479// SetS3Url sets the S3Url field's value.
27480func (s *SegmentImportResource) SetS3Url(v string) *SegmentImportResource {
27481	s.S3Url = &v
27482	return s
27483}
27484
27485// SetSize sets the Size field's value.
27486func (s *SegmentImportResource) SetSize(v int64) *SegmentImportResource {
27487	s.Size = &v
27488	return s
27489}
27490
27491// Specifies geographical dimension settings for a segment.
27492type SegmentLocation struct {
27493	_ struct{} `type:"structure"`
27494
27495	// The country or region code, in ISO 3166-1 alpha-2 format, for the segment.
27496	Country *SetDimension `type:"structure"`
27497
27498	// The GPS location and range for the segment.
27499	GPSPoint *GPSPointDimension `type:"structure"`
27500}
27501
27502// String returns the string representation
27503func (s SegmentLocation) String() string {
27504	return awsutil.Prettify(s)
27505}
27506
27507// GoString returns the string representation
27508func (s SegmentLocation) GoString() string {
27509	return s.String()
27510}
27511
27512// Validate inspects the fields of the type to determine if they are valid.
27513func (s *SegmentLocation) Validate() error {
27514	invalidParams := request.ErrInvalidParams{Context: "SegmentLocation"}
27515	if s.Country != nil {
27516		if err := s.Country.Validate(); err != nil {
27517			invalidParams.AddNested("Country", err.(request.ErrInvalidParams))
27518		}
27519	}
27520	if s.GPSPoint != nil {
27521		if err := s.GPSPoint.Validate(); err != nil {
27522			invalidParams.AddNested("GPSPoint", err.(request.ErrInvalidParams))
27523		}
27524	}
27525
27526	if invalidParams.Len() > 0 {
27527		return invalidParams
27528	}
27529	return nil
27530}
27531
27532// SetCountry sets the Country field's value.
27533func (s *SegmentLocation) SetCountry(v *SetDimension) *SegmentLocation {
27534	s.Country = v
27535	return s
27536}
27537
27538// SetGPSPoint sets the GPSPoint field's value.
27539func (s *SegmentLocation) SetGPSPoint(v *GPSPointDimension) *SegmentLocation {
27540	s.GPSPoint = v
27541	return s
27542}
27543
27544// Specifies the segment identifier and version of a segment.
27545type SegmentReference struct {
27546	_ struct{} `type:"structure"`
27547
27548	// The unique identifier for the segment.
27549	//
27550	// Id is a required field
27551	Id *string `type:"string" required:"true"`
27552
27553	// The version number of the segment.
27554	Version *int64 `type:"integer"`
27555}
27556
27557// String returns the string representation
27558func (s SegmentReference) String() string {
27559	return awsutil.Prettify(s)
27560}
27561
27562// GoString returns the string representation
27563func (s SegmentReference) GoString() string {
27564	return s.String()
27565}
27566
27567// Validate inspects the fields of the type to determine if they are valid.
27568func (s *SegmentReference) Validate() error {
27569	invalidParams := request.ErrInvalidParams{Context: "SegmentReference"}
27570	if s.Id == nil {
27571		invalidParams.Add(request.NewErrParamRequired("Id"))
27572	}
27573
27574	if invalidParams.Len() > 0 {
27575		return invalidParams
27576	}
27577	return nil
27578}
27579
27580// SetId sets the Id field's value.
27581func (s *SegmentReference) SetId(v string) *SegmentReference {
27582	s.Id = &v
27583	return s
27584}
27585
27586// SetVersion sets the Version field's value.
27587func (s *SegmentReference) SetVersion(v int64) *SegmentReference {
27588	s.Version = &v
27589	return s
27590}
27591
27592// Provides information about the configuration, dimension, and other settings
27593// for a segment.
27594type SegmentResponse struct {
27595	_ struct{} `type:"structure"`
27596
27597	// The unique identifier for the application that the segment is associated
27598	// with.
27599	//
27600	// ApplicationId is a required field
27601	ApplicationId *string `type:"string" required:"true"`
27602
27603	// The Amazon Resource Name (ARN) of the segment.
27604	//
27605	// Arn is a required field
27606	Arn *string `type:"string" required:"true"`
27607
27608	// The date and time when the segment was created.
27609	//
27610	// CreationDate is a required field
27611	CreationDate *string `type:"string" required:"true"`
27612
27613	// The dimension settings for the segment.
27614	Dimensions *SegmentDimensions `type:"structure"`
27615
27616	// The unique identifier for the segment.
27617	//
27618	// Id is a required field
27619	Id *string `type:"string" required:"true"`
27620
27621	// The settings for the import job that's associated with the segment.
27622	ImportDefinition *SegmentImportResource `type:"structure"`
27623
27624	// The date and time when the segment was last modified.
27625	LastModifiedDate *string `type:"string"`
27626
27627	// The name of the segment.
27628	Name *string `type:"string"`
27629
27630	// A list of one or more segment groups that apply to the segment. Each segment
27631	// group consists of zero or more base segments and the dimensions that are
27632	// applied to those base segments.
27633	SegmentGroups *SegmentGroupList `type:"structure"`
27634
27635	// The segment type. Valid values are:
27636	//
27637	//    * DIMENSIONAL - A dynamic segment, which is a segment that uses selection
27638	//    criteria that you specify and is based on endpoint data that's reported
27639	//    by your app. Dynamic segments can change over time.
27640	//
27641	//    * IMPORT - A static segment, which is a segment that uses selection criteria
27642	//    that you specify and is based on endpoint definitions that you import
27643	//    from a file. Imported segments are static; they don't change over time.
27644	//
27645	// SegmentType is a required field
27646	SegmentType *string `type:"string" required:"true" enum:"SegmentType"`
27647
27648	// A string-to-string map of key-value pairs that identifies the tags that are
27649	// associated with the segment. Each tag consists of a required tag key and
27650	// an associated tag value.
27651	Tags map[string]*string `locationName:"tags" type:"map"`
27652
27653	// The version number of the segment.
27654	Version *int64 `type:"integer"`
27655}
27656
27657// String returns the string representation
27658func (s SegmentResponse) String() string {
27659	return awsutil.Prettify(s)
27660}
27661
27662// GoString returns the string representation
27663func (s SegmentResponse) GoString() string {
27664	return s.String()
27665}
27666
27667// SetApplicationId sets the ApplicationId field's value.
27668func (s *SegmentResponse) SetApplicationId(v string) *SegmentResponse {
27669	s.ApplicationId = &v
27670	return s
27671}
27672
27673// SetArn sets the Arn field's value.
27674func (s *SegmentResponse) SetArn(v string) *SegmentResponse {
27675	s.Arn = &v
27676	return s
27677}
27678
27679// SetCreationDate sets the CreationDate field's value.
27680func (s *SegmentResponse) SetCreationDate(v string) *SegmentResponse {
27681	s.CreationDate = &v
27682	return s
27683}
27684
27685// SetDimensions sets the Dimensions field's value.
27686func (s *SegmentResponse) SetDimensions(v *SegmentDimensions) *SegmentResponse {
27687	s.Dimensions = v
27688	return s
27689}
27690
27691// SetId sets the Id field's value.
27692func (s *SegmentResponse) SetId(v string) *SegmentResponse {
27693	s.Id = &v
27694	return s
27695}
27696
27697// SetImportDefinition sets the ImportDefinition field's value.
27698func (s *SegmentResponse) SetImportDefinition(v *SegmentImportResource) *SegmentResponse {
27699	s.ImportDefinition = v
27700	return s
27701}
27702
27703// SetLastModifiedDate sets the LastModifiedDate field's value.
27704func (s *SegmentResponse) SetLastModifiedDate(v string) *SegmentResponse {
27705	s.LastModifiedDate = &v
27706	return s
27707}
27708
27709// SetName sets the Name field's value.
27710func (s *SegmentResponse) SetName(v string) *SegmentResponse {
27711	s.Name = &v
27712	return s
27713}
27714
27715// SetSegmentGroups sets the SegmentGroups field's value.
27716func (s *SegmentResponse) SetSegmentGroups(v *SegmentGroupList) *SegmentResponse {
27717	s.SegmentGroups = v
27718	return s
27719}
27720
27721// SetSegmentType sets the SegmentType field's value.
27722func (s *SegmentResponse) SetSegmentType(v string) *SegmentResponse {
27723	s.SegmentType = &v
27724	return s
27725}
27726
27727// SetTags sets the Tags field's value.
27728func (s *SegmentResponse) SetTags(v map[string]*string) *SegmentResponse {
27729	s.Tags = v
27730	return s
27731}
27732
27733// SetVersion sets the Version field's value.
27734func (s *SegmentResponse) SetVersion(v int64) *SegmentResponse {
27735	s.Version = &v
27736	return s
27737}
27738
27739// Provides information about all the segments that are associated with an application.
27740type SegmentsResponse struct {
27741	_ struct{} `type:"structure"`
27742
27743	// An array of responses, one for each segment that's associated with the application
27744	// (Segments resource) or each version of a segment that's associated with the
27745	// application (Segment Versions resource).
27746	//
27747	// Item is a required field
27748	Item []*SegmentResponse `type:"list" required:"true"`
27749
27750	// The string to use in a subsequent request to get the next page of results
27751	// in a paginated response. This value is null if there are no additional pages.
27752	NextToken *string `type:"string"`
27753}
27754
27755// String returns the string representation
27756func (s SegmentsResponse) String() string {
27757	return awsutil.Prettify(s)
27758}
27759
27760// GoString returns the string representation
27761func (s SegmentsResponse) GoString() string {
27762	return s.String()
27763}
27764
27765// SetItem sets the Item field's value.
27766func (s *SegmentsResponse) SetItem(v []*SegmentResponse) *SegmentsResponse {
27767	s.Item = v
27768	return s
27769}
27770
27771// SetNextToken sets the NextToken field's value.
27772func (s *SegmentsResponse) SetNextToken(v string) *SegmentsResponse {
27773	s.NextToken = &v
27774	return s
27775}
27776
27777type SendMessagesInput struct {
27778	_ struct{} `type:"structure" payload:"MessageRequest"`
27779
27780	// ApplicationId is a required field
27781	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
27782
27783	// Specifies the configuration and other settings for a message.
27784	//
27785	// MessageRequest is a required field
27786	MessageRequest *MessageRequest `type:"structure" required:"true"`
27787}
27788
27789// String returns the string representation
27790func (s SendMessagesInput) String() string {
27791	return awsutil.Prettify(s)
27792}
27793
27794// GoString returns the string representation
27795func (s SendMessagesInput) GoString() string {
27796	return s.String()
27797}
27798
27799// Validate inspects the fields of the type to determine if they are valid.
27800func (s *SendMessagesInput) Validate() error {
27801	invalidParams := request.ErrInvalidParams{Context: "SendMessagesInput"}
27802	if s.ApplicationId == nil {
27803		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
27804	}
27805	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
27806		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
27807	}
27808	if s.MessageRequest == nil {
27809		invalidParams.Add(request.NewErrParamRequired("MessageRequest"))
27810	}
27811	if s.MessageRequest != nil {
27812		if err := s.MessageRequest.Validate(); err != nil {
27813			invalidParams.AddNested("MessageRequest", err.(request.ErrInvalidParams))
27814		}
27815	}
27816
27817	if invalidParams.Len() > 0 {
27818		return invalidParams
27819	}
27820	return nil
27821}
27822
27823// SetApplicationId sets the ApplicationId field's value.
27824func (s *SendMessagesInput) SetApplicationId(v string) *SendMessagesInput {
27825	s.ApplicationId = &v
27826	return s
27827}
27828
27829// SetMessageRequest sets the MessageRequest field's value.
27830func (s *SendMessagesInput) SetMessageRequest(v *MessageRequest) *SendMessagesInput {
27831	s.MessageRequest = v
27832	return s
27833}
27834
27835type SendMessagesOutput struct {
27836	_ struct{} `type:"structure" payload:"MessageResponse"`
27837
27838	// Provides information about the results of a request to send a message to
27839	// an endpoint address.
27840	//
27841	// MessageResponse is a required field
27842	MessageResponse *MessageResponse `type:"structure" required:"true"`
27843}
27844
27845// String returns the string representation
27846func (s SendMessagesOutput) String() string {
27847	return awsutil.Prettify(s)
27848}
27849
27850// GoString returns the string representation
27851func (s SendMessagesOutput) GoString() string {
27852	return s.String()
27853}
27854
27855// SetMessageResponse sets the MessageResponse field's value.
27856func (s *SendMessagesOutput) SetMessageResponse(v *MessageResponse) *SendMessagesOutput {
27857	s.MessageResponse = v
27858	return s
27859}
27860
27861// Specifies the configuration and other settings for a message to send to all
27862// the endpoints that are associated with a list of users.
27863type SendUsersMessageRequest struct {
27864	_ struct{} `type:"structure"`
27865
27866	// A map of custom attribute-value pairs. For a push notification, Amazon Pinpoint
27867	// adds these attributes to the data.pinpoint object in the body of the notification
27868	// payload. Amazon Pinpoint also provides these attributes in the events that
27869	// it generates for users-messages deliveries.
27870	Context map[string]*string `type:"map"`
27871
27872	// The settings and content for the default message and any default messages
27873	// that you defined for specific channels.
27874	//
27875	// MessageConfiguration is a required field
27876	MessageConfiguration *DirectMessageConfiguration `type:"structure" required:"true"`
27877
27878	// The message template to use for the message.
27879	TemplateConfiguration *TemplateConfiguration `type:"structure"`
27880
27881	// The unique identifier for tracing the message. This identifier is visible
27882	// to message recipients.
27883	TraceId *string `type:"string"`
27884
27885	// A map that associates user IDs with EndpointSendConfiguration objects. You
27886	// can use an EndpointSendConfiguration object to tailor the message for a user
27887	// by specifying settings such as content overrides and message variables.
27888	//
27889	// Users is a required field
27890	Users map[string]*EndpointSendConfiguration `type:"map" required:"true"`
27891}
27892
27893// String returns the string representation
27894func (s SendUsersMessageRequest) String() string {
27895	return awsutil.Prettify(s)
27896}
27897
27898// GoString returns the string representation
27899func (s SendUsersMessageRequest) GoString() string {
27900	return s.String()
27901}
27902
27903// Validate inspects the fields of the type to determine if they are valid.
27904func (s *SendUsersMessageRequest) Validate() error {
27905	invalidParams := request.ErrInvalidParams{Context: "SendUsersMessageRequest"}
27906	if s.MessageConfiguration == nil {
27907		invalidParams.Add(request.NewErrParamRequired("MessageConfiguration"))
27908	}
27909	if s.Users == nil {
27910		invalidParams.Add(request.NewErrParamRequired("Users"))
27911	}
27912
27913	if invalidParams.Len() > 0 {
27914		return invalidParams
27915	}
27916	return nil
27917}
27918
27919// SetContext sets the Context field's value.
27920func (s *SendUsersMessageRequest) SetContext(v map[string]*string) *SendUsersMessageRequest {
27921	s.Context = v
27922	return s
27923}
27924
27925// SetMessageConfiguration sets the MessageConfiguration field's value.
27926func (s *SendUsersMessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) *SendUsersMessageRequest {
27927	s.MessageConfiguration = v
27928	return s
27929}
27930
27931// SetTemplateConfiguration sets the TemplateConfiguration field's value.
27932func (s *SendUsersMessageRequest) SetTemplateConfiguration(v *TemplateConfiguration) *SendUsersMessageRequest {
27933	s.TemplateConfiguration = v
27934	return s
27935}
27936
27937// SetTraceId sets the TraceId field's value.
27938func (s *SendUsersMessageRequest) SetTraceId(v string) *SendUsersMessageRequest {
27939	s.TraceId = &v
27940	return s
27941}
27942
27943// SetUsers sets the Users field's value.
27944func (s *SendUsersMessageRequest) SetUsers(v map[string]*EndpointSendConfiguration) *SendUsersMessageRequest {
27945	s.Users = v
27946	return s
27947}
27948
27949// Provides information about which users and endpoints a message was sent to.
27950type SendUsersMessageResponse struct {
27951	_ struct{} `type:"structure"`
27952
27953	// The unique identifier for the application that was used to send the message.
27954	//
27955	// ApplicationId is a required field
27956	ApplicationId *string `type:"string" required:"true"`
27957
27958	// The unique identifier that was assigned to the message request.
27959	RequestId *string `type:"string"`
27960
27961	// An object that indicates which endpoints the message was sent to, for each
27962	// user. The object lists user IDs and, for each user ID, provides the endpoint
27963	// IDs that the message was sent to. For each endpoint ID, it provides an EndpointMessageResult
27964	// object.
27965	Result map[string]map[string]*EndpointMessageResult `type:"map"`
27966}
27967
27968// String returns the string representation
27969func (s SendUsersMessageResponse) String() string {
27970	return awsutil.Prettify(s)
27971}
27972
27973// GoString returns the string representation
27974func (s SendUsersMessageResponse) GoString() string {
27975	return s.String()
27976}
27977
27978// SetApplicationId sets the ApplicationId field's value.
27979func (s *SendUsersMessageResponse) SetApplicationId(v string) *SendUsersMessageResponse {
27980	s.ApplicationId = &v
27981	return s
27982}
27983
27984// SetRequestId sets the RequestId field's value.
27985func (s *SendUsersMessageResponse) SetRequestId(v string) *SendUsersMessageResponse {
27986	s.RequestId = &v
27987	return s
27988}
27989
27990// SetResult sets the Result field's value.
27991func (s *SendUsersMessageResponse) SetResult(v map[string]map[string]*EndpointMessageResult) *SendUsersMessageResponse {
27992	s.Result = v
27993	return s
27994}
27995
27996type SendUsersMessagesInput struct {
27997	_ struct{} `type:"structure" payload:"SendUsersMessageRequest"`
27998
27999	// ApplicationId is a required field
28000	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
28001
28002	// Specifies the configuration and other settings for a message to send to all
28003	// the endpoints that are associated with a list of users.
28004	//
28005	// SendUsersMessageRequest is a required field
28006	SendUsersMessageRequest *SendUsersMessageRequest `type:"structure" required:"true"`
28007}
28008
28009// String returns the string representation
28010func (s SendUsersMessagesInput) String() string {
28011	return awsutil.Prettify(s)
28012}
28013
28014// GoString returns the string representation
28015func (s SendUsersMessagesInput) GoString() string {
28016	return s.String()
28017}
28018
28019// Validate inspects the fields of the type to determine if they are valid.
28020func (s *SendUsersMessagesInput) Validate() error {
28021	invalidParams := request.ErrInvalidParams{Context: "SendUsersMessagesInput"}
28022	if s.ApplicationId == nil {
28023		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
28024	}
28025	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
28026		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
28027	}
28028	if s.SendUsersMessageRequest == nil {
28029		invalidParams.Add(request.NewErrParamRequired("SendUsersMessageRequest"))
28030	}
28031	if s.SendUsersMessageRequest != nil {
28032		if err := s.SendUsersMessageRequest.Validate(); err != nil {
28033			invalidParams.AddNested("SendUsersMessageRequest", err.(request.ErrInvalidParams))
28034		}
28035	}
28036
28037	if invalidParams.Len() > 0 {
28038		return invalidParams
28039	}
28040	return nil
28041}
28042
28043// SetApplicationId sets the ApplicationId field's value.
28044func (s *SendUsersMessagesInput) SetApplicationId(v string) *SendUsersMessagesInput {
28045	s.ApplicationId = &v
28046	return s
28047}
28048
28049// SetSendUsersMessageRequest sets the SendUsersMessageRequest field's value.
28050func (s *SendUsersMessagesInput) SetSendUsersMessageRequest(v *SendUsersMessageRequest) *SendUsersMessagesInput {
28051	s.SendUsersMessageRequest = v
28052	return s
28053}
28054
28055type SendUsersMessagesOutput struct {
28056	_ struct{} `type:"structure" payload:"SendUsersMessageResponse"`
28057
28058	// Provides information about which users and endpoints a message was sent to.
28059	//
28060	// SendUsersMessageResponse is a required field
28061	SendUsersMessageResponse *SendUsersMessageResponse `type:"structure" required:"true"`
28062}
28063
28064// String returns the string representation
28065func (s SendUsersMessagesOutput) String() string {
28066	return awsutil.Prettify(s)
28067}
28068
28069// GoString returns the string representation
28070func (s SendUsersMessagesOutput) GoString() string {
28071	return s.String()
28072}
28073
28074// SetSendUsersMessageResponse sets the SendUsersMessageResponse field's value.
28075func (s *SendUsersMessagesOutput) SetSendUsersMessageResponse(v *SendUsersMessageResponse) *SendUsersMessagesOutput {
28076	s.SendUsersMessageResponse = v
28077	return s
28078}
28079
28080// Provides information about a session.
28081type Session struct {
28082	_ struct{} `type:"structure"`
28083
28084	// The duration of the session, in milliseconds.
28085	Duration *int64 `type:"integer"`
28086
28087	// The unique identifier for the session.
28088	//
28089	// Id is a required field
28090	Id *string `type:"string" required:"true"`
28091
28092	// The date and time when the session began.
28093	//
28094	// StartTimestamp is a required field
28095	StartTimestamp *string `type:"string" required:"true"`
28096
28097	// The date and time when the session ended.
28098	StopTimestamp *string `type:"string"`
28099}
28100
28101// String returns the string representation
28102func (s Session) String() string {
28103	return awsutil.Prettify(s)
28104}
28105
28106// GoString returns the string representation
28107func (s Session) GoString() string {
28108	return s.String()
28109}
28110
28111// Validate inspects the fields of the type to determine if they are valid.
28112func (s *Session) Validate() error {
28113	invalidParams := request.ErrInvalidParams{Context: "Session"}
28114	if s.Id == nil {
28115		invalidParams.Add(request.NewErrParamRequired("Id"))
28116	}
28117	if s.StartTimestamp == nil {
28118		invalidParams.Add(request.NewErrParamRequired("StartTimestamp"))
28119	}
28120
28121	if invalidParams.Len() > 0 {
28122		return invalidParams
28123	}
28124	return nil
28125}
28126
28127// SetDuration sets the Duration field's value.
28128func (s *Session) SetDuration(v int64) *Session {
28129	s.Duration = &v
28130	return s
28131}
28132
28133// SetId sets the Id field's value.
28134func (s *Session) SetId(v string) *Session {
28135	s.Id = &v
28136	return s
28137}
28138
28139// SetStartTimestamp sets the StartTimestamp field's value.
28140func (s *Session) SetStartTimestamp(v string) *Session {
28141	s.StartTimestamp = &v
28142	return s
28143}
28144
28145// SetStopTimestamp sets the StopTimestamp field's value.
28146func (s *Session) SetStopTimestamp(v string) *Session {
28147	s.StopTimestamp = &v
28148	return s
28149}
28150
28151// Specifies the dimension type and values for a segment dimension.
28152type SetDimension struct {
28153	_ struct{} `type:"structure"`
28154
28155	// The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints
28156	// that match the criteria are included in the segment; and, EXCLUSIVE, endpoints
28157	// that match the criteria are excluded from the segment.
28158	DimensionType *string `type:"string" enum:"DimensionType"`
28159
28160	// The criteria values to use for the segment dimension. Depending on the value
28161	// of the DimensionType property, endpoints are included or excluded from the
28162	// segment if their values match the criteria values.
28163	//
28164	// Values is a required field
28165	Values []*string `type:"list" required:"true"`
28166}
28167
28168// String returns the string representation
28169func (s SetDimension) String() string {
28170	return awsutil.Prettify(s)
28171}
28172
28173// GoString returns the string representation
28174func (s SetDimension) GoString() string {
28175	return s.String()
28176}
28177
28178// Validate inspects the fields of the type to determine if they are valid.
28179func (s *SetDimension) Validate() error {
28180	invalidParams := request.ErrInvalidParams{Context: "SetDimension"}
28181	if s.Values == nil {
28182		invalidParams.Add(request.NewErrParamRequired("Values"))
28183	}
28184
28185	if invalidParams.Len() > 0 {
28186		return invalidParams
28187	}
28188	return nil
28189}
28190
28191// SetDimensionType sets the DimensionType field's value.
28192func (s *SetDimension) SetDimensionType(v string) *SetDimension {
28193	s.DimensionType = &v
28194	return s
28195}
28196
28197// SetValues sets the Values field's value.
28198func (s *SetDimension) SetValues(v []*string) *SetDimension {
28199	s.Values = v
28200	return s
28201}
28202
28203// Specifies a condition to evaluate for an activity in a journey.
28204type SimpleCondition struct {
28205	_ struct{} `type:"structure"`
28206
28207	// The dimension settings for the event that's associated with the activity.
28208	EventCondition *EventCondition `type:"structure"`
28209
28210	// The segment that's associated with the activity.
28211	SegmentCondition *SegmentCondition `type:"structure"`
28212
28213	// The dimension settings for the segment that's associated with the activity.
28214	SegmentDimensions *SegmentDimensions `locationName:"segmentDimensions" type:"structure"`
28215}
28216
28217// String returns the string representation
28218func (s SimpleCondition) String() string {
28219	return awsutil.Prettify(s)
28220}
28221
28222// GoString returns the string representation
28223func (s SimpleCondition) GoString() string {
28224	return s.String()
28225}
28226
28227// Validate inspects the fields of the type to determine if they are valid.
28228func (s *SimpleCondition) Validate() error {
28229	invalidParams := request.ErrInvalidParams{Context: "SimpleCondition"}
28230	if s.EventCondition != nil {
28231		if err := s.EventCondition.Validate(); err != nil {
28232			invalidParams.AddNested("EventCondition", err.(request.ErrInvalidParams))
28233		}
28234	}
28235	if s.SegmentCondition != nil {
28236		if err := s.SegmentCondition.Validate(); err != nil {
28237			invalidParams.AddNested("SegmentCondition", err.(request.ErrInvalidParams))
28238		}
28239	}
28240	if s.SegmentDimensions != nil {
28241		if err := s.SegmentDimensions.Validate(); err != nil {
28242			invalidParams.AddNested("SegmentDimensions", err.(request.ErrInvalidParams))
28243		}
28244	}
28245
28246	if invalidParams.Len() > 0 {
28247		return invalidParams
28248	}
28249	return nil
28250}
28251
28252// SetEventCondition sets the EventCondition field's value.
28253func (s *SimpleCondition) SetEventCondition(v *EventCondition) *SimpleCondition {
28254	s.EventCondition = v
28255	return s
28256}
28257
28258// SetSegmentCondition sets the SegmentCondition field's value.
28259func (s *SimpleCondition) SetSegmentCondition(v *SegmentCondition) *SimpleCondition {
28260	s.SegmentCondition = v
28261	return s
28262}
28263
28264// SetSegmentDimensions sets the SegmentDimensions field's value.
28265func (s *SimpleCondition) SetSegmentDimensions(v *SegmentDimensions) *SimpleCondition {
28266	s.SegmentDimensions = v
28267	return s
28268}
28269
28270// Specifies the contents of an email message, composed of a subject, a text
28271// part, and an HTML part.
28272type SimpleEmail struct {
28273	_ struct{} `type:"structure"`
28274
28275	// The body of the email message, in HTML format. We recommend using HTML format
28276	// for email clients that render HTML content. You can include links, formatted
28277	// text, and more in an HTML message.
28278	HtmlPart *SimpleEmailPart `type:"structure"`
28279
28280	// The subject line, or title, of the email.
28281	Subject *SimpleEmailPart `type:"structure"`
28282
28283	// The body of the email message, in plain text format. We recommend using plain
28284	// text format for email clients that don't render HTML content and clients
28285	// that are connected to high-latency networks, such as mobile devices.
28286	TextPart *SimpleEmailPart `type:"structure"`
28287}
28288
28289// String returns the string representation
28290func (s SimpleEmail) String() string {
28291	return awsutil.Prettify(s)
28292}
28293
28294// GoString returns the string representation
28295func (s SimpleEmail) GoString() string {
28296	return s.String()
28297}
28298
28299// SetHtmlPart sets the HtmlPart field's value.
28300func (s *SimpleEmail) SetHtmlPart(v *SimpleEmailPart) *SimpleEmail {
28301	s.HtmlPart = v
28302	return s
28303}
28304
28305// SetSubject sets the Subject field's value.
28306func (s *SimpleEmail) SetSubject(v *SimpleEmailPart) *SimpleEmail {
28307	s.Subject = v
28308	return s
28309}
28310
28311// SetTextPart sets the TextPart field's value.
28312func (s *SimpleEmail) SetTextPart(v *SimpleEmailPart) *SimpleEmail {
28313	s.TextPart = v
28314	return s
28315}
28316
28317// Specifies the subject or body of an email message, represented as textual
28318// email data and the applicable character set.
28319type SimpleEmailPart struct {
28320	_ struct{} `type:"structure"`
28321
28322	// The applicable character set for the message content.
28323	Charset *string `type:"string"`
28324
28325	// The textual data of the message content.
28326	Data *string `type:"string"`
28327}
28328
28329// String returns the string representation
28330func (s SimpleEmailPart) String() string {
28331	return awsutil.Prettify(s)
28332}
28333
28334// GoString returns the string representation
28335func (s SimpleEmailPart) GoString() string {
28336	return s.String()
28337}
28338
28339// SetCharset sets the Charset field's value.
28340func (s *SimpleEmailPart) SetCharset(v string) *SimpleEmailPart {
28341	s.Charset = &v
28342	return s
28343}
28344
28345// SetData sets the Data field's value.
28346func (s *SimpleEmailPart) SetData(v string) *SimpleEmailPart {
28347	s.Data = &v
28348	return s
28349}
28350
28351// Specifies the conditions for the first activity in a journey. This activity
28352// and its conditions determine which users are participants in a journey.
28353type StartCondition struct {
28354	_ struct{} `type:"structure"`
28355
28356	// The custom description of the condition.
28357	Description *string `type:"string"`
28358
28359	// The segment that's associated with the first activity in the journey. This
28360	// segment determines which users are participants in the journey.
28361	SegmentStartCondition *SegmentCondition `type:"structure"`
28362}
28363
28364// String returns the string representation
28365func (s StartCondition) String() string {
28366	return awsutil.Prettify(s)
28367}
28368
28369// GoString returns the string representation
28370func (s StartCondition) GoString() string {
28371	return s.String()
28372}
28373
28374// Validate inspects the fields of the type to determine if they are valid.
28375func (s *StartCondition) Validate() error {
28376	invalidParams := request.ErrInvalidParams{Context: "StartCondition"}
28377	if s.SegmentStartCondition != nil {
28378		if err := s.SegmentStartCondition.Validate(); err != nil {
28379			invalidParams.AddNested("SegmentStartCondition", err.(request.ErrInvalidParams))
28380		}
28381	}
28382
28383	if invalidParams.Len() > 0 {
28384		return invalidParams
28385	}
28386	return nil
28387}
28388
28389// SetDescription sets the Description field's value.
28390func (s *StartCondition) SetDescription(v string) *StartCondition {
28391	s.Description = &v
28392	return s
28393}
28394
28395// SetSegmentStartCondition sets the SegmentStartCondition field's value.
28396func (s *StartCondition) SetSegmentStartCondition(v *SegmentCondition) *StartCondition {
28397	s.SegmentStartCondition = v
28398	return s
28399}
28400
28401type TagResourceInput struct {
28402	_ struct{} `type:"structure" payload:"TagsModel"`
28403
28404	// ResourceArn is a required field
28405	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
28406
28407	// Specifies the tags (keys and values) for an application, campaign, journey,
28408	// message template, or segment.
28409	//
28410	// TagsModel is a required field
28411	TagsModel *TagsModel `type:"structure" required:"true"`
28412}
28413
28414// String returns the string representation
28415func (s TagResourceInput) String() string {
28416	return awsutil.Prettify(s)
28417}
28418
28419// GoString returns the string representation
28420func (s TagResourceInput) GoString() string {
28421	return s.String()
28422}
28423
28424// Validate inspects the fields of the type to determine if they are valid.
28425func (s *TagResourceInput) Validate() error {
28426	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
28427	if s.ResourceArn == nil {
28428		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
28429	}
28430	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
28431		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
28432	}
28433	if s.TagsModel == nil {
28434		invalidParams.Add(request.NewErrParamRequired("TagsModel"))
28435	}
28436	if s.TagsModel != nil {
28437		if err := s.TagsModel.Validate(); err != nil {
28438			invalidParams.AddNested("TagsModel", err.(request.ErrInvalidParams))
28439		}
28440	}
28441
28442	if invalidParams.Len() > 0 {
28443		return invalidParams
28444	}
28445	return nil
28446}
28447
28448// SetResourceArn sets the ResourceArn field's value.
28449func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
28450	s.ResourceArn = &v
28451	return s
28452}
28453
28454// SetTagsModel sets the TagsModel field's value.
28455func (s *TagResourceInput) SetTagsModel(v *TagsModel) *TagResourceInput {
28456	s.TagsModel = v
28457	return s
28458}
28459
28460type TagResourceOutput struct {
28461	_ struct{} `type:"structure"`
28462}
28463
28464// String returns the string representation
28465func (s TagResourceOutput) String() string {
28466	return awsutil.Prettify(s)
28467}
28468
28469// GoString returns the string representation
28470func (s TagResourceOutput) GoString() string {
28471	return s.String()
28472}
28473
28474// Specifies the tags (keys and values) for an application, campaign, journey,
28475// message template, or segment.
28476type TagsModel struct {
28477	_ struct{} `type:"structure"`
28478
28479	// A string-to-string map of key-value pairs that defines the tags for an application,
28480	// campaign, journey, message template, or segment. Each of these resources
28481	// can have a maximum of 50 tags.
28482	//
28483	// Each tag consists of a required tag key and an associated tag value. The
28484	// maximum length of a tag key is 128 characters. The maximum length of a tag
28485	// value is 256 characters.
28486	//
28487	// Tags is a required field
28488	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
28489}
28490
28491// String returns the string representation
28492func (s TagsModel) String() string {
28493	return awsutil.Prettify(s)
28494}
28495
28496// GoString returns the string representation
28497func (s TagsModel) GoString() string {
28498	return s.String()
28499}
28500
28501// Validate inspects the fields of the type to determine if they are valid.
28502func (s *TagsModel) Validate() error {
28503	invalidParams := request.ErrInvalidParams{Context: "TagsModel"}
28504	if s.Tags == nil {
28505		invalidParams.Add(request.NewErrParamRequired("Tags"))
28506	}
28507
28508	if invalidParams.Len() > 0 {
28509		return invalidParams
28510	}
28511	return nil
28512}
28513
28514// SetTags sets the Tags field's value.
28515func (s *TagsModel) SetTags(v map[string]*string) *TagsModel {
28516	s.Tags = v
28517	return s
28518}
28519
28520// Specifies the name and version of the message template to use for the message.
28521type Template struct {
28522	_ struct{} `type:"structure"`
28523
28524	// The name of the message template to use for the message. If specified, this
28525	// value must match the name of an existing message template.
28526	Name *string `type:"string"`
28527
28528	// The unique identifier for the version of the message template to use for
28529	// the message. If specified, this value must match the identifier for an existing
28530	// template version. To retrieve a list of versions and version identifiers
28531	// for a template, use the Template Versions resource.
28532	//
28533	// If you don't specify a value for this property, Amazon Pinpoint uses the
28534	// active version of the template. The active version is typically the version
28535	// of a template that's been most recently reviewed and approved for use, depending
28536	// on your workflow. It isn't necessarily the latest version of a template.
28537	Version *string `type:"string"`
28538}
28539
28540// String returns the string representation
28541func (s Template) String() string {
28542	return awsutil.Prettify(s)
28543}
28544
28545// GoString returns the string representation
28546func (s Template) GoString() string {
28547	return s.String()
28548}
28549
28550// SetName sets the Name field's value.
28551func (s *Template) SetName(v string) *Template {
28552	s.Name = &v
28553	return s
28554}
28555
28556// SetVersion sets the Version field's value.
28557func (s *Template) SetVersion(v string) *Template {
28558	s.Version = &v
28559	return s
28560}
28561
28562// Specifies which version of a message template to use as the active version
28563// of the template.
28564type TemplateActiveVersionRequest struct {
28565	_ struct{} `type:"structure"`
28566
28567	// The unique identifier for the version of the message template to use as the
28568	// active version of the template. If specified, this value must match the identifier
28569	// for an existing template version. To retrieve a list of versions and version
28570	// identifiers for a template, use the Template Versions resource.
28571	Version *string `type:"string"`
28572}
28573
28574// String returns the string representation
28575func (s TemplateActiveVersionRequest) String() string {
28576	return awsutil.Prettify(s)
28577}
28578
28579// GoString returns the string representation
28580func (s TemplateActiveVersionRequest) GoString() string {
28581	return s.String()
28582}
28583
28584// SetVersion sets the Version field's value.
28585func (s *TemplateActiveVersionRequest) SetVersion(v string) *TemplateActiveVersionRequest {
28586	s.Version = &v
28587	return s
28588}
28589
28590// Specifies the message template to use for the message, for each type of channel.
28591type TemplateConfiguration struct {
28592	_ struct{} `type:"structure"`
28593
28594	// The email template to use for the message.
28595	EmailTemplate *Template `type:"structure"`
28596
28597	// The push notification template to use for the message.
28598	PushTemplate *Template `type:"structure"`
28599
28600	// The SMS template to use for the message.
28601	SMSTemplate *Template `type:"structure"`
28602
28603	// The voice template to use for the message.
28604	VoiceTemplate *Template `type:"structure"`
28605}
28606
28607// String returns the string representation
28608func (s TemplateConfiguration) String() string {
28609	return awsutil.Prettify(s)
28610}
28611
28612// GoString returns the string representation
28613func (s TemplateConfiguration) GoString() string {
28614	return s.String()
28615}
28616
28617// SetEmailTemplate sets the EmailTemplate field's value.
28618func (s *TemplateConfiguration) SetEmailTemplate(v *Template) *TemplateConfiguration {
28619	s.EmailTemplate = v
28620	return s
28621}
28622
28623// SetPushTemplate sets the PushTemplate field's value.
28624func (s *TemplateConfiguration) SetPushTemplate(v *Template) *TemplateConfiguration {
28625	s.PushTemplate = v
28626	return s
28627}
28628
28629// SetSMSTemplate sets the SMSTemplate field's value.
28630func (s *TemplateConfiguration) SetSMSTemplate(v *Template) *TemplateConfiguration {
28631	s.SMSTemplate = v
28632	return s
28633}
28634
28635// SetVoiceTemplate sets the VoiceTemplate field's value.
28636func (s *TemplateConfiguration) SetVoiceTemplate(v *Template) *TemplateConfiguration {
28637	s.VoiceTemplate = v
28638	return s
28639}
28640
28641// Provides information about a message template that's associated with your
28642// Amazon Pinpoint account.
28643type TemplateResponse struct {
28644	_ struct{} `type:"structure"`
28645
28646	// The Amazon Resource Name (ARN) of the message template.
28647	Arn *string `type:"string"`
28648
28649	// The date, in ISO 8601 format, when the message template was created.
28650	//
28651	// CreationDate is a required field
28652	CreationDate *string `type:"string" required:"true"`
28653
28654	// The JSON object that specifies the default values that are used for message
28655	// variables in the message template. This object is a set of key-value pairs.
28656	// Each key defines a message variable in the template. The corresponding value
28657	// defines the default value for that variable.
28658	DefaultSubstitutions *string `type:"string"`
28659
28660	// The date, in ISO 8601 format, when the message template was last modified.
28661	//
28662	// LastModifiedDate is a required field
28663	LastModifiedDate *string `type:"string" required:"true"`
28664
28665	// A string-to-string map of key-value pairs that identifies the tags that are
28666	// associated with the message template. Each tag consists of a required tag
28667	// key and an associated tag value.
28668	Tags map[string]*string `locationName:"tags" type:"map"`
28669
28670	// The custom description of the message template.
28671	TemplateDescription *string `type:"string"`
28672
28673	// The name of the message template.
28674	//
28675	// TemplateName is a required field
28676	TemplateName *string `type:"string" required:"true"`
28677
28678	// The type of channel that the message template is designed for. Possible values
28679	// are: EMAIL, PUSH, SMS, and VOICE.
28680	//
28681	// TemplateType is a required field
28682	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
28683
28684	// The unique identifier, as an integer, for the active version of the message
28685	// template.
28686	Version *string `type:"string"`
28687}
28688
28689// String returns the string representation
28690func (s TemplateResponse) String() string {
28691	return awsutil.Prettify(s)
28692}
28693
28694// GoString returns the string representation
28695func (s TemplateResponse) GoString() string {
28696	return s.String()
28697}
28698
28699// SetArn sets the Arn field's value.
28700func (s *TemplateResponse) SetArn(v string) *TemplateResponse {
28701	s.Arn = &v
28702	return s
28703}
28704
28705// SetCreationDate sets the CreationDate field's value.
28706func (s *TemplateResponse) SetCreationDate(v string) *TemplateResponse {
28707	s.CreationDate = &v
28708	return s
28709}
28710
28711// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
28712func (s *TemplateResponse) SetDefaultSubstitutions(v string) *TemplateResponse {
28713	s.DefaultSubstitutions = &v
28714	return s
28715}
28716
28717// SetLastModifiedDate sets the LastModifiedDate field's value.
28718func (s *TemplateResponse) SetLastModifiedDate(v string) *TemplateResponse {
28719	s.LastModifiedDate = &v
28720	return s
28721}
28722
28723// SetTags sets the Tags field's value.
28724func (s *TemplateResponse) SetTags(v map[string]*string) *TemplateResponse {
28725	s.Tags = v
28726	return s
28727}
28728
28729// SetTemplateDescription sets the TemplateDescription field's value.
28730func (s *TemplateResponse) SetTemplateDescription(v string) *TemplateResponse {
28731	s.TemplateDescription = &v
28732	return s
28733}
28734
28735// SetTemplateName sets the TemplateName field's value.
28736func (s *TemplateResponse) SetTemplateName(v string) *TemplateResponse {
28737	s.TemplateName = &v
28738	return s
28739}
28740
28741// SetTemplateType sets the TemplateType field's value.
28742func (s *TemplateResponse) SetTemplateType(v string) *TemplateResponse {
28743	s.TemplateType = &v
28744	return s
28745}
28746
28747// SetVersion sets the Version field's value.
28748func (s *TemplateResponse) SetVersion(v string) *TemplateResponse {
28749	s.Version = &v
28750	return s
28751}
28752
28753// Provides information about a specific version of a message template.
28754type TemplateVersionResponse struct {
28755	_ struct{} `type:"structure"`
28756
28757	// The date, in ISO 8601 format, when the version of the message template was
28758	// created.
28759	//
28760	// CreationDate is a required field
28761	CreationDate *string `type:"string" required:"true"`
28762
28763	// A JSON object that specifies the default values that are used for message
28764	// variables in the version of the message template. This object is a set of
28765	// key-value pairs. Each key defines a message variable in the template. The
28766	// corresponding value defines the default value for that variable.
28767	DefaultSubstitutions *string `type:"string"`
28768
28769	// The date, in ISO 8601 format, when the version of the message template was
28770	// last modified.
28771	//
28772	// LastModifiedDate is a required field
28773	LastModifiedDate *string `type:"string" required:"true"`
28774
28775	// The custom description of the version of the message template.
28776	TemplateDescription *string `type:"string"`
28777
28778	// The name of the message template.
28779	//
28780	// TemplateName is a required field
28781	TemplateName *string `type:"string" required:"true"`
28782
28783	// The type of channel that the message template is designed for. Possible values
28784	// are: EMAIL, PUSH, SMS, and VOICE.
28785	//
28786	// TemplateType is a required field
28787	TemplateType *string `type:"string" required:"true"`
28788
28789	// The unique identifier for the version of the message template. This value
28790	// is an integer that Amazon Pinpoint automatically increments and assigns to
28791	// each new version of a template.
28792	Version *string `type:"string"`
28793}
28794
28795// String returns the string representation
28796func (s TemplateVersionResponse) String() string {
28797	return awsutil.Prettify(s)
28798}
28799
28800// GoString returns the string representation
28801func (s TemplateVersionResponse) GoString() string {
28802	return s.String()
28803}
28804
28805// SetCreationDate sets the CreationDate field's value.
28806func (s *TemplateVersionResponse) SetCreationDate(v string) *TemplateVersionResponse {
28807	s.CreationDate = &v
28808	return s
28809}
28810
28811// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
28812func (s *TemplateVersionResponse) SetDefaultSubstitutions(v string) *TemplateVersionResponse {
28813	s.DefaultSubstitutions = &v
28814	return s
28815}
28816
28817// SetLastModifiedDate sets the LastModifiedDate field's value.
28818func (s *TemplateVersionResponse) SetLastModifiedDate(v string) *TemplateVersionResponse {
28819	s.LastModifiedDate = &v
28820	return s
28821}
28822
28823// SetTemplateDescription sets the TemplateDescription field's value.
28824func (s *TemplateVersionResponse) SetTemplateDescription(v string) *TemplateVersionResponse {
28825	s.TemplateDescription = &v
28826	return s
28827}
28828
28829// SetTemplateName sets the TemplateName field's value.
28830func (s *TemplateVersionResponse) SetTemplateName(v string) *TemplateVersionResponse {
28831	s.TemplateName = &v
28832	return s
28833}
28834
28835// SetTemplateType sets the TemplateType field's value.
28836func (s *TemplateVersionResponse) SetTemplateType(v string) *TemplateVersionResponse {
28837	s.TemplateType = &v
28838	return s
28839}
28840
28841// SetVersion sets the Version field's value.
28842func (s *TemplateVersionResponse) SetVersion(v string) *TemplateVersionResponse {
28843	s.Version = &v
28844	return s
28845}
28846
28847// Provides information about all the versions of a specific message template.
28848type TemplateVersionsResponse struct {
28849	_ struct{} `type:"structure"`
28850
28851	// An array of responses, one for each version of the message template.
28852	//
28853	// Item is a required field
28854	Item []*TemplateVersionResponse `type:"list" required:"true"`
28855
28856	// The message that's returned from the API for the request to retrieve information
28857	// about all the versions of the message template.
28858	Message *string `type:"string"`
28859
28860	// The string to use in a subsequent request to get the next page of results
28861	// in a paginated response. This value is null if there are no additional pages.
28862	NextToken *string `type:"string"`
28863
28864	// The unique identifier for the request to retrieve information about all the
28865	// versions of the message template.
28866	RequestID *string `type:"string"`
28867}
28868
28869// String returns the string representation
28870func (s TemplateVersionsResponse) String() string {
28871	return awsutil.Prettify(s)
28872}
28873
28874// GoString returns the string representation
28875func (s TemplateVersionsResponse) GoString() string {
28876	return s.String()
28877}
28878
28879// SetItem sets the Item field's value.
28880func (s *TemplateVersionsResponse) SetItem(v []*TemplateVersionResponse) *TemplateVersionsResponse {
28881	s.Item = v
28882	return s
28883}
28884
28885// SetMessage sets the Message field's value.
28886func (s *TemplateVersionsResponse) SetMessage(v string) *TemplateVersionsResponse {
28887	s.Message = &v
28888	return s
28889}
28890
28891// SetNextToken sets the NextToken field's value.
28892func (s *TemplateVersionsResponse) SetNextToken(v string) *TemplateVersionsResponse {
28893	s.NextToken = &v
28894	return s
28895}
28896
28897// SetRequestID sets the RequestID field's value.
28898func (s *TemplateVersionsResponse) SetRequestID(v string) *TemplateVersionsResponse {
28899	s.RequestID = &v
28900	return s
28901}
28902
28903// Provides information about all the message templates that are associated
28904// with your Amazon Pinpoint account.
28905type TemplatesResponse struct {
28906	_ struct{} `type:"structure"`
28907
28908	// An array of responses, one for each message template that's associated with
28909	// your Amazon Pinpoint account and meets any filter criteria that you specified
28910	// in the request.
28911	//
28912	// Item is a required field
28913	Item []*TemplateResponse `type:"list" required:"true"`
28914
28915	// The string to use in a subsequent request to get the next page of results
28916	// in a paginated response. This value is null if there are no additional pages.
28917	NextToken *string `type:"string"`
28918}
28919
28920// String returns the string representation
28921func (s TemplatesResponse) String() string {
28922	return awsutil.Prettify(s)
28923}
28924
28925// GoString returns the string representation
28926func (s TemplatesResponse) GoString() string {
28927	return s.String()
28928}
28929
28930// SetItem sets the Item field's value.
28931func (s *TemplatesResponse) SetItem(v []*TemplateResponse) *TemplatesResponse {
28932	s.Item = v
28933	return s
28934}
28935
28936// SetNextToken sets the NextToken field's value.
28937func (s *TemplatesResponse) SetNextToken(v string) *TemplatesResponse {
28938	s.NextToken = &v
28939	return s
28940}
28941
28942// Specifies the settings for a campaign treatment. A treatment is a variation
28943// of a campaign that's used for A/B testing of a campaign.
28944type TreatmentResource struct {
28945	_ struct{} `type:"structure"`
28946
28947	// The unique identifier for the treatment.
28948	//
28949	// Id is a required field
28950	Id *string `type:"string" required:"true"`
28951
28952	// The message configuration settings for the treatment.
28953	MessageConfiguration *MessageConfiguration `type:"structure"`
28954
28955	// The schedule settings for the treatment.
28956	Schedule *Schedule `type:"structure"`
28957
28958	// The allocated percentage of users (segment members) that the treatment is
28959	// sent to.
28960	//
28961	// SizePercent is a required field
28962	SizePercent *int64 `type:"integer" required:"true"`
28963
28964	// The current status of the treatment.
28965	State *CampaignState `type:"structure"`
28966
28967	// The message template to use for the treatment.
28968	TemplateConfiguration *TemplateConfiguration `type:"structure"`
28969
28970	// The custom description of the treatment.
28971	TreatmentDescription *string `type:"string"`
28972
28973	// The custom name of the treatment. A treatment is a variation of a campaign
28974	// that's used for A/B testing of a campaign.
28975	TreatmentName *string `type:"string"`
28976}
28977
28978// String returns the string representation
28979func (s TreatmentResource) String() string {
28980	return awsutil.Prettify(s)
28981}
28982
28983// GoString returns the string representation
28984func (s TreatmentResource) GoString() string {
28985	return s.String()
28986}
28987
28988// SetId sets the Id field's value.
28989func (s *TreatmentResource) SetId(v string) *TreatmentResource {
28990	s.Id = &v
28991	return s
28992}
28993
28994// SetMessageConfiguration sets the MessageConfiguration field's value.
28995func (s *TreatmentResource) SetMessageConfiguration(v *MessageConfiguration) *TreatmentResource {
28996	s.MessageConfiguration = v
28997	return s
28998}
28999
29000// SetSchedule sets the Schedule field's value.
29001func (s *TreatmentResource) SetSchedule(v *Schedule) *TreatmentResource {
29002	s.Schedule = v
29003	return s
29004}
29005
29006// SetSizePercent sets the SizePercent field's value.
29007func (s *TreatmentResource) SetSizePercent(v int64) *TreatmentResource {
29008	s.SizePercent = &v
29009	return s
29010}
29011
29012// SetState sets the State field's value.
29013func (s *TreatmentResource) SetState(v *CampaignState) *TreatmentResource {
29014	s.State = v
29015	return s
29016}
29017
29018// SetTemplateConfiguration sets the TemplateConfiguration field's value.
29019func (s *TreatmentResource) SetTemplateConfiguration(v *TemplateConfiguration) *TreatmentResource {
29020	s.TemplateConfiguration = v
29021	return s
29022}
29023
29024// SetTreatmentDescription sets the TreatmentDescription field's value.
29025func (s *TreatmentResource) SetTreatmentDescription(v string) *TreatmentResource {
29026	s.TreatmentDescription = &v
29027	return s
29028}
29029
29030// SetTreatmentName sets the TreatmentName field's value.
29031func (s *TreatmentResource) SetTreatmentName(v string) *TreatmentResource {
29032	s.TreatmentName = &v
29033	return s
29034}
29035
29036type UntagResourceInput struct {
29037	_ struct{} `type:"structure"`
29038
29039	// ResourceArn is a required field
29040	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
29041
29042	// TagKeys is a required field
29043	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
29044}
29045
29046// String returns the string representation
29047func (s UntagResourceInput) String() string {
29048	return awsutil.Prettify(s)
29049}
29050
29051// GoString returns the string representation
29052func (s UntagResourceInput) GoString() string {
29053	return s.String()
29054}
29055
29056// Validate inspects the fields of the type to determine if they are valid.
29057func (s *UntagResourceInput) Validate() error {
29058	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
29059	if s.ResourceArn == nil {
29060		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
29061	}
29062	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
29063		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
29064	}
29065	if s.TagKeys == nil {
29066		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
29067	}
29068
29069	if invalidParams.Len() > 0 {
29070		return invalidParams
29071	}
29072	return nil
29073}
29074
29075// SetResourceArn sets the ResourceArn field's value.
29076func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
29077	s.ResourceArn = &v
29078	return s
29079}
29080
29081// SetTagKeys sets the TagKeys field's value.
29082func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
29083	s.TagKeys = v
29084	return s
29085}
29086
29087type UntagResourceOutput struct {
29088	_ struct{} `type:"structure"`
29089}
29090
29091// String returns the string representation
29092func (s UntagResourceOutput) String() string {
29093	return awsutil.Prettify(s)
29094}
29095
29096// GoString returns the string representation
29097func (s UntagResourceOutput) GoString() string {
29098	return s.String()
29099}
29100
29101type UpdateAdmChannelInput struct {
29102	_ struct{} `type:"structure" payload:"ADMChannelRequest"`
29103
29104	// Specifies the status and settings of the ADM (Amazon Device Messaging) channel
29105	// for an application.
29106	//
29107	// ADMChannelRequest is a required field
29108	ADMChannelRequest *ADMChannelRequest `type:"structure" required:"true"`
29109
29110	// ApplicationId is a required field
29111	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
29112}
29113
29114// String returns the string representation
29115func (s UpdateAdmChannelInput) String() string {
29116	return awsutil.Prettify(s)
29117}
29118
29119// GoString returns the string representation
29120func (s UpdateAdmChannelInput) GoString() string {
29121	return s.String()
29122}
29123
29124// Validate inspects the fields of the type to determine if they are valid.
29125func (s *UpdateAdmChannelInput) Validate() error {
29126	invalidParams := request.ErrInvalidParams{Context: "UpdateAdmChannelInput"}
29127	if s.ADMChannelRequest == nil {
29128		invalidParams.Add(request.NewErrParamRequired("ADMChannelRequest"))
29129	}
29130	if s.ApplicationId == nil {
29131		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
29132	}
29133	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
29134		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
29135	}
29136	if s.ADMChannelRequest != nil {
29137		if err := s.ADMChannelRequest.Validate(); err != nil {
29138			invalidParams.AddNested("ADMChannelRequest", err.(request.ErrInvalidParams))
29139		}
29140	}
29141
29142	if invalidParams.Len() > 0 {
29143		return invalidParams
29144	}
29145	return nil
29146}
29147
29148// SetADMChannelRequest sets the ADMChannelRequest field's value.
29149func (s *UpdateAdmChannelInput) SetADMChannelRequest(v *ADMChannelRequest) *UpdateAdmChannelInput {
29150	s.ADMChannelRequest = v
29151	return s
29152}
29153
29154// SetApplicationId sets the ApplicationId field's value.
29155func (s *UpdateAdmChannelInput) SetApplicationId(v string) *UpdateAdmChannelInput {
29156	s.ApplicationId = &v
29157	return s
29158}
29159
29160type UpdateAdmChannelOutput struct {
29161	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
29162
29163	// Provides information about the status and settings of the ADM (Amazon Device
29164	// Messaging) channel for an application.
29165	//
29166	// ADMChannelResponse is a required field
29167	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
29168}
29169
29170// String returns the string representation
29171func (s UpdateAdmChannelOutput) String() string {
29172	return awsutil.Prettify(s)
29173}
29174
29175// GoString returns the string representation
29176func (s UpdateAdmChannelOutput) GoString() string {
29177	return s.String()
29178}
29179
29180// SetADMChannelResponse sets the ADMChannelResponse field's value.
29181func (s *UpdateAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *UpdateAdmChannelOutput {
29182	s.ADMChannelResponse = v
29183	return s
29184}
29185
29186type UpdateApnsChannelInput struct {
29187	_ struct{} `type:"structure" payload:"APNSChannelRequest"`
29188
29189	// Specifies the status and settings of the APNs (Apple Push Notification service)
29190	// channel for an application.
29191	//
29192	// APNSChannelRequest is a required field
29193	APNSChannelRequest *APNSChannelRequest `type:"structure" required:"true"`
29194
29195	// ApplicationId is a required field
29196	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
29197}
29198
29199// String returns the string representation
29200func (s UpdateApnsChannelInput) String() string {
29201	return awsutil.Prettify(s)
29202}
29203
29204// GoString returns the string representation
29205func (s UpdateApnsChannelInput) GoString() string {
29206	return s.String()
29207}
29208
29209// Validate inspects the fields of the type to determine if they are valid.
29210func (s *UpdateApnsChannelInput) Validate() error {
29211	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsChannelInput"}
29212	if s.APNSChannelRequest == nil {
29213		invalidParams.Add(request.NewErrParamRequired("APNSChannelRequest"))
29214	}
29215	if s.ApplicationId == nil {
29216		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
29217	}
29218	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
29219		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
29220	}
29221
29222	if invalidParams.Len() > 0 {
29223		return invalidParams
29224	}
29225	return nil
29226}
29227
29228// SetAPNSChannelRequest sets the APNSChannelRequest field's value.
29229func (s *UpdateApnsChannelInput) SetAPNSChannelRequest(v *APNSChannelRequest) *UpdateApnsChannelInput {
29230	s.APNSChannelRequest = v
29231	return s
29232}
29233
29234// SetApplicationId sets the ApplicationId field's value.
29235func (s *UpdateApnsChannelInput) SetApplicationId(v string) *UpdateApnsChannelInput {
29236	s.ApplicationId = &v
29237	return s
29238}
29239
29240type UpdateApnsChannelOutput struct {
29241	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
29242
29243	// Provides information about the status and settings of the APNs (Apple Push
29244	// Notification service) channel for an application.
29245	//
29246	// APNSChannelResponse is a required field
29247	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
29248}
29249
29250// String returns the string representation
29251func (s UpdateApnsChannelOutput) String() string {
29252	return awsutil.Prettify(s)
29253}
29254
29255// GoString returns the string representation
29256func (s UpdateApnsChannelOutput) GoString() string {
29257	return s.String()
29258}
29259
29260// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
29261func (s *UpdateApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *UpdateApnsChannelOutput {
29262	s.APNSChannelResponse = v
29263	return s
29264}
29265
29266type UpdateApnsSandboxChannelInput struct {
29267	_ struct{} `type:"structure" payload:"APNSSandboxChannelRequest"`
29268
29269	// Specifies the status and settings of the APNs (Apple Push Notification service)
29270	// sandbox channel for an application.
29271	//
29272	// APNSSandboxChannelRequest is a required field
29273	APNSSandboxChannelRequest *APNSSandboxChannelRequest `type:"structure" required:"true"`
29274
29275	// ApplicationId is a required field
29276	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
29277}
29278
29279// String returns the string representation
29280func (s UpdateApnsSandboxChannelInput) String() string {
29281	return awsutil.Prettify(s)
29282}
29283
29284// GoString returns the string representation
29285func (s UpdateApnsSandboxChannelInput) GoString() string {
29286	return s.String()
29287}
29288
29289// Validate inspects the fields of the type to determine if they are valid.
29290func (s *UpdateApnsSandboxChannelInput) Validate() error {
29291	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsSandboxChannelInput"}
29292	if s.APNSSandboxChannelRequest == nil {
29293		invalidParams.Add(request.NewErrParamRequired("APNSSandboxChannelRequest"))
29294	}
29295	if s.ApplicationId == nil {
29296		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
29297	}
29298	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
29299		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
29300	}
29301
29302	if invalidParams.Len() > 0 {
29303		return invalidParams
29304	}
29305	return nil
29306}
29307
29308// SetAPNSSandboxChannelRequest sets the APNSSandboxChannelRequest field's value.
29309func (s *UpdateApnsSandboxChannelInput) SetAPNSSandboxChannelRequest(v *APNSSandboxChannelRequest) *UpdateApnsSandboxChannelInput {
29310	s.APNSSandboxChannelRequest = v
29311	return s
29312}
29313
29314// SetApplicationId sets the ApplicationId field's value.
29315func (s *UpdateApnsSandboxChannelInput) SetApplicationId(v string) *UpdateApnsSandboxChannelInput {
29316	s.ApplicationId = &v
29317	return s
29318}
29319
29320type UpdateApnsSandboxChannelOutput struct {
29321	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
29322
29323	// Provides information about the status and settings of the APNs (Apple Push
29324	// Notification service) sandbox channel for an application.
29325	//
29326	// APNSSandboxChannelResponse is a required field
29327	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
29328}
29329
29330// String returns the string representation
29331func (s UpdateApnsSandboxChannelOutput) String() string {
29332	return awsutil.Prettify(s)
29333}
29334
29335// GoString returns the string representation
29336func (s UpdateApnsSandboxChannelOutput) GoString() string {
29337	return s.String()
29338}
29339
29340// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
29341func (s *UpdateApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *UpdateApnsSandboxChannelOutput {
29342	s.APNSSandboxChannelResponse = v
29343	return s
29344}
29345
29346type UpdateApnsVoipChannelInput struct {
29347	_ struct{} `type:"structure" payload:"APNSVoipChannelRequest"`
29348
29349	// Specifies the status and settings of the APNs (Apple Push Notification service)
29350	// VoIP channel for an application.
29351	//
29352	// APNSVoipChannelRequest is a required field
29353	APNSVoipChannelRequest *APNSVoipChannelRequest `type:"structure" required:"true"`
29354
29355	// ApplicationId is a required field
29356	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
29357}
29358
29359// String returns the string representation
29360func (s UpdateApnsVoipChannelInput) String() string {
29361	return awsutil.Prettify(s)
29362}
29363
29364// GoString returns the string representation
29365func (s UpdateApnsVoipChannelInput) GoString() string {
29366	return s.String()
29367}
29368
29369// Validate inspects the fields of the type to determine if they are valid.
29370func (s *UpdateApnsVoipChannelInput) Validate() error {
29371	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsVoipChannelInput"}
29372	if s.APNSVoipChannelRequest == nil {
29373		invalidParams.Add(request.NewErrParamRequired("APNSVoipChannelRequest"))
29374	}
29375	if s.ApplicationId == nil {
29376		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
29377	}
29378	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
29379		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
29380	}
29381
29382	if invalidParams.Len() > 0 {
29383		return invalidParams
29384	}
29385	return nil
29386}
29387
29388// SetAPNSVoipChannelRequest sets the APNSVoipChannelRequest field's value.
29389func (s *UpdateApnsVoipChannelInput) SetAPNSVoipChannelRequest(v *APNSVoipChannelRequest) *UpdateApnsVoipChannelInput {
29390	s.APNSVoipChannelRequest = v
29391	return s
29392}
29393
29394// SetApplicationId sets the ApplicationId field's value.
29395func (s *UpdateApnsVoipChannelInput) SetApplicationId(v string) *UpdateApnsVoipChannelInput {
29396	s.ApplicationId = &v
29397	return s
29398}
29399
29400type UpdateApnsVoipChannelOutput struct {
29401	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
29402
29403	// Provides information about the status and settings of the APNs (Apple Push
29404	// Notification service) VoIP channel for an application.
29405	//
29406	// APNSVoipChannelResponse is a required field
29407	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
29408}
29409
29410// String returns the string representation
29411func (s UpdateApnsVoipChannelOutput) String() string {
29412	return awsutil.Prettify(s)
29413}
29414
29415// GoString returns the string representation
29416func (s UpdateApnsVoipChannelOutput) GoString() string {
29417	return s.String()
29418}
29419
29420// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
29421func (s *UpdateApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *UpdateApnsVoipChannelOutput {
29422	s.APNSVoipChannelResponse = v
29423	return s
29424}
29425
29426type UpdateApnsVoipSandboxChannelInput struct {
29427	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelRequest"`
29428
29429	// Specifies the status and settings of the APNs (Apple Push Notification service)
29430	// VoIP sandbox channel for an application.
29431	//
29432	// APNSVoipSandboxChannelRequest is a required field
29433	APNSVoipSandboxChannelRequest *APNSVoipSandboxChannelRequest `type:"structure" required:"true"`
29434
29435	// ApplicationId is a required field
29436	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
29437}
29438
29439// String returns the string representation
29440func (s UpdateApnsVoipSandboxChannelInput) String() string {
29441	return awsutil.Prettify(s)
29442}
29443
29444// GoString returns the string representation
29445func (s UpdateApnsVoipSandboxChannelInput) GoString() string {
29446	return s.String()
29447}
29448
29449// Validate inspects the fields of the type to determine if they are valid.
29450func (s *UpdateApnsVoipSandboxChannelInput) Validate() error {
29451	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsVoipSandboxChannelInput"}
29452	if s.APNSVoipSandboxChannelRequest == nil {
29453		invalidParams.Add(request.NewErrParamRequired("APNSVoipSandboxChannelRequest"))
29454	}
29455	if s.ApplicationId == nil {
29456		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
29457	}
29458	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
29459		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
29460	}
29461
29462	if invalidParams.Len() > 0 {
29463		return invalidParams
29464	}
29465	return nil
29466}
29467
29468// SetAPNSVoipSandboxChannelRequest sets the APNSVoipSandboxChannelRequest field's value.
29469func (s *UpdateApnsVoipSandboxChannelInput) SetAPNSVoipSandboxChannelRequest(v *APNSVoipSandboxChannelRequest) *UpdateApnsVoipSandboxChannelInput {
29470	s.APNSVoipSandboxChannelRequest = v
29471	return s
29472}
29473
29474// SetApplicationId sets the ApplicationId field's value.
29475func (s *UpdateApnsVoipSandboxChannelInput) SetApplicationId(v string) *UpdateApnsVoipSandboxChannelInput {
29476	s.ApplicationId = &v
29477	return s
29478}
29479
29480type UpdateApnsVoipSandboxChannelOutput struct {
29481	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
29482
29483	// Provides information about the status and settings of the APNs (Apple Push
29484	// Notification service) VoIP sandbox channel for an application.
29485	//
29486	// APNSVoipSandboxChannelResponse is a required field
29487	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
29488}
29489
29490// String returns the string representation
29491func (s UpdateApnsVoipSandboxChannelOutput) String() string {
29492	return awsutil.Prettify(s)
29493}
29494
29495// GoString returns the string representation
29496func (s UpdateApnsVoipSandboxChannelOutput) GoString() string {
29497	return s.String()
29498}
29499
29500// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
29501func (s *UpdateApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *UpdateApnsVoipSandboxChannelOutput {
29502	s.APNSVoipSandboxChannelResponse = v
29503	return s
29504}
29505
29506type UpdateApplicationSettingsInput struct {
29507	_ struct{} `type:"structure" payload:"WriteApplicationSettingsRequest"`
29508
29509	// ApplicationId is a required field
29510	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
29511
29512	// Specifies the default settings for an application.
29513	//
29514	// WriteApplicationSettingsRequest is a required field
29515	WriteApplicationSettingsRequest *WriteApplicationSettingsRequest `type:"structure" required:"true"`
29516}
29517
29518// String returns the string representation
29519func (s UpdateApplicationSettingsInput) String() string {
29520	return awsutil.Prettify(s)
29521}
29522
29523// GoString returns the string representation
29524func (s UpdateApplicationSettingsInput) GoString() string {
29525	return s.String()
29526}
29527
29528// Validate inspects the fields of the type to determine if they are valid.
29529func (s *UpdateApplicationSettingsInput) Validate() error {
29530	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationSettingsInput"}
29531	if s.ApplicationId == nil {
29532		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
29533	}
29534	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
29535		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
29536	}
29537	if s.WriteApplicationSettingsRequest == nil {
29538		invalidParams.Add(request.NewErrParamRequired("WriteApplicationSettingsRequest"))
29539	}
29540
29541	if invalidParams.Len() > 0 {
29542		return invalidParams
29543	}
29544	return nil
29545}
29546
29547// SetApplicationId sets the ApplicationId field's value.
29548func (s *UpdateApplicationSettingsInput) SetApplicationId(v string) *UpdateApplicationSettingsInput {
29549	s.ApplicationId = &v
29550	return s
29551}
29552
29553// SetWriteApplicationSettingsRequest sets the WriteApplicationSettingsRequest field's value.
29554func (s *UpdateApplicationSettingsInput) SetWriteApplicationSettingsRequest(v *WriteApplicationSettingsRequest) *UpdateApplicationSettingsInput {
29555	s.WriteApplicationSettingsRequest = v
29556	return s
29557}
29558
29559type UpdateApplicationSettingsOutput struct {
29560	_ struct{} `type:"structure" payload:"ApplicationSettingsResource"`
29561
29562	// Provides information about an application, including the default settings
29563	// for an application.
29564	//
29565	// ApplicationSettingsResource is a required field
29566	ApplicationSettingsResource *ApplicationSettingsResource `type:"structure" required:"true"`
29567}
29568
29569// String returns the string representation
29570func (s UpdateApplicationSettingsOutput) String() string {
29571	return awsutil.Prettify(s)
29572}
29573
29574// GoString returns the string representation
29575func (s UpdateApplicationSettingsOutput) GoString() string {
29576	return s.String()
29577}
29578
29579// SetApplicationSettingsResource sets the ApplicationSettingsResource field's value.
29580func (s *UpdateApplicationSettingsOutput) SetApplicationSettingsResource(v *ApplicationSettingsResource) *UpdateApplicationSettingsOutput {
29581	s.ApplicationSettingsResource = v
29582	return s
29583}
29584
29585// Specifies one or more attributes to remove from all the endpoints that are
29586// associated with an application.
29587type UpdateAttributesRequest struct {
29588	_ struct{} `type:"structure"`
29589
29590	// An array of the attributes to remove from all the endpoints that are associated
29591	// with the application. The array can specify the complete, exact name of each
29592	// attribute to remove or it can specify a glob pattern that an attribute name
29593	// must match in order for the attribute to be removed.
29594	Blacklist []*string `type:"list"`
29595}
29596
29597// String returns the string representation
29598func (s UpdateAttributesRequest) String() string {
29599	return awsutil.Prettify(s)
29600}
29601
29602// GoString returns the string representation
29603func (s UpdateAttributesRequest) GoString() string {
29604	return s.String()
29605}
29606
29607// SetBlacklist sets the Blacklist field's value.
29608func (s *UpdateAttributesRequest) SetBlacklist(v []*string) *UpdateAttributesRequest {
29609	s.Blacklist = v
29610	return s
29611}
29612
29613type UpdateBaiduChannelInput struct {
29614	_ struct{} `type:"structure" payload:"BaiduChannelRequest"`
29615
29616	// ApplicationId is a required field
29617	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
29618
29619	// Specifies the status and settings of the Baidu (Baidu Cloud Push) channel
29620	// for an application.
29621	//
29622	// BaiduChannelRequest is a required field
29623	BaiduChannelRequest *BaiduChannelRequest `type:"structure" required:"true"`
29624}
29625
29626// String returns the string representation
29627func (s UpdateBaiduChannelInput) String() string {
29628	return awsutil.Prettify(s)
29629}
29630
29631// GoString returns the string representation
29632func (s UpdateBaiduChannelInput) GoString() string {
29633	return s.String()
29634}
29635
29636// Validate inspects the fields of the type to determine if they are valid.
29637func (s *UpdateBaiduChannelInput) Validate() error {
29638	invalidParams := request.ErrInvalidParams{Context: "UpdateBaiduChannelInput"}
29639	if s.ApplicationId == nil {
29640		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
29641	}
29642	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
29643		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
29644	}
29645	if s.BaiduChannelRequest == nil {
29646		invalidParams.Add(request.NewErrParamRequired("BaiduChannelRequest"))
29647	}
29648	if s.BaiduChannelRequest != nil {
29649		if err := s.BaiduChannelRequest.Validate(); err != nil {
29650			invalidParams.AddNested("BaiduChannelRequest", err.(request.ErrInvalidParams))
29651		}
29652	}
29653
29654	if invalidParams.Len() > 0 {
29655		return invalidParams
29656	}
29657	return nil
29658}
29659
29660// SetApplicationId sets the ApplicationId field's value.
29661func (s *UpdateBaiduChannelInput) SetApplicationId(v string) *UpdateBaiduChannelInput {
29662	s.ApplicationId = &v
29663	return s
29664}
29665
29666// SetBaiduChannelRequest sets the BaiduChannelRequest field's value.
29667func (s *UpdateBaiduChannelInput) SetBaiduChannelRequest(v *BaiduChannelRequest) *UpdateBaiduChannelInput {
29668	s.BaiduChannelRequest = v
29669	return s
29670}
29671
29672type UpdateBaiduChannelOutput struct {
29673	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
29674
29675	// Provides information about the status and settings of the Baidu (Baidu Cloud
29676	// Push) channel for an application.
29677	//
29678	// BaiduChannelResponse is a required field
29679	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
29680}
29681
29682// String returns the string representation
29683func (s UpdateBaiduChannelOutput) String() string {
29684	return awsutil.Prettify(s)
29685}
29686
29687// GoString returns the string representation
29688func (s UpdateBaiduChannelOutput) GoString() string {
29689	return s.String()
29690}
29691
29692// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
29693func (s *UpdateBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *UpdateBaiduChannelOutput {
29694	s.BaiduChannelResponse = v
29695	return s
29696}
29697
29698type UpdateCampaignInput struct {
29699	_ struct{} `type:"structure" payload:"WriteCampaignRequest"`
29700
29701	// ApplicationId is a required field
29702	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
29703
29704	// CampaignId is a required field
29705	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
29706
29707	// Specifies the configuration and other settings for a campaign.
29708	//
29709	// WriteCampaignRequest is a required field
29710	WriteCampaignRequest *WriteCampaignRequest `type:"structure" required:"true"`
29711}
29712
29713// String returns the string representation
29714func (s UpdateCampaignInput) String() string {
29715	return awsutil.Prettify(s)
29716}
29717
29718// GoString returns the string representation
29719func (s UpdateCampaignInput) GoString() string {
29720	return s.String()
29721}
29722
29723// Validate inspects the fields of the type to determine if they are valid.
29724func (s *UpdateCampaignInput) Validate() error {
29725	invalidParams := request.ErrInvalidParams{Context: "UpdateCampaignInput"}
29726	if s.ApplicationId == nil {
29727		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
29728	}
29729	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
29730		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
29731	}
29732	if s.CampaignId == nil {
29733		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
29734	}
29735	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
29736		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
29737	}
29738	if s.WriteCampaignRequest == nil {
29739		invalidParams.Add(request.NewErrParamRequired("WriteCampaignRequest"))
29740	}
29741	if s.WriteCampaignRequest != nil {
29742		if err := s.WriteCampaignRequest.Validate(); err != nil {
29743			invalidParams.AddNested("WriteCampaignRequest", err.(request.ErrInvalidParams))
29744		}
29745	}
29746
29747	if invalidParams.Len() > 0 {
29748		return invalidParams
29749	}
29750	return nil
29751}
29752
29753// SetApplicationId sets the ApplicationId field's value.
29754func (s *UpdateCampaignInput) SetApplicationId(v string) *UpdateCampaignInput {
29755	s.ApplicationId = &v
29756	return s
29757}
29758
29759// SetCampaignId sets the CampaignId field's value.
29760func (s *UpdateCampaignInput) SetCampaignId(v string) *UpdateCampaignInput {
29761	s.CampaignId = &v
29762	return s
29763}
29764
29765// SetWriteCampaignRequest sets the WriteCampaignRequest field's value.
29766func (s *UpdateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) *UpdateCampaignInput {
29767	s.WriteCampaignRequest = v
29768	return s
29769}
29770
29771type UpdateCampaignOutput struct {
29772	_ struct{} `type:"structure" payload:"CampaignResponse"`
29773
29774	// Provides information about the status, configuration, and other settings
29775	// for a campaign.
29776	//
29777	// CampaignResponse is a required field
29778	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
29779}
29780
29781// String returns the string representation
29782func (s UpdateCampaignOutput) String() string {
29783	return awsutil.Prettify(s)
29784}
29785
29786// GoString returns the string representation
29787func (s UpdateCampaignOutput) GoString() string {
29788	return s.String()
29789}
29790
29791// SetCampaignResponse sets the CampaignResponse field's value.
29792func (s *UpdateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *UpdateCampaignOutput {
29793	s.CampaignResponse = v
29794	return s
29795}
29796
29797type UpdateEmailChannelInput struct {
29798	_ struct{} `type:"structure" payload:"EmailChannelRequest"`
29799
29800	// ApplicationId is a required field
29801	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
29802
29803	// Specifies the status and settings of the email channel for an application.
29804	//
29805	// EmailChannelRequest is a required field
29806	EmailChannelRequest *EmailChannelRequest `type:"structure" required:"true"`
29807}
29808
29809// String returns the string representation
29810func (s UpdateEmailChannelInput) String() string {
29811	return awsutil.Prettify(s)
29812}
29813
29814// GoString returns the string representation
29815func (s UpdateEmailChannelInput) GoString() string {
29816	return s.String()
29817}
29818
29819// Validate inspects the fields of the type to determine if they are valid.
29820func (s *UpdateEmailChannelInput) Validate() error {
29821	invalidParams := request.ErrInvalidParams{Context: "UpdateEmailChannelInput"}
29822	if s.ApplicationId == nil {
29823		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
29824	}
29825	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
29826		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
29827	}
29828	if s.EmailChannelRequest == nil {
29829		invalidParams.Add(request.NewErrParamRequired("EmailChannelRequest"))
29830	}
29831	if s.EmailChannelRequest != nil {
29832		if err := s.EmailChannelRequest.Validate(); err != nil {
29833			invalidParams.AddNested("EmailChannelRequest", err.(request.ErrInvalidParams))
29834		}
29835	}
29836
29837	if invalidParams.Len() > 0 {
29838		return invalidParams
29839	}
29840	return nil
29841}
29842
29843// SetApplicationId sets the ApplicationId field's value.
29844func (s *UpdateEmailChannelInput) SetApplicationId(v string) *UpdateEmailChannelInput {
29845	s.ApplicationId = &v
29846	return s
29847}
29848
29849// SetEmailChannelRequest sets the EmailChannelRequest field's value.
29850func (s *UpdateEmailChannelInput) SetEmailChannelRequest(v *EmailChannelRequest) *UpdateEmailChannelInput {
29851	s.EmailChannelRequest = v
29852	return s
29853}
29854
29855type UpdateEmailChannelOutput struct {
29856	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
29857
29858	// Provides information about the status and settings of the email channel for
29859	// an application.
29860	//
29861	// EmailChannelResponse is a required field
29862	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
29863}
29864
29865// String returns the string representation
29866func (s UpdateEmailChannelOutput) String() string {
29867	return awsutil.Prettify(s)
29868}
29869
29870// GoString returns the string representation
29871func (s UpdateEmailChannelOutput) GoString() string {
29872	return s.String()
29873}
29874
29875// SetEmailChannelResponse sets the EmailChannelResponse field's value.
29876func (s *UpdateEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *UpdateEmailChannelOutput {
29877	s.EmailChannelResponse = v
29878	return s
29879}
29880
29881type UpdateEmailTemplateInput struct {
29882	_ struct{} `type:"structure" payload:"EmailTemplateRequest"`
29883
29884	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
29885
29886	// Specifies the content and settings for a message template that can be used
29887	// in messages that are sent through the email channel.
29888	//
29889	// EmailTemplateRequest is a required field
29890	EmailTemplateRequest *EmailTemplateRequest `type:"structure" required:"true"`
29891
29892	// TemplateName is a required field
29893	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
29894
29895	Version *string `location:"querystring" locationName:"version" type:"string"`
29896}
29897
29898// String returns the string representation
29899func (s UpdateEmailTemplateInput) String() string {
29900	return awsutil.Prettify(s)
29901}
29902
29903// GoString returns the string representation
29904func (s UpdateEmailTemplateInput) GoString() string {
29905	return s.String()
29906}
29907
29908// Validate inspects the fields of the type to determine if they are valid.
29909func (s *UpdateEmailTemplateInput) Validate() error {
29910	invalidParams := request.ErrInvalidParams{Context: "UpdateEmailTemplateInput"}
29911	if s.EmailTemplateRequest == nil {
29912		invalidParams.Add(request.NewErrParamRequired("EmailTemplateRequest"))
29913	}
29914	if s.TemplateName == nil {
29915		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
29916	}
29917	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
29918		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
29919	}
29920
29921	if invalidParams.Len() > 0 {
29922		return invalidParams
29923	}
29924	return nil
29925}
29926
29927// SetCreateNewVersion sets the CreateNewVersion field's value.
29928func (s *UpdateEmailTemplateInput) SetCreateNewVersion(v bool) *UpdateEmailTemplateInput {
29929	s.CreateNewVersion = &v
29930	return s
29931}
29932
29933// SetEmailTemplateRequest sets the EmailTemplateRequest field's value.
29934func (s *UpdateEmailTemplateInput) SetEmailTemplateRequest(v *EmailTemplateRequest) *UpdateEmailTemplateInput {
29935	s.EmailTemplateRequest = v
29936	return s
29937}
29938
29939// SetTemplateName sets the TemplateName field's value.
29940func (s *UpdateEmailTemplateInput) SetTemplateName(v string) *UpdateEmailTemplateInput {
29941	s.TemplateName = &v
29942	return s
29943}
29944
29945// SetVersion sets the Version field's value.
29946func (s *UpdateEmailTemplateInput) SetVersion(v string) *UpdateEmailTemplateInput {
29947	s.Version = &v
29948	return s
29949}
29950
29951type UpdateEmailTemplateOutput struct {
29952	_ struct{} `type:"structure" payload:"MessageBody"`
29953
29954	// Provides information about an API request or response.
29955	//
29956	// MessageBody is a required field
29957	MessageBody *MessageBody `type:"structure" required:"true"`
29958}
29959
29960// String returns the string representation
29961func (s UpdateEmailTemplateOutput) String() string {
29962	return awsutil.Prettify(s)
29963}
29964
29965// GoString returns the string representation
29966func (s UpdateEmailTemplateOutput) GoString() string {
29967	return s.String()
29968}
29969
29970// SetMessageBody sets the MessageBody field's value.
29971func (s *UpdateEmailTemplateOutput) SetMessageBody(v *MessageBody) *UpdateEmailTemplateOutput {
29972	s.MessageBody = v
29973	return s
29974}
29975
29976type UpdateEndpointInput struct {
29977	_ struct{} `type:"structure" payload:"EndpointRequest"`
29978
29979	// ApplicationId is a required field
29980	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
29981
29982	// EndpointId is a required field
29983	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
29984
29985	// Specifies the channel type and other settings for an endpoint.
29986	//
29987	// EndpointRequest is a required field
29988	EndpointRequest *EndpointRequest `type:"structure" required:"true"`
29989}
29990
29991// String returns the string representation
29992func (s UpdateEndpointInput) String() string {
29993	return awsutil.Prettify(s)
29994}
29995
29996// GoString returns the string representation
29997func (s UpdateEndpointInput) GoString() string {
29998	return s.String()
29999}
30000
30001// Validate inspects the fields of the type to determine if they are valid.
30002func (s *UpdateEndpointInput) Validate() error {
30003	invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointInput"}
30004	if s.ApplicationId == nil {
30005		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
30006	}
30007	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
30008		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
30009	}
30010	if s.EndpointId == nil {
30011		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
30012	}
30013	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
30014		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
30015	}
30016	if s.EndpointRequest == nil {
30017		invalidParams.Add(request.NewErrParamRequired("EndpointRequest"))
30018	}
30019
30020	if invalidParams.Len() > 0 {
30021		return invalidParams
30022	}
30023	return nil
30024}
30025
30026// SetApplicationId sets the ApplicationId field's value.
30027func (s *UpdateEndpointInput) SetApplicationId(v string) *UpdateEndpointInput {
30028	s.ApplicationId = &v
30029	return s
30030}
30031
30032// SetEndpointId sets the EndpointId field's value.
30033func (s *UpdateEndpointInput) SetEndpointId(v string) *UpdateEndpointInput {
30034	s.EndpointId = &v
30035	return s
30036}
30037
30038// SetEndpointRequest sets the EndpointRequest field's value.
30039func (s *UpdateEndpointInput) SetEndpointRequest(v *EndpointRequest) *UpdateEndpointInput {
30040	s.EndpointRequest = v
30041	return s
30042}
30043
30044type UpdateEndpointOutput struct {
30045	_ struct{} `type:"structure" payload:"MessageBody"`
30046
30047	// Provides information about an API request or response.
30048	//
30049	// MessageBody is a required field
30050	MessageBody *MessageBody `type:"structure" required:"true"`
30051}
30052
30053// String returns the string representation
30054func (s UpdateEndpointOutput) String() string {
30055	return awsutil.Prettify(s)
30056}
30057
30058// GoString returns the string representation
30059func (s UpdateEndpointOutput) GoString() string {
30060	return s.String()
30061}
30062
30063// SetMessageBody sets the MessageBody field's value.
30064func (s *UpdateEndpointOutput) SetMessageBody(v *MessageBody) *UpdateEndpointOutput {
30065	s.MessageBody = v
30066	return s
30067}
30068
30069type UpdateEndpointsBatchInput struct {
30070	_ struct{} `type:"structure" payload:"EndpointBatchRequest"`
30071
30072	// ApplicationId is a required field
30073	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
30074
30075	// Specifies a batch of endpoints to create or update and the settings and attributes
30076	// to set or change for each endpoint.
30077	//
30078	// EndpointBatchRequest is a required field
30079	EndpointBatchRequest *EndpointBatchRequest `type:"structure" required:"true"`
30080}
30081
30082// String returns the string representation
30083func (s UpdateEndpointsBatchInput) String() string {
30084	return awsutil.Prettify(s)
30085}
30086
30087// GoString returns the string representation
30088func (s UpdateEndpointsBatchInput) GoString() string {
30089	return s.String()
30090}
30091
30092// Validate inspects the fields of the type to determine if they are valid.
30093func (s *UpdateEndpointsBatchInput) Validate() error {
30094	invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointsBatchInput"}
30095	if s.ApplicationId == nil {
30096		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
30097	}
30098	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
30099		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
30100	}
30101	if s.EndpointBatchRequest == nil {
30102		invalidParams.Add(request.NewErrParamRequired("EndpointBatchRequest"))
30103	}
30104	if s.EndpointBatchRequest != nil {
30105		if err := s.EndpointBatchRequest.Validate(); err != nil {
30106			invalidParams.AddNested("EndpointBatchRequest", err.(request.ErrInvalidParams))
30107		}
30108	}
30109
30110	if invalidParams.Len() > 0 {
30111		return invalidParams
30112	}
30113	return nil
30114}
30115
30116// SetApplicationId sets the ApplicationId field's value.
30117func (s *UpdateEndpointsBatchInput) SetApplicationId(v string) *UpdateEndpointsBatchInput {
30118	s.ApplicationId = &v
30119	return s
30120}
30121
30122// SetEndpointBatchRequest sets the EndpointBatchRequest field's value.
30123func (s *UpdateEndpointsBatchInput) SetEndpointBatchRequest(v *EndpointBatchRequest) *UpdateEndpointsBatchInput {
30124	s.EndpointBatchRequest = v
30125	return s
30126}
30127
30128type UpdateEndpointsBatchOutput struct {
30129	_ struct{} `type:"structure" payload:"MessageBody"`
30130
30131	// Provides information about an API request or response.
30132	//
30133	// MessageBody is a required field
30134	MessageBody *MessageBody `type:"structure" required:"true"`
30135}
30136
30137// String returns the string representation
30138func (s UpdateEndpointsBatchOutput) String() string {
30139	return awsutil.Prettify(s)
30140}
30141
30142// GoString returns the string representation
30143func (s UpdateEndpointsBatchOutput) GoString() string {
30144	return s.String()
30145}
30146
30147// SetMessageBody sets the MessageBody field's value.
30148func (s *UpdateEndpointsBatchOutput) SetMessageBody(v *MessageBody) *UpdateEndpointsBatchOutput {
30149	s.MessageBody = v
30150	return s
30151}
30152
30153type UpdateGcmChannelInput struct {
30154	_ struct{} `type:"structure" payload:"GCMChannelRequest"`
30155
30156	// ApplicationId is a required field
30157	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
30158
30159	// Specifies the status and settings of the GCM channel for an application.
30160	// This channel enables Amazon Pinpoint to send push notifications through the
30161	// Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.
30162	//
30163	// GCMChannelRequest is a required field
30164	GCMChannelRequest *GCMChannelRequest `type:"structure" required:"true"`
30165}
30166
30167// String returns the string representation
30168func (s UpdateGcmChannelInput) String() string {
30169	return awsutil.Prettify(s)
30170}
30171
30172// GoString returns the string representation
30173func (s UpdateGcmChannelInput) GoString() string {
30174	return s.String()
30175}
30176
30177// Validate inspects the fields of the type to determine if they are valid.
30178func (s *UpdateGcmChannelInput) Validate() error {
30179	invalidParams := request.ErrInvalidParams{Context: "UpdateGcmChannelInput"}
30180	if s.ApplicationId == nil {
30181		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
30182	}
30183	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
30184		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
30185	}
30186	if s.GCMChannelRequest == nil {
30187		invalidParams.Add(request.NewErrParamRequired("GCMChannelRequest"))
30188	}
30189	if s.GCMChannelRequest != nil {
30190		if err := s.GCMChannelRequest.Validate(); err != nil {
30191			invalidParams.AddNested("GCMChannelRequest", err.(request.ErrInvalidParams))
30192		}
30193	}
30194
30195	if invalidParams.Len() > 0 {
30196		return invalidParams
30197	}
30198	return nil
30199}
30200
30201// SetApplicationId sets the ApplicationId field's value.
30202func (s *UpdateGcmChannelInput) SetApplicationId(v string) *UpdateGcmChannelInput {
30203	s.ApplicationId = &v
30204	return s
30205}
30206
30207// SetGCMChannelRequest sets the GCMChannelRequest field's value.
30208func (s *UpdateGcmChannelInput) SetGCMChannelRequest(v *GCMChannelRequest) *UpdateGcmChannelInput {
30209	s.GCMChannelRequest = v
30210	return s
30211}
30212
30213type UpdateGcmChannelOutput struct {
30214	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
30215
30216	// Provides information about the status and settings of the GCM channel for
30217	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
30218	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
30219	// (GCM), service.
30220	//
30221	// GCMChannelResponse is a required field
30222	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
30223}
30224
30225// String returns the string representation
30226func (s UpdateGcmChannelOutput) String() string {
30227	return awsutil.Prettify(s)
30228}
30229
30230// GoString returns the string representation
30231func (s UpdateGcmChannelOutput) GoString() string {
30232	return s.String()
30233}
30234
30235// SetGCMChannelResponse sets the GCMChannelResponse field's value.
30236func (s *UpdateGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *UpdateGcmChannelOutput {
30237	s.GCMChannelResponse = v
30238	return s
30239}
30240
30241type UpdateJourneyInput struct {
30242	_ struct{} `type:"structure" payload:"WriteJourneyRequest"`
30243
30244	// ApplicationId is a required field
30245	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
30246
30247	// JourneyId is a required field
30248	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
30249
30250	// Specifies the configuration and other settings for a journey.
30251	//
30252	// WriteJourneyRequest is a required field
30253	WriteJourneyRequest *WriteJourneyRequest `type:"structure" required:"true"`
30254}
30255
30256// String returns the string representation
30257func (s UpdateJourneyInput) String() string {
30258	return awsutil.Prettify(s)
30259}
30260
30261// GoString returns the string representation
30262func (s UpdateJourneyInput) GoString() string {
30263	return s.String()
30264}
30265
30266// Validate inspects the fields of the type to determine if they are valid.
30267func (s *UpdateJourneyInput) Validate() error {
30268	invalidParams := request.ErrInvalidParams{Context: "UpdateJourneyInput"}
30269	if s.ApplicationId == nil {
30270		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
30271	}
30272	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
30273		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
30274	}
30275	if s.JourneyId == nil {
30276		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
30277	}
30278	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
30279		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
30280	}
30281	if s.WriteJourneyRequest == nil {
30282		invalidParams.Add(request.NewErrParamRequired("WriteJourneyRequest"))
30283	}
30284	if s.WriteJourneyRequest != nil {
30285		if err := s.WriteJourneyRequest.Validate(); err != nil {
30286			invalidParams.AddNested("WriteJourneyRequest", err.(request.ErrInvalidParams))
30287		}
30288	}
30289
30290	if invalidParams.Len() > 0 {
30291		return invalidParams
30292	}
30293	return nil
30294}
30295
30296// SetApplicationId sets the ApplicationId field's value.
30297func (s *UpdateJourneyInput) SetApplicationId(v string) *UpdateJourneyInput {
30298	s.ApplicationId = &v
30299	return s
30300}
30301
30302// SetJourneyId sets the JourneyId field's value.
30303func (s *UpdateJourneyInput) SetJourneyId(v string) *UpdateJourneyInput {
30304	s.JourneyId = &v
30305	return s
30306}
30307
30308// SetWriteJourneyRequest sets the WriteJourneyRequest field's value.
30309func (s *UpdateJourneyInput) SetWriteJourneyRequest(v *WriteJourneyRequest) *UpdateJourneyInput {
30310	s.WriteJourneyRequest = v
30311	return s
30312}
30313
30314type UpdateJourneyOutput struct {
30315	_ struct{} `type:"structure" payload:"JourneyResponse"`
30316
30317	// Provides information about the status, configuration, and other settings
30318	// for a journey.
30319	//
30320	// JourneyResponse is a required field
30321	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
30322}
30323
30324// String returns the string representation
30325func (s UpdateJourneyOutput) String() string {
30326	return awsutil.Prettify(s)
30327}
30328
30329// GoString returns the string representation
30330func (s UpdateJourneyOutput) GoString() string {
30331	return s.String()
30332}
30333
30334// SetJourneyResponse sets the JourneyResponse field's value.
30335func (s *UpdateJourneyOutput) SetJourneyResponse(v *JourneyResponse) *UpdateJourneyOutput {
30336	s.JourneyResponse = v
30337	return s
30338}
30339
30340type UpdateJourneyStateInput struct {
30341	_ struct{} `type:"structure" payload:"JourneyStateRequest"`
30342
30343	// ApplicationId is a required field
30344	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
30345
30346	// JourneyId is a required field
30347	JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"`
30348
30349	// Changes the status of a journey.
30350	//
30351	// JourneyStateRequest is a required field
30352	JourneyStateRequest *JourneyStateRequest `type:"structure" required:"true"`
30353}
30354
30355// String returns the string representation
30356func (s UpdateJourneyStateInput) String() string {
30357	return awsutil.Prettify(s)
30358}
30359
30360// GoString returns the string representation
30361func (s UpdateJourneyStateInput) GoString() string {
30362	return s.String()
30363}
30364
30365// Validate inspects the fields of the type to determine if they are valid.
30366func (s *UpdateJourneyStateInput) Validate() error {
30367	invalidParams := request.ErrInvalidParams{Context: "UpdateJourneyStateInput"}
30368	if s.ApplicationId == nil {
30369		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
30370	}
30371	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
30372		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
30373	}
30374	if s.JourneyId == nil {
30375		invalidParams.Add(request.NewErrParamRequired("JourneyId"))
30376	}
30377	if s.JourneyId != nil && len(*s.JourneyId) < 1 {
30378		invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1))
30379	}
30380	if s.JourneyStateRequest == nil {
30381		invalidParams.Add(request.NewErrParamRequired("JourneyStateRequest"))
30382	}
30383
30384	if invalidParams.Len() > 0 {
30385		return invalidParams
30386	}
30387	return nil
30388}
30389
30390// SetApplicationId sets the ApplicationId field's value.
30391func (s *UpdateJourneyStateInput) SetApplicationId(v string) *UpdateJourneyStateInput {
30392	s.ApplicationId = &v
30393	return s
30394}
30395
30396// SetJourneyId sets the JourneyId field's value.
30397func (s *UpdateJourneyStateInput) SetJourneyId(v string) *UpdateJourneyStateInput {
30398	s.JourneyId = &v
30399	return s
30400}
30401
30402// SetJourneyStateRequest sets the JourneyStateRequest field's value.
30403func (s *UpdateJourneyStateInput) SetJourneyStateRequest(v *JourneyStateRequest) *UpdateJourneyStateInput {
30404	s.JourneyStateRequest = v
30405	return s
30406}
30407
30408type UpdateJourneyStateOutput struct {
30409	_ struct{} `type:"structure" payload:"JourneyResponse"`
30410
30411	// Provides information about the status, configuration, and other settings
30412	// for a journey.
30413	//
30414	// JourneyResponse is a required field
30415	JourneyResponse *JourneyResponse `type:"structure" required:"true"`
30416}
30417
30418// String returns the string representation
30419func (s UpdateJourneyStateOutput) String() string {
30420	return awsutil.Prettify(s)
30421}
30422
30423// GoString returns the string representation
30424func (s UpdateJourneyStateOutput) GoString() string {
30425	return s.String()
30426}
30427
30428// SetJourneyResponse sets the JourneyResponse field's value.
30429func (s *UpdateJourneyStateOutput) SetJourneyResponse(v *JourneyResponse) *UpdateJourneyStateOutput {
30430	s.JourneyResponse = v
30431	return s
30432}
30433
30434type UpdatePushTemplateInput struct {
30435	_ struct{} `type:"structure" payload:"PushNotificationTemplateRequest"`
30436
30437	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
30438
30439	// Specifies the content and settings for a message template that can be used
30440	// in messages that are sent through a push notification channel.
30441	//
30442	// PushNotificationTemplateRequest is a required field
30443	PushNotificationTemplateRequest *PushNotificationTemplateRequest `type:"structure" required:"true"`
30444
30445	// TemplateName is a required field
30446	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
30447
30448	Version *string `location:"querystring" locationName:"version" type:"string"`
30449}
30450
30451// String returns the string representation
30452func (s UpdatePushTemplateInput) String() string {
30453	return awsutil.Prettify(s)
30454}
30455
30456// GoString returns the string representation
30457func (s UpdatePushTemplateInput) GoString() string {
30458	return s.String()
30459}
30460
30461// Validate inspects the fields of the type to determine if they are valid.
30462func (s *UpdatePushTemplateInput) Validate() error {
30463	invalidParams := request.ErrInvalidParams{Context: "UpdatePushTemplateInput"}
30464	if s.PushNotificationTemplateRequest == nil {
30465		invalidParams.Add(request.NewErrParamRequired("PushNotificationTemplateRequest"))
30466	}
30467	if s.TemplateName == nil {
30468		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
30469	}
30470	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
30471		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
30472	}
30473
30474	if invalidParams.Len() > 0 {
30475		return invalidParams
30476	}
30477	return nil
30478}
30479
30480// SetCreateNewVersion sets the CreateNewVersion field's value.
30481func (s *UpdatePushTemplateInput) SetCreateNewVersion(v bool) *UpdatePushTemplateInput {
30482	s.CreateNewVersion = &v
30483	return s
30484}
30485
30486// SetPushNotificationTemplateRequest sets the PushNotificationTemplateRequest field's value.
30487func (s *UpdatePushTemplateInput) SetPushNotificationTemplateRequest(v *PushNotificationTemplateRequest) *UpdatePushTemplateInput {
30488	s.PushNotificationTemplateRequest = v
30489	return s
30490}
30491
30492// SetTemplateName sets the TemplateName field's value.
30493func (s *UpdatePushTemplateInput) SetTemplateName(v string) *UpdatePushTemplateInput {
30494	s.TemplateName = &v
30495	return s
30496}
30497
30498// SetVersion sets the Version field's value.
30499func (s *UpdatePushTemplateInput) SetVersion(v string) *UpdatePushTemplateInput {
30500	s.Version = &v
30501	return s
30502}
30503
30504type UpdatePushTemplateOutput struct {
30505	_ struct{} `type:"structure" payload:"MessageBody"`
30506
30507	// Provides information about an API request or response.
30508	//
30509	// MessageBody is a required field
30510	MessageBody *MessageBody `type:"structure" required:"true"`
30511}
30512
30513// String returns the string representation
30514func (s UpdatePushTemplateOutput) String() string {
30515	return awsutil.Prettify(s)
30516}
30517
30518// GoString returns the string representation
30519func (s UpdatePushTemplateOutput) GoString() string {
30520	return s.String()
30521}
30522
30523// SetMessageBody sets the MessageBody field's value.
30524func (s *UpdatePushTemplateOutput) SetMessageBody(v *MessageBody) *UpdatePushTemplateOutput {
30525	s.MessageBody = v
30526	return s
30527}
30528
30529type UpdateSegmentInput struct {
30530	_ struct{} `type:"structure" payload:"WriteSegmentRequest"`
30531
30532	// ApplicationId is a required field
30533	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
30534
30535	// SegmentId is a required field
30536	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
30537
30538	// Specifies the configuration, dimension, and other settings for a segment.
30539	// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
30540	// object, but not both.
30541	//
30542	// WriteSegmentRequest is a required field
30543	WriteSegmentRequest *WriteSegmentRequest `type:"structure" required:"true"`
30544}
30545
30546// String returns the string representation
30547func (s UpdateSegmentInput) String() string {
30548	return awsutil.Prettify(s)
30549}
30550
30551// GoString returns the string representation
30552func (s UpdateSegmentInput) GoString() string {
30553	return s.String()
30554}
30555
30556// Validate inspects the fields of the type to determine if they are valid.
30557func (s *UpdateSegmentInput) Validate() error {
30558	invalidParams := request.ErrInvalidParams{Context: "UpdateSegmentInput"}
30559	if s.ApplicationId == nil {
30560		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
30561	}
30562	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
30563		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
30564	}
30565	if s.SegmentId == nil {
30566		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
30567	}
30568	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
30569		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
30570	}
30571	if s.WriteSegmentRequest == nil {
30572		invalidParams.Add(request.NewErrParamRequired("WriteSegmentRequest"))
30573	}
30574	if s.WriteSegmentRequest != nil {
30575		if err := s.WriteSegmentRequest.Validate(); err != nil {
30576			invalidParams.AddNested("WriteSegmentRequest", err.(request.ErrInvalidParams))
30577		}
30578	}
30579
30580	if invalidParams.Len() > 0 {
30581		return invalidParams
30582	}
30583	return nil
30584}
30585
30586// SetApplicationId sets the ApplicationId field's value.
30587func (s *UpdateSegmentInput) SetApplicationId(v string) *UpdateSegmentInput {
30588	s.ApplicationId = &v
30589	return s
30590}
30591
30592// SetSegmentId sets the SegmentId field's value.
30593func (s *UpdateSegmentInput) SetSegmentId(v string) *UpdateSegmentInput {
30594	s.SegmentId = &v
30595	return s
30596}
30597
30598// SetWriteSegmentRequest sets the WriteSegmentRequest field's value.
30599func (s *UpdateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *UpdateSegmentInput {
30600	s.WriteSegmentRequest = v
30601	return s
30602}
30603
30604type UpdateSegmentOutput struct {
30605	_ struct{} `type:"structure" payload:"SegmentResponse"`
30606
30607	// Provides information about the configuration, dimension, and other settings
30608	// for a segment.
30609	//
30610	// SegmentResponse is a required field
30611	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
30612}
30613
30614// String returns the string representation
30615func (s UpdateSegmentOutput) String() string {
30616	return awsutil.Prettify(s)
30617}
30618
30619// GoString returns the string representation
30620func (s UpdateSegmentOutput) GoString() string {
30621	return s.String()
30622}
30623
30624// SetSegmentResponse sets the SegmentResponse field's value.
30625func (s *UpdateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *UpdateSegmentOutput {
30626	s.SegmentResponse = v
30627	return s
30628}
30629
30630type UpdateSmsChannelInput struct {
30631	_ struct{} `type:"structure" payload:"SMSChannelRequest"`
30632
30633	// ApplicationId is a required field
30634	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
30635
30636	// Specifies the status and settings of the SMS channel for an application.
30637	//
30638	// SMSChannelRequest is a required field
30639	SMSChannelRequest *SMSChannelRequest `type:"structure" required:"true"`
30640}
30641
30642// String returns the string representation
30643func (s UpdateSmsChannelInput) String() string {
30644	return awsutil.Prettify(s)
30645}
30646
30647// GoString returns the string representation
30648func (s UpdateSmsChannelInput) GoString() string {
30649	return s.String()
30650}
30651
30652// Validate inspects the fields of the type to determine if they are valid.
30653func (s *UpdateSmsChannelInput) Validate() error {
30654	invalidParams := request.ErrInvalidParams{Context: "UpdateSmsChannelInput"}
30655	if s.ApplicationId == nil {
30656		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
30657	}
30658	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
30659		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
30660	}
30661	if s.SMSChannelRequest == nil {
30662		invalidParams.Add(request.NewErrParamRequired("SMSChannelRequest"))
30663	}
30664
30665	if invalidParams.Len() > 0 {
30666		return invalidParams
30667	}
30668	return nil
30669}
30670
30671// SetApplicationId sets the ApplicationId field's value.
30672func (s *UpdateSmsChannelInput) SetApplicationId(v string) *UpdateSmsChannelInput {
30673	s.ApplicationId = &v
30674	return s
30675}
30676
30677// SetSMSChannelRequest sets the SMSChannelRequest field's value.
30678func (s *UpdateSmsChannelInput) SetSMSChannelRequest(v *SMSChannelRequest) *UpdateSmsChannelInput {
30679	s.SMSChannelRequest = v
30680	return s
30681}
30682
30683type UpdateSmsChannelOutput struct {
30684	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
30685
30686	// Provides information about the status and settings of the SMS channel for
30687	// an application.
30688	//
30689	// SMSChannelResponse is a required field
30690	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
30691}
30692
30693// String returns the string representation
30694func (s UpdateSmsChannelOutput) String() string {
30695	return awsutil.Prettify(s)
30696}
30697
30698// GoString returns the string representation
30699func (s UpdateSmsChannelOutput) GoString() string {
30700	return s.String()
30701}
30702
30703// SetSMSChannelResponse sets the SMSChannelResponse field's value.
30704func (s *UpdateSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *UpdateSmsChannelOutput {
30705	s.SMSChannelResponse = v
30706	return s
30707}
30708
30709type UpdateSmsTemplateInput struct {
30710	_ struct{} `type:"structure" payload:"SMSTemplateRequest"`
30711
30712	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
30713
30714	// Specifies the content and settings for a message template that can be used
30715	// in text messages that are sent through the SMS channel.
30716	//
30717	// SMSTemplateRequest is a required field
30718	SMSTemplateRequest *SMSTemplateRequest `type:"structure" required:"true"`
30719
30720	// TemplateName is a required field
30721	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
30722
30723	Version *string `location:"querystring" locationName:"version" type:"string"`
30724}
30725
30726// String returns the string representation
30727func (s UpdateSmsTemplateInput) String() string {
30728	return awsutil.Prettify(s)
30729}
30730
30731// GoString returns the string representation
30732func (s UpdateSmsTemplateInput) GoString() string {
30733	return s.String()
30734}
30735
30736// Validate inspects the fields of the type to determine if they are valid.
30737func (s *UpdateSmsTemplateInput) Validate() error {
30738	invalidParams := request.ErrInvalidParams{Context: "UpdateSmsTemplateInput"}
30739	if s.SMSTemplateRequest == nil {
30740		invalidParams.Add(request.NewErrParamRequired("SMSTemplateRequest"))
30741	}
30742	if s.TemplateName == nil {
30743		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
30744	}
30745	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
30746		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
30747	}
30748
30749	if invalidParams.Len() > 0 {
30750		return invalidParams
30751	}
30752	return nil
30753}
30754
30755// SetCreateNewVersion sets the CreateNewVersion field's value.
30756func (s *UpdateSmsTemplateInput) SetCreateNewVersion(v bool) *UpdateSmsTemplateInput {
30757	s.CreateNewVersion = &v
30758	return s
30759}
30760
30761// SetSMSTemplateRequest sets the SMSTemplateRequest field's value.
30762func (s *UpdateSmsTemplateInput) SetSMSTemplateRequest(v *SMSTemplateRequest) *UpdateSmsTemplateInput {
30763	s.SMSTemplateRequest = v
30764	return s
30765}
30766
30767// SetTemplateName sets the TemplateName field's value.
30768func (s *UpdateSmsTemplateInput) SetTemplateName(v string) *UpdateSmsTemplateInput {
30769	s.TemplateName = &v
30770	return s
30771}
30772
30773// SetVersion sets the Version field's value.
30774func (s *UpdateSmsTemplateInput) SetVersion(v string) *UpdateSmsTemplateInput {
30775	s.Version = &v
30776	return s
30777}
30778
30779type UpdateSmsTemplateOutput struct {
30780	_ struct{} `type:"structure" payload:"MessageBody"`
30781
30782	// Provides information about an API request or response.
30783	//
30784	// MessageBody is a required field
30785	MessageBody *MessageBody `type:"structure" required:"true"`
30786}
30787
30788// String returns the string representation
30789func (s UpdateSmsTemplateOutput) String() string {
30790	return awsutil.Prettify(s)
30791}
30792
30793// GoString returns the string representation
30794func (s UpdateSmsTemplateOutput) GoString() string {
30795	return s.String()
30796}
30797
30798// SetMessageBody sets the MessageBody field's value.
30799func (s *UpdateSmsTemplateOutput) SetMessageBody(v *MessageBody) *UpdateSmsTemplateOutput {
30800	s.MessageBody = v
30801	return s
30802}
30803
30804type UpdateTemplateActiveVersionInput struct {
30805	_ struct{} `type:"structure" payload:"TemplateActiveVersionRequest"`
30806
30807	// Specifies which version of a message template to use as the active version
30808	// of the template.
30809	//
30810	// TemplateActiveVersionRequest is a required field
30811	TemplateActiveVersionRequest *TemplateActiveVersionRequest `type:"structure" required:"true"`
30812
30813	// TemplateName is a required field
30814	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
30815
30816	// TemplateType is a required field
30817	TemplateType *string `location:"uri" locationName:"template-type" type:"string" required:"true"`
30818}
30819
30820// String returns the string representation
30821func (s UpdateTemplateActiveVersionInput) String() string {
30822	return awsutil.Prettify(s)
30823}
30824
30825// GoString returns the string representation
30826func (s UpdateTemplateActiveVersionInput) GoString() string {
30827	return s.String()
30828}
30829
30830// Validate inspects the fields of the type to determine if they are valid.
30831func (s *UpdateTemplateActiveVersionInput) Validate() error {
30832	invalidParams := request.ErrInvalidParams{Context: "UpdateTemplateActiveVersionInput"}
30833	if s.TemplateActiveVersionRequest == nil {
30834		invalidParams.Add(request.NewErrParamRequired("TemplateActiveVersionRequest"))
30835	}
30836	if s.TemplateName == nil {
30837		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
30838	}
30839	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
30840		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
30841	}
30842	if s.TemplateType == nil {
30843		invalidParams.Add(request.NewErrParamRequired("TemplateType"))
30844	}
30845	if s.TemplateType != nil && len(*s.TemplateType) < 1 {
30846		invalidParams.Add(request.NewErrParamMinLen("TemplateType", 1))
30847	}
30848
30849	if invalidParams.Len() > 0 {
30850		return invalidParams
30851	}
30852	return nil
30853}
30854
30855// SetTemplateActiveVersionRequest sets the TemplateActiveVersionRequest field's value.
30856func (s *UpdateTemplateActiveVersionInput) SetTemplateActiveVersionRequest(v *TemplateActiveVersionRequest) *UpdateTemplateActiveVersionInput {
30857	s.TemplateActiveVersionRequest = v
30858	return s
30859}
30860
30861// SetTemplateName sets the TemplateName field's value.
30862func (s *UpdateTemplateActiveVersionInput) SetTemplateName(v string) *UpdateTemplateActiveVersionInput {
30863	s.TemplateName = &v
30864	return s
30865}
30866
30867// SetTemplateType sets the TemplateType field's value.
30868func (s *UpdateTemplateActiveVersionInput) SetTemplateType(v string) *UpdateTemplateActiveVersionInput {
30869	s.TemplateType = &v
30870	return s
30871}
30872
30873type UpdateTemplateActiveVersionOutput struct {
30874	_ struct{} `type:"structure" payload:"MessageBody"`
30875
30876	// Provides information about an API request or response.
30877	//
30878	// MessageBody is a required field
30879	MessageBody *MessageBody `type:"structure" required:"true"`
30880}
30881
30882// String returns the string representation
30883func (s UpdateTemplateActiveVersionOutput) String() string {
30884	return awsutil.Prettify(s)
30885}
30886
30887// GoString returns the string representation
30888func (s UpdateTemplateActiveVersionOutput) GoString() string {
30889	return s.String()
30890}
30891
30892// SetMessageBody sets the MessageBody field's value.
30893func (s *UpdateTemplateActiveVersionOutput) SetMessageBody(v *MessageBody) *UpdateTemplateActiveVersionOutput {
30894	s.MessageBody = v
30895	return s
30896}
30897
30898type UpdateVoiceChannelInput struct {
30899	_ struct{} `type:"structure" payload:"VoiceChannelRequest"`
30900
30901	// ApplicationId is a required field
30902	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
30903
30904	// Specifies the status and settings of the voice channel for an application.
30905	//
30906	// VoiceChannelRequest is a required field
30907	VoiceChannelRequest *VoiceChannelRequest `type:"structure" required:"true"`
30908}
30909
30910// String returns the string representation
30911func (s UpdateVoiceChannelInput) String() string {
30912	return awsutil.Prettify(s)
30913}
30914
30915// GoString returns the string representation
30916func (s UpdateVoiceChannelInput) GoString() string {
30917	return s.String()
30918}
30919
30920// Validate inspects the fields of the type to determine if they are valid.
30921func (s *UpdateVoiceChannelInput) Validate() error {
30922	invalidParams := request.ErrInvalidParams{Context: "UpdateVoiceChannelInput"}
30923	if s.ApplicationId == nil {
30924		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
30925	}
30926	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
30927		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
30928	}
30929	if s.VoiceChannelRequest == nil {
30930		invalidParams.Add(request.NewErrParamRequired("VoiceChannelRequest"))
30931	}
30932
30933	if invalidParams.Len() > 0 {
30934		return invalidParams
30935	}
30936	return nil
30937}
30938
30939// SetApplicationId sets the ApplicationId field's value.
30940func (s *UpdateVoiceChannelInput) SetApplicationId(v string) *UpdateVoiceChannelInput {
30941	s.ApplicationId = &v
30942	return s
30943}
30944
30945// SetVoiceChannelRequest sets the VoiceChannelRequest field's value.
30946func (s *UpdateVoiceChannelInput) SetVoiceChannelRequest(v *VoiceChannelRequest) *UpdateVoiceChannelInput {
30947	s.VoiceChannelRequest = v
30948	return s
30949}
30950
30951type UpdateVoiceChannelOutput struct {
30952	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
30953
30954	// Provides information about the status and settings of the voice channel for
30955	// an application.
30956	//
30957	// VoiceChannelResponse is a required field
30958	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
30959}
30960
30961// String returns the string representation
30962func (s UpdateVoiceChannelOutput) String() string {
30963	return awsutil.Prettify(s)
30964}
30965
30966// GoString returns the string representation
30967func (s UpdateVoiceChannelOutput) GoString() string {
30968	return s.String()
30969}
30970
30971// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
30972func (s *UpdateVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *UpdateVoiceChannelOutput {
30973	s.VoiceChannelResponse = v
30974	return s
30975}
30976
30977type UpdateVoiceTemplateInput struct {
30978	_ struct{} `type:"structure" payload:"VoiceTemplateRequest"`
30979
30980	CreateNewVersion *bool `location:"querystring" locationName:"create-new-version" type:"boolean"`
30981
30982	// TemplateName is a required field
30983	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
30984
30985	Version *string `location:"querystring" locationName:"version" type:"string"`
30986
30987	// Specifies the content and settings for a message template that can be used
30988	// in messages that are sent through the voice channel.
30989	//
30990	// VoiceTemplateRequest is a required field
30991	VoiceTemplateRequest *VoiceTemplateRequest `type:"structure" required:"true"`
30992}
30993
30994// String returns the string representation
30995func (s UpdateVoiceTemplateInput) String() string {
30996	return awsutil.Prettify(s)
30997}
30998
30999// GoString returns the string representation
31000func (s UpdateVoiceTemplateInput) GoString() string {
31001	return s.String()
31002}
31003
31004// Validate inspects the fields of the type to determine if they are valid.
31005func (s *UpdateVoiceTemplateInput) Validate() error {
31006	invalidParams := request.ErrInvalidParams{Context: "UpdateVoiceTemplateInput"}
31007	if s.TemplateName == nil {
31008		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
31009	}
31010	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
31011		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
31012	}
31013	if s.VoiceTemplateRequest == nil {
31014		invalidParams.Add(request.NewErrParamRequired("VoiceTemplateRequest"))
31015	}
31016
31017	if invalidParams.Len() > 0 {
31018		return invalidParams
31019	}
31020	return nil
31021}
31022
31023// SetCreateNewVersion sets the CreateNewVersion field's value.
31024func (s *UpdateVoiceTemplateInput) SetCreateNewVersion(v bool) *UpdateVoiceTemplateInput {
31025	s.CreateNewVersion = &v
31026	return s
31027}
31028
31029// SetTemplateName sets the TemplateName field's value.
31030func (s *UpdateVoiceTemplateInput) SetTemplateName(v string) *UpdateVoiceTemplateInput {
31031	s.TemplateName = &v
31032	return s
31033}
31034
31035// SetVersion sets the Version field's value.
31036func (s *UpdateVoiceTemplateInput) SetVersion(v string) *UpdateVoiceTemplateInput {
31037	s.Version = &v
31038	return s
31039}
31040
31041// SetVoiceTemplateRequest sets the VoiceTemplateRequest field's value.
31042func (s *UpdateVoiceTemplateInput) SetVoiceTemplateRequest(v *VoiceTemplateRequest) *UpdateVoiceTemplateInput {
31043	s.VoiceTemplateRequest = v
31044	return s
31045}
31046
31047type UpdateVoiceTemplateOutput struct {
31048	_ struct{} `type:"structure" payload:"MessageBody"`
31049
31050	// Provides information about an API request or response.
31051	//
31052	// MessageBody is a required field
31053	MessageBody *MessageBody `type:"structure" required:"true"`
31054}
31055
31056// String returns the string representation
31057func (s UpdateVoiceTemplateOutput) String() string {
31058	return awsutil.Prettify(s)
31059}
31060
31061// GoString returns the string representation
31062func (s UpdateVoiceTemplateOutput) GoString() string {
31063	return s.String()
31064}
31065
31066// SetMessageBody sets the MessageBody field's value.
31067func (s *UpdateVoiceTemplateOutput) SetMessageBody(v *MessageBody) *UpdateVoiceTemplateOutput {
31068	s.MessageBody = v
31069	return s
31070}
31071
31072// Specifies the status and settings of the voice channel for an application.
31073type VoiceChannelRequest struct {
31074	_ struct{} `type:"structure"`
31075
31076	// Specifies whether to enable the voice channel for the application.
31077	Enabled *bool `type:"boolean"`
31078}
31079
31080// String returns the string representation
31081func (s VoiceChannelRequest) String() string {
31082	return awsutil.Prettify(s)
31083}
31084
31085// GoString returns the string representation
31086func (s VoiceChannelRequest) GoString() string {
31087	return s.String()
31088}
31089
31090// SetEnabled sets the Enabled field's value.
31091func (s *VoiceChannelRequest) SetEnabled(v bool) *VoiceChannelRequest {
31092	s.Enabled = &v
31093	return s
31094}
31095
31096// Provides information about the status and settings of the voice channel for
31097// an application.
31098type VoiceChannelResponse struct {
31099	_ struct{} `type:"structure"`
31100
31101	// The unique identifier for the application that the voice channel applies
31102	// to.
31103	ApplicationId *string `type:"string"`
31104
31105	// The date and time, in ISO 8601 format, when the voice channel was enabled.
31106	CreationDate *string `type:"string"`
31107
31108	// Specifies whether the voice channel is enabled for the application.
31109	Enabled *bool `type:"boolean"`
31110
31111	// (Not used) This property is retained only for backward compatibility.
31112	HasCredential *bool `type:"boolean"`
31113
31114	// (Deprecated) An identifier for the voice channel. This property is retained
31115	// only for backward compatibility.
31116	Id *string `type:"string"`
31117
31118	// Specifies whether the voice channel is archived.
31119	IsArchived *bool `type:"boolean"`
31120
31121	// The user who last modified the voice channel.
31122	LastModifiedBy *string `type:"string"`
31123
31124	// The date and time, in ISO 8601 format, when the voice channel was last modified.
31125	LastModifiedDate *string `type:"string"`
31126
31127	// The type of messaging or notification platform for the channel. For the voice
31128	// channel, this value is VOICE.
31129	//
31130	// Platform is a required field
31131	Platform *string `type:"string" required:"true"`
31132
31133	// The current version of the voice channel.
31134	Version *int64 `type:"integer"`
31135}
31136
31137// String returns the string representation
31138func (s VoiceChannelResponse) String() string {
31139	return awsutil.Prettify(s)
31140}
31141
31142// GoString returns the string representation
31143func (s VoiceChannelResponse) GoString() string {
31144	return s.String()
31145}
31146
31147// SetApplicationId sets the ApplicationId field's value.
31148func (s *VoiceChannelResponse) SetApplicationId(v string) *VoiceChannelResponse {
31149	s.ApplicationId = &v
31150	return s
31151}
31152
31153// SetCreationDate sets the CreationDate field's value.
31154func (s *VoiceChannelResponse) SetCreationDate(v string) *VoiceChannelResponse {
31155	s.CreationDate = &v
31156	return s
31157}
31158
31159// SetEnabled sets the Enabled field's value.
31160func (s *VoiceChannelResponse) SetEnabled(v bool) *VoiceChannelResponse {
31161	s.Enabled = &v
31162	return s
31163}
31164
31165// SetHasCredential sets the HasCredential field's value.
31166func (s *VoiceChannelResponse) SetHasCredential(v bool) *VoiceChannelResponse {
31167	s.HasCredential = &v
31168	return s
31169}
31170
31171// SetId sets the Id field's value.
31172func (s *VoiceChannelResponse) SetId(v string) *VoiceChannelResponse {
31173	s.Id = &v
31174	return s
31175}
31176
31177// SetIsArchived sets the IsArchived field's value.
31178func (s *VoiceChannelResponse) SetIsArchived(v bool) *VoiceChannelResponse {
31179	s.IsArchived = &v
31180	return s
31181}
31182
31183// SetLastModifiedBy sets the LastModifiedBy field's value.
31184func (s *VoiceChannelResponse) SetLastModifiedBy(v string) *VoiceChannelResponse {
31185	s.LastModifiedBy = &v
31186	return s
31187}
31188
31189// SetLastModifiedDate sets the LastModifiedDate field's value.
31190func (s *VoiceChannelResponse) SetLastModifiedDate(v string) *VoiceChannelResponse {
31191	s.LastModifiedDate = &v
31192	return s
31193}
31194
31195// SetPlatform sets the Platform field's value.
31196func (s *VoiceChannelResponse) SetPlatform(v string) *VoiceChannelResponse {
31197	s.Platform = &v
31198	return s
31199}
31200
31201// SetVersion sets the Version field's value.
31202func (s *VoiceChannelResponse) SetVersion(v int64) *VoiceChannelResponse {
31203	s.Version = &v
31204	return s
31205}
31206
31207// Specifies the settings for a one-time voice message that's sent directly
31208// to an endpoint through the voice channel.
31209type VoiceMessage struct {
31210	_ struct{} `type:"structure"`
31211
31212	// The text of the script to use for the voice message.
31213	Body *string `type:"string"`
31214
31215	// The code for the language to use when synthesizing the text of the message
31216	// script. For a list of supported languages and the code for each one, see
31217	// the Amazon Polly Developer Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
31218	LanguageCode *string `type:"string"`
31219
31220	// The long code to send the voice message from. This value should be one of
31221	// the dedicated long codes that's assigned to your AWS account. Although it
31222	// isn't required, we recommend that you specify the long code in E.164 format,
31223	// for example +12065550100, to ensure prompt and accurate delivery of the message.
31224	OriginationNumber *string `type:"string"`
31225
31226	// The default message variables to use in the voice message. You can override
31227	// the default variables with individual address variables.
31228	Substitutions map[string][]*string `type:"map"`
31229
31230	// The name of the voice to use when delivering the message. For a list of supported
31231	// voices, see the Amazon Polly Developer Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
31232	VoiceId *string `type:"string"`
31233}
31234
31235// String returns the string representation
31236func (s VoiceMessage) String() string {
31237	return awsutil.Prettify(s)
31238}
31239
31240// GoString returns the string representation
31241func (s VoiceMessage) GoString() string {
31242	return s.String()
31243}
31244
31245// SetBody sets the Body field's value.
31246func (s *VoiceMessage) SetBody(v string) *VoiceMessage {
31247	s.Body = &v
31248	return s
31249}
31250
31251// SetLanguageCode sets the LanguageCode field's value.
31252func (s *VoiceMessage) SetLanguageCode(v string) *VoiceMessage {
31253	s.LanguageCode = &v
31254	return s
31255}
31256
31257// SetOriginationNumber sets the OriginationNumber field's value.
31258func (s *VoiceMessage) SetOriginationNumber(v string) *VoiceMessage {
31259	s.OriginationNumber = &v
31260	return s
31261}
31262
31263// SetSubstitutions sets the Substitutions field's value.
31264func (s *VoiceMessage) SetSubstitutions(v map[string][]*string) *VoiceMessage {
31265	s.Substitutions = v
31266	return s
31267}
31268
31269// SetVoiceId sets the VoiceId field's value.
31270func (s *VoiceMessage) SetVoiceId(v string) *VoiceMessage {
31271	s.VoiceId = &v
31272	return s
31273}
31274
31275// Specifies the content and settings for a message template that can be used
31276// in messages that are sent through the voice channel.
31277type VoiceTemplateRequest struct {
31278	_ struct{} `type:"structure"`
31279
31280	// The text of the script to use in messages that are based on the message template,
31281	// in plain text format.
31282	Body *string `type:"string"`
31283
31284	// A JSON object that specifies the default values to use for message variables
31285	// in the message template. This object is a set of key-value pairs. Each key
31286	// defines a message variable in the template. The corresponding value defines
31287	// the default value for that variable. When you create a message that's based
31288	// on the template, you can override these defaults with message-specific and
31289	// address-specific variables and values.
31290	DefaultSubstitutions *string `type:"string"`
31291
31292	// The code for the language to use when synthesizing the text of the script
31293	// in messages that are based on the message template. For a list of supported
31294	// languages and the code for each one, see the Amazon Polly Developer Guide
31295	// (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
31296	LanguageCode *string `type:"string"`
31297
31298	// A string-to-string map of key-value pairs that defines the tags to associate
31299	// with the message template. Each tag consists of a required tag key and an
31300	// associated tag value.
31301	Tags map[string]*string `locationName:"tags" type:"map"`
31302
31303	// A custom description of the message template.
31304	TemplateDescription *string `type:"string"`
31305
31306	// The name of the voice to use when delivering messages that are based on the
31307	// message template. For a list of supported voices, see the Amazon Polly Developer
31308	// Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
31309	VoiceId *string `type:"string"`
31310}
31311
31312// String returns the string representation
31313func (s VoiceTemplateRequest) String() string {
31314	return awsutil.Prettify(s)
31315}
31316
31317// GoString returns the string representation
31318func (s VoiceTemplateRequest) GoString() string {
31319	return s.String()
31320}
31321
31322// SetBody sets the Body field's value.
31323func (s *VoiceTemplateRequest) SetBody(v string) *VoiceTemplateRequest {
31324	s.Body = &v
31325	return s
31326}
31327
31328// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
31329func (s *VoiceTemplateRequest) SetDefaultSubstitutions(v string) *VoiceTemplateRequest {
31330	s.DefaultSubstitutions = &v
31331	return s
31332}
31333
31334// SetLanguageCode sets the LanguageCode field's value.
31335func (s *VoiceTemplateRequest) SetLanguageCode(v string) *VoiceTemplateRequest {
31336	s.LanguageCode = &v
31337	return s
31338}
31339
31340// SetTags sets the Tags field's value.
31341func (s *VoiceTemplateRequest) SetTags(v map[string]*string) *VoiceTemplateRequest {
31342	s.Tags = v
31343	return s
31344}
31345
31346// SetTemplateDescription sets the TemplateDescription field's value.
31347func (s *VoiceTemplateRequest) SetTemplateDescription(v string) *VoiceTemplateRequest {
31348	s.TemplateDescription = &v
31349	return s
31350}
31351
31352// SetVoiceId sets the VoiceId field's value.
31353func (s *VoiceTemplateRequest) SetVoiceId(v string) *VoiceTemplateRequest {
31354	s.VoiceId = &v
31355	return s
31356}
31357
31358// Provides information about the content and settings for a message template
31359// that can be used in messages that are sent through the voice channel.
31360type VoiceTemplateResponse struct {
31361	_ struct{} `type:"structure"`
31362
31363	// The Amazon Resource Name (ARN) of the message template.
31364	Arn *string `type:"string"`
31365
31366	// The text of the script that's used in messages that are based on the message
31367	// template, in plain text format.
31368	Body *string `type:"string"`
31369
31370	// The date, in ISO 8601 format, when the message template was created.
31371	//
31372	// CreationDate is a required field
31373	CreationDate *string `type:"string" required:"true"`
31374
31375	// The JSON object that specifies the default values that are used for message
31376	// variables in the message template. This object is a set of key-value pairs.
31377	// Each key defines a message variable in the template. The corresponding value
31378	// defines the default value for that variable.
31379	DefaultSubstitutions *string `type:"string"`
31380
31381	// The code for the language that's used when synthesizing the text of the script
31382	// in messages that are based on the message template. For a list of supported
31383	// languages and the code for each one, see the Amazon Polly Developer Guide
31384	// (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
31385	LanguageCode *string `type:"string"`
31386
31387	// The date, in ISO 8601 format, when the message template was last modified.
31388	//
31389	// LastModifiedDate is a required field
31390	LastModifiedDate *string `type:"string" required:"true"`
31391
31392	// A string-to-string map of key-value pairs that identifies the tags that are
31393	// associated with the message template. Each tag consists of a required tag
31394	// key and an associated tag value.
31395	Tags map[string]*string `locationName:"tags" type:"map"`
31396
31397	// The custom description of the message template.
31398	TemplateDescription *string `type:"string"`
31399
31400	// The name of the message template.
31401	//
31402	// TemplateName is a required field
31403	TemplateName *string `type:"string" required:"true"`
31404
31405	// The type of channel that the message template is designed for. For a voice
31406	// template, this value is VOICE.
31407	//
31408	// TemplateType is a required field
31409	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
31410
31411	// The unique identifier, as an integer, for the active version of the message
31412	// template, or the version of the template that you specified by using the
31413	// version parameter in your request.
31414	Version *string `type:"string"`
31415
31416	// The name of the voice that's used when delivering messages that are based
31417	// on the message template. For a list of supported voices, see the Amazon Polly
31418	// Developer Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html).
31419	VoiceId *string `type:"string"`
31420}
31421
31422// String returns the string representation
31423func (s VoiceTemplateResponse) String() string {
31424	return awsutil.Prettify(s)
31425}
31426
31427// GoString returns the string representation
31428func (s VoiceTemplateResponse) GoString() string {
31429	return s.String()
31430}
31431
31432// SetArn sets the Arn field's value.
31433func (s *VoiceTemplateResponse) SetArn(v string) *VoiceTemplateResponse {
31434	s.Arn = &v
31435	return s
31436}
31437
31438// SetBody sets the Body field's value.
31439func (s *VoiceTemplateResponse) SetBody(v string) *VoiceTemplateResponse {
31440	s.Body = &v
31441	return s
31442}
31443
31444// SetCreationDate sets the CreationDate field's value.
31445func (s *VoiceTemplateResponse) SetCreationDate(v string) *VoiceTemplateResponse {
31446	s.CreationDate = &v
31447	return s
31448}
31449
31450// SetDefaultSubstitutions sets the DefaultSubstitutions field's value.
31451func (s *VoiceTemplateResponse) SetDefaultSubstitutions(v string) *VoiceTemplateResponse {
31452	s.DefaultSubstitutions = &v
31453	return s
31454}
31455
31456// SetLanguageCode sets the LanguageCode field's value.
31457func (s *VoiceTemplateResponse) SetLanguageCode(v string) *VoiceTemplateResponse {
31458	s.LanguageCode = &v
31459	return s
31460}
31461
31462// SetLastModifiedDate sets the LastModifiedDate field's value.
31463func (s *VoiceTemplateResponse) SetLastModifiedDate(v string) *VoiceTemplateResponse {
31464	s.LastModifiedDate = &v
31465	return s
31466}
31467
31468// SetTags sets the Tags field's value.
31469func (s *VoiceTemplateResponse) SetTags(v map[string]*string) *VoiceTemplateResponse {
31470	s.Tags = v
31471	return s
31472}
31473
31474// SetTemplateDescription sets the TemplateDescription field's value.
31475func (s *VoiceTemplateResponse) SetTemplateDescription(v string) *VoiceTemplateResponse {
31476	s.TemplateDescription = &v
31477	return s
31478}
31479
31480// SetTemplateName sets the TemplateName field's value.
31481func (s *VoiceTemplateResponse) SetTemplateName(v string) *VoiceTemplateResponse {
31482	s.TemplateName = &v
31483	return s
31484}
31485
31486// SetTemplateType sets the TemplateType field's value.
31487func (s *VoiceTemplateResponse) SetTemplateType(v string) *VoiceTemplateResponse {
31488	s.TemplateType = &v
31489	return s
31490}
31491
31492// SetVersion sets the Version field's value.
31493func (s *VoiceTemplateResponse) SetVersion(v string) *VoiceTemplateResponse {
31494	s.Version = &v
31495	return s
31496}
31497
31498// SetVoiceId sets the VoiceId field's value.
31499func (s *VoiceTemplateResponse) SetVoiceId(v string) *VoiceTemplateResponse {
31500	s.VoiceId = &v
31501	return s
31502}
31503
31504// Specifies the settings for a wait activity in a journey. This type of activity
31505// waits for a certain amount of time or until a specific date and time before
31506// moving participants to the next activity in a journey.
31507type WaitActivity struct {
31508	_ struct{} `type:"structure"`
31509
31510	// The unique identifier for the next activity to perform, after performing
31511	// the wait activity.
31512	NextActivity *string `type:"string"`
31513
31514	// The amount of time to wait or the date and time when the activity moves participants
31515	// to the next activity in the journey.
31516	WaitTime *WaitTime `type:"structure"`
31517}
31518
31519// String returns the string representation
31520func (s WaitActivity) String() string {
31521	return awsutil.Prettify(s)
31522}
31523
31524// GoString returns the string representation
31525func (s WaitActivity) GoString() string {
31526	return s.String()
31527}
31528
31529// SetNextActivity sets the NextActivity field's value.
31530func (s *WaitActivity) SetNextActivity(v string) *WaitActivity {
31531	s.NextActivity = &v
31532	return s
31533}
31534
31535// SetWaitTime sets the WaitTime field's value.
31536func (s *WaitActivity) SetWaitTime(v *WaitTime) *WaitActivity {
31537	s.WaitTime = v
31538	return s
31539}
31540
31541// Specifies a duration or a date and time that indicates when Amazon Pinpoint
31542// determines whether an activity's conditions have been met or an activity
31543// moves participants to the next activity in a journey.
31544type WaitTime struct {
31545	_ struct{} `type:"structure"`
31546
31547	// The amount of time to wait, as a duration in ISO 8601 format, before determining
31548	// whether the activity's conditions have been met or moving participants to
31549	// the next activity in the journey.
31550	WaitFor *string `type:"string"`
31551
31552	// The date and time, in ISO 8601 format, when Amazon Pinpoint determines whether
31553	// the activity's conditions have been met or the activity moves participants
31554	// to the next activity in the journey.
31555	WaitUntil *string `type:"string"`
31556}
31557
31558// String returns the string representation
31559func (s WaitTime) String() string {
31560	return awsutil.Prettify(s)
31561}
31562
31563// GoString returns the string representation
31564func (s WaitTime) GoString() string {
31565	return s.String()
31566}
31567
31568// SetWaitFor sets the WaitFor field's value.
31569func (s *WaitTime) SetWaitFor(v string) *WaitTime {
31570	s.WaitFor = &v
31571	return s
31572}
31573
31574// SetWaitUntil sets the WaitUntil field's value.
31575func (s *WaitTime) SetWaitUntil(v string) *WaitTime {
31576	s.WaitUntil = &v
31577	return s
31578}
31579
31580// Specifies the default settings for an application.
31581type WriteApplicationSettingsRequest struct {
31582	_ struct{} `type:"structure"`
31583
31584	// The settings for the AWS Lambda function to use by default as a code hook
31585	// for campaigns in the application. To override these settings for a specific
31586	// campaign, use the Campaign resource to define custom Lambda function settings
31587	// for the campaign.
31588	CampaignHook *CampaignHook `type:"structure"`
31589
31590	// Specifies whether to enable application-related alarms in Amazon CloudWatch.
31591	CloudWatchMetricsEnabled *bool `type:"boolean"`
31592
31593	// The default sending limits for campaigns in the application. To override
31594	// these limits for a specific campaign, use the Campaign resource to define
31595	// custom limits for the campaign.
31596	Limits *CampaignLimits `type:"structure"`
31597
31598	// The default quiet time for campaigns and journeys in the application. Quiet
31599	// time is a specific time range when messages aren't sent to endpoints, if
31600	// all the following conditions are met:
31601	//
31602	//    * The EndpointDemographic.Timezone property of the endpoint is set to
31603	//    a valid value.
31604	//
31605	//    * The current time in the endpoint's time zone is later than or equal
31606	//    to the time specified by the QuietTime.Start property for the application
31607	//    (or a campaign or journey that has custom quiet time settings).
31608	//
31609	//    * The current time in the endpoint's time zone is earlier than or equal
31610	//    to the time specified by the QuietTime.End property for the application
31611	//    (or a campaign or journey that has custom quiet time settings).
31612	//
31613	// If any of the preceding conditions isn't met, the endpoint will receive messages
31614	// from a campaign or journey, even if quiet time is enabled.
31615	//
31616	// To override the default quiet time settings for a specific campaign or journey,
31617	// use the Campaign resource or the Journey resource to define a custom quiet
31618	// time for the campaign or journey.
31619	QuietTime *QuietTime `type:"structure"`
31620}
31621
31622// String returns the string representation
31623func (s WriteApplicationSettingsRequest) String() string {
31624	return awsutil.Prettify(s)
31625}
31626
31627// GoString returns the string representation
31628func (s WriteApplicationSettingsRequest) GoString() string {
31629	return s.String()
31630}
31631
31632// SetCampaignHook sets the CampaignHook field's value.
31633func (s *WriteApplicationSettingsRequest) SetCampaignHook(v *CampaignHook) *WriteApplicationSettingsRequest {
31634	s.CampaignHook = v
31635	return s
31636}
31637
31638// SetCloudWatchMetricsEnabled sets the CloudWatchMetricsEnabled field's value.
31639func (s *WriteApplicationSettingsRequest) SetCloudWatchMetricsEnabled(v bool) *WriteApplicationSettingsRequest {
31640	s.CloudWatchMetricsEnabled = &v
31641	return s
31642}
31643
31644// SetLimits sets the Limits field's value.
31645func (s *WriteApplicationSettingsRequest) SetLimits(v *CampaignLimits) *WriteApplicationSettingsRequest {
31646	s.Limits = v
31647	return s
31648}
31649
31650// SetQuietTime sets the QuietTime field's value.
31651func (s *WriteApplicationSettingsRequest) SetQuietTime(v *QuietTime) *WriteApplicationSettingsRequest {
31652	s.QuietTime = v
31653	return s
31654}
31655
31656// Specifies the configuration and other settings for a campaign.
31657type WriteCampaignRequest struct {
31658	_ struct{} `type:"structure"`
31659
31660	// An array of requests that defines additional treatments for the campaign,
31661	// in addition to the default treatment for the campaign.
31662	AdditionalTreatments []*WriteTreatmentResource `type:"list"`
31663
31664	// A custom description of the campaign.
31665	Description *string `type:"string"`
31666
31667	// The allocated percentage of users (segment members) who shouldn't receive
31668	// messages from the campaign.
31669	HoldoutPercent *int64 `type:"integer"`
31670
31671	// The settings for the AWS Lambda function to use as a code hook for the campaign.
31672	Hook *CampaignHook `type:"structure"`
31673
31674	// Specifies whether to pause the campaign. A paused campaign doesn't run unless
31675	// you resume it by setting this value to false.
31676	IsPaused *bool `type:"boolean"`
31677
31678	// The messaging limits for the campaign.
31679	Limits *CampaignLimits `type:"structure"`
31680
31681	// The message configuration settings for the campaign.
31682	MessageConfiguration *MessageConfiguration `type:"structure"`
31683
31684	// The custom name of the campaign.
31685	Name *string `type:"string"`
31686
31687	// The schedule settings for the campaign.
31688	Schedule *Schedule `type:"structure"`
31689
31690	// The unique identifier for the segment to associate with the campaign.
31691	SegmentId *string `type:"string"`
31692
31693	// The version of the segment to associate with the campaign.
31694	SegmentVersion *int64 `type:"integer"`
31695
31696	// A string-to-string map of key-value pairs that defines the tags to associate
31697	// with the campaign. Each tag consists of a required tag key and an associated
31698	// tag value.
31699	Tags map[string]*string `locationName:"tags" type:"map"`
31700
31701	// The message template to use for the campaign.
31702	TemplateConfiguration *TemplateConfiguration `type:"structure"`
31703
31704	// A custom description of a variation of the campaign to use for A/B testing.
31705	TreatmentDescription *string `type:"string"`
31706
31707	// The custom name of a variation of the campaign to use for A/B testing.
31708	TreatmentName *string `type:"string"`
31709}
31710
31711// String returns the string representation
31712func (s WriteCampaignRequest) String() string {
31713	return awsutil.Prettify(s)
31714}
31715
31716// GoString returns the string representation
31717func (s WriteCampaignRequest) GoString() string {
31718	return s.String()
31719}
31720
31721// Validate inspects the fields of the type to determine if they are valid.
31722func (s *WriteCampaignRequest) Validate() error {
31723	invalidParams := request.ErrInvalidParams{Context: "WriteCampaignRequest"}
31724	if s.AdditionalTreatments != nil {
31725		for i, v := range s.AdditionalTreatments {
31726			if v == nil {
31727				continue
31728			}
31729			if err := v.Validate(); err != nil {
31730				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalTreatments", i), err.(request.ErrInvalidParams))
31731			}
31732		}
31733	}
31734	if s.MessageConfiguration != nil {
31735		if err := s.MessageConfiguration.Validate(); err != nil {
31736			invalidParams.AddNested("MessageConfiguration", err.(request.ErrInvalidParams))
31737		}
31738	}
31739	if s.Schedule != nil {
31740		if err := s.Schedule.Validate(); err != nil {
31741			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
31742		}
31743	}
31744
31745	if invalidParams.Len() > 0 {
31746		return invalidParams
31747	}
31748	return nil
31749}
31750
31751// SetAdditionalTreatments sets the AdditionalTreatments field's value.
31752func (s *WriteCampaignRequest) SetAdditionalTreatments(v []*WriteTreatmentResource) *WriteCampaignRequest {
31753	s.AdditionalTreatments = v
31754	return s
31755}
31756
31757// SetDescription sets the Description field's value.
31758func (s *WriteCampaignRequest) SetDescription(v string) *WriteCampaignRequest {
31759	s.Description = &v
31760	return s
31761}
31762
31763// SetHoldoutPercent sets the HoldoutPercent field's value.
31764func (s *WriteCampaignRequest) SetHoldoutPercent(v int64) *WriteCampaignRequest {
31765	s.HoldoutPercent = &v
31766	return s
31767}
31768
31769// SetHook sets the Hook field's value.
31770func (s *WriteCampaignRequest) SetHook(v *CampaignHook) *WriteCampaignRequest {
31771	s.Hook = v
31772	return s
31773}
31774
31775// SetIsPaused sets the IsPaused field's value.
31776func (s *WriteCampaignRequest) SetIsPaused(v bool) *WriteCampaignRequest {
31777	s.IsPaused = &v
31778	return s
31779}
31780
31781// SetLimits sets the Limits field's value.
31782func (s *WriteCampaignRequest) SetLimits(v *CampaignLimits) *WriteCampaignRequest {
31783	s.Limits = v
31784	return s
31785}
31786
31787// SetMessageConfiguration sets the MessageConfiguration field's value.
31788func (s *WriteCampaignRequest) SetMessageConfiguration(v *MessageConfiguration) *WriteCampaignRequest {
31789	s.MessageConfiguration = v
31790	return s
31791}
31792
31793// SetName sets the Name field's value.
31794func (s *WriteCampaignRequest) SetName(v string) *WriteCampaignRequest {
31795	s.Name = &v
31796	return s
31797}
31798
31799// SetSchedule sets the Schedule field's value.
31800func (s *WriteCampaignRequest) SetSchedule(v *Schedule) *WriteCampaignRequest {
31801	s.Schedule = v
31802	return s
31803}
31804
31805// SetSegmentId sets the SegmentId field's value.
31806func (s *WriteCampaignRequest) SetSegmentId(v string) *WriteCampaignRequest {
31807	s.SegmentId = &v
31808	return s
31809}
31810
31811// SetSegmentVersion sets the SegmentVersion field's value.
31812func (s *WriteCampaignRequest) SetSegmentVersion(v int64) *WriteCampaignRequest {
31813	s.SegmentVersion = &v
31814	return s
31815}
31816
31817// SetTags sets the Tags field's value.
31818func (s *WriteCampaignRequest) SetTags(v map[string]*string) *WriteCampaignRequest {
31819	s.Tags = v
31820	return s
31821}
31822
31823// SetTemplateConfiguration sets the TemplateConfiguration field's value.
31824func (s *WriteCampaignRequest) SetTemplateConfiguration(v *TemplateConfiguration) *WriteCampaignRequest {
31825	s.TemplateConfiguration = v
31826	return s
31827}
31828
31829// SetTreatmentDescription sets the TreatmentDescription field's value.
31830func (s *WriteCampaignRequest) SetTreatmentDescription(v string) *WriteCampaignRequest {
31831	s.TreatmentDescription = &v
31832	return s
31833}
31834
31835// SetTreatmentName sets the TreatmentName field's value.
31836func (s *WriteCampaignRequest) SetTreatmentName(v string) *WriteCampaignRequest {
31837	s.TreatmentName = &v
31838	return s
31839}
31840
31841// Specifies the Amazon Resource Name (ARN) of an event stream to publish events
31842// to and the AWS Identity and Access Management (IAM) role to use when publishing
31843// those events.
31844type WriteEventStream struct {
31845	_ struct{} `type:"structure"`
31846
31847	// The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon
31848	// Kinesis Data Firehose delivery stream that you want to publish event data
31849	// to.
31850	//
31851	// For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name
31852	//
31853	// For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name
31854	//
31855	// DestinationStreamArn is a required field
31856	DestinationStreamArn *string `type:"string" required:"true"`
31857
31858	// The AWS Identity and Access Management (IAM) role that authorizes Amazon
31859	// Pinpoint to publish event data to the stream in your AWS account.
31860	//
31861	// RoleArn is a required field
31862	RoleArn *string `type:"string" required:"true"`
31863}
31864
31865// String returns the string representation
31866func (s WriteEventStream) String() string {
31867	return awsutil.Prettify(s)
31868}
31869
31870// GoString returns the string representation
31871func (s WriteEventStream) GoString() string {
31872	return s.String()
31873}
31874
31875// Validate inspects the fields of the type to determine if they are valid.
31876func (s *WriteEventStream) Validate() error {
31877	invalidParams := request.ErrInvalidParams{Context: "WriteEventStream"}
31878	if s.DestinationStreamArn == nil {
31879		invalidParams.Add(request.NewErrParamRequired("DestinationStreamArn"))
31880	}
31881	if s.RoleArn == nil {
31882		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
31883	}
31884
31885	if invalidParams.Len() > 0 {
31886		return invalidParams
31887	}
31888	return nil
31889}
31890
31891// SetDestinationStreamArn sets the DestinationStreamArn field's value.
31892func (s *WriteEventStream) SetDestinationStreamArn(v string) *WriteEventStream {
31893	s.DestinationStreamArn = &v
31894	return s
31895}
31896
31897// SetRoleArn sets the RoleArn field's value.
31898func (s *WriteEventStream) SetRoleArn(v string) *WriteEventStream {
31899	s.RoleArn = &v
31900	return s
31901}
31902
31903// Specifies the configuration and other settings for a journey.
31904type WriteJourneyRequest struct {
31905	_ struct{} `type:"structure"`
31906
31907	// A map that contains a set of Activity objects, one object for each activity
31908	// in the journey. For each Activity object, the key is the unique identifier
31909	// (string) for an activity and the value is the settings for the activity.
31910	// An activity identifier can contain a maximum of 128 characters. The characters
31911	// must be alphanumeric characters.
31912	Activities map[string]*Activity `type:"map"`
31913
31914	// The date, in ISO 8601 format, when the journey was created.
31915	CreationDate *string `type:"string"`
31916
31917	// The date, in ISO 8601 format, when the journey was last modified.
31918	LastModifiedDate *string `type:"string"`
31919
31920	// The messaging and entry limits for the journey.
31921	Limits *JourneyLimits `type:"structure"`
31922
31923	// Specifies whether the journey's scheduled start and end times use each participant's
31924	// local time. To base the schedule on each participant's local time, set this
31925	// value to true.
31926	LocalTime *bool `type:"boolean"`
31927
31928	// The name of the journey. A journey name can contain a maximum of 150 characters.
31929	// The characters can be alphanumeric characters or symbols, such as underscores
31930	// (_) or hyphens (-). A journey name can't contain any spaces.
31931	//
31932	// Name is a required field
31933	Name *string `type:"string" required:"true"`
31934
31935	// The quiet time settings for the journey. Quiet time is a specific time range
31936	// when a journey doesn't send messages to participants, if all the following
31937	// conditions are met:
31938	//
31939	//    * The EndpointDemographic.Timezone property of the endpoint for the participant
31940	//    is set to a valid value.
31941	//
31942	//    * The current time in the participant's time zone is later than or equal
31943	//    to the time specified by the QuietTime.Start property for the journey.
31944	//
31945	//    * The current time in the participant's time zone is earlier than or equal
31946	//    to the time specified by the QuietTime.End property for the journey.
31947	//
31948	// If any of the preceding conditions isn't met, the participant will receive
31949	// messages from the journey, even if quiet time is enabled.
31950	QuietTime *QuietTime `type:"structure"`
31951
31952	// The frequency with which Amazon Pinpoint evaluates segment and event data
31953	// for the journey, as a duration in ISO 8601 format.
31954	RefreshFrequency *string `type:"string"`
31955
31956	// The schedule settings for the journey.
31957	Schedule *JourneySchedule `type:"structure"`
31958
31959	// The unique identifier for the first activity in the journey. An activity
31960	// identifier can contain a maximum of 128 characters. The characters must be
31961	// alphanumeric characters.
31962	StartActivity *string `type:"string"`
31963
31964	// The segment that defines which users are participants in the journey.
31965	StartCondition *StartCondition `type:"structure"`
31966
31967	// The status of the journey. Valid values are:
31968	//
31969	//    * DRAFT - Saves the journey and doesn't publish it.
31970	//
31971	//    * ACTIVE - Saves and publishes the journey. Depending on the journey's
31972	//    schedule, the journey starts running immediately or at the scheduled start
31973	//    time. If a journey's status is ACTIVE, you can't add, change, or remove
31974	//    activities from it.
31975	//
31976	// The CANCELLED, COMPLETED, and CLOSED values are not supported in requests
31977	// to create or update a journey. To cancel a journey, use the Journey State
31978	// resource.
31979	State *string `type:"string" enum:"State"`
31980}
31981
31982// String returns the string representation
31983func (s WriteJourneyRequest) String() string {
31984	return awsutil.Prettify(s)
31985}
31986
31987// GoString returns the string representation
31988func (s WriteJourneyRequest) GoString() string {
31989	return s.String()
31990}
31991
31992// Validate inspects the fields of the type to determine if they are valid.
31993func (s *WriteJourneyRequest) Validate() error {
31994	invalidParams := request.ErrInvalidParams{Context: "WriteJourneyRequest"}
31995	if s.Name == nil {
31996		invalidParams.Add(request.NewErrParamRequired("Name"))
31997	}
31998	if s.Activities != nil {
31999		for i, v := range s.Activities {
32000			if v == nil {
32001				continue
32002			}
32003			if err := v.Validate(); err != nil {
32004				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Activities", i), err.(request.ErrInvalidParams))
32005			}
32006		}
32007	}
32008	if s.StartCondition != nil {
32009		if err := s.StartCondition.Validate(); err != nil {
32010			invalidParams.AddNested("StartCondition", err.(request.ErrInvalidParams))
32011		}
32012	}
32013
32014	if invalidParams.Len() > 0 {
32015		return invalidParams
32016	}
32017	return nil
32018}
32019
32020// SetActivities sets the Activities field's value.
32021func (s *WriteJourneyRequest) SetActivities(v map[string]*Activity) *WriteJourneyRequest {
32022	s.Activities = v
32023	return s
32024}
32025
32026// SetCreationDate sets the CreationDate field's value.
32027func (s *WriteJourneyRequest) SetCreationDate(v string) *WriteJourneyRequest {
32028	s.CreationDate = &v
32029	return s
32030}
32031
32032// SetLastModifiedDate sets the LastModifiedDate field's value.
32033func (s *WriteJourneyRequest) SetLastModifiedDate(v string) *WriteJourneyRequest {
32034	s.LastModifiedDate = &v
32035	return s
32036}
32037
32038// SetLimits sets the Limits field's value.
32039func (s *WriteJourneyRequest) SetLimits(v *JourneyLimits) *WriteJourneyRequest {
32040	s.Limits = v
32041	return s
32042}
32043
32044// SetLocalTime sets the LocalTime field's value.
32045func (s *WriteJourneyRequest) SetLocalTime(v bool) *WriteJourneyRequest {
32046	s.LocalTime = &v
32047	return s
32048}
32049
32050// SetName sets the Name field's value.
32051func (s *WriteJourneyRequest) SetName(v string) *WriteJourneyRequest {
32052	s.Name = &v
32053	return s
32054}
32055
32056// SetQuietTime sets the QuietTime field's value.
32057func (s *WriteJourneyRequest) SetQuietTime(v *QuietTime) *WriteJourneyRequest {
32058	s.QuietTime = v
32059	return s
32060}
32061
32062// SetRefreshFrequency sets the RefreshFrequency field's value.
32063func (s *WriteJourneyRequest) SetRefreshFrequency(v string) *WriteJourneyRequest {
32064	s.RefreshFrequency = &v
32065	return s
32066}
32067
32068// SetSchedule sets the Schedule field's value.
32069func (s *WriteJourneyRequest) SetSchedule(v *JourneySchedule) *WriteJourneyRequest {
32070	s.Schedule = v
32071	return s
32072}
32073
32074// SetStartActivity sets the StartActivity field's value.
32075func (s *WriteJourneyRequest) SetStartActivity(v string) *WriteJourneyRequest {
32076	s.StartActivity = &v
32077	return s
32078}
32079
32080// SetStartCondition sets the StartCondition field's value.
32081func (s *WriteJourneyRequest) SetStartCondition(v *StartCondition) *WriteJourneyRequest {
32082	s.StartCondition = v
32083	return s
32084}
32085
32086// SetState sets the State field's value.
32087func (s *WriteJourneyRequest) SetState(v string) *WriteJourneyRequest {
32088	s.State = &v
32089	return s
32090}
32091
32092// Specifies the configuration, dimension, and other settings for a segment.
32093// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
32094// object, but not both.
32095type WriteSegmentRequest struct {
32096	_ struct{} `type:"structure"`
32097
32098	// The criteria that define the dimensions for the segment.
32099	Dimensions *SegmentDimensions `type:"structure"`
32100
32101	// The name of the segment.
32102	Name *string `type:"string"`
32103
32104	// The segment group to use and the dimensions to apply to the group's base
32105	// segments in order to build the segment. A segment group can consist of zero
32106	// or more base segments. Your request can include only one segment group.
32107	SegmentGroups *SegmentGroupList `type:"structure"`
32108
32109	// A string-to-string map of key-value pairs that defines the tags to associate
32110	// with the segment. Each tag consists of a required tag key and an associated
32111	// tag value.
32112	Tags map[string]*string `locationName:"tags" type:"map"`
32113}
32114
32115// String returns the string representation
32116func (s WriteSegmentRequest) String() string {
32117	return awsutil.Prettify(s)
32118}
32119
32120// GoString returns the string representation
32121func (s WriteSegmentRequest) GoString() string {
32122	return s.String()
32123}
32124
32125// Validate inspects the fields of the type to determine if they are valid.
32126func (s *WriteSegmentRequest) Validate() error {
32127	invalidParams := request.ErrInvalidParams{Context: "WriteSegmentRequest"}
32128	if s.Dimensions != nil {
32129		if err := s.Dimensions.Validate(); err != nil {
32130			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
32131		}
32132	}
32133	if s.SegmentGroups != nil {
32134		if err := s.SegmentGroups.Validate(); err != nil {
32135			invalidParams.AddNested("SegmentGroups", err.(request.ErrInvalidParams))
32136		}
32137	}
32138
32139	if invalidParams.Len() > 0 {
32140		return invalidParams
32141	}
32142	return nil
32143}
32144
32145// SetDimensions sets the Dimensions field's value.
32146func (s *WriteSegmentRequest) SetDimensions(v *SegmentDimensions) *WriteSegmentRequest {
32147	s.Dimensions = v
32148	return s
32149}
32150
32151// SetName sets the Name field's value.
32152func (s *WriteSegmentRequest) SetName(v string) *WriteSegmentRequest {
32153	s.Name = &v
32154	return s
32155}
32156
32157// SetSegmentGroups sets the SegmentGroups field's value.
32158func (s *WriteSegmentRequest) SetSegmentGroups(v *SegmentGroupList) *WriteSegmentRequest {
32159	s.SegmentGroups = v
32160	return s
32161}
32162
32163// SetTags sets the Tags field's value.
32164func (s *WriteSegmentRequest) SetTags(v map[string]*string) *WriteSegmentRequest {
32165	s.Tags = v
32166	return s
32167}
32168
32169// Specifies the settings for a campaign treatment. A treatment is a variation
32170// of a campaign that's used for A/B testing of a campaign.
32171type WriteTreatmentResource struct {
32172	_ struct{} `type:"structure"`
32173
32174	// The message configuration settings for the treatment.
32175	MessageConfiguration *MessageConfiguration `type:"structure"`
32176
32177	// The schedule settings for the treatment.
32178	Schedule *Schedule `type:"structure"`
32179
32180	// The allocated percentage of users (segment members) to send the treatment
32181	// to.
32182	//
32183	// SizePercent is a required field
32184	SizePercent *int64 `type:"integer" required:"true"`
32185
32186	// The message template to use for the treatment.
32187	TemplateConfiguration *TemplateConfiguration `type:"structure"`
32188
32189	// A custom description of the treatment.
32190	TreatmentDescription *string `type:"string"`
32191
32192	// The custom name of the treatment. A treatment is a variation of a campaign
32193	// that's used for A/B testing of a campaign.
32194	TreatmentName *string `type:"string"`
32195}
32196
32197// String returns the string representation
32198func (s WriteTreatmentResource) String() string {
32199	return awsutil.Prettify(s)
32200}
32201
32202// GoString returns the string representation
32203func (s WriteTreatmentResource) GoString() string {
32204	return s.String()
32205}
32206
32207// Validate inspects the fields of the type to determine if they are valid.
32208func (s *WriteTreatmentResource) Validate() error {
32209	invalidParams := request.ErrInvalidParams{Context: "WriteTreatmentResource"}
32210	if s.SizePercent == nil {
32211		invalidParams.Add(request.NewErrParamRequired("SizePercent"))
32212	}
32213	if s.MessageConfiguration != nil {
32214		if err := s.MessageConfiguration.Validate(); err != nil {
32215			invalidParams.AddNested("MessageConfiguration", err.(request.ErrInvalidParams))
32216		}
32217	}
32218	if s.Schedule != nil {
32219		if err := s.Schedule.Validate(); err != nil {
32220			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
32221		}
32222	}
32223
32224	if invalidParams.Len() > 0 {
32225		return invalidParams
32226	}
32227	return nil
32228}
32229
32230// SetMessageConfiguration sets the MessageConfiguration field's value.
32231func (s *WriteTreatmentResource) SetMessageConfiguration(v *MessageConfiguration) *WriteTreatmentResource {
32232	s.MessageConfiguration = v
32233	return s
32234}
32235
32236// SetSchedule sets the Schedule field's value.
32237func (s *WriteTreatmentResource) SetSchedule(v *Schedule) *WriteTreatmentResource {
32238	s.Schedule = v
32239	return s
32240}
32241
32242// SetSizePercent sets the SizePercent field's value.
32243func (s *WriteTreatmentResource) SetSizePercent(v int64) *WriteTreatmentResource {
32244	s.SizePercent = &v
32245	return s
32246}
32247
32248// SetTemplateConfiguration sets the TemplateConfiguration field's value.
32249func (s *WriteTreatmentResource) SetTemplateConfiguration(v *TemplateConfiguration) *WriteTreatmentResource {
32250	s.TemplateConfiguration = v
32251	return s
32252}
32253
32254// SetTreatmentDescription sets the TreatmentDescription field's value.
32255func (s *WriteTreatmentResource) SetTreatmentDescription(v string) *WriteTreatmentResource {
32256	s.TreatmentDescription = &v
32257	return s
32258}
32259
32260// SetTreatmentName sets the TreatmentName field's value.
32261func (s *WriteTreatmentResource) SetTreatmentName(v string) *WriteTreatmentResource {
32262	s.TreatmentName = &v
32263	return s
32264}
32265
32266const (
32267	// ActionOpenApp is a Action enum value
32268	ActionOpenApp = "OPEN_APP"
32269
32270	// ActionDeepLink is a Action enum value
32271	ActionDeepLink = "DEEP_LINK"
32272
32273	// ActionUrl is a Action enum value
32274	ActionUrl = "URL"
32275)
32276
32277const (
32278	// AttributeTypeInclusive is a AttributeType enum value
32279	AttributeTypeInclusive = "INCLUSIVE"
32280
32281	// AttributeTypeExclusive is a AttributeType enum value
32282	AttributeTypeExclusive = "EXCLUSIVE"
32283)
32284
32285const (
32286	// CampaignStatusScheduled is a CampaignStatus enum value
32287	CampaignStatusScheduled = "SCHEDULED"
32288
32289	// CampaignStatusExecuting is a CampaignStatus enum value
32290	CampaignStatusExecuting = "EXECUTING"
32291
32292	// CampaignStatusPendingNextRun is a CampaignStatus enum value
32293	CampaignStatusPendingNextRun = "PENDING_NEXT_RUN"
32294
32295	// CampaignStatusCompleted is a CampaignStatus enum value
32296	CampaignStatusCompleted = "COMPLETED"
32297
32298	// CampaignStatusPaused is a CampaignStatus enum value
32299	CampaignStatusPaused = "PAUSED"
32300
32301	// CampaignStatusDeleted is a CampaignStatus enum value
32302	CampaignStatusDeleted = "DELETED"
32303)
32304
32305const (
32306	// ChannelTypeGcm is a ChannelType enum value
32307	ChannelTypeGcm = "GCM"
32308
32309	// ChannelTypeApns is a ChannelType enum value
32310	ChannelTypeApns = "APNS"
32311
32312	// ChannelTypeApnsSandbox is a ChannelType enum value
32313	ChannelTypeApnsSandbox = "APNS_SANDBOX"
32314
32315	// ChannelTypeApnsVoip is a ChannelType enum value
32316	ChannelTypeApnsVoip = "APNS_VOIP"
32317
32318	// ChannelTypeApnsVoipSandbox is a ChannelType enum value
32319	ChannelTypeApnsVoipSandbox = "APNS_VOIP_SANDBOX"
32320
32321	// ChannelTypeAdm is a ChannelType enum value
32322	ChannelTypeAdm = "ADM"
32323
32324	// ChannelTypeSms is a ChannelType enum value
32325	ChannelTypeSms = "SMS"
32326
32327	// ChannelTypeVoice is a ChannelType enum value
32328	ChannelTypeVoice = "VOICE"
32329
32330	// ChannelTypeEmail is a ChannelType enum value
32331	ChannelTypeEmail = "EMAIL"
32332
32333	// ChannelTypeBaidu is a ChannelType enum value
32334	ChannelTypeBaidu = "BAIDU"
32335
32336	// ChannelTypeCustom is a ChannelType enum value
32337	ChannelTypeCustom = "CUSTOM"
32338)
32339
32340const (
32341	// DeliveryStatusSuccessful is a DeliveryStatus enum value
32342	DeliveryStatusSuccessful = "SUCCESSFUL"
32343
32344	// DeliveryStatusThrottled is a DeliveryStatus enum value
32345	DeliveryStatusThrottled = "THROTTLED"
32346
32347	// DeliveryStatusTemporaryFailure is a DeliveryStatus enum value
32348	DeliveryStatusTemporaryFailure = "TEMPORARY_FAILURE"
32349
32350	// DeliveryStatusPermanentFailure is a DeliveryStatus enum value
32351	DeliveryStatusPermanentFailure = "PERMANENT_FAILURE"
32352
32353	// DeliveryStatusUnknownFailure is a DeliveryStatus enum value
32354	DeliveryStatusUnknownFailure = "UNKNOWN_FAILURE"
32355
32356	// DeliveryStatusOptOut is a DeliveryStatus enum value
32357	DeliveryStatusOptOut = "OPT_OUT"
32358
32359	// DeliveryStatusDuplicate is a DeliveryStatus enum value
32360	DeliveryStatusDuplicate = "DUPLICATE"
32361)
32362
32363const (
32364	// DimensionTypeInclusive is a DimensionType enum value
32365	DimensionTypeInclusive = "INCLUSIVE"
32366
32367	// DimensionTypeExclusive is a DimensionType enum value
32368	DimensionTypeExclusive = "EXCLUSIVE"
32369)
32370
32371const (
32372	// DurationHr24 is a Duration enum value
32373	DurationHr24 = "HR_24"
32374
32375	// DurationDay7 is a Duration enum value
32376	DurationDay7 = "DAY_7"
32377
32378	// DurationDay14 is a Duration enum value
32379	DurationDay14 = "DAY_14"
32380
32381	// DurationDay30 is a Duration enum value
32382	DurationDay30 = "DAY_30"
32383)
32384
32385const (
32386	// FilterTypeSystem is a FilterType enum value
32387	FilterTypeSystem = "SYSTEM"
32388
32389	// FilterTypeEndpoint is a FilterType enum value
32390	FilterTypeEndpoint = "ENDPOINT"
32391)
32392
32393const (
32394	// FormatCsv is a Format enum value
32395	FormatCsv = "CSV"
32396
32397	// FormatJson is a Format enum value
32398	FormatJson = "JSON"
32399)
32400
32401const (
32402	// FrequencyOnce is a Frequency enum value
32403	FrequencyOnce = "ONCE"
32404
32405	// FrequencyHourly is a Frequency enum value
32406	FrequencyHourly = "HOURLY"
32407
32408	// FrequencyDaily is a Frequency enum value
32409	FrequencyDaily = "DAILY"
32410
32411	// FrequencyWeekly is a Frequency enum value
32412	FrequencyWeekly = "WEEKLY"
32413
32414	// FrequencyMonthly is a Frequency enum value
32415	FrequencyMonthly = "MONTHLY"
32416
32417	// FrequencyEvent is a Frequency enum value
32418	FrequencyEvent = "EVENT"
32419)
32420
32421const (
32422	// IncludeAll is a Include enum value
32423	IncludeAll = "ALL"
32424
32425	// IncludeAny is a Include enum value
32426	IncludeAny = "ANY"
32427
32428	// IncludeNone is a Include enum value
32429	IncludeNone = "NONE"
32430)
32431
32432const (
32433	// JobStatusCreated is a JobStatus enum value
32434	JobStatusCreated = "CREATED"
32435
32436	// JobStatusPreparingForInitialization is a JobStatus enum value
32437	JobStatusPreparingForInitialization = "PREPARING_FOR_INITIALIZATION"
32438
32439	// JobStatusInitializing is a JobStatus enum value
32440	JobStatusInitializing = "INITIALIZING"
32441
32442	// JobStatusProcessing is a JobStatus enum value
32443	JobStatusProcessing = "PROCESSING"
32444
32445	// JobStatusPendingJob is a JobStatus enum value
32446	JobStatusPendingJob = "PENDING_JOB"
32447
32448	// JobStatusCompleting is a JobStatus enum value
32449	JobStatusCompleting = "COMPLETING"
32450
32451	// JobStatusCompleted is a JobStatus enum value
32452	JobStatusCompleted = "COMPLETED"
32453
32454	// JobStatusFailing is a JobStatus enum value
32455	JobStatusFailing = "FAILING"
32456
32457	// JobStatusFailed is a JobStatus enum value
32458	JobStatusFailed = "FAILED"
32459)
32460
32461const (
32462	// MessageTypeTransactional is a MessageType enum value
32463	MessageTypeTransactional = "TRANSACTIONAL"
32464
32465	// MessageTypePromotional is a MessageType enum value
32466	MessageTypePromotional = "PROMOTIONAL"
32467)
32468
32469const (
32470	// ModeDelivery is a Mode enum value
32471	ModeDelivery = "DELIVERY"
32472
32473	// ModeFilter is a Mode enum value
32474	ModeFilter = "FILTER"
32475)
32476
32477const (
32478	// OperatorAll is a Operator enum value
32479	OperatorAll = "ALL"
32480
32481	// OperatorAny is a Operator enum value
32482	OperatorAny = "ANY"
32483)
32484
32485const (
32486	// RecencyTypeActive is a RecencyType enum value
32487	RecencyTypeActive = "ACTIVE"
32488
32489	// RecencyTypeInactive is a RecencyType enum value
32490	RecencyTypeInactive = "INACTIVE"
32491)
32492
32493const (
32494	// SegmentTypeDimensional is a SegmentType enum value
32495	SegmentTypeDimensional = "DIMENSIONAL"
32496
32497	// SegmentTypeImport is a SegmentType enum value
32498	SegmentTypeImport = "IMPORT"
32499)
32500
32501const (
32502	// SourceTypeAll is a SourceType enum value
32503	SourceTypeAll = "ALL"
32504
32505	// SourceTypeAny is a SourceType enum value
32506	SourceTypeAny = "ANY"
32507
32508	// SourceTypeNone is a SourceType enum value
32509	SourceTypeNone = "NONE"
32510)
32511
32512const (
32513	// StateDraft is a State enum value
32514	StateDraft = "DRAFT"
32515
32516	// StateActive is a State enum value
32517	StateActive = "ACTIVE"
32518
32519	// StateCompleted is a State enum value
32520	StateCompleted = "COMPLETED"
32521
32522	// StateCancelled is a State enum value
32523	StateCancelled = "CANCELLED"
32524
32525	// StateClosed is a State enum value
32526	StateClosed = "CLOSED"
32527)
32528
32529const (
32530	// TemplateTypeEmail is a TemplateType enum value
32531	TemplateTypeEmail = "EMAIL"
32532
32533	// TemplateTypeSms is a TemplateType enum value
32534	TemplateTypeSms = "SMS"
32535
32536	// TemplateTypeVoice is a TemplateType enum value
32537	TemplateTypeVoice = "VOICE"
32538
32539	// TemplateTypePush is a TemplateType enum value
32540	TemplateTypePush = "PUSH"
32541)
32542
32543const (
32544	// TypeAll is a Type enum value
32545	TypeAll = "ALL"
32546
32547	// TypeAny is a Type enum value
32548	TypeAny = "ANY"
32549
32550	// TypeNone is a Type enum value
32551	TypeNone = "NONE"
32552)
32553