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 that you can use in messages that are sent through
250// the email channel.
251//
252// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
253// with awserr.Error's Code and Message methods to get detailed information about
254// the error.
255//
256// See the AWS API reference guide for Amazon Pinpoint's
257// API operation CreateEmailTemplate for usage and error information.
258//
259// Returned Error Codes:
260//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
261//   Provides information about an API request or response.
262//
263//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
264//   Provides information about an API request or response.
265//
266//   * ErrCodeBadRequestException "BadRequestException"
267//   Provides information about an API request or response.
268//
269//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
270//   Provides information about an API request or response.
271//
272//   * ErrCodeForbiddenException "ForbiddenException"
273//   Provides information about an API request or response.
274//
275// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateEmailTemplate
276func (c *Pinpoint) CreateEmailTemplate(input *CreateEmailTemplateInput) (*CreateEmailTemplateOutput, error) {
277	req, out := c.CreateEmailTemplateRequest(input)
278	return out, req.Send()
279}
280
281// CreateEmailTemplateWithContext is the same as CreateEmailTemplate with the addition of
282// the ability to pass a context and additional request options.
283//
284// See CreateEmailTemplate for details on how to use this API operation.
285//
286// The context must be non-nil and will be used for request cancellation. If
287// the context is nil a panic will occur. In the future the SDK may create
288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
289// for more information on using Contexts.
290func (c *Pinpoint) CreateEmailTemplateWithContext(ctx aws.Context, input *CreateEmailTemplateInput, opts ...request.Option) (*CreateEmailTemplateOutput, error) {
291	req, out := c.CreateEmailTemplateRequest(input)
292	req.SetContext(ctx)
293	req.ApplyOptions(opts...)
294	return out, req.Send()
295}
296
297const opCreateExportJob = "CreateExportJob"
298
299// CreateExportJobRequest generates a "aws/request.Request" representing the
300// client's request for the CreateExportJob operation. The "output" return
301// value will be populated with the request's response once the request completes
302// successfully.
303//
304// Use "Send" method on the returned Request to send the API call to the service.
305// the "output" return value is not valid until after Send returns without error.
306//
307// See CreateExportJob for more information on using the CreateExportJob
308// API call, and error handling.
309//
310// This method is useful when you want to inject custom logic or configuration
311// into the SDK's request lifecycle. Such as custom headers, or retry logic.
312//
313//
314//    // Example sending a request using the CreateExportJobRequest method.
315//    req, resp := client.CreateExportJobRequest(params)
316//
317//    err := req.Send()
318//    if err == nil { // resp is now filled
319//        fmt.Println(resp)
320//    }
321//
322// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateExportJob
323func (c *Pinpoint) CreateExportJobRequest(input *CreateExportJobInput) (req *request.Request, output *CreateExportJobOutput) {
324	op := &request.Operation{
325		Name:       opCreateExportJob,
326		HTTPMethod: "POST",
327		HTTPPath:   "/v1/apps/{application-id}/jobs/export",
328	}
329
330	if input == nil {
331		input = &CreateExportJobInput{}
332	}
333
334	output = &CreateExportJobOutput{}
335	req = c.newRequest(op, input, output)
336	return
337}
338
339// CreateExportJob API operation for Amazon Pinpoint.
340//
341// Creates an export job for an application.
342//
343// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
344// with awserr.Error's Code and Message methods to get detailed information about
345// the error.
346//
347// See the AWS API reference guide for Amazon Pinpoint's
348// API operation CreateExportJob for usage and error information.
349//
350// Returned Error Codes:
351//   * ErrCodeBadRequestException "BadRequestException"
352//   Provides information about an API request or response.
353//
354//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
355//   Provides information about an API request or response.
356//
357//   * ErrCodeForbiddenException "ForbiddenException"
358//   Provides information about an API request or response.
359//
360//   * ErrCodeNotFoundException "NotFoundException"
361//   Provides information about an API request or response.
362//
363//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
364//   Provides information about an API request or response.
365//
366//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
367//   Provides information about an API request or response.
368//
369// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateExportJob
370func (c *Pinpoint) CreateExportJob(input *CreateExportJobInput) (*CreateExportJobOutput, error) {
371	req, out := c.CreateExportJobRequest(input)
372	return out, req.Send()
373}
374
375// CreateExportJobWithContext is the same as CreateExportJob with the addition of
376// the ability to pass a context and additional request options.
377//
378// See CreateExportJob for details on how to use this API operation.
379//
380// The context must be non-nil and will be used for request cancellation. If
381// the context is nil a panic will occur. In the future the SDK may create
382// sub-contexts for http.Requests. See https://golang.org/pkg/context/
383// for more information on using Contexts.
384func (c *Pinpoint) CreateExportJobWithContext(ctx aws.Context, input *CreateExportJobInput, opts ...request.Option) (*CreateExportJobOutput, error) {
385	req, out := c.CreateExportJobRequest(input)
386	req.SetContext(ctx)
387	req.ApplyOptions(opts...)
388	return out, req.Send()
389}
390
391const opCreateImportJob = "CreateImportJob"
392
393// CreateImportJobRequest generates a "aws/request.Request" representing the
394// client's request for the CreateImportJob operation. The "output" return
395// value will be populated with the request's response once the request completes
396// successfully.
397//
398// Use "Send" method on the returned Request to send the API call to the service.
399// the "output" return value is not valid until after Send returns without error.
400//
401// See CreateImportJob for more information on using the CreateImportJob
402// API call, and error handling.
403//
404// This method is useful when you want to inject custom logic or configuration
405// into the SDK's request lifecycle. Such as custom headers, or retry logic.
406//
407//
408//    // Example sending a request using the CreateImportJobRequest method.
409//    req, resp := client.CreateImportJobRequest(params)
410//
411//    err := req.Send()
412//    if err == nil { // resp is now filled
413//        fmt.Println(resp)
414//    }
415//
416// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateImportJob
417func (c *Pinpoint) CreateImportJobRequest(input *CreateImportJobInput) (req *request.Request, output *CreateImportJobOutput) {
418	op := &request.Operation{
419		Name:       opCreateImportJob,
420		HTTPMethod: "POST",
421		HTTPPath:   "/v1/apps/{application-id}/jobs/import",
422	}
423
424	if input == nil {
425		input = &CreateImportJobInput{}
426	}
427
428	output = &CreateImportJobOutput{}
429	req = c.newRequest(op, input, output)
430	return
431}
432
433// CreateImportJob API operation for Amazon Pinpoint.
434//
435// Creates an import job for an application.
436//
437// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
438// with awserr.Error's Code and Message methods to get detailed information about
439// the error.
440//
441// See the AWS API reference guide for Amazon Pinpoint's
442// API operation CreateImportJob for usage and error information.
443//
444// Returned Error Codes:
445//   * ErrCodeBadRequestException "BadRequestException"
446//   Provides information about an API request or response.
447//
448//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
449//   Provides information about an API request or response.
450//
451//   * ErrCodeForbiddenException "ForbiddenException"
452//   Provides information about an API request or response.
453//
454//   * ErrCodeNotFoundException "NotFoundException"
455//   Provides information about an API request or response.
456//
457//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
458//   Provides information about an API request or response.
459//
460//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
461//   Provides information about an API request or response.
462//
463// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateImportJob
464func (c *Pinpoint) CreateImportJob(input *CreateImportJobInput) (*CreateImportJobOutput, error) {
465	req, out := c.CreateImportJobRequest(input)
466	return out, req.Send()
467}
468
469// CreateImportJobWithContext is the same as CreateImportJob with the addition of
470// the ability to pass a context and additional request options.
471//
472// See CreateImportJob for details on how to use this API operation.
473//
474// The context must be non-nil and will be used for request cancellation. If
475// the context is nil a panic will occur. In the future the SDK may create
476// sub-contexts for http.Requests. See https://golang.org/pkg/context/
477// for more information on using Contexts.
478func (c *Pinpoint) CreateImportJobWithContext(ctx aws.Context, input *CreateImportJobInput, opts ...request.Option) (*CreateImportJobOutput, error) {
479	req, out := c.CreateImportJobRequest(input)
480	req.SetContext(ctx)
481	req.ApplyOptions(opts...)
482	return out, req.Send()
483}
484
485const opCreatePushTemplate = "CreatePushTemplate"
486
487// CreatePushTemplateRequest generates a "aws/request.Request" representing the
488// client's request for the CreatePushTemplate operation. The "output" return
489// value will be populated with the request's response once the request completes
490// successfully.
491//
492// Use "Send" method on the returned Request to send the API call to the service.
493// the "output" return value is not valid until after Send returns without error.
494//
495// See CreatePushTemplate for more information on using the CreatePushTemplate
496// API call, and error handling.
497//
498// This method is useful when you want to inject custom logic or configuration
499// into the SDK's request lifecycle. Such as custom headers, or retry logic.
500//
501//
502//    // Example sending a request using the CreatePushTemplateRequest method.
503//    req, resp := client.CreatePushTemplateRequest(params)
504//
505//    err := req.Send()
506//    if err == nil { // resp is now filled
507//        fmt.Println(resp)
508//    }
509//
510// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreatePushTemplate
511func (c *Pinpoint) CreatePushTemplateRequest(input *CreatePushTemplateInput) (req *request.Request, output *CreatePushTemplateOutput) {
512	op := &request.Operation{
513		Name:       opCreatePushTemplate,
514		HTTPMethod: "POST",
515		HTTPPath:   "/v1/templates/{template-name}/push",
516	}
517
518	if input == nil {
519		input = &CreatePushTemplateInput{}
520	}
521
522	output = &CreatePushTemplateOutput{}
523	req = c.newRequest(op, input, output)
524	return
525}
526
527// CreatePushTemplate API operation for Amazon Pinpoint.
528//
529// Creates a message template that you can use in messages that are sent through
530// a push notification channel.
531//
532// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
533// with awserr.Error's Code and Message methods to get detailed information about
534// the error.
535//
536// See the AWS API reference guide for Amazon Pinpoint's
537// API operation CreatePushTemplate for usage and error information.
538//
539// Returned Error Codes:
540//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
541//   Provides information about an API request or response.
542//
543//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
544//   Provides information about an API request or response.
545//
546//   * ErrCodeBadRequestException "BadRequestException"
547//   Provides information about an API request or response.
548//
549//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
550//   Provides information about an API request or response.
551//
552//   * ErrCodeForbiddenException "ForbiddenException"
553//   Provides information about an API request or response.
554//
555// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreatePushTemplate
556func (c *Pinpoint) CreatePushTemplate(input *CreatePushTemplateInput) (*CreatePushTemplateOutput, error) {
557	req, out := c.CreatePushTemplateRequest(input)
558	return out, req.Send()
559}
560
561// CreatePushTemplateWithContext is the same as CreatePushTemplate with the addition of
562// the ability to pass a context and additional request options.
563//
564// See CreatePushTemplate for details on how to use this API operation.
565//
566// The context must be non-nil and will be used for request cancellation. If
567// the context is nil a panic will occur. In the future the SDK may create
568// sub-contexts for http.Requests. See https://golang.org/pkg/context/
569// for more information on using Contexts.
570func (c *Pinpoint) CreatePushTemplateWithContext(ctx aws.Context, input *CreatePushTemplateInput, opts ...request.Option) (*CreatePushTemplateOutput, error) {
571	req, out := c.CreatePushTemplateRequest(input)
572	req.SetContext(ctx)
573	req.ApplyOptions(opts...)
574	return out, req.Send()
575}
576
577const opCreateSegment = "CreateSegment"
578
579// CreateSegmentRequest generates a "aws/request.Request" representing the
580// client's request for the CreateSegment operation. The "output" return
581// value will be populated with the request's response once the request completes
582// successfully.
583//
584// Use "Send" method on the returned Request to send the API call to the service.
585// the "output" return value is not valid until after Send returns without error.
586//
587// See CreateSegment for more information on using the CreateSegment
588// API call, and error handling.
589//
590// This method is useful when you want to inject custom logic or configuration
591// into the SDK's request lifecycle. Such as custom headers, or retry logic.
592//
593//
594//    // Example sending a request using the CreateSegmentRequest method.
595//    req, resp := client.CreateSegmentRequest(params)
596//
597//    err := req.Send()
598//    if err == nil { // resp is now filled
599//        fmt.Println(resp)
600//    }
601//
602// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSegment
603func (c *Pinpoint) CreateSegmentRequest(input *CreateSegmentInput) (req *request.Request, output *CreateSegmentOutput) {
604	op := &request.Operation{
605		Name:       opCreateSegment,
606		HTTPMethod: "POST",
607		HTTPPath:   "/v1/apps/{application-id}/segments",
608	}
609
610	if input == nil {
611		input = &CreateSegmentInput{}
612	}
613
614	output = &CreateSegmentOutput{}
615	req = c.newRequest(op, input, output)
616	return
617}
618
619// CreateSegment API operation for Amazon Pinpoint.
620//
621// Creates a new segment for an application or updates the configuration, dimension,
622// and other settings for an existing segment that's associated with an application.
623//
624// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
625// with awserr.Error's Code and Message methods to get detailed information about
626// the error.
627//
628// See the AWS API reference guide for Amazon Pinpoint's
629// API operation CreateSegment for usage and error information.
630//
631// Returned Error Codes:
632//   * ErrCodeBadRequestException "BadRequestException"
633//   Provides information about an API request or response.
634//
635//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
636//   Provides information about an API request or response.
637//
638//   * ErrCodeForbiddenException "ForbiddenException"
639//   Provides information about an API request or response.
640//
641//   * ErrCodeNotFoundException "NotFoundException"
642//   Provides information about an API request or response.
643//
644//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
645//   Provides information about an API request or response.
646//
647//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
648//   Provides information about an API request or response.
649//
650// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSegment
651func (c *Pinpoint) CreateSegment(input *CreateSegmentInput) (*CreateSegmentOutput, error) {
652	req, out := c.CreateSegmentRequest(input)
653	return out, req.Send()
654}
655
656// CreateSegmentWithContext is the same as CreateSegment with the addition of
657// the ability to pass a context and additional request options.
658//
659// See CreateSegment for details on how to use this API operation.
660//
661// The context must be non-nil and will be used for request cancellation. If
662// the context is nil a panic will occur. In the future the SDK may create
663// sub-contexts for http.Requests. See https://golang.org/pkg/context/
664// for more information on using Contexts.
665func (c *Pinpoint) CreateSegmentWithContext(ctx aws.Context, input *CreateSegmentInput, opts ...request.Option) (*CreateSegmentOutput, error) {
666	req, out := c.CreateSegmentRequest(input)
667	req.SetContext(ctx)
668	req.ApplyOptions(opts...)
669	return out, req.Send()
670}
671
672const opCreateSmsTemplate = "CreateSmsTemplate"
673
674// CreateSmsTemplateRequest generates a "aws/request.Request" representing the
675// client's request for the CreateSmsTemplate operation. The "output" return
676// value will be populated with the request's response once the request completes
677// successfully.
678//
679// Use "Send" method on the returned Request to send the API call to the service.
680// the "output" return value is not valid until after Send returns without error.
681//
682// See CreateSmsTemplate for more information on using the CreateSmsTemplate
683// API call, and error handling.
684//
685// This method is useful when you want to inject custom logic or configuration
686// into the SDK's request lifecycle. Such as custom headers, or retry logic.
687//
688//
689//    // Example sending a request using the CreateSmsTemplateRequest method.
690//    req, resp := client.CreateSmsTemplateRequest(params)
691//
692//    err := req.Send()
693//    if err == nil { // resp is now filled
694//        fmt.Println(resp)
695//    }
696//
697// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSmsTemplate
698func (c *Pinpoint) CreateSmsTemplateRequest(input *CreateSmsTemplateInput) (req *request.Request, output *CreateSmsTemplateOutput) {
699	op := &request.Operation{
700		Name:       opCreateSmsTemplate,
701		HTTPMethod: "POST",
702		HTTPPath:   "/v1/templates/{template-name}/sms",
703	}
704
705	if input == nil {
706		input = &CreateSmsTemplateInput{}
707	}
708
709	output = &CreateSmsTemplateOutput{}
710	req = c.newRequest(op, input, output)
711	return
712}
713
714// CreateSmsTemplate API operation for Amazon Pinpoint.
715//
716// Creates a message template that you can use in messages that are sent through
717// the SMS channel.
718//
719// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
720// with awserr.Error's Code and Message methods to get detailed information about
721// the error.
722//
723// See the AWS API reference guide for Amazon Pinpoint's
724// API operation CreateSmsTemplate for usage and error information.
725//
726// Returned Error Codes:
727//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
728//   Provides information about an API request or response.
729//
730//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
731//   Provides information about an API request or response.
732//
733//   * ErrCodeBadRequestException "BadRequestException"
734//   Provides information about an API request or response.
735//
736//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
737//   Provides information about an API request or response.
738//
739//   * ErrCodeForbiddenException "ForbiddenException"
740//   Provides information about an API request or response.
741//
742// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSmsTemplate
743func (c *Pinpoint) CreateSmsTemplate(input *CreateSmsTemplateInput) (*CreateSmsTemplateOutput, error) {
744	req, out := c.CreateSmsTemplateRequest(input)
745	return out, req.Send()
746}
747
748// CreateSmsTemplateWithContext is the same as CreateSmsTemplate with the addition of
749// the ability to pass a context and additional request options.
750//
751// See CreateSmsTemplate for details on how to use this API operation.
752//
753// The context must be non-nil and will be used for request cancellation. If
754// the context is nil a panic will occur. In the future the SDK may create
755// sub-contexts for http.Requests. See https://golang.org/pkg/context/
756// for more information on using Contexts.
757func (c *Pinpoint) CreateSmsTemplateWithContext(ctx aws.Context, input *CreateSmsTemplateInput, opts ...request.Option) (*CreateSmsTemplateOutput, error) {
758	req, out := c.CreateSmsTemplateRequest(input)
759	req.SetContext(ctx)
760	req.ApplyOptions(opts...)
761	return out, req.Send()
762}
763
764const opDeleteAdmChannel = "DeleteAdmChannel"
765
766// DeleteAdmChannelRequest generates a "aws/request.Request" representing the
767// client's request for the DeleteAdmChannel operation. The "output" return
768// value will be populated with the request's response once the request completes
769// successfully.
770//
771// Use "Send" method on the returned Request to send the API call to the service.
772// the "output" return value is not valid until after Send returns without error.
773//
774// See DeleteAdmChannel for more information on using the DeleteAdmChannel
775// API call, and error handling.
776//
777// This method is useful when you want to inject custom logic or configuration
778// into the SDK's request lifecycle. Such as custom headers, or retry logic.
779//
780//
781//    // Example sending a request using the DeleteAdmChannelRequest method.
782//    req, resp := client.DeleteAdmChannelRequest(params)
783//
784//    err := req.Send()
785//    if err == nil { // resp is now filled
786//        fmt.Println(resp)
787//    }
788//
789// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAdmChannel
790func (c *Pinpoint) DeleteAdmChannelRequest(input *DeleteAdmChannelInput) (req *request.Request, output *DeleteAdmChannelOutput) {
791	op := &request.Operation{
792		Name:       opDeleteAdmChannel,
793		HTTPMethod: "DELETE",
794		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
795	}
796
797	if input == nil {
798		input = &DeleteAdmChannelInput{}
799	}
800
801	output = &DeleteAdmChannelOutput{}
802	req = c.newRequest(op, input, output)
803	return
804}
805
806// DeleteAdmChannel API operation for Amazon Pinpoint.
807//
808// Disables the ADM channel for an application and deletes any existing settings
809// for the 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 DeleteAdmChannel for usage and error information.
817//
818// Returned Error Codes:
819//   * ErrCodeBadRequestException "BadRequestException"
820//   Provides information about an API request or response.
821//
822//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
823//   Provides information about an API request or response.
824//
825//   * ErrCodeForbiddenException "ForbiddenException"
826//   Provides information about an API request or response.
827//
828//   * ErrCodeNotFoundException "NotFoundException"
829//   Provides information about an API request or response.
830//
831//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
832//   Provides information about an API request or response.
833//
834//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
835//   Provides information about an API request or response.
836//
837// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAdmChannel
838func (c *Pinpoint) DeleteAdmChannel(input *DeleteAdmChannelInput) (*DeleteAdmChannelOutput, error) {
839	req, out := c.DeleteAdmChannelRequest(input)
840	return out, req.Send()
841}
842
843// DeleteAdmChannelWithContext is the same as DeleteAdmChannel with the addition of
844// the ability to pass a context and additional request options.
845//
846// See DeleteAdmChannel for details on how to use this API operation.
847//
848// The context must be non-nil and will be used for request cancellation. If
849// the context is nil a panic will occur. In the future the SDK may create
850// sub-contexts for http.Requests. See https://golang.org/pkg/context/
851// for more information on using Contexts.
852func (c *Pinpoint) DeleteAdmChannelWithContext(ctx aws.Context, input *DeleteAdmChannelInput, opts ...request.Option) (*DeleteAdmChannelOutput, error) {
853	req, out := c.DeleteAdmChannelRequest(input)
854	req.SetContext(ctx)
855	req.ApplyOptions(opts...)
856	return out, req.Send()
857}
858
859const opDeleteApnsChannel = "DeleteApnsChannel"
860
861// DeleteApnsChannelRequest generates a "aws/request.Request" representing the
862// client's request for the DeleteApnsChannel operation. The "output" return
863// value will be populated with the request's response once the request completes
864// successfully.
865//
866// Use "Send" method on the returned Request to send the API call to the service.
867// the "output" return value is not valid until after Send returns without error.
868//
869// See DeleteApnsChannel for more information on using the DeleteApnsChannel
870// API call, and error handling.
871//
872// This method is useful when you want to inject custom logic or configuration
873// into the SDK's request lifecycle. Such as custom headers, or retry logic.
874//
875//
876//    // Example sending a request using the DeleteApnsChannelRequest method.
877//    req, resp := client.DeleteApnsChannelRequest(params)
878//
879//    err := req.Send()
880//    if err == nil { // resp is now filled
881//        fmt.Println(resp)
882//    }
883//
884// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsChannel
885func (c *Pinpoint) DeleteApnsChannelRequest(input *DeleteApnsChannelInput) (req *request.Request, output *DeleteApnsChannelOutput) {
886	op := &request.Operation{
887		Name:       opDeleteApnsChannel,
888		HTTPMethod: "DELETE",
889		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
890	}
891
892	if input == nil {
893		input = &DeleteApnsChannelInput{}
894	}
895
896	output = &DeleteApnsChannelOutput{}
897	req = c.newRequest(op, input, output)
898	return
899}
900
901// DeleteApnsChannel API operation for Amazon Pinpoint.
902//
903// Disables the APNs channel for an application and deletes any existing settings
904// for the channel.
905//
906// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
907// with awserr.Error's Code and Message methods to get detailed information about
908// the error.
909//
910// See the AWS API reference guide for Amazon Pinpoint's
911// API operation DeleteApnsChannel for usage and error information.
912//
913// Returned Error Codes:
914//   * ErrCodeBadRequestException "BadRequestException"
915//   Provides information about an API request or response.
916//
917//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
918//   Provides information about an API request or response.
919//
920//   * ErrCodeForbiddenException "ForbiddenException"
921//   Provides information about an API request or response.
922//
923//   * ErrCodeNotFoundException "NotFoundException"
924//   Provides information about an API request or response.
925//
926//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
927//   Provides information about an API request or response.
928//
929//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
930//   Provides information about an API request or response.
931//
932// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsChannel
933func (c *Pinpoint) DeleteApnsChannel(input *DeleteApnsChannelInput) (*DeleteApnsChannelOutput, error) {
934	req, out := c.DeleteApnsChannelRequest(input)
935	return out, req.Send()
936}
937
938// DeleteApnsChannelWithContext is the same as DeleteApnsChannel with the addition of
939// the ability to pass a context and additional request options.
940//
941// See DeleteApnsChannel for details on how to use this API operation.
942//
943// The context must be non-nil and will be used for request cancellation. If
944// the context is nil a panic will occur. In the future the SDK may create
945// sub-contexts for http.Requests. See https://golang.org/pkg/context/
946// for more information on using Contexts.
947func (c *Pinpoint) DeleteApnsChannelWithContext(ctx aws.Context, input *DeleteApnsChannelInput, opts ...request.Option) (*DeleteApnsChannelOutput, error) {
948	req, out := c.DeleteApnsChannelRequest(input)
949	req.SetContext(ctx)
950	req.ApplyOptions(opts...)
951	return out, req.Send()
952}
953
954const opDeleteApnsSandboxChannel = "DeleteApnsSandboxChannel"
955
956// DeleteApnsSandboxChannelRequest generates a "aws/request.Request" representing the
957// client's request for the DeleteApnsSandboxChannel operation. The "output" return
958// value will be populated with the request's response once the request completes
959// successfully.
960//
961// Use "Send" method on the returned Request to send the API call to the service.
962// the "output" return value is not valid until after Send returns without error.
963//
964// See DeleteApnsSandboxChannel for more information on using the DeleteApnsSandboxChannel
965// API call, and error handling.
966//
967// This method is useful when you want to inject custom logic or configuration
968// into the SDK's request lifecycle. Such as custom headers, or retry logic.
969//
970//
971//    // Example sending a request using the DeleteApnsSandboxChannelRequest method.
972//    req, resp := client.DeleteApnsSandboxChannelRequest(params)
973//
974//    err := req.Send()
975//    if err == nil { // resp is now filled
976//        fmt.Println(resp)
977//    }
978//
979// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsSandboxChannel
980func (c *Pinpoint) DeleteApnsSandboxChannelRequest(input *DeleteApnsSandboxChannelInput) (req *request.Request, output *DeleteApnsSandboxChannelOutput) {
981	op := &request.Operation{
982		Name:       opDeleteApnsSandboxChannel,
983		HTTPMethod: "DELETE",
984		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
985	}
986
987	if input == nil {
988		input = &DeleteApnsSandboxChannelInput{}
989	}
990
991	output = &DeleteApnsSandboxChannelOutput{}
992	req = c.newRequest(op, input, output)
993	return
994}
995
996// DeleteApnsSandboxChannel API operation for Amazon Pinpoint.
997//
998// Disables the APNs sandbox channel for an application and deletes any existing
999// settings for the channel.
1000//
1001// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1002// with awserr.Error's Code and Message methods to get detailed information about
1003// the error.
1004//
1005// See the AWS API reference guide for Amazon Pinpoint's
1006// API operation DeleteApnsSandboxChannel for usage and error information.
1007//
1008// Returned Error Codes:
1009//   * ErrCodeBadRequestException "BadRequestException"
1010//   Provides information about an API request or response.
1011//
1012//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1013//   Provides information about an API request or response.
1014//
1015//   * ErrCodeForbiddenException "ForbiddenException"
1016//   Provides information about an API request or response.
1017//
1018//   * ErrCodeNotFoundException "NotFoundException"
1019//   Provides information about an API request or response.
1020//
1021//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1022//   Provides information about an API request or response.
1023//
1024//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1025//   Provides information about an API request or response.
1026//
1027// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsSandboxChannel
1028func (c *Pinpoint) DeleteApnsSandboxChannel(input *DeleteApnsSandboxChannelInput) (*DeleteApnsSandboxChannelOutput, error) {
1029	req, out := c.DeleteApnsSandboxChannelRequest(input)
1030	return out, req.Send()
1031}
1032
1033// DeleteApnsSandboxChannelWithContext is the same as DeleteApnsSandboxChannel with the addition of
1034// the ability to pass a context and additional request options.
1035//
1036// See DeleteApnsSandboxChannel for details on how to use this API operation.
1037//
1038// The context must be non-nil and will be used for request cancellation. If
1039// the context is nil a panic will occur. In the future the SDK may create
1040// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1041// for more information on using Contexts.
1042func (c *Pinpoint) DeleteApnsSandboxChannelWithContext(ctx aws.Context, input *DeleteApnsSandboxChannelInput, opts ...request.Option) (*DeleteApnsSandboxChannelOutput, error) {
1043	req, out := c.DeleteApnsSandboxChannelRequest(input)
1044	req.SetContext(ctx)
1045	req.ApplyOptions(opts...)
1046	return out, req.Send()
1047}
1048
1049const opDeleteApnsVoipChannel = "DeleteApnsVoipChannel"
1050
1051// DeleteApnsVoipChannelRequest generates a "aws/request.Request" representing the
1052// client's request for the DeleteApnsVoipChannel operation. The "output" return
1053// value will be populated with the request's response once the request completes
1054// successfully.
1055//
1056// Use "Send" method on the returned Request to send the API call to the service.
1057// the "output" return value is not valid until after Send returns without error.
1058//
1059// See DeleteApnsVoipChannel for more information on using the DeleteApnsVoipChannel
1060// API call, and error handling.
1061//
1062// This method is useful when you want to inject custom logic or configuration
1063// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1064//
1065//
1066//    // Example sending a request using the DeleteApnsVoipChannelRequest method.
1067//    req, resp := client.DeleteApnsVoipChannelRequest(params)
1068//
1069//    err := req.Send()
1070//    if err == nil { // resp is now filled
1071//        fmt.Println(resp)
1072//    }
1073//
1074// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipChannel
1075func (c *Pinpoint) DeleteApnsVoipChannelRequest(input *DeleteApnsVoipChannelInput) (req *request.Request, output *DeleteApnsVoipChannelOutput) {
1076	op := &request.Operation{
1077		Name:       opDeleteApnsVoipChannel,
1078		HTTPMethod: "DELETE",
1079		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
1080	}
1081
1082	if input == nil {
1083		input = &DeleteApnsVoipChannelInput{}
1084	}
1085
1086	output = &DeleteApnsVoipChannelOutput{}
1087	req = c.newRequest(op, input, output)
1088	return
1089}
1090
1091// DeleteApnsVoipChannel API operation for Amazon Pinpoint.
1092//
1093// Disables the APNs VoIP channel for an application and deletes any existing
1094// settings for the channel.
1095//
1096// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1097// with awserr.Error's Code and Message methods to get detailed information about
1098// the error.
1099//
1100// See the AWS API reference guide for Amazon Pinpoint's
1101// API operation DeleteApnsVoipChannel for usage and error information.
1102//
1103// Returned Error Codes:
1104//   * ErrCodeBadRequestException "BadRequestException"
1105//   Provides information about an API request or response.
1106//
1107//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1108//   Provides information about an API request or response.
1109//
1110//   * ErrCodeForbiddenException "ForbiddenException"
1111//   Provides information about an API request or response.
1112//
1113//   * ErrCodeNotFoundException "NotFoundException"
1114//   Provides information about an API request or response.
1115//
1116//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1117//   Provides information about an API request or response.
1118//
1119//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1120//   Provides information about an API request or response.
1121//
1122// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipChannel
1123func (c *Pinpoint) DeleteApnsVoipChannel(input *DeleteApnsVoipChannelInput) (*DeleteApnsVoipChannelOutput, error) {
1124	req, out := c.DeleteApnsVoipChannelRequest(input)
1125	return out, req.Send()
1126}
1127
1128// DeleteApnsVoipChannelWithContext is the same as DeleteApnsVoipChannel with the addition of
1129// the ability to pass a context and additional request options.
1130//
1131// See DeleteApnsVoipChannel for details on how to use this API operation.
1132//
1133// The context must be non-nil and will be used for request cancellation. If
1134// the context is nil a panic will occur. In the future the SDK may create
1135// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1136// for more information on using Contexts.
1137func (c *Pinpoint) DeleteApnsVoipChannelWithContext(ctx aws.Context, input *DeleteApnsVoipChannelInput, opts ...request.Option) (*DeleteApnsVoipChannelOutput, error) {
1138	req, out := c.DeleteApnsVoipChannelRequest(input)
1139	req.SetContext(ctx)
1140	req.ApplyOptions(opts...)
1141	return out, req.Send()
1142}
1143
1144const opDeleteApnsVoipSandboxChannel = "DeleteApnsVoipSandboxChannel"
1145
1146// DeleteApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
1147// client's request for the DeleteApnsVoipSandboxChannel operation. The "output" return
1148// value will be populated with the request's response once the request completes
1149// successfully.
1150//
1151// Use "Send" method on the returned Request to send the API call to the service.
1152// the "output" return value is not valid until after Send returns without error.
1153//
1154// See DeleteApnsVoipSandboxChannel for more information on using the DeleteApnsVoipSandboxChannel
1155// API call, and error handling.
1156//
1157// This method is useful when you want to inject custom logic or configuration
1158// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1159//
1160//
1161//    // Example sending a request using the DeleteApnsVoipSandboxChannelRequest method.
1162//    req, resp := client.DeleteApnsVoipSandboxChannelRequest(params)
1163//
1164//    err := req.Send()
1165//    if err == nil { // resp is now filled
1166//        fmt.Println(resp)
1167//    }
1168//
1169// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipSandboxChannel
1170func (c *Pinpoint) DeleteApnsVoipSandboxChannelRequest(input *DeleteApnsVoipSandboxChannelInput) (req *request.Request, output *DeleteApnsVoipSandboxChannelOutput) {
1171	op := &request.Operation{
1172		Name:       opDeleteApnsVoipSandboxChannel,
1173		HTTPMethod: "DELETE",
1174		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
1175	}
1176
1177	if input == nil {
1178		input = &DeleteApnsVoipSandboxChannelInput{}
1179	}
1180
1181	output = &DeleteApnsVoipSandboxChannelOutput{}
1182	req = c.newRequest(op, input, output)
1183	return
1184}
1185
1186// DeleteApnsVoipSandboxChannel API operation for Amazon Pinpoint.
1187//
1188// Disables the APNs VoIP sandbox channel for an application and deletes any
1189// existing settings for the channel.
1190//
1191// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1192// with awserr.Error's Code and Message methods to get detailed information about
1193// the error.
1194//
1195// See the AWS API reference guide for Amazon Pinpoint's
1196// API operation DeleteApnsVoipSandboxChannel for usage and error information.
1197//
1198// Returned Error Codes:
1199//   * ErrCodeBadRequestException "BadRequestException"
1200//   Provides information about an API request or response.
1201//
1202//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1203//   Provides information about an API request or response.
1204//
1205//   * ErrCodeForbiddenException "ForbiddenException"
1206//   Provides information about an API request or response.
1207//
1208//   * ErrCodeNotFoundException "NotFoundException"
1209//   Provides information about an API request or response.
1210//
1211//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1212//   Provides information about an API request or response.
1213//
1214//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1215//   Provides information about an API request or response.
1216//
1217// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipSandboxChannel
1218func (c *Pinpoint) DeleteApnsVoipSandboxChannel(input *DeleteApnsVoipSandboxChannelInput) (*DeleteApnsVoipSandboxChannelOutput, error) {
1219	req, out := c.DeleteApnsVoipSandboxChannelRequest(input)
1220	return out, req.Send()
1221}
1222
1223// DeleteApnsVoipSandboxChannelWithContext is the same as DeleteApnsVoipSandboxChannel with the addition of
1224// the ability to pass a context and additional request options.
1225//
1226// See DeleteApnsVoipSandboxChannel for details on how to use this API operation.
1227//
1228// The context must be non-nil and will be used for request cancellation. If
1229// the context is nil a panic will occur. In the future the SDK may create
1230// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1231// for more information on using Contexts.
1232func (c *Pinpoint) DeleteApnsVoipSandboxChannelWithContext(ctx aws.Context, input *DeleteApnsVoipSandboxChannelInput, opts ...request.Option) (*DeleteApnsVoipSandboxChannelOutput, error) {
1233	req, out := c.DeleteApnsVoipSandboxChannelRequest(input)
1234	req.SetContext(ctx)
1235	req.ApplyOptions(opts...)
1236	return out, req.Send()
1237}
1238
1239const opDeleteApp = "DeleteApp"
1240
1241// DeleteAppRequest generates a "aws/request.Request" representing the
1242// client's request for the DeleteApp operation. The "output" return
1243// value will be populated with the request's response once the request completes
1244// successfully.
1245//
1246// Use "Send" method on the returned Request to send the API call to the service.
1247// the "output" return value is not valid until after Send returns without error.
1248//
1249// See DeleteApp for more information on using the DeleteApp
1250// API call, and error handling.
1251//
1252// This method is useful when you want to inject custom logic or configuration
1253// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1254//
1255//
1256//    // Example sending a request using the DeleteAppRequest method.
1257//    req, resp := client.DeleteAppRequest(params)
1258//
1259//    err := req.Send()
1260//    if err == nil { // resp is now filled
1261//        fmt.Println(resp)
1262//    }
1263//
1264// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApp
1265func (c *Pinpoint) DeleteAppRequest(input *DeleteAppInput) (req *request.Request, output *DeleteAppOutput) {
1266	op := &request.Operation{
1267		Name:       opDeleteApp,
1268		HTTPMethod: "DELETE",
1269		HTTPPath:   "/v1/apps/{application-id}",
1270	}
1271
1272	if input == nil {
1273		input = &DeleteAppInput{}
1274	}
1275
1276	output = &DeleteAppOutput{}
1277	req = c.newRequest(op, input, output)
1278	return
1279}
1280
1281// DeleteApp API operation for Amazon Pinpoint.
1282//
1283// Deletes an application.
1284//
1285// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1286// with awserr.Error's Code and Message methods to get detailed information about
1287// the error.
1288//
1289// See the AWS API reference guide for Amazon Pinpoint's
1290// API operation DeleteApp for usage and error information.
1291//
1292// Returned Error Codes:
1293//   * ErrCodeBadRequestException "BadRequestException"
1294//   Provides information about an API request or response.
1295//
1296//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1297//   Provides information about an API request or response.
1298//
1299//   * ErrCodeForbiddenException "ForbiddenException"
1300//   Provides information about an API request or response.
1301//
1302//   * ErrCodeNotFoundException "NotFoundException"
1303//   Provides information about an API request or response.
1304//
1305//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1306//   Provides information about an API request or response.
1307//
1308//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1309//   Provides information about an API request or response.
1310//
1311// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApp
1312func (c *Pinpoint) DeleteApp(input *DeleteAppInput) (*DeleteAppOutput, error) {
1313	req, out := c.DeleteAppRequest(input)
1314	return out, req.Send()
1315}
1316
1317// DeleteAppWithContext is the same as DeleteApp with the addition of
1318// the ability to pass a context and additional request options.
1319//
1320// See DeleteApp for details on how to use this API operation.
1321//
1322// The context must be non-nil and will be used for request cancellation. If
1323// the context is nil a panic will occur. In the future the SDK may create
1324// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1325// for more information on using Contexts.
1326func (c *Pinpoint) DeleteAppWithContext(ctx aws.Context, input *DeleteAppInput, opts ...request.Option) (*DeleteAppOutput, error) {
1327	req, out := c.DeleteAppRequest(input)
1328	req.SetContext(ctx)
1329	req.ApplyOptions(opts...)
1330	return out, req.Send()
1331}
1332
1333const opDeleteBaiduChannel = "DeleteBaiduChannel"
1334
1335// DeleteBaiduChannelRequest generates a "aws/request.Request" representing the
1336// client's request for the DeleteBaiduChannel operation. The "output" return
1337// value will be populated with the request's response once the request completes
1338// successfully.
1339//
1340// Use "Send" method on the returned Request to send the API call to the service.
1341// the "output" return value is not valid until after Send returns without error.
1342//
1343// See DeleteBaiduChannel for more information on using the DeleteBaiduChannel
1344// API call, and error handling.
1345//
1346// This method is useful when you want to inject custom logic or configuration
1347// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1348//
1349//
1350//    // Example sending a request using the DeleteBaiduChannelRequest method.
1351//    req, resp := client.DeleteBaiduChannelRequest(params)
1352//
1353//    err := req.Send()
1354//    if err == nil { // resp is now filled
1355//        fmt.Println(resp)
1356//    }
1357//
1358// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteBaiduChannel
1359func (c *Pinpoint) DeleteBaiduChannelRequest(input *DeleteBaiduChannelInput) (req *request.Request, output *DeleteBaiduChannelOutput) {
1360	op := &request.Operation{
1361		Name:       opDeleteBaiduChannel,
1362		HTTPMethod: "DELETE",
1363		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
1364	}
1365
1366	if input == nil {
1367		input = &DeleteBaiduChannelInput{}
1368	}
1369
1370	output = &DeleteBaiduChannelOutput{}
1371	req = c.newRequest(op, input, output)
1372	return
1373}
1374
1375// DeleteBaiduChannel API operation for Amazon Pinpoint.
1376//
1377// Disables the Baidu channel for an application and deletes any existing settings
1378// for the channel.
1379//
1380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1381// with awserr.Error's Code and Message methods to get detailed information about
1382// the error.
1383//
1384// See the AWS API reference guide for Amazon Pinpoint's
1385// API operation DeleteBaiduChannel for usage and error information.
1386//
1387// Returned Error Codes:
1388//   * ErrCodeBadRequestException "BadRequestException"
1389//   Provides information about an API request or response.
1390//
1391//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1392//   Provides information about an API request or response.
1393//
1394//   * ErrCodeForbiddenException "ForbiddenException"
1395//   Provides information about an API request or response.
1396//
1397//   * ErrCodeNotFoundException "NotFoundException"
1398//   Provides information about an API request or response.
1399//
1400//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1401//   Provides information about an API request or response.
1402//
1403//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1404//   Provides information about an API request or response.
1405//
1406// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteBaiduChannel
1407func (c *Pinpoint) DeleteBaiduChannel(input *DeleteBaiduChannelInput) (*DeleteBaiduChannelOutput, error) {
1408	req, out := c.DeleteBaiduChannelRequest(input)
1409	return out, req.Send()
1410}
1411
1412// DeleteBaiduChannelWithContext is the same as DeleteBaiduChannel with the addition of
1413// the ability to pass a context and additional request options.
1414//
1415// See DeleteBaiduChannel for details on how to use this API operation.
1416//
1417// The context must be non-nil and will be used for request cancellation. If
1418// the context is nil a panic will occur. In the future the SDK may create
1419// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1420// for more information on using Contexts.
1421func (c *Pinpoint) DeleteBaiduChannelWithContext(ctx aws.Context, input *DeleteBaiduChannelInput, opts ...request.Option) (*DeleteBaiduChannelOutput, error) {
1422	req, out := c.DeleteBaiduChannelRequest(input)
1423	req.SetContext(ctx)
1424	req.ApplyOptions(opts...)
1425	return out, req.Send()
1426}
1427
1428const opDeleteCampaign = "DeleteCampaign"
1429
1430// DeleteCampaignRequest generates a "aws/request.Request" representing the
1431// client's request for the DeleteCampaign operation. The "output" return
1432// value will be populated with the request's response once the request completes
1433// successfully.
1434//
1435// Use "Send" method on the returned Request to send the API call to the service.
1436// the "output" return value is not valid until after Send returns without error.
1437//
1438// See DeleteCampaign for more information on using the DeleteCampaign
1439// API call, and error handling.
1440//
1441// This method is useful when you want to inject custom logic or configuration
1442// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1443//
1444//
1445//    // Example sending a request using the DeleteCampaignRequest method.
1446//    req, resp := client.DeleteCampaignRequest(params)
1447//
1448//    err := req.Send()
1449//    if err == nil { // resp is now filled
1450//        fmt.Println(resp)
1451//    }
1452//
1453// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteCampaign
1454func (c *Pinpoint) DeleteCampaignRequest(input *DeleteCampaignInput) (req *request.Request, output *DeleteCampaignOutput) {
1455	op := &request.Operation{
1456		Name:       opDeleteCampaign,
1457		HTTPMethod: "DELETE",
1458		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
1459	}
1460
1461	if input == nil {
1462		input = &DeleteCampaignInput{}
1463	}
1464
1465	output = &DeleteCampaignOutput{}
1466	req = c.newRequest(op, input, output)
1467	return
1468}
1469
1470// DeleteCampaign API operation for Amazon Pinpoint.
1471//
1472// Deletes a campaign from an application.
1473//
1474// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1475// with awserr.Error's Code and Message methods to get detailed information about
1476// the error.
1477//
1478// See the AWS API reference guide for Amazon Pinpoint's
1479// API operation DeleteCampaign for usage and error information.
1480//
1481// Returned Error Codes:
1482//   * ErrCodeBadRequestException "BadRequestException"
1483//   Provides information about an API request or response.
1484//
1485//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1486//   Provides information about an API request or response.
1487//
1488//   * ErrCodeForbiddenException "ForbiddenException"
1489//   Provides information about an API request or response.
1490//
1491//   * ErrCodeNotFoundException "NotFoundException"
1492//   Provides information about an API request or response.
1493//
1494//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1495//   Provides information about an API request or response.
1496//
1497//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1498//   Provides information about an API request or response.
1499//
1500// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteCampaign
1501func (c *Pinpoint) DeleteCampaign(input *DeleteCampaignInput) (*DeleteCampaignOutput, error) {
1502	req, out := c.DeleteCampaignRequest(input)
1503	return out, req.Send()
1504}
1505
1506// DeleteCampaignWithContext is the same as DeleteCampaign with the addition of
1507// the ability to pass a context and additional request options.
1508//
1509// See DeleteCampaign for details on how to use this API operation.
1510//
1511// The context must be non-nil and will be used for request cancellation. If
1512// the context is nil a panic will occur. In the future the SDK may create
1513// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1514// for more information on using Contexts.
1515func (c *Pinpoint) DeleteCampaignWithContext(ctx aws.Context, input *DeleteCampaignInput, opts ...request.Option) (*DeleteCampaignOutput, error) {
1516	req, out := c.DeleteCampaignRequest(input)
1517	req.SetContext(ctx)
1518	req.ApplyOptions(opts...)
1519	return out, req.Send()
1520}
1521
1522const opDeleteEmailChannel = "DeleteEmailChannel"
1523
1524// DeleteEmailChannelRequest generates a "aws/request.Request" representing the
1525// client's request for the DeleteEmailChannel operation. The "output" return
1526// value will be populated with the request's response once the request completes
1527// successfully.
1528//
1529// Use "Send" method on the returned Request to send the API call to the service.
1530// the "output" return value is not valid until after Send returns without error.
1531//
1532// See DeleteEmailChannel for more information on using the DeleteEmailChannel
1533// API call, and error handling.
1534//
1535// This method is useful when you want to inject custom logic or configuration
1536// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1537//
1538//
1539//    // Example sending a request using the DeleteEmailChannelRequest method.
1540//    req, resp := client.DeleteEmailChannelRequest(params)
1541//
1542//    err := req.Send()
1543//    if err == nil { // resp is now filled
1544//        fmt.Println(resp)
1545//    }
1546//
1547// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailChannel
1548func (c *Pinpoint) DeleteEmailChannelRequest(input *DeleteEmailChannelInput) (req *request.Request, output *DeleteEmailChannelOutput) {
1549	op := &request.Operation{
1550		Name:       opDeleteEmailChannel,
1551		HTTPMethod: "DELETE",
1552		HTTPPath:   "/v1/apps/{application-id}/channels/email",
1553	}
1554
1555	if input == nil {
1556		input = &DeleteEmailChannelInput{}
1557	}
1558
1559	output = &DeleteEmailChannelOutput{}
1560	req = c.newRequest(op, input, output)
1561	return
1562}
1563
1564// DeleteEmailChannel API operation for Amazon Pinpoint.
1565//
1566// Disables the email channel for an application and deletes any existing settings
1567// for the channel.
1568//
1569// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1570// with awserr.Error's Code and Message methods to get detailed information about
1571// the error.
1572//
1573// See the AWS API reference guide for Amazon Pinpoint's
1574// API operation DeleteEmailChannel for usage and error information.
1575//
1576// Returned Error Codes:
1577//   * ErrCodeBadRequestException "BadRequestException"
1578//   Provides information about an API request or response.
1579//
1580//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1581//   Provides information about an API request or response.
1582//
1583//   * ErrCodeForbiddenException "ForbiddenException"
1584//   Provides information about an API request or response.
1585//
1586//   * ErrCodeNotFoundException "NotFoundException"
1587//   Provides information about an API request or response.
1588//
1589//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1590//   Provides information about an API request or response.
1591//
1592//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1593//   Provides information about an API request or response.
1594//
1595// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailChannel
1596func (c *Pinpoint) DeleteEmailChannel(input *DeleteEmailChannelInput) (*DeleteEmailChannelOutput, error) {
1597	req, out := c.DeleteEmailChannelRequest(input)
1598	return out, req.Send()
1599}
1600
1601// DeleteEmailChannelWithContext is the same as DeleteEmailChannel with the addition of
1602// the ability to pass a context and additional request options.
1603//
1604// See DeleteEmailChannel for details on how to use this API operation.
1605//
1606// The context must be non-nil and will be used for request cancellation. If
1607// the context is nil a panic will occur. In the future the SDK may create
1608// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1609// for more information on using Contexts.
1610func (c *Pinpoint) DeleteEmailChannelWithContext(ctx aws.Context, input *DeleteEmailChannelInput, opts ...request.Option) (*DeleteEmailChannelOutput, error) {
1611	req, out := c.DeleteEmailChannelRequest(input)
1612	req.SetContext(ctx)
1613	req.ApplyOptions(opts...)
1614	return out, req.Send()
1615}
1616
1617const opDeleteEmailTemplate = "DeleteEmailTemplate"
1618
1619// DeleteEmailTemplateRequest generates a "aws/request.Request" representing the
1620// client's request for the DeleteEmailTemplate operation. The "output" return
1621// value will be populated with the request's response once the request completes
1622// successfully.
1623//
1624// Use "Send" method on the returned Request to send the API call to the service.
1625// the "output" return value is not valid until after Send returns without error.
1626//
1627// See DeleteEmailTemplate for more information on using the DeleteEmailTemplate
1628// API call, and error handling.
1629//
1630// This method is useful when you want to inject custom logic or configuration
1631// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1632//
1633//
1634//    // Example sending a request using the DeleteEmailTemplateRequest method.
1635//    req, resp := client.DeleteEmailTemplateRequest(params)
1636//
1637//    err := req.Send()
1638//    if err == nil { // resp is now filled
1639//        fmt.Println(resp)
1640//    }
1641//
1642// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailTemplate
1643func (c *Pinpoint) DeleteEmailTemplateRequest(input *DeleteEmailTemplateInput) (req *request.Request, output *DeleteEmailTemplateOutput) {
1644	op := &request.Operation{
1645		Name:       opDeleteEmailTemplate,
1646		HTTPMethod: "DELETE",
1647		HTTPPath:   "/v1/templates/{template-name}/email",
1648	}
1649
1650	if input == nil {
1651		input = &DeleteEmailTemplateInput{}
1652	}
1653
1654	output = &DeleteEmailTemplateOutput{}
1655	req = c.newRequest(op, input, output)
1656	return
1657}
1658
1659// DeleteEmailTemplate API operation for Amazon Pinpoint.
1660//
1661// Deletes a message template that was designed for use in messages that were
1662// sent through the email channel.
1663//
1664// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1665// with awserr.Error's Code and Message methods to get detailed information about
1666// the error.
1667//
1668// See the AWS API reference guide for Amazon Pinpoint's
1669// API operation DeleteEmailTemplate for usage and error information.
1670//
1671// Returned Error Codes:
1672//   * ErrCodeBadRequestException "BadRequestException"
1673//   Provides information about an API request or response.
1674//
1675//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1676//   Provides information about an API request or response.
1677//
1678//   * ErrCodeForbiddenException "ForbiddenException"
1679//   Provides information about an API request or response.
1680//
1681//   * ErrCodeNotFoundException "NotFoundException"
1682//   Provides information about an API request or response.
1683//
1684//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1685//   Provides information about an API request or response.
1686//
1687//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1688//   Provides information about an API request or response.
1689//
1690// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailTemplate
1691func (c *Pinpoint) DeleteEmailTemplate(input *DeleteEmailTemplateInput) (*DeleteEmailTemplateOutput, error) {
1692	req, out := c.DeleteEmailTemplateRequest(input)
1693	return out, req.Send()
1694}
1695
1696// DeleteEmailTemplateWithContext is the same as DeleteEmailTemplate with the addition of
1697// the ability to pass a context and additional request options.
1698//
1699// See DeleteEmailTemplate for details on how to use this API operation.
1700//
1701// The context must be non-nil and will be used for request cancellation. If
1702// the context is nil a panic will occur. In the future the SDK may create
1703// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1704// for more information on using Contexts.
1705func (c *Pinpoint) DeleteEmailTemplateWithContext(ctx aws.Context, input *DeleteEmailTemplateInput, opts ...request.Option) (*DeleteEmailTemplateOutput, error) {
1706	req, out := c.DeleteEmailTemplateRequest(input)
1707	req.SetContext(ctx)
1708	req.ApplyOptions(opts...)
1709	return out, req.Send()
1710}
1711
1712const opDeleteEndpoint = "DeleteEndpoint"
1713
1714// DeleteEndpointRequest generates a "aws/request.Request" representing the
1715// client's request for the DeleteEndpoint operation. The "output" return
1716// value will be populated with the request's response once the request completes
1717// successfully.
1718//
1719// Use "Send" method on the returned Request to send the API call to the service.
1720// the "output" return value is not valid until after Send returns without error.
1721//
1722// See DeleteEndpoint for more information on using the DeleteEndpoint
1723// API call, and error handling.
1724//
1725// This method is useful when you want to inject custom logic or configuration
1726// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1727//
1728//
1729//    // Example sending a request using the DeleteEndpointRequest method.
1730//    req, resp := client.DeleteEndpointRequest(params)
1731//
1732//    err := req.Send()
1733//    if err == nil { // resp is now filled
1734//        fmt.Println(resp)
1735//    }
1736//
1737// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEndpoint
1738func (c *Pinpoint) DeleteEndpointRequest(input *DeleteEndpointInput) (req *request.Request, output *DeleteEndpointOutput) {
1739	op := &request.Operation{
1740		Name:       opDeleteEndpoint,
1741		HTTPMethod: "DELETE",
1742		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
1743	}
1744
1745	if input == nil {
1746		input = &DeleteEndpointInput{}
1747	}
1748
1749	output = &DeleteEndpointOutput{}
1750	req = c.newRequest(op, input, output)
1751	return
1752}
1753
1754// DeleteEndpoint API operation for Amazon Pinpoint.
1755//
1756// Deletes an endpoint from an application.
1757//
1758// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1759// with awserr.Error's Code and Message methods to get detailed information about
1760// the error.
1761//
1762// See the AWS API reference guide for Amazon Pinpoint's
1763// API operation DeleteEndpoint for usage and error information.
1764//
1765// Returned Error Codes:
1766//   * ErrCodeBadRequestException "BadRequestException"
1767//   Provides information about an API request or response.
1768//
1769//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1770//   Provides information about an API request or response.
1771//
1772//   * ErrCodeForbiddenException "ForbiddenException"
1773//   Provides information about an API request or response.
1774//
1775//   * ErrCodeNotFoundException "NotFoundException"
1776//   Provides information about an API request or response.
1777//
1778//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1779//   Provides information about an API request or response.
1780//
1781//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1782//   Provides information about an API request or response.
1783//
1784// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEndpoint
1785func (c *Pinpoint) DeleteEndpoint(input *DeleteEndpointInput) (*DeleteEndpointOutput, error) {
1786	req, out := c.DeleteEndpointRequest(input)
1787	return out, req.Send()
1788}
1789
1790// DeleteEndpointWithContext is the same as DeleteEndpoint with the addition of
1791// the ability to pass a context and additional request options.
1792//
1793// See DeleteEndpoint for details on how to use this API operation.
1794//
1795// The context must be non-nil and will be used for request cancellation. If
1796// the context is nil a panic will occur. In the future the SDK may create
1797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1798// for more information on using Contexts.
1799func (c *Pinpoint) DeleteEndpointWithContext(ctx aws.Context, input *DeleteEndpointInput, opts ...request.Option) (*DeleteEndpointOutput, error) {
1800	req, out := c.DeleteEndpointRequest(input)
1801	req.SetContext(ctx)
1802	req.ApplyOptions(opts...)
1803	return out, req.Send()
1804}
1805
1806const opDeleteEventStream = "DeleteEventStream"
1807
1808// DeleteEventStreamRequest generates a "aws/request.Request" representing the
1809// client's request for the DeleteEventStream operation. The "output" return
1810// value will be populated with the request's response once the request completes
1811// successfully.
1812//
1813// Use "Send" method on the returned Request to send the API call to the service.
1814// the "output" return value is not valid until after Send returns without error.
1815//
1816// See DeleteEventStream for more information on using the DeleteEventStream
1817// API call, and error handling.
1818//
1819// This method is useful when you want to inject custom logic or configuration
1820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1821//
1822//
1823//    // Example sending a request using the DeleteEventStreamRequest method.
1824//    req, resp := client.DeleteEventStreamRequest(params)
1825//
1826//    err := req.Send()
1827//    if err == nil { // resp is now filled
1828//        fmt.Println(resp)
1829//    }
1830//
1831// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStream
1832func (c *Pinpoint) DeleteEventStreamRequest(input *DeleteEventStreamInput) (req *request.Request, output *DeleteEventStreamOutput) {
1833	op := &request.Operation{
1834		Name:       opDeleteEventStream,
1835		HTTPMethod: "DELETE",
1836		HTTPPath:   "/v1/apps/{application-id}/eventstream",
1837	}
1838
1839	if input == nil {
1840		input = &DeleteEventStreamInput{}
1841	}
1842
1843	output = &DeleteEventStreamOutput{}
1844	req = c.newRequest(op, input, output)
1845	return
1846}
1847
1848// DeleteEventStream API operation for Amazon Pinpoint.
1849//
1850// Deletes the event stream for an application.
1851//
1852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1853// with awserr.Error's Code and Message methods to get detailed information about
1854// the error.
1855//
1856// See the AWS API reference guide for Amazon Pinpoint's
1857// API operation DeleteEventStream for usage and error information.
1858//
1859// Returned Error Codes:
1860//   * ErrCodeBadRequestException "BadRequestException"
1861//   Provides information about an API request or response.
1862//
1863//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1864//   Provides information about an API request or response.
1865//
1866//   * ErrCodeForbiddenException "ForbiddenException"
1867//   Provides information about an API request or response.
1868//
1869//   * ErrCodeNotFoundException "NotFoundException"
1870//   Provides information about an API request or response.
1871//
1872//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1873//   Provides information about an API request or response.
1874//
1875//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1876//   Provides information about an API request or response.
1877//
1878// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStream
1879func (c *Pinpoint) DeleteEventStream(input *DeleteEventStreamInput) (*DeleteEventStreamOutput, error) {
1880	req, out := c.DeleteEventStreamRequest(input)
1881	return out, req.Send()
1882}
1883
1884// DeleteEventStreamWithContext is the same as DeleteEventStream with the addition of
1885// the ability to pass a context and additional request options.
1886//
1887// See DeleteEventStream for details on how to use this API operation.
1888//
1889// The context must be non-nil and will be used for request cancellation. If
1890// the context is nil a panic will occur. In the future the SDK may create
1891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1892// for more information on using Contexts.
1893func (c *Pinpoint) DeleteEventStreamWithContext(ctx aws.Context, input *DeleteEventStreamInput, opts ...request.Option) (*DeleteEventStreamOutput, error) {
1894	req, out := c.DeleteEventStreamRequest(input)
1895	req.SetContext(ctx)
1896	req.ApplyOptions(opts...)
1897	return out, req.Send()
1898}
1899
1900const opDeleteGcmChannel = "DeleteGcmChannel"
1901
1902// DeleteGcmChannelRequest generates a "aws/request.Request" representing the
1903// client's request for the DeleteGcmChannel operation. The "output" return
1904// value will be populated with the request's response once the request completes
1905// successfully.
1906//
1907// Use "Send" method on the returned Request to send the API call to the service.
1908// the "output" return value is not valid until after Send returns without error.
1909//
1910// See DeleteGcmChannel for more information on using the DeleteGcmChannel
1911// API call, and error handling.
1912//
1913// This method is useful when you want to inject custom logic or configuration
1914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1915//
1916//
1917//    // Example sending a request using the DeleteGcmChannelRequest method.
1918//    req, resp := client.DeleteGcmChannelRequest(params)
1919//
1920//    err := req.Send()
1921//    if err == nil { // resp is now filled
1922//        fmt.Println(resp)
1923//    }
1924//
1925// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteGcmChannel
1926func (c *Pinpoint) DeleteGcmChannelRequest(input *DeleteGcmChannelInput) (req *request.Request, output *DeleteGcmChannelOutput) {
1927	op := &request.Operation{
1928		Name:       opDeleteGcmChannel,
1929		HTTPMethod: "DELETE",
1930		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
1931	}
1932
1933	if input == nil {
1934		input = &DeleteGcmChannelInput{}
1935	}
1936
1937	output = &DeleteGcmChannelOutput{}
1938	req = c.newRequest(op, input, output)
1939	return
1940}
1941
1942// DeleteGcmChannel API operation for Amazon Pinpoint.
1943//
1944// Disables the GCM channel for an application and deletes any existing settings
1945// for the channel.
1946//
1947// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1948// with awserr.Error's Code and Message methods to get detailed information about
1949// the error.
1950//
1951// See the AWS API reference guide for Amazon Pinpoint's
1952// API operation DeleteGcmChannel for usage and error information.
1953//
1954// Returned Error Codes:
1955//   * ErrCodeBadRequestException "BadRequestException"
1956//   Provides information about an API request or response.
1957//
1958//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1959//   Provides information about an API request or response.
1960//
1961//   * ErrCodeForbiddenException "ForbiddenException"
1962//   Provides information about an API request or response.
1963//
1964//   * ErrCodeNotFoundException "NotFoundException"
1965//   Provides information about an API request or response.
1966//
1967//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1968//   Provides information about an API request or response.
1969//
1970//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1971//   Provides information about an API request or response.
1972//
1973// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteGcmChannel
1974func (c *Pinpoint) DeleteGcmChannel(input *DeleteGcmChannelInput) (*DeleteGcmChannelOutput, error) {
1975	req, out := c.DeleteGcmChannelRequest(input)
1976	return out, req.Send()
1977}
1978
1979// DeleteGcmChannelWithContext is the same as DeleteGcmChannel with the addition of
1980// the ability to pass a context and additional request options.
1981//
1982// See DeleteGcmChannel for details on how to use this API operation.
1983//
1984// The context must be non-nil and will be used for request cancellation. If
1985// the context is nil a panic will occur. In the future the SDK may create
1986// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1987// for more information on using Contexts.
1988func (c *Pinpoint) DeleteGcmChannelWithContext(ctx aws.Context, input *DeleteGcmChannelInput, opts ...request.Option) (*DeleteGcmChannelOutput, error) {
1989	req, out := c.DeleteGcmChannelRequest(input)
1990	req.SetContext(ctx)
1991	req.ApplyOptions(opts...)
1992	return out, req.Send()
1993}
1994
1995const opDeletePushTemplate = "DeletePushTemplate"
1996
1997// DeletePushTemplateRequest generates a "aws/request.Request" representing the
1998// client's request for the DeletePushTemplate operation. The "output" return
1999// value will be populated with the request's response once the request completes
2000// successfully.
2001//
2002// Use "Send" method on the returned Request to send the API call to the service.
2003// the "output" return value is not valid until after Send returns without error.
2004//
2005// See DeletePushTemplate for more information on using the DeletePushTemplate
2006// API call, and error handling.
2007//
2008// This method is useful when you want to inject custom logic or configuration
2009// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2010//
2011//
2012//    // Example sending a request using the DeletePushTemplateRequest method.
2013//    req, resp := client.DeletePushTemplateRequest(params)
2014//
2015//    err := req.Send()
2016//    if err == nil { // resp is now filled
2017//        fmt.Println(resp)
2018//    }
2019//
2020// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeletePushTemplate
2021func (c *Pinpoint) DeletePushTemplateRequest(input *DeletePushTemplateInput) (req *request.Request, output *DeletePushTemplateOutput) {
2022	op := &request.Operation{
2023		Name:       opDeletePushTemplate,
2024		HTTPMethod: "DELETE",
2025		HTTPPath:   "/v1/templates/{template-name}/push",
2026	}
2027
2028	if input == nil {
2029		input = &DeletePushTemplateInput{}
2030	}
2031
2032	output = &DeletePushTemplateOutput{}
2033	req = c.newRequest(op, input, output)
2034	return
2035}
2036
2037// DeletePushTemplate API operation for Amazon Pinpoint.
2038//
2039// Deletes a message template that was designed for use in messages that were
2040// sent through a push notification channel.
2041//
2042// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2043// with awserr.Error's Code and Message methods to get detailed information about
2044// the error.
2045//
2046// See the AWS API reference guide for Amazon Pinpoint's
2047// API operation DeletePushTemplate for usage and error information.
2048//
2049// Returned Error Codes:
2050//   * ErrCodeBadRequestException "BadRequestException"
2051//   Provides information about an API request or response.
2052//
2053//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2054//   Provides information about an API request or response.
2055//
2056//   * ErrCodeForbiddenException "ForbiddenException"
2057//   Provides information about an API request or response.
2058//
2059//   * ErrCodeNotFoundException "NotFoundException"
2060//   Provides information about an API request or response.
2061//
2062//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2063//   Provides information about an API request or response.
2064//
2065//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2066//   Provides information about an API request or response.
2067//
2068// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeletePushTemplate
2069func (c *Pinpoint) DeletePushTemplate(input *DeletePushTemplateInput) (*DeletePushTemplateOutput, error) {
2070	req, out := c.DeletePushTemplateRequest(input)
2071	return out, req.Send()
2072}
2073
2074// DeletePushTemplateWithContext is the same as DeletePushTemplate with the addition of
2075// the ability to pass a context and additional request options.
2076//
2077// See DeletePushTemplate for details on how to use this API operation.
2078//
2079// The context must be non-nil and will be used for request cancellation. If
2080// the context is nil a panic will occur. In the future the SDK may create
2081// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2082// for more information on using Contexts.
2083func (c *Pinpoint) DeletePushTemplateWithContext(ctx aws.Context, input *DeletePushTemplateInput, opts ...request.Option) (*DeletePushTemplateOutput, error) {
2084	req, out := c.DeletePushTemplateRequest(input)
2085	req.SetContext(ctx)
2086	req.ApplyOptions(opts...)
2087	return out, req.Send()
2088}
2089
2090const opDeleteSegment = "DeleteSegment"
2091
2092// DeleteSegmentRequest generates a "aws/request.Request" representing the
2093// client's request for the DeleteSegment operation. The "output" return
2094// value will be populated with the request's response once the request completes
2095// successfully.
2096//
2097// Use "Send" method on the returned Request to send the API call to the service.
2098// the "output" return value is not valid until after Send returns without error.
2099//
2100// See DeleteSegment for more information on using the DeleteSegment
2101// API call, and error handling.
2102//
2103// This method is useful when you want to inject custom logic or configuration
2104// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2105//
2106//
2107//    // Example sending a request using the DeleteSegmentRequest method.
2108//    req, resp := client.DeleteSegmentRequest(params)
2109//
2110//    err := req.Send()
2111//    if err == nil { // resp is now filled
2112//        fmt.Println(resp)
2113//    }
2114//
2115// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSegment
2116func (c *Pinpoint) DeleteSegmentRequest(input *DeleteSegmentInput) (req *request.Request, output *DeleteSegmentOutput) {
2117	op := &request.Operation{
2118		Name:       opDeleteSegment,
2119		HTTPMethod: "DELETE",
2120		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
2121	}
2122
2123	if input == nil {
2124		input = &DeleteSegmentInput{}
2125	}
2126
2127	output = &DeleteSegmentOutput{}
2128	req = c.newRequest(op, input, output)
2129	return
2130}
2131
2132// DeleteSegment API operation for Amazon Pinpoint.
2133//
2134// Deletes a segment from an application.
2135//
2136// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2137// with awserr.Error's Code and Message methods to get detailed information about
2138// the error.
2139//
2140// See the AWS API reference guide for Amazon Pinpoint's
2141// API operation DeleteSegment for usage and error information.
2142//
2143// Returned Error Codes:
2144//   * ErrCodeBadRequestException "BadRequestException"
2145//   Provides information about an API request or response.
2146//
2147//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2148//   Provides information about an API request or response.
2149//
2150//   * ErrCodeForbiddenException "ForbiddenException"
2151//   Provides information about an API request or response.
2152//
2153//   * ErrCodeNotFoundException "NotFoundException"
2154//   Provides information about an API request or response.
2155//
2156//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2157//   Provides information about an API request or response.
2158//
2159//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2160//   Provides information about an API request or response.
2161//
2162// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSegment
2163func (c *Pinpoint) DeleteSegment(input *DeleteSegmentInput) (*DeleteSegmentOutput, error) {
2164	req, out := c.DeleteSegmentRequest(input)
2165	return out, req.Send()
2166}
2167
2168// DeleteSegmentWithContext is the same as DeleteSegment with the addition of
2169// the ability to pass a context and additional request options.
2170//
2171// See DeleteSegment for details on how to use this API operation.
2172//
2173// The context must be non-nil and will be used for request cancellation. If
2174// the context is nil a panic will occur. In the future the SDK may create
2175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2176// for more information on using Contexts.
2177func (c *Pinpoint) DeleteSegmentWithContext(ctx aws.Context, input *DeleteSegmentInput, opts ...request.Option) (*DeleteSegmentOutput, error) {
2178	req, out := c.DeleteSegmentRequest(input)
2179	req.SetContext(ctx)
2180	req.ApplyOptions(opts...)
2181	return out, req.Send()
2182}
2183
2184const opDeleteSmsChannel = "DeleteSmsChannel"
2185
2186// DeleteSmsChannelRequest generates a "aws/request.Request" representing the
2187// client's request for the DeleteSmsChannel operation. The "output" return
2188// value will be populated with the request's response once the request completes
2189// successfully.
2190//
2191// Use "Send" method on the returned Request to send the API call to the service.
2192// the "output" return value is not valid until after Send returns without error.
2193//
2194// See DeleteSmsChannel for more information on using the DeleteSmsChannel
2195// API call, and error handling.
2196//
2197// This method is useful when you want to inject custom logic or configuration
2198// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2199//
2200//
2201//    // Example sending a request using the DeleteSmsChannelRequest method.
2202//    req, resp := client.DeleteSmsChannelRequest(params)
2203//
2204//    err := req.Send()
2205//    if err == nil { // resp is now filled
2206//        fmt.Println(resp)
2207//    }
2208//
2209// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsChannel
2210func (c *Pinpoint) DeleteSmsChannelRequest(input *DeleteSmsChannelInput) (req *request.Request, output *DeleteSmsChannelOutput) {
2211	op := &request.Operation{
2212		Name:       opDeleteSmsChannel,
2213		HTTPMethod: "DELETE",
2214		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
2215	}
2216
2217	if input == nil {
2218		input = &DeleteSmsChannelInput{}
2219	}
2220
2221	output = &DeleteSmsChannelOutput{}
2222	req = c.newRequest(op, input, output)
2223	return
2224}
2225
2226// DeleteSmsChannel API operation for Amazon Pinpoint.
2227//
2228// Disables the SMS channel for an application and deletes any existing settings
2229// for the channel.
2230//
2231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2232// with awserr.Error's Code and Message methods to get detailed information about
2233// the error.
2234//
2235// See the AWS API reference guide for Amazon Pinpoint's
2236// API operation DeleteSmsChannel for usage and error information.
2237//
2238// Returned Error Codes:
2239//   * ErrCodeBadRequestException "BadRequestException"
2240//   Provides information about an API request or response.
2241//
2242//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2243//   Provides information about an API request or response.
2244//
2245//   * ErrCodeForbiddenException "ForbiddenException"
2246//   Provides information about an API request or response.
2247//
2248//   * ErrCodeNotFoundException "NotFoundException"
2249//   Provides information about an API request or response.
2250//
2251//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2252//   Provides information about an API request or response.
2253//
2254//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2255//   Provides information about an API request or response.
2256//
2257// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsChannel
2258func (c *Pinpoint) DeleteSmsChannel(input *DeleteSmsChannelInput) (*DeleteSmsChannelOutput, error) {
2259	req, out := c.DeleteSmsChannelRequest(input)
2260	return out, req.Send()
2261}
2262
2263// DeleteSmsChannelWithContext is the same as DeleteSmsChannel with the addition of
2264// the ability to pass a context and additional request options.
2265//
2266// See DeleteSmsChannel for details on how to use this API operation.
2267//
2268// The context must be non-nil and will be used for request cancellation. If
2269// the context is nil a panic will occur. In the future the SDK may create
2270// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2271// for more information on using Contexts.
2272func (c *Pinpoint) DeleteSmsChannelWithContext(ctx aws.Context, input *DeleteSmsChannelInput, opts ...request.Option) (*DeleteSmsChannelOutput, error) {
2273	req, out := c.DeleteSmsChannelRequest(input)
2274	req.SetContext(ctx)
2275	req.ApplyOptions(opts...)
2276	return out, req.Send()
2277}
2278
2279const opDeleteSmsTemplate = "DeleteSmsTemplate"
2280
2281// DeleteSmsTemplateRequest generates a "aws/request.Request" representing the
2282// client's request for the DeleteSmsTemplate operation. The "output" return
2283// value will be populated with the request's response once the request completes
2284// successfully.
2285//
2286// Use "Send" method on the returned Request to send the API call to the service.
2287// the "output" return value is not valid until after Send returns without error.
2288//
2289// See DeleteSmsTemplate for more information on using the DeleteSmsTemplate
2290// API call, and error handling.
2291//
2292// This method is useful when you want to inject custom logic or configuration
2293// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2294//
2295//
2296//    // Example sending a request using the DeleteSmsTemplateRequest method.
2297//    req, resp := client.DeleteSmsTemplateRequest(params)
2298//
2299//    err := req.Send()
2300//    if err == nil { // resp is now filled
2301//        fmt.Println(resp)
2302//    }
2303//
2304// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsTemplate
2305func (c *Pinpoint) DeleteSmsTemplateRequest(input *DeleteSmsTemplateInput) (req *request.Request, output *DeleteSmsTemplateOutput) {
2306	op := &request.Operation{
2307		Name:       opDeleteSmsTemplate,
2308		HTTPMethod: "DELETE",
2309		HTTPPath:   "/v1/templates/{template-name}/sms",
2310	}
2311
2312	if input == nil {
2313		input = &DeleteSmsTemplateInput{}
2314	}
2315
2316	output = &DeleteSmsTemplateOutput{}
2317	req = c.newRequest(op, input, output)
2318	return
2319}
2320
2321// DeleteSmsTemplate API operation for Amazon Pinpoint.
2322//
2323// Deletes a message template that was designed for use in messages that were
2324// sent through the SMS channel.
2325//
2326// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2327// with awserr.Error's Code and Message methods to get detailed information about
2328// the error.
2329//
2330// See the AWS API reference guide for Amazon Pinpoint's
2331// API operation DeleteSmsTemplate for usage and error information.
2332//
2333// Returned Error Codes:
2334//   * ErrCodeBadRequestException "BadRequestException"
2335//   Provides information about an API request or response.
2336//
2337//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2338//   Provides information about an API request or response.
2339//
2340//   * ErrCodeForbiddenException "ForbiddenException"
2341//   Provides information about an API request or response.
2342//
2343//   * ErrCodeNotFoundException "NotFoundException"
2344//   Provides information about an API request or response.
2345//
2346//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2347//   Provides information about an API request or response.
2348//
2349//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2350//   Provides information about an API request or response.
2351//
2352// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsTemplate
2353func (c *Pinpoint) DeleteSmsTemplate(input *DeleteSmsTemplateInput) (*DeleteSmsTemplateOutput, error) {
2354	req, out := c.DeleteSmsTemplateRequest(input)
2355	return out, req.Send()
2356}
2357
2358// DeleteSmsTemplateWithContext is the same as DeleteSmsTemplate with the addition of
2359// the ability to pass a context and additional request options.
2360//
2361// See DeleteSmsTemplate for details on how to use this API operation.
2362//
2363// The context must be non-nil and will be used for request cancellation. If
2364// the context is nil a panic will occur. In the future the SDK may create
2365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2366// for more information on using Contexts.
2367func (c *Pinpoint) DeleteSmsTemplateWithContext(ctx aws.Context, input *DeleteSmsTemplateInput, opts ...request.Option) (*DeleteSmsTemplateOutput, error) {
2368	req, out := c.DeleteSmsTemplateRequest(input)
2369	req.SetContext(ctx)
2370	req.ApplyOptions(opts...)
2371	return out, req.Send()
2372}
2373
2374const opDeleteUserEndpoints = "DeleteUserEndpoints"
2375
2376// DeleteUserEndpointsRequest generates a "aws/request.Request" representing the
2377// client's request for the DeleteUserEndpoints operation. The "output" return
2378// value will be populated with the request's response once the request completes
2379// successfully.
2380//
2381// Use "Send" method on the returned Request to send the API call to the service.
2382// the "output" return value is not valid until after Send returns without error.
2383//
2384// See DeleteUserEndpoints for more information on using the DeleteUserEndpoints
2385// API call, and error handling.
2386//
2387// This method is useful when you want to inject custom logic or configuration
2388// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2389//
2390//
2391//    // Example sending a request using the DeleteUserEndpointsRequest method.
2392//    req, resp := client.DeleteUserEndpointsRequest(params)
2393//
2394//    err := req.Send()
2395//    if err == nil { // resp is now filled
2396//        fmt.Println(resp)
2397//    }
2398//
2399// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteUserEndpoints
2400func (c *Pinpoint) DeleteUserEndpointsRequest(input *DeleteUserEndpointsInput) (req *request.Request, output *DeleteUserEndpointsOutput) {
2401	op := &request.Operation{
2402		Name:       opDeleteUserEndpoints,
2403		HTTPMethod: "DELETE",
2404		HTTPPath:   "/v1/apps/{application-id}/users/{user-id}",
2405	}
2406
2407	if input == nil {
2408		input = &DeleteUserEndpointsInput{}
2409	}
2410
2411	output = &DeleteUserEndpointsOutput{}
2412	req = c.newRequest(op, input, output)
2413	return
2414}
2415
2416// DeleteUserEndpoints API operation for Amazon Pinpoint.
2417//
2418// Deletes all the endpoints that are associated with a specific user ID.
2419//
2420// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2421// with awserr.Error's Code and Message methods to get detailed information about
2422// the error.
2423//
2424// See the AWS API reference guide for Amazon Pinpoint's
2425// API operation DeleteUserEndpoints for usage and error information.
2426//
2427// Returned Error Codes:
2428//   * ErrCodeBadRequestException "BadRequestException"
2429//   Provides information about an API request or response.
2430//
2431//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2432//   Provides information about an API request or response.
2433//
2434//   * ErrCodeForbiddenException "ForbiddenException"
2435//   Provides information about an API request or response.
2436//
2437//   * ErrCodeNotFoundException "NotFoundException"
2438//   Provides information about an API request or response.
2439//
2440//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2441//   Provides information about an API request or response.
2442//
2443//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2444//   Provides information about an API request or response.
2445//
2446// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteUserEndpoints
2447func (c *Pinpoint) DeleteUserEndpoints(input *DeleteUserEndpointsInput) (*DeleteUserEndpointsOutput, error) {
2448	req, out := c.DeleteUserEndpointsRequest(input)
2449	return out, req.Send()
2450}
2451
2452// DeleteUserEndpointsWithContext is the same as DeleteUserEndpoints with the addition of
2453// the ability to pass a context and additional request options.
2454//
2455// See DeleteUserEndpoints for details on how to use this API operation.
2456//
2457// The context must be non-nil and will be used for request cancellation. If
2458// the context is nil a panic will occur. In the future the SDK may create
2459// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2460// for more information on using Contexts.
2461func (c *Pinpoint) DeleteUserEndpointsWithContext(ctx aws.Context, input *DeleteUserEndpointsInput, opts ...request.Option) (*DeleteUserEndpointsOutput, error) {
2462	req, out := c.DeleteUserEndpointsRequest(input)
2463	req.SetContext(ctx)
2464	req.ApplyOptions(opts...)
2465	return out, req.Send()
2466}
2467
2468const opDeleteVoiceChannel = "DeleteVoiceChannel"
2469
2470// DeleteVoiceChannelRequest generates a "aws/request.Request" representing the
2471// client's request for the DeleteVoiceChannel operation. The "output" return
2472// value will be populated with the request's response once the request completes
2473// successfully.
2474//
2475// Use "Send" method on the returned Request to send the API call to the service.
2476// the "output" return value is not valid until after Send returns without error.
2477//
2478// See DeleteVoiceChannel for more information on using the DeleteVoiceChannel
2479// API call, and error handling.
2480//
2481// This method is useful when you want to inject custom logic or configuration
2482// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2483//
2484//
2485//    // Example sending a request using the DeleteVoiceChannelRequest method.
2486//    req, resp := client.DeleteVoiceChannelRequest(params)
2487//
2488//    err := req.Send()
2489//    if err == nil { // resp is now filled
2490//        fmt.Println(resp)
2491//    }
2492//
2493// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceChannel
2494func (c *Pinpoint) DeleteVoiceChannelRequest(input *DeleteVoiceChannelInput) (req *request.Request, output *DeleteVoiceChannelOutput) {
2495	op := &request.Operation{
2496		Name:       opDeleteVoiceChannel,
2497		HTTPMethod: "DELETE",
2498		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
2499	}
2500
2501	if input == nil {
2502		input = &DeleteVoiceChannelInput{}
2503	}
2504
2505	output = &DeleteVoiceChannelOutput{}
2506	req = c.newRequest(op, input, output)
2507	return
2508}
2509
2510// DeleteVoiceChannel API operation for Amazon Pinpoint.
2511//
2512// Disables the voice channel for an application and deletes any existing settings
2513// for the channel.
2514//
2515// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2516// with awserr.Error's Code and Message methods to get detailed information about
2517// the error.
2518//
2519// See the AWS API reference guide for Amazon Pinpoint's
2520// API operation DeleteVoiceChannel for usage and error information.
2521//
2522// Returned Error Codes:
2523//   * ErrCodeBadRequestException "BadRequestException"
2524//   Provides information about an API request or response.
2525//
2526//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2527//   Provides information about an API request or response.
2528//
2529//   * ErrCodeForbiddenException "ForbiddenException"
2530//   Provides information about an API request or response.
2531//
2532//   * ErrCodeNotFoundException "NotFoundException"
2533//   Provides information about an API request or response.
2534//
2535//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2536//   Provides information about an API request or response.
2537//
2538//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2539//   Provides information about an API request or response.
2540//
2541// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceChannel
2542func (c *Pinpoint) DeleteVoiceChannel(input *DeleteVoiceChannelInput) (*DeleteVoiceChannelOutput, error) {
2543	req, out := c.DeleteVoiceChannelRequest(input)
2544	return out, req.Send()
2545}
2546
2547// DeleteVoiceChannelWithContext is the same as DeleteVoiceChannel with the addition of
2548// the ability to pass a context and additional request options.
2549//
2550// See DeleteVoiceChannel for details on how to use this API operation.
2551//
2552// The context must be non-nil and will be used for request cancellation. If
2553// the context is nil a panic will occur. In the future the SDK may create
2554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2555// for more information on using Contexts.
2556func (c *Pinpoint) DeleteVoiceChannelWithContext(ctx aws.Context, input *DeleteVoiceChannelInput, opts ...request.Option) (*DeleteVoiceChannelOutput, error) {
2557	req, out := c.DeleteVoiceChannelRequest(input)
2558	req.SetContext(ctx)
2559	req.ApplyOptions(opts...)
2560	return out, req.Send()
2561}
2562
2563const opGetAdmChannel = "GetAdmChannel"
2564
2565// GetAdmChannelRequest generates a "aws/request.Request" representing the
2566// client's request for the GetAdmChannel operation. The "output" return
2567// value will be populated with the request's response once the request completes
2568// successfully.
2569//
2570// Use "Send" method on the returned Request to send the API call to the service.
2571// the "output" return value is not valid until after Send returns without error.
2572//
2573// See GetAdmChannel for more information on using the GetAdmChannel
2574// API call, and error handling.
2575//
2576// This method is useful when you want to inject custom logic or configuration
2577// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2578//
2579//
2580//    // Example sending a request using the GetAdmChannelRequest method.
2581//    req, resp := client.GetAdmChannelRequest(params)
2582//
2583//    err := req.Send()
2584//    if err == nil { // resp is now filled
2585//        fmt.Println(resp)
2586//    }
2587//
2588// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAdmChannel
2589func (c *Pinpoint) GetAdmChannelRequest(input *GetAdmChannelInput) (req *request.Request, output *GetAdmChannelOutput) {
2590	op := &request.Operation{
2591		Name:       opGetAdmChannel,
2592		HTTPMethod: "GET",
2593		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
2594	}
2595
2596	if input == nil {
2597		input = &GetAdmChannelInput{}
2598	}
2599
2600	output = &GetAdmChannelOutput{}
2601	req = c.newRequest(op, input, output)
2602	return
2603}
2604
2605// GetAdmChannel API operation for Amazon Pinpoint.
2606//
2607// Retrieves information about the status and settings of the ADM channel for
2608// an application.
2609//
2610// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2611// with awserr.Error's Code and Message methods to get detailed information about
2612// the error.
2613//
2614// See the AWS API reference guide for Amazon Pinpoint's
2615// API operation GetAdmChannel for usage and error information.
2616//
2617// Returned Error Codes:
2618//   * ErrCodeBadRequestException "BadRequestException"
2619//   Provides information about an API request or response.
2620//
2621//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2622//   Provides information about an API request or response.
2623//
2624//   * ErrCodeForbiddenException "ForbiddenException"
2625//   Provides information about an API request or response.
2626//
2627//   * ErrCodeNotFoundException "NotFoundException"
2628//   Provides information about an API request or response.
2629//
2630//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2631//   Provides information about an API request or response.
2632//
2633//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2634//   Provides information about an API request or response.
2635//
2636// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAdmChannel
2637func (c *Pinpoint) GetAdmChannel(input *GetAdmChannelInput) (*GetAdmChannelOutput, error) {
2638	req, out := c.GetAdmChannelRequest(input)
2639	return out, req.Send()
2640}
2641
2642// GetAdmChannelWithContext is the same as GetAdmChannel with the addition of
2643// the ability to pass a context and additional request options.
2644//
2645// See GetAdmChannel for details on how to use this API operation.
2646//
2647// The context must be non-nil and will be used for request cancellation. If
2648// the context is nil a panic will occur. In the future the SDK may create
2649// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2650// for more information on using Contexts.
2651func (c *Pinpoint) GetAdmChannelWithContext(ctx aws.Context, input *GetAdmChannelInput, opts ...request.Option) (*GetAdmChannelOutput, error) {
2652	req, out := c.GetAdmChannelRequest(input)
2653	req.SetContext(ctx)
2654	req.ApplyOptions(opts...)
2655	return out, req.Send()
2656}
2657
2658const opGetApnsChannel = "GetApnsChannel"
2659
2660// GetApnsChannelRequest generates a "aws/request.Request" representing the
2661// client's request for the GetApnsChannel operation. The "output" return
2662// value will be populated with the request's response once the request completes
2663// successfully.
2664//
2665// Use "Send" method on the returned Request to send the API call to the service.
2666// the "output" return value is not valid until after Send returns without error.
2667//
2668// See GetApnsChannel for more information on using the GetApnsChannel
2669// API call, and error handling.
2670//
2671// This method is useful when you want to inject custom logic or configuration
2672// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2673//
2674//
2675//    // Example sending a request using the GetApnsChannelRequest method.
2676//    req, resp := client.GetApnsChannelRequest(params)
2677//
2678//    err := req.Send()
2679//    if err == nil { // resp is now filled
2680//        fmt.Println(resp)
2681//    }
2682//
2683// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsChannel
2684func (c *Pinpoint) GetApnsChannelRequest(input *GetApnsChannelInput) (req *request.Request, output *GetApnsChannelOutput) {
2685	op := &request.Operation{
2686		Name:       opGetApnsChannel,
2687		HTTPMethod: "GET",
2688		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
2689	}
2690
2691	if input == nil {
2692		input = &GetApnsChannelInput{}
2693	}
2694
2695	output = &GetApnsChannelOutput{}
2696	req = c.newRequest(op, input, output)
2697	return
2698}
2699
2700// GetApnsChannel API operation for Amazon Pinpoint.
2701//
2702// Retrieves information about the status and settings of the APNs channel for
2703// an application.
2704//
2705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2706// with awserr.Error's Code and Message methods to get detailed information about
2707// the error.
2708//
2709// See the AWS API reference guide for Amazon Pinpoint's
2710// API operation GetApnsChannel for usage and error information.
2711//
2712// Returned Error Codes:
2713//   * ErrCodeBadRequestException "BadRequestException"
2714//   Provides information about an API request or response.
2715//
2716//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2717//   Provides information about an API request or response.
2718//
2719//   * ErrCodeForbiddenException "ForbiddenException"
2720//   Provides information about an API request or response.
2721//
2722//   * ErrCodeNotFoundException "NotFoundException"
2723//   Provides information about an API request or response.
2724//
2725//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2726//   Provides information about an API request or response.
2727//
2728//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2729//   Provides information about an API request or response.
2730//
2731// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsChannel
2732func (c *Pinpoint) GetApnsChannel(input *GetApnsChannelInput) (*GetApnsChannelOutput, error) {
2733	req, out := c.GetApnsChannelRequest(input)
2734	return out, req.Send()
2735}
2736
2737// GetApnsChannelWithContext is the same as GetApnsChannel with the addition of
2738// the ability to pass a context and additional request options.
2739//
2740// See GetApnsChannel for details on how to use this API operation.
2741//
2742// The context must be non-nil and will be used for request cancellation. If
2743// the context is nil a panic will occur. In the future the SDK may create
2744// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2745// for more information on using Contexts.
2746func (c *Pinpoint) GetApnsChannelWithContext(ctx aws.Context, input *GetApnsChannelInput, opts ...request.Option) (*GetApnsChannelOutput, error) {
2747	req, out := c.GetApnsChannelRequest(input)
2748	req.SetContext(ctx)
2749	req.ApplyOptions(opts...)
2750	return out, req.Send()
2751}
2752
2753const opGetApnsSandboxChannel = "GetApnsSandboxChannel"
2754
2755// GetApnsSandboxChannelRequest generates a "aws/request.Request" representing the
2756// client's request for the GetApnsSandboxChannel operation. The "output" return
2757// value will be populated with the request's response once the request completes
2758// successfully.
2759//
2760// Use "Send" method on the returned Request to send the API call to the service.
2761// the "output" return value is not valid until after Send returns without error.
2762//
2763// See GetApnsSandboxChannel for more information on using the GetApnsSandboxChannel
2764// API call, and error handling.
2765//
2766// This method is useful when you want to inject custom logic or configuration
2767// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2768//
2769//
2770//    // Example sending a request using the GetApnsSandboxChannelRequest method.
2771//    req, resp := client.GetApnsSandboxChannelRequest(params)
2772//
2773//    err := req.Send()
2774//    if err == nil { // resp is now filled
2775//        fmt.Println(resp)
2776//    }
2777//
2778// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsSandboxChannel
2779func (c *Pinpoint) GetApnsSandboxChannelRequest(input *GetApnsSandboxChannelInput) (req *request.Request, output *GetApnsSandboxChannelOutput) {
2780	op := &request.Operation{
2781		Name:       opGetApnsSandboxChannel,
2782		HTTPMethod: "GET",
2783		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
2784	}
2785
2786	if input == nil {
2787		input = &GetApnsSandboxChannelInput{}
2788	}
2789
2790	output = &GetApnsSandboxChannelOutput{}
2791	req = c.newRequest(op, input, output)
2792	return
2793}
2794
2795// GetApnsSandboxChannel API operation for Amazon Pinpoint.
2796//
2797// Retrieves information about the status and settings of the APNs sandbox channel
2798// for an application.
2799//
2800// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2801// with awserr.Error's Code and Message methods to get detailed information about
2802// the error.
2803//
2804// See the AWS API reference guide for Amazon Pinpoint's
2805// API operation GetApnsSandboxChannel for usage and error information.
2806//
2807// Returned Error Codes:
2808//   * ErrCodeBadRequestException "BadRequestException"
2809//   Provides information about an API request or response.
2810//
2811//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2812//   Provides information about an API request or response.
2813//
2814//   * ErrCodeForbiddenException "ForbiddenException"
2815//   Provides information about an API request or response.
2816//
2817//   * ErrCodeNotFoundException "NotFoundException"
2818//   Provides information about an API request or response.
2819//
2820//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2821//   Provides information about an API request or response.
2822//
2823//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2824//   Provides information about an API request or response.
2825//
2826// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsSandboxChannel
2827func (c *Pinpoint) GetApnsSandboxChannel(input *GetApnsSandboxChannelInput) (*GetApnsSandboxChannelOutput, error) {
2828	req, out := c.GetApnsSandboxChannelRequest(input)
2829	return out, req.Send()
2830}
2831
2832// GetApnsSandboxChannelWithContext is the same as GetApnsSandboxChannel with the addition of
2833// the ability to pass a context and additional request options.
2834//
2835// See GetApnsSandboxChannel for details on how to use this API operation.
2836//
2837// The context must be non-nil and will be used for request cancellation. If
2838// the context is nil a panic will occur. In the future the SDK may create
2839// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2840// for more information on using Contexts.
2841func (c *Pinpoint) GetApnsSandboxChannelWithContext(ctx aws.Context, input *GetApnsSandboxChannelInput, opts ...request.Option) (*GetApnsSandboxChannelOutput, error) {
2842	req, out := c.GetApnsSandboxChannelRequest(input)
2843	req.SetContext(ctx)
2844	req.ApplyOptions(opts...)
2845	return out, req.Send()
2846}
2847
2848const opGetApnsVoipChannel = "GetApnsVoipChannel"
2849
2850// GetApnsVoipChannelRequest generates a "aws/request.Request" representing the
2851// client's request for the GetApnsVoipChannel operation. The "output" return
2852// value will be populated with the request's response once the request completes
2853// successfully.
2854//
2855// Use "Send" method on the returned Request to send the API call to the service.
2856// the "output" return value is not valid until after Send returns without error.
2857//
2858// See GetApnsVoipChannel for more information on using the GetApnsVoipChannel
2859// API call, and error handling.
2860//
2861// This method is useful when you want to inject custom logic or configuration
2862// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2863//
2864//
2865//    // Example sending a request using the GetApnsVoipChannelRequest method.
2866//    req, resp := client.GetApnsVoipChannelRequest(params)
2867//
2868//    err := req.Send()
2869//    if err == nil { // resp is now filled
2870//        fmt.Println(resp)
2871//    }
2872//
2873// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipChannel
2874func (c *Pinpoint) GetApnsVoipChannelRequest(input *GetApnsVoipChannelInput) (req *request.Request, output *GetApnsVoipChannelOutput) {
2875	op := &request.Operation{
2876		Name:       opGetApnsVoipChannel,
2877		HTTPMethod: "GET",
2878		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
2879	}
2880
2881	if input == nil {
2882		input = &GetApnsVoipChannelInput{}
2883	}
2884
2885	output = &GetApnsVoipChannelOutput{}
2886	req = c.newRequest(op, input, output)
2887	return
2888}
2889
2890// GetApnsVoipChannel API operation for Amazon Pinpoint.
2891//
2892// Retrieves information about the status and settings of the APNs VoIP channel
2893// for an application.
2894//
2895// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2896// with awserr.Error's Code and Message methods to get detailed information about
2897// the error.
2898//
2899// See the AWS API reference guide for Amazon Pinpoint's
2900// API operation GetApnsVoipChannel for usage and error information.
2901//
2902// Returned Error Codes:
2903//   * ErrCodeBadRequestException "BadRequestException"
2904//   Provides information about an API request or response.
2905//
2906//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2907//   Provides information about an API request or response.
2908//
2909//   * ErrCodeForbiddenException "ForbiddenException"
2910//   Provides information about an API request or response.
2911//
2912//   * ErrCodeNotFoundException "NotFoundException"
2913//   Provides information about an API request or response.
2914//
2915//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2916//   Provides information about an API request or response.
2917//
2918//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2919//   Provides information about an API request or response.
2920//
2921// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipChannel
2922func (c *Pinpoint) GetApnsVoipChannel(input *GetApnsVoipChannelInput) (*GetApnsVoipChannelOutput, error) {
2923	req, out := c.GetApnsVoipChannelRequest(input)
2924	return out, req.Send()
2925}
2926
2927// GetApnsVoipChannelWithContext is the same as GetApnsVoipChannel with the addition of
2928// the ability to pass a context and additional request options.
2929//
2930// See GetApnsVoipChannel for details on how to use this API operation.
2931//
2932// The context must be non-nil and will be used for request cancellation. If
2933// the context is nil a panic will occur. In the future the SDK may create
2934// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2935// for more information on using Contexts.
2936func (c *Pinpoint) GetApnsVoipChannelWithContext(ctx aws.Context, input *GetApnsVoipChannelInput, opts ...request.Option) (*GetApnsVoipChannelOutput, error) {
2937	req, out := c.GetApnsVoipChannelRequest(input)
2938	req.SetContext(ctx)
2939	req.ApplyOptions(opts...)
2940	return out, req.Send()
2941}
2942
2943const opGetApnsVoipSandboxChannel = "GetApnsVoipSandboxChannel"
2944
2945// GetApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
2946// client's request for the GetApnsVoipSandboxChannel operation. The "output" return
2947// value will be populated with the request's response once the request completes
2948// successfully.
2949//
2950// Use "Send" method on the returned Request to send the API call to the service.
2951// the "output" return value is not valid until after Send returns without error.
2952//
2953// See GetApnsVoipSandboxChannel for more information on using the GetApnsVoipSandboxChannel
2954// API call, and error handling.
2955//
2956// This method is useful when you want to inject custom logic or configuration
2957// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2958//
2959//
2960//    // Example sending a request using the GetApnsVoipSandboxChannelRequest method.
2961//    req, resp := client.GetApnsVoipSandboxChannelRequest(params)
2962//
2963//    err := req.Send()
2964//    if err == nil { // resp is now filled
2965//        fmt.Println(resp)
2966//    }
2967//
2968// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipSandboxChannel
2969func (c *Pinpoint) GetApnsVoipSandboxChannelRequest(input *GetApnsVoipSandboxChannelInput) (req *request.Request, output *GetApnsVoipSandboxChannelOutput) {
2970	op := &request.Operation{
2971		Name:       opGetApnsVoipSandboxChannel,
2972		HTTPMethod: "GET",
2973		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
2974	}
2975
2976	if input == nil {
2977		input = &GetApnsVoipSandboxChannelInput{}
2978	}
2979
2980	output = &GetApnsVoipSandboxChannelOutput{}
2981	req = c.newRequest(op, input, output)
2982	return
2983}
2984
2985// GetApnsVoipSandboxChannel API operation for Amazon Pinpoint.
2986//
2987// Retrieves information about the status and settings of the APNs VoIP sandbox
2988// channel for an application.
2989//
2990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2991// with awserr.Error's Code and Message methods to get detailed information about
2992// the error.
2993//
2994// See the AWS API reference guide for Amazon Pinpoint's
2995// API operation GetApnsVoipSandboxChannel for usage and error information.
2996//
2997// Returned Error Codes:
2998//   * ErrCodeBadRequestException "BadRequestException"
2999//   Provides information about an API request or response.
3000//
3001//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3002//   Provides information about an API request or response.
3003//
3004//   * ErrCodeForbiddenException "ForbiddenException"
3005//   Provides information about an API request or response.
3006//
3007//   * ErrCodeNotFoundException "NotFoundException"
3008//   Provides information about an API request or response.
3009//
3010//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3011//   Provides information about an API request or response.
3012//
3013//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3014//   Provides information about an API request or response.
3015//
3016// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipSandboxChannel
3017func (c *Pinpoint) GetApnsVoipSandboxChannel(input *GetApnsVoipSandboxChannelInput) (*GetApnsVoipSandboxChannelOutput, error) {
3018	req, out := c.GetApnsVoipSandboxChannelRequest(input)
3019	return out, req.Send()
3020}
3021
3022// GetApnsVoipSandboxChannelWithContext is the same as GetApnsVoipSandboxChannel with the addition of
3023// the ability to pass a context and additional request options.
3024//
3025// See GetApnsVoipSandboxChannel for details on how to use this API operation.
3026//
3027// The context must be non-nil and will be used for request cancellation. If
3028// the context is nil a panic will occur. In the future the SDK may create
3029// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3030// for more information on using Contexts.
3031func (c *Pinpoint) GetApnsVoipSandboxChannelWithContext(ctx aws.Context, input *GetApnsVoipSandboxChannelInput, opts ...request.Option) (*GetApnsVoipSandboxChannelOutput, error) {
3032	req, out := c.GetApnsVoipSandboxChannelRequest(input)
3033	req.SetContext(ctx)
3034	req.ApplyOptions(opts...)
3035	return out, req.Send()
3036}
3037
3038const opGetApp = "GetApp"
3039
3040// GetAppRequest generates a "aws/request.Request" representing the
3041// client's request for the GetApp operation. The "output" return
3042// value will be populated with the request's response once the request completes
3043// successfully.
3044//
3045// Use "Send" method on the returned Request to send the API call to the service.
3046// the "output" return value is not valid until after Send returns without error.
3047//
3048// See GetApp for more information on using the GetApp
3049// API call, and error handling.
3050//
3051// This method is useful when you want to inject custom logic or configuration
3052// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3053//
3054//
3055//    // Example sending a request using the GetAppRequest method.
3056//    req, resp := client.GetAppRequest(params)
3057//
3058//    err := req.Send()
3059//    if err == nil { // resp is now filled
3060//        fmt.Println(resp)
3061//    }
3062//
3063// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApp
3064func (c *Pinpoint) GetAppRequest(input *GetAppInput) (req *request.Request, output *GetAppOutput) {
3065	op := &request.Operation{
3066		Name:       opGetApp,
3067		HTTPMethod: "GET",
3068		HTTPPath:   "/v1/apps/{application-id}",
3069	}
3070
3071	if input == nil {
3072		input = &GetAppInput{}
3073	}
3074
3075	output = &GetAppOutput{}
3076	req = c.newRequest(op, input, output)
3077	return
3078}
3079
3080// GetApp API operation for Amazon Pinpoint.
3081//
3082// Retrieves information about an application.
3083//
3084// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3085// with awserr.Error's Code and Message methods to get detailed information about
3086// the error.
3087//
3088// See the AWS API reference guide for Amazon Pinpoint's
3089// API operation GetApp for usage and error information.
3090//
3091// Returned Error Codes:
3092//   * ErrCodeBadRequestException "BadRequestException"
3093//   Provides information about an API request or response.
3094//
3095//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3096//   Provides information about an API request or response.
3097//
3098//   * ErrCodeForbiddenException "ForbiddenException"
3099//   Provides information about an API request or response.
3100//
3101//   * ErrCodeNotFoundException "NotFoundException"
3102//   Provides information about an API request or response.
3103//
3104//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3105//   Provides information about an API request or response.
3106//
3107//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3108//   Provides information about an API request or response.
3109//
3110// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApp
3111func (c *Pinpoint) GetApp(input *GetAppInput) (*GetAppOutput, error) {
3112	req, out := c.GetAppRequest(input)
3113	return out, req.Send()
3114}
3115
3116// GetAppWithContext is the same as GetApp with the addition of
3117// the ability to pass a context and additional request options.
3118//
3119// See GetApp for details on how to use this API operation.
3120//
3121// The context must be non-nil and will be used for request cancellation. If
3122// the context is nil a panic will occur. In the future the SDK may create
3123// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3124// for more information on using Contexts.
3125func (c *Pinpoint) GetAppWithContext(ctx aws.Context, input *GetAppInput, opts ...request.Option) (*GetAppOutput, error) {
3126	req, out := c.GetAppRequest(input)
3127	req.SetContext(ctx)
3128	req.ApplyOptions(opts...)
3129	return out, req.Send()
3130}
3131
3132const opGetApplicationDateRangeKpi = "GetApplicationDateRangeKpi"
3133
3134// GetApplicationDateRangeKpiRequest generates a "aws/request.Request" representing the
3135// client's request for the GetApplicationDateRangeKpi operation. The "output" return
3136// value will be populated with the request's response once the request completes
3137// successfully.
3138//
3139// Use "Send" method on the returned Request to send the API call to the service.
3140// the "output" return value is not valid until after Send returns without error.
3141//
3142// See GetApplicationDateRangeKpi for more information on using the GetApplicationDateRangeKpi
3143// API call, and error handling.
3144//
3145// This method is useful when you want to inject custom logic or configuration
3146// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3147//
3148//
3149//    // Example sending a request using the GetApplicationDateRangeKpiRequest method.
3150//    req, resp := client.GetApplicationDateRangeKpiRequest(params)
3151//
3152//    err := req.Send()
3153//    if err == nil { // resp is now filled
3154//        fmt.Println(resp)
3155//    }
3156//
3157// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationDateRangeKpi
3158func (c *Pinpoint) GetApplicationDateRangeKpiRequest(input *GetApplicationDateRangeKpiInput) (req *request.Request, output *GetApplicationDateRangeKpiOutput) {
3159	op := &request.Operation{
3160		Name:       opGetApplicationDateRangeKpi,
3161		HTTPMethod: "GET",
3162		HTTPPath:   "/v1/apps/{application-id}/kpis/daterange/{kpi-name}",
3163	}
3164
3165	if input == nil {
3166		input = &GetApplicationDateRangeKpiInput{}
3167	}
3168
3169	output = &GetApplicationDateRangeKpiOutput{}
3170	req = c.newRequest(op, input, output)
3171	return
3172}
3173
3174// GetApplicationDateRangeKpi API operation for Amazon Pinpoint.
3175//
3176// Retrieves (queries) pre-aggregated data for a standard metric that applies
3177// to an application.
3178//
3179// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3180// with awserr.Error's Code and Message methods to get detailed information about
3181// the error.
3182//
3183// See the AWS API reference guide for Amazon Pinpoint's
3184// API operation GetApplicationDateRangeKpi for usage and error information.
3185//
3186// Returned Error Codes:
3187//   * ErrCodeBadRequestException "BadRequestException"
3188//   Provides information about an API request or response.
3189//
3190//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3191//   Provides information about an API request or response.
3192//
3193//   * ErrCodeForbiddenException "ForbiddenException"
3194//   Provides information about an API request or response.
3195//
3196//   * ErrCodeNotFoundException "NotFoundException"
3197//   Provides information about an API request or response.
3198//
3199//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3200//   Provides information about an API request or response.
3201//
3202//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3203//   Provides information about an API request or response.
3204//
3205// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationDateRangeKpi
3206func (c *Pinpoint) GetApplicationDateRangeKpi(input *GetApplicationDateRangeKpiInput) (*GetApplicationDateRangeKpiOutput, error) {
3207	req, out := c.GetApplicationDateRangeKpiRequest(input)
3208	return out, req.Send()
3209}
3210
3211// GetApplicationDateRangeKpiWithContext is the same as GetApplicationDateRangeKpi with the addition of
3212// the ability to pass a context and additional request options.
3213//
3214// See GetApplicationDateRangeKpi for details on how to use this API operation.
3215//
3216// The context must be non-nil and will be used for request cancellation. If
3217// the context is nil a panic will occur. In the future the SDK may create
3218// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3219// for more information on using Contexts.
3220func (c *Pinpoint) GetApplicationDateRangeKpiWithContext(ctx aws.Context, input *GetApplicationDateRangeKpiInput, opts ...request.Option) (*GetApplicationDateRangeKpiOutput, error) {
3221	req, out := c.GetApplicationDateRangeKpiRequest(input)
3222	req.SetContext(ctx)
3223	req.ApplyOptions(opts...)
3224	return out, req.Send()
3225}
3226
3227const opGetApplicationSettings = "GetApplicationSettings"
3228
3229// GetApplicationSettingsRequest generates a "aws/request.Request" representing the
3230// client's request for the GetApplicationSettings operation. The "output" return
3231// value will be populated with the request's response once the request completes
3232// successfully.
3233//
3234// Use "Send" method on the returned Request to send the API call to the service.
3235// the "output" return value is not valid until after Send returns without error.
3236//
3237// See GetApplicationSettings for more information on using the GetApplicationSettings
3238// API call, and error handling.
3239//
3240// This method is useful when you want to inject custom logic or configuration
3241// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3242//
3243//
3244//    // Example sending a request using the GetApplicationSettingsRequest method.
3245//    req, resp := client.GetApplicationSettingsRequest(params)
3246//
3247//    err := req.Send()
3248//    if err == nil { // resp is now filled
3249//        fmt.Println(resp)
3250//    }
3251//
3252// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationSettings
3253func (c *Pinpoint) GetApplicationSettingsRequest(input *GetApplicationSettingsInput) (req *request.Request, output *GetApplicationSettingsOutput) {
3254	op := &request.Operation{
3255		Name:       opGetApplicationSettings,
3256		HTTPMethod: "GET",
3257		HTTPPath:   "/v1/apps/{application-id}/settings",
3258	}
3259
3260	if input == nil {
3261		input = &GetApplicationSettingsInput{}
3262	}
3263
3264	output = &GetApplicationSettingsOutput{}
3265	req = c.newRequest(op, input, output)
3266	return
3267}
3268
3269// GetApplicationSettings API operation for Amazon Pinpoint.
3270//
3271// Retrieves information about the settings for an application.
3272//
3273// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3274// with awserr.Error's Code and Message methods to get detailed information about
3275// the error.
3276//
3277// See the AWS API reference guide for Amazon Pinpoint's
3278// API operation GetApplicationSettings for usage and error information.
3279//
3280// Returned Error Codes:
3281//   * ErrCodeBadRequestException "BadRequestException"
3282//   Provides information about an API request or response.
3283//
3284//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3285//   Provides information about an API request or response.
3286//
3287//   * ErrCodeForbiddenException "ForbiddenException"
3288//   Provides information about an API request or response.
3289//
3290//   * ErrCodeNotFoundException "NotFoundException"
3291//   Provides information about an API request or response.
3292//
3293//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3294//   Provides information about an API request or response.
3295//
3296//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3297//   Provides information about an API request or response.
3298//
3299// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationSettings
3300func (c *Pinpoint) GetApplicationSettings(input *GetApplicationSettingsInput) (*GetApplicationSettingsOutput, error) {
3301	req, out := c.GetApplicationSettingsRequest(input)
3302	return out, req.Send()
3303}
3304
3305// GetApplicationSettingsWithContext is the same as GetApplicationSettings with the addition of
3306// the ability to pass a context and additional request options.
3307//
3308// See GetApplicationSettings for details on how to use this API operation.
3309//
3310// The context must be non-nil and will be used for request cancellation. If
3311// the context is nil a panic will occur. In the future the SDK may create
3312// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3313// for more information on using Contexts.
3314func (c *Pinpoint) GetApplicationSettingsWithContext(ctx aws.Context, input *GetApplicationSettingsInput, opts ...request.Option) (*GetApplicationSettingsOutput, error) {
3315	req, out := c.GetApplicationSettingsRequest(input)
3316	req.SetContext(ctx)
3317	req.ApplyOptions(opts...)
3318	return out, req.Send()
3319}
3320
3321const opGetApps = "GetApps"
3322
3323// GetAppsRequest generates a "aws/request.Request" representing the
3324// client's request for the GetApps operation. The "output" return
3325// value will be populated with the request's response once the request completes
3326// successfully.
3327//
3328// Use "Send" method on the returned Request to send the API call to the service.
3329// the "output" return value is not valid until after Send returns without error.
3330//
3331// See GetApps for more information on using the GetApps
3332// API call, and error handling.
3333//
3334// This method is useful when you want to inject custom logic or configuration
3335// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3336//
3337//
3338//    // Example sending a request using the GetAppsRequest method.
3339//    req, resp := client.GetAppsRequest(params)
3340//
3341//    err := req.Send()
3342//    if err == nil { // resp is now filled
3343//        fmt.Println(resp)
3344//    }
3345//
3346// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApps
3347func (c *Pinpoint) GetAppsRequest(input *GetAppsInput) (req *request.Request, output *GetAppsOutput) {
3348	op := &request.Operation{
3349		Name:       opGetApps,
3350		HTTPMethod: "GET",
3351		HTTPPath:   "/v1/apps",
3352	}
3353
3354	if input == nil {
3355		input = &GetAppsInput{}
3356	}
3357
3358	output = &GetAppsOutput{}
3359	req = c.newRequest(op, input, output)
3360	return
3361}
3362
3363// GetApps API operation for Amazon Pinpoint.
3364//
3365// Retrieves information about all of your applications.
3366//
3367// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3368// with awserr.Error's Code and Message methods to get detailed information about
3369// the error.
3370//
3371// See the AWS API reference guide for Amazon Pinpoint's
3372// API operation GetApps for usage and error information.
3373//
3374// Returned Error Codes:
3375//   * ErrCodeBadRequestException "BadRequestException"
3376//   Provides information about an API request or response.
3377//
3378//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3379//   Provides information about an API request or response.
3380//
3381//   * ErrCodeForbiddenException "ForbiddenException"
3382//   Provides information about an API request or response.
3383//
3384//   * ErrCodeNotFoundException "NotFoundException"
3385//   Provides information about an API request or response.
3386//
3387//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3388//   Provides information about an API request or response.
3389//
3390//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3391//   Provides information about an API request or response.
3392//
3393// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApps
3394func (c *Pinpoint) GetApps(input *GetAppsInput) (*GetAppsOutput, error) {
3395	req, out := c.GetAppsRequest(input)
3396	return out, req.Send()
3397}
3398
3399// GetAppsWithContext is the same as GetApps with the addition of
3400// the ability to pass a context and additional request options.
3401//
3402// See GetApps for details on how to use this API operation.
3403//
3404// The context must be non-nil and will be used for request cancellation. If
3405// the context is nil a panic will occur. In the future the SDK may create
3406// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3407// for more information on using Contexts.
3408func (c *Pinpoint) GetAppsWithContext(ctx aws.Context, input *GetAppsInput, opts ...request.Option) (*GetAppsOutput, error) {
3409	req, out := c.GetAppsRequest(input)
3410	req.SetContext(ctx)
3411	req.ApplyOptions(opts...)
3412	return out, req.Send()
3413}
3414
3415const opGetBaiduChannel = "GetBaiduChannel"
3416
3417// GetBaiduChannelRequest generates a "aws/request.Request" representing the
3418// client's request for the GetBaiduChannel operation. The "output" return
3419// value will be populated with the request's response once the request completes
3420// successfully.
3421//
3422// Use "Send" method on the returned Request to send the API call to the service.
3423// the "output" return value is not valid until after Send returns without error.
3424//
3425// See GetBaiduChannel for more information on using the GetBaiduChannel
3426// API call, and error handling.
3427//
3428// This method is useful when you want to inject custom logic or configuration
3429// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3430//
3431//
3432//    // Example sending a request using the GetBaiduChannelRequest method.
3433//    req, resp := client.GetBaiduChannelRequest(params)
3434//
3435//    err := req.Send()
3436//    if err == nil { // resp is now filled
3437//        fmt.Println(resp)
3438//    }
3439//
3440// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetBaiduChannel
3441func (c *Pinpoint) GetBaiduChannelRequest(input *GetBaiduChannelInput) (req *request.Request, output *GetBaiduChannelOutput) {
3442	op := &request.Operation{
3443		Name:       opGetBaiduChannel,
3444		HTTPMethod: "GET",
3445		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
3446	}
3447
3448	if input == nil {
3449		input = &GetBaiduChannelInput{}
3450	}
3451
3452	output = &GetBaiduChannelOutput{}
3453	req = c.newRequest(op, input, output)
3454	return
3455}
3456
3457// GetBaiduChannel API operation for Amazon Pinpoint.
3458//
3459// Retrieves information about the status and settings of the Baidu channel
3460// for an application.
3461//
3462// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3463// with awserr.Error's Code and Message methods to get detailed information about
3464// the error.
3465//
3466// See the AWS API reference guide for Amazon Pinpoint's
3467// API operation GetBaiduChannel for usage and error information.
3468//
3469// Returned Error Codes:
3470//   * ErrCodeBadRequestException "BadRequestException"
3471//   Provides information about an API request or response.
3472//
3473//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3474//   Provides information about an API request or response.
3475//
3476//   * ErrCodeForbiddenException "ForbiddenException"
3477//   Provides information about an API request or response.
3478//
3479//   * ErrCodeNotFoundException "NotFoundException"
3480//   Provides information about an API request or response.
3481//
3482//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3483//   Provides information about an API request or response.
3484//
3485//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3486//   Provides information about an API request or response.
3487//
3488// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetBaiduChannel
3489func (c *Pinpoint) GetBaiduChannel(input *GetBaiduChannelInput) (*GetBaiduChannelOutput, error) {
3490	req, out := c.GetBaiduChannelRequest(input)
3491	return out, req.Send()
3492}
3493
3494// GetBaiduChannelWithContext is the same as GetBaiduChannel with the addition of
3495// the ability to pass a context and additional request options.
3496//
3497// See GetBaiduChannel for details on how to use this API operation.
3498//
3499// The context must be non-nil and will be used for request cancellation. If
3500// the context is nil a panic will occur. In the future the SDK may create
3501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3502// for more information on using Contexts.
3503func (c *Pinpoint) GetBaiduChannelWithContext(ctx aws.Context, input *GetBaiduChannelInput, opts ...request.Option) (*GetBaiduChannelOutput, error) {
3504	req, out := c.GetBaiduChannelRequest(input)
3505	req.SetContext(ctx)
3506	req.ApplyOptions(opts...)
3507	return out, req.Send()
3508}
3509
3510const opGetCampaign = "GetCampaign"
3511
3512// GetCampaignRequest generates a "aws/request.Request" representing the
3513// client's request for the GetCampaign operation. The "output" return
3514// value will be populated with the request's response once the request completes
3515// successfully.
3516//
3517// Use "Send" method on the returned Request to send the API call to the service.
3518// the "output" return value is not valid until after Send returns without error.
3519//
3520// See GetCampaign for more information on using the GetCampaign
3521// API call, and error handling.
3522//
3523// This method is useful when you want to inject custom logic or configuration
3524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3525//
3526//
3527//    // Example sending a request using the GetCampaignRequest method.
3528//    req, resp := client.GetCampaignRequest(params)
3529//
3530//    err := req.Send()
3531//    if err == nil { // resp is now filled
3532//        fmt.Println(resp)
3533//    }
3534//
3535// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaign
3536func (c *Pinpoint) GetCampaignRequest(input *GetCampaignInput) (req *request.Request, output *GetCampaignOutput) {
3537	op := &request.Operation{
3538		Name:       opGetCampaign,
3539		HTTPMethod: "GET",
3540		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
3541	}
3542
3543	if input == nil {
3544		input = &GetCampaignInput{}
3545	}
3546
3547	output = &GetCampaignOutput{}
3548	req = c.newRequest(op, input, output)
3549	return
3550}
3551
3552// GetCampaign API operation for Amazon Pinpoint.
3553//
3554// Retrieves information about the status, configuration, and other settings
3555// for a campaign.
3556//
3557// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3558// with awserr.Error's Code and Message methods to get detailed information about
3559// the error.
3560//
3561// See the AWS API reference guide for Amazon Pinpoint's
3562// API operation GetCampaign for usage and error information.
3563//
3564// Returned Error Codes:
3565//   * ErrCodeBadRequestException "BadRequestException"
3566//   Provides information about an API request or response.
3567//
3568//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3569//   Provides information about an API request or response.
3570//
3571//   * ErrCodeForbiddenException "ForbiddenException"
3572//   Provides information about an API request or response.
3573//
3574//   * ErrCodeNotFoundException "NotFoundException"
3575//   Provides information about an API request or response.
3576//
3577//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3578//   Provides information about an API request or response.
3579//
3580//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3581//   Provides information about an API request or response.
3582//
3583// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaign
3584func (c *Pinpoint) GetCampaign(input *GetCampaignInput) (*GetCampaignOutput, error) {
3585	req, out := c.GetCampaignRequest(input)
3586	return out, req.Send()
3587}
3588
3589// GetCampaignWithContext is the same as GetCampaign with the addition of
3590// the ability to pass a context and additional request options.
3591//
3592// See GetCampaign for details on how to use this API operation.
3593//
3594// The context must be non-nil and will be used for request cancellation. If
3595// the context is nil a panic will occur. In the future the SDK may create
3596// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3597// for more information on using Contexts.
3598func (c *Pinpoint) GetCampaignWithContext(ctx aws.Context, input *GetCampaignInput, opts ...request.Option) (*GetCampaignOutput, error) {
3599	req, out := c.GetCampaignRequest(input)
3600	req.SetContext(ctx)
3601	req.ApplyOptions(opts...)
3602	return out, req.Send()
3603}
3604
3605const opGetCampaignActivities = "GetCampaignActivities"
3606
3607// GetCampaignActivitiesRequest generates a "aws/request.Request" representing the
3608// client's request for the GetCampaignActivities operation. The "output" return
3609// value will be populated with the request's response once the request completes
3610// successfully.
3611//
3612// Use "Send" method on the returned Request to send the API call to the service.
3613// the "output" return value is not valid until after Send returns without error.
3614//
3615// See GetCampaignActivities for more information on using the GetCampaignActivities
3616// API call, and error handling.
3617//
3618// This method is useful when you want to inject custom logic or configuration
3619// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3620//
3621//
3622//    // Example sending a request using the GetCampaignActivitiesRequest method.
3623//    req, resp := client.GetCampaignActivitiesRequest(params)
3624//
3625//    err := req.Send()
3626//    if err == nil { // resp is now filled
3627//        fmt.Println(resp)
3628//    }
3629//
3630// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignActivities
3631func (c *Pinpoint) GetCampaignActivitiesRequest(input *GetCampaignActivitiesInput) (req *request.Request, output *GetCampaignActivitiesOutput) {
3632	op := &request.Operation{
3633		Name:       opGetCampaignActivities,
3634		HTTPMethod: "GET",
3635		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/activities",
3636	}
3637
3638	if input == nil {
3639		input = &GetCampaignActivitiesInput{}
3640	}
3641
3642	output = &GetCampaignActivitiesOutput{}
3643	req = c.newRequest(op, input, output)
3644	return
3645}
3646
3647// GetCampaignActivities API operation for Amazon Pinpoint.
3648//
3649// Retrieves information about the activity performed by a campaign.
3650//
3651// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3652// with awserr.Error's Code and Message methods to get detailed information about
3653// the error.
3654//
3655// See the AWS API reference guide for Amazon Pinpoint's
3656// API operation GetCampaignActivities for usage and error information.
3657//
3658// Returned Error Codes:
3659//   * ErrCodeBadRequestException "BadRequestException"
3660//   Provides information about an API request or response.
3661//
3662//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3663//   Provides information about an API request or response.
3664//
3665//   * ErrCodeForbiddenException "ForbiddenException"
3666//   Provides information about an API request or response.
3667//
3668//   * ErrCodeNotFoundException "NotFoundException"
3669//   Provides information about an API request or response.
3670//
3671//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3672//   Provides information about an API request or response.
3673//
3674//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3675//   Provides information about an API request or response.
3676//
3677// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignActivities
3678func (c *Pinpoint) GetCampaignActivities(input *GetCampaignActivitiesInput) (*GetCampaignActivitiesOutput, error) {
3679	req, out := c.GetCampaignActivitiesRequest(input)
3680	return out, req.Send()
3681}
3682
3683// GetCampaignActivitiesWithContext is the same as GetCampaignActivities with the addition of
3684// the ability to pass a context and additional request options.
3685//
3686// See GetCampaignActivities for details on how to use this API operation.
3687//
3688// The context must be non-nil and will be used for request cancellation. If
3689// the context is nil a panic will occur. In the future the SDK may create
3690// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3691// for more information on using Contexts.
3692func (c *Pinpoint) GetCampaignActivitiesWithContext(ctx aws.Context, input *GetCampaignActivitiesInput, opts ...request.Option) (*GetCampaignActivitiesOutput, error) {
3693	req, out := c.GetCampaignActivitiesRequest(input)
3694	req.SetContext(ctx)
3695	req.ApplyOptions(opts...)
3696	return out, req.Send()
3697}
3698
3699const opGetCampaignDateRangeKpi = "GetCampaignDateRangeKpi"
3700
3701// GetCampaignDateRangeKpiRequest generates a "aws/request.Request" representing the
3702// client's request for the GetCampaignDateRangeKpi operation. The "output" return
3703// value will be populated with the request's response once the request completes
3704// successfully.
3705//
3706// Use "Send" method on the returned Request to send the API call to the service.
3707// the "output" return value is not valid until after Send returns without error.
3708//
3709// See GetCampaignDateRangeKpi for more information on using the GetCampaignDateRangeKpi
3710// API call, and error handling.
3711//
3712// This method is useful when you want to inject custom logic or configuration
3713// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3714//
3715//
3716//    // Example sending a request using the GetCampaignDateRangeKpiRequest method.
3717//    req, resp := client.GetCampaignDateRangeKpiRequest(params)
3718//
3719//    err := req.Send()
3720//    if err == nil { // resp is now filled
3721//        fmt.Println(resp)
3722//    }
3723//
3724// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignDateRangeKpi
3725func (c *Pinpoint) GetCampaignDateRangeKpiRequest(input *GetCampaignDateRangeKpiInput) (req *request.Request, output *GetCampaignDateRangeKpiOutput) {
3726	op := &request.Operation{
3727		Name:       opGetCampaignDateRangeKpi,
3728		HTTPMethod: "GET",
3729		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/kpis/daterange/{kpi-name}",
3730	}
3731
3732	if input == nil {
3733		input = &GetCampaignDateRangeKpiInput{}
3734	}
3735
3736	output = &GetCampaignDateRangeKpiOutput{}
3737	req = c.newRequest(op, input, output)
3738	return
3739}
3740
3741// GetCampaignDateRangeKpi API operation for Amazon Pinpoint.
3742//
3743// Retrieves (queries) pre-aggregated data for a standard metric that applies
3744// to a campaign.
3745//
3746// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3747// with awserr.Error's Code and Message methods to get detailed information about
3748// the error.
3749//
3750// See the AWS API reference guide for Amazon Pinpoint's
3751// API operation GetCampaignDateRangeKpi for usage and error information.
3752//
3753// Returned Error Codes:
3754//   * ErrCodeBadRequestException "BadRequestException"
3755//   Provides information about an API request or response.
3756//
3757//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3758//   Provides information about an API request or response.
3759//
3760//   * ErrCodeForbiddenException "ForbiddenException"
3761//   Provides information about an API request or response.
3762//
3763//   * ErrCodeNotFoundException "NotFoundException"
3764//   Provides information about an API request or response.
3765//
3766//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3767//   Provides information about an API request or response.
3768//
3769//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3770//   Provides information about an API request or response.
3771//
3772// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignDateRangeKpi
3773func (c *Pinpoint) GetCampaignDateRangeKpi(input *GetCampaignDateRangeKpiInput) (*GetCampaignDateRangeKpiOutput, error) {
3774	req, out := c.GetCampaignDateRangeKpiRequest(input)
3775	return out, req.Send()
3776}
3777
3778// GetCampaignDateRangeKpiWithContext is the same as GetCampaignDateRangeKpi with the addition of
3779// the ability to pass a context and additional request options.
3780//
3781// See GetCampaignDateRangeKpi for details on how to use this API operation.
3782//
3783// The context must be non-nil and will be used for request cancellation. If
3784// the context is nil a panic will occur. In the future the SDK may create
3785// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3786// for more information on using Contexts.
3787func (c *Pinpoint) GetCampaignDateRangeKpiWithContext(ctx aws.Context, input *GetCampaignDateRangeKpiInput, opts ...request.Option) (*GetCampaignDateRangeKpiOutput, error) {
3788	req, out := c.GetCampaignDateRangeKpiRequest(input)
3789	req.SetContext(ctx)
3790	req.ApplyOptions(opts...)
3791	return out, req.Send()
3792}
3793
3794const opGetCampaignVersion = "GetCampaignVersion"
3795
3796// GetCampaignVersionRequest generates a "aws/request.Request" representing the
3797// client's request for the GetCampaignVersion operation. The "output" return
3798// value will be populated with the request's response once the request completes
3799// successfully.
3800//
3801// Use "Send" method on the returned Request to send the API call to the service.
3802// the "output" return value is not valid until after Send returns without error.
3803//
3804// See GetCampaignVersion for more information on using the GetCampaignVersion
3805// API call, and error handling.
3806//
3807// This method is useful when you want to inject custom logic or configuration
3808// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3809//
3810//
3811//    // Example sending a request using the GetCampaignVersionRequest method.
3812//    req, resp := client.GetCampaignVersionRequest(params)
3813//
3814//    err := req.Send()
3815//    if err == nil { // resp is now filled
3816//        fmt.Println(resp)
3817//    }
3818//
3819// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersion
3820func (c *Pinpoint) GetCampaignVersionRequest(input *GetCampaignVersionInput) (req *request.Request, output *GetCampaignVersionOutput) {
3821	op := &request.Operation{
3822		Name:       opGetCampaignVersion,
3823		HTTPMethod: "GET",
3824		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/versions/{version}",
3825	}
3826
3827	if input == nil {
3828		input = &GetCampaignVersionInput{}
3829	}
3830
3831	output = &GetCampaignVersionOutput{}
3832	req = c.newRequest(op, input, output)
3833	return
3834}
3835
3836// GetCampaignVersion API operation for Amazon Pinpoint.
3837//
3838// Retrieves information about the status, configuration, and other settings
3839// for a specific version of a campaign.
3840//
3841// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3842// with awserr.Error's Code and Message methods to get detailed information about
3843// the error.
3844//
3845// See the AWS API reference guide for Amazon Pinpoint's
3846// API operation GetCampaignVersion for usage and error information.
3847//
3848// Returned Error Codes:
3849//   * ErrCodeBadRequestException "BadRequestException"
3850//   Provides information about an API request or response.
3851//
3852//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3853//   Provides information about an API request or response.
3854//
3855//   * ErrCodeForbiddenException "ForbiddenException"
3856//   Provides information about an API request or response.
3857//
3858//   * ErrCodeNotFoundException "NotFoundException"
3859//   Provides information about an API request or response.
3860//
3861//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3862//   Provides information about an API request or response.
3863//
3864//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3865//   Provides information about an API request or response.
3866//
3867// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersion
3868func (c *Pinpoint) GetCampaignVersion(input *GetCampaignVersionInput) (*GetCampaignVersionOutput, error) {
3869	req, out := c.GetCampaignVersionRequest(input)
3870	return out, req.Send()
3871}
3872
3873// GetCampaignVersionWithContext is the same as GetCampaignVersion with the addition of
3874// the ability to pass a context and additional request options.
3875//
3876// See GetCampaignVersion for details on how to use this API operation.
3877//
3878// The context must be non-nil and will be used for request cancellation. If
3879// the context is nil a panic will occur. In the future the SDK may create
3880// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3881// for more information on using Contexts.
3882func (c *Pinpoint) GetCampaignVersionWithContext(ctx aws.Context, input *GetCampaignVersionInput, opts ...request.Option) (*GetCampaignVersionOutput, error) {
3883	req, out := c.GetCampaignVersionRequest(input)
3884	req.SetContext(ctx)
3885	req.ApplyOptions(opts...)
3886	return out, req.Send()
3887}
3888
3889const opGetCampaignVersions = "GetCampaignVersions"
3890
3891// GetCampaignVersionsRequest generates a "aws/request.Request" representing the
3892// client's request for the GetCampaignVersions operation. The "output" return
3893// value will be populated with the request's response once the request completes
3894// successfully.
3895//
3896// Use "Send" method on the returned Request to send the API call to the service.
3897// the "output" return value is not valid until after Send returns without error.
3898//
3899// See GetCampaignVersions for more information on using the GetCampaignVersions
3900// API call, and error handling.
3901//
3902// This method is useful when you want to inject custom logic or configuration
3903// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3904//
3905//
3906//    // Example sending a request using the GetCampaignVersionsRequest method.
3907//    req, resp := client.GetCampaignVersionsRequest(params)
3908//
3909//    err := req.Send()
3910//    if err == nil { // resp is now filled
3911//        fmt.Println(resp)
3912//    }
3913//
3914// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersions
3915func (c *Pinpoint) GetCampaignVersionsRequest(input *GetCampaignVersionsInput) (req *request.Request, output *GetCampaignVersionsOutput) {
3916	op := &request.Operation{
3917		Name:       opGetCampaignVersions,
3918		HTTPMethod: "GET",
3919		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/versions",
3920	}
3921
3922	if input == nil {
3923		input = &GetCampaignVersionsInput{}
3924	}
3925
3926	output = &GetCampaignVersionsOutput{}
3927	req = c.newRequest(op, input, output)
3928	return
3929}
3930
3931// GetCampaignVersions API operation for Amazon Pinpoint.
3932//
3933// Retrieves information about the status, configuration, and other settings
3934// for all versions of a specific campaign.
3935//
3936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3937// with awserr.Error's Code and Message methods to get detailed information about
3938// the error.
3939//
3940// See the AWS API reference guide for Amazon Pinpoint's
3941// API operation GetCampaignVersions for usage and error information.
3942//
3943// Returned Error Codes:
3944//   * ErrCodeBadRequestException "BadRequestException"
3945//   Provides information about an API request or response.
3946//
3947//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3948//   Provides information about an API request or response.
3949//
3950//   * ErrCodeForbiddenException "ForbiddenException"
3951//   Provides information about an API request or response.
3952//
3953//   * ErrCodeNotFoundException "NotFoundException"
3954//   Provides information about an API request or response.
3955//
3956//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3957//   Provides information about an API request or response.
3958//
3959//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3960//   Provides information about an API request or response.
3961//
3962// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersions
3963func (c *Pinpoint) GetCampaignVersions(input *GetCampaignVersionsInput) (*GetCampaignVersionsOutput, error) {
3964	req, out := c.GetCampaignVersionsRequest(input)
3965	return out, req.Send()
3966}
3967
3968// GetCampaignVersionsWithContext is the same as GetCampaignVersions with the addition of
3969// the ability to pass a context and additional request options.
3970//
3971// See GetCampaignVersions for details on how to use this API operation.
3972//
3973// The context must be non-nil and will be used for request cancellation. If
3974// the context is nil a panic will occur. In the future the SDK may create
3975// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3976// for more information on using Contexts.
3977func (c *Pinpoint) GetCampaignVersionsWithContext(ctx aws.Context, input *GetCampaignVersionsInput, opts ...request.Option) (*GetCampaignVersionsOutput, error) {
3978	req, out := c.GetCampaignVersionsRequest(input)
3979	req.SetContext(ctx)
3980	req.ApplyOptions(opts...)
3981	return out, req.Send()
3982}
3983
3984const opGetCampaigns = "GetCampaigns"
3985
3986// GetCampaignsRequest generates a "aws/request.Request" representing the
3987// client's request for the GetCampaigns operation. The "output" return
3988// value will be populated with the request's response once the request completes
3989// successfully.
3990//
3991// Use "Send" method on the returned Request to send the API call to the service.
3992// the "output" return value is not valid until after Send returns without error.
3993//
3994// See GetCampaigns for more information on using the GetCampaigns
3995// API call, and error handling.
3996//
3997// This method is useful when you want to inject custom logic or configuration
3998// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3999//
4000//
4001//    // Example sending a request using the GetCampaignsRequest method.
4002//    req, resp := client.GetCampaignsRequest(params)
4003//
4004//    err := req.Send()
4005//    if err == nil { // resp is now filled
4006//        fmt.Println(resp)
4007//    }
4008//
4009// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaigns
4010func (c *Pinpoint) GetCampaignsRequest(input *GetCampaignsInput) (req *request.Request, output *GetCampaignsOutput) {
4011	op := &request.Operation{
4012		Name:       opGetCampaigns,
4013		HTTPMethod: "GET",
4014		HTTPPath:   "/v1/apps/{application-id}/campaigns",
4015	}
4016
4017	if input == nil {
4018		input = &GetCampaignsInput{}
4019	}
4020
4021	output = &GetCampaignsOutput{}
4022	req = c.newRequest(op, input, output)
4023	return
4024}
4025
4026// GetCampaigns API operation for Amazon Pinpoint.
4027//
4028// Retrieves information about the status, configuration, and other settings
4029// for all the campaigns that are associated with an application.
4030//
4031// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4032// with awserr.Error's Code and Message methods to get detailed information about
4033// the error.
4034//
4035// See the AWS API reference guide for Amazon Pinpoint's
4036// API operation GetCampaigns for usage and error information.
4037//
4038// Returned Error Codes:
4039//   * ErrCodeBadRequestException "BadRequestException"
4040//   Provides information about an API request or response.
4041//
4042//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4043//   Provides information about an API request or response.
4044//
4045//   * ErrCodeForbiddenException "ForbiddenException"
4046//   Provides information about an API request or response.
4047//
4048//   * ErrCodeNotFoundException "NotFoundException"
4049//   Provides information about an API request or response.
4050//
4051//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4052//   Provides information about an API request or response.
4053//
4054//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4055//   Provides information about an API request or response.
4056//
4057// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaigns
4058func (c *Pinpoint) GetCampaigns(input *GetCampaignsInput) (*GetCampaignsOutput, error) {
4059	req, out := c.GetCampaignsRequest(input)
4060	return out, req.Send()
4061}
4062
4063// GetCampaignsWithContext is the same as GetCampaigns with the addition of
4064// the ability to pass a context and additional request options.
4065//
4066// See GetCampaigns for details on how to use this API operation.
4067//
4068// The context must be non-nil and will be used for request cancellation. If
4069// the context is nil a panic will occur. In the future the SDK may create
4070// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4071// for more information on using Contexts.
4072func (c *Pinpoint) GetCampaignsWithContext(ctx aws.Context, input *GetCampaignsInput, opts ...request.Option) (*GetCampaignsOutput, error) {
4073	req, out := c.GetCampaignsRequest(input)
4074	req.SetContext(ctx)
4075	req.ApplyOptions(opts...)
4076	return out, req.Send()
4077}
4078
4079const opGetChannels = "GetChannels"
4080
4081// GetChannelsRequest generates a "aws/request.Request" representing the
4082// client's request for the GetChannels operation. The "output" return
4083// value will be populated with the request's response once the request completes
4084// successfully.
4085//
4086// Use "Send" method on the returned Request to send the API call to the service.
4087// the "output" return value is not valid until after Send returns without error.
4088//
4089// See GetChannels for more information on using the GetChannels
4090// API call, and error handling.
4091//
4092// This method is useful when you want to inject custom logic or configuration
4093// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4094//
4095//
4096//    // Example sending a request using the GetChannelsRequest method.
4097//    req, resp := client.GetChannelsRequest(params)
4098//
4099//    err := req.Send()
4100//    if err == nil { // resp is now filled
4101//        fmt.Println(resp)
4102//    }
4103//
4104// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetChannels
4105func (c *Pinpoint) GetChannelsRequest(input *GetChannelsInput) (req *request.Request, output *GetChannelsOutput) {
4106	op := &request.Operation{
4107		Name:       opGetChannels,
4108		HTTPMethod: "GET",
4109		HTTPPath:   "/v1/apps/{application-id}/channels",
4110	}
4111
4112	if input == nil {
4113		input = &GetChannelsInput{}
4114	}
4115
4116	output = &GetChannelsOutput{}
4117	req = c.newRequest(op, input, output)
4118	return
4119}
4120
4121// GetChannels API operation for Amazon Pinpoint.
4122//
4123// Retrieves information about the history and status of each channel for an
4124// application.
4125//
4126// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4127// with awserr.Error's Code and Message methods to get detailed information about
4128// the error.
4129//
4130// See the AWS API reference guide for Amazon Pinpoint's
4131// API operation GetChannels for usage and error information.
4132//
4133// Returned Error Codes:
4134//   * ErrCodeBadRequestException "BadRequestException"
4135//   Provides information about an API request or response.
4136//
4137//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4138//   Provides information about an API request or response.
4139//
4140//   * ErrCodeForbiddenException "ForbiddenException"
4141//   Provides information about an API request or response.
4142//
4143//   * ErrCodeNotFoundException "NotFoundException"
4144//   Provides information about an API request or response.
4145//
4146//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4147//   Provides information about an API request or response.
4148//
4149//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4150//   Provides information about an API request or response.
4151//
4152// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetChannels
4153func (c *Pinpoint) GetChannels(input *GetChannelsInput) (*GetChannelsOutput, error) {
4154	req, out := c.GetChannelsRequest(input)
4155	return out, req.Send()
4156}
4157
4158// GetChannelsWithContext is the same as GetChannels with the addition of
4159// the ability to pass a context and additional request options.
4160//
4161// See GetChannels for details on how to use this API operation.
4162//
4163// The context must be non-nil and will be used for request cancellation. If
4164// the context is nil a panic will occur. In the future the SDK may create
4165// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4166// for more information on using Contexts.
4167func (c *Pinpoint) GetChannelsWithContext(ctx aws.Context, input *GetChannelsInput, opts ...request.Option) (*GetChannelsOutput, error) {
4168	req, out := c.GetChannelsRequest(input)
4169	req.SetContext(ctx)
4170	req.ApplyOptions(opts...)
4171	return out, req.Send()
4172}
4173
4174const opGetEmailChannel = "GetEmailChannel"
4175
4176// GetEmailChannelRequest generates a "aws/request.Request" representing the
4177// client's request for the GetEmailChannel operation. The "output" return
4178// value will be populated with the request's response once the request completes
4179// successfully.
4180//
4181// Use "Send" method on the returned Request to send the API call to the service.
4182// the "output" return value is not valid until after Send returns without error.
4183//
4184// See GetEmailChannel for more information on using the GetEmailChannel
4185// API call, and error handling.
4186//
4187// This method is useful when you want to inject custom logic or configuration
4188// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4189//
4190//
4191//    // Example sending a request using the GetEmailChannelRequest method.
4192//    req, resp := client.GetEmailChannelRequest(params)
4193//
4194//    err := req.Send()
4195//    if err == nil { // resp is now filled
4196//        fmt.Println(resp)
4197//    }
4198//
4199// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailChannel
4200func (c *Pinpoint) GetEmailChannelRequest(input *GetEmailChannelInput) (req *request.Request, output *GetEmailChannelOutput) {
4201	op := &request.Operation{
4202		Name:       opGetEmailChannel,
4203		HTTPMethod: "GET",
4204		HTTPPath:   "/v1/apps/{application-id}/channels/email",
4205	}
4206
4207	if input == nil {
4208		input = &GetEmailChannelInput{}
4209	}
4210
4211	output = &GetEmailChannelOutput{}
4212	req = c.newRequest(op, input, output)
4213	return
4214}
4215
4216// GetEmailChannel API operation for Amazon Pinpoint.
4217//
4218// Retrieves information about the status and settings of the email channel
4219// for an application.
4220//
4221// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4222// with awserr.Error's Code and Message methods to get detailed information about
4223// the error.
4224//
4225// See the AWS API reference guide for Amazon Pinpoint's
4226// API operation GetEmailChannel for usage and error information.
4227//
4228// Returned Error Codes:
4229//   * ErrCodeBadRequestException "BadRequestException"
4230//   Provides information about an API request or response.
4231//
4232//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4233//   Provides information about an API request or response.
4234//
4235//   * ErrCodeForbiddenException "ForbiddenException"
4236//   Provides information about an API request or response.
4237//
4238//   * ErrCodeNotFoundException "NotFoundException"
4239//   Provides information about an API request or response.
4240//
4241//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4242//   Provides information about an API request or response.
4243//
4244//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4245//   Provides information about an API request or response.
4246//
4247// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailChannel
4248func (c *Pinpoint) GetEmailChannel(input *GetEmailChannelInput) (*GetEmailChannelOutput, error) {
4249	req, out := c.GetEmailChannelRequest(input)
4250	return out, req.Send()
4251}
4252
4253// GetEmailChannelWithContext is the same as GetEmailChannel with the addition of
4254// the ability to pass a context and additional request options.
4255//
4256// See GetEmailChannel for details on how to use this API operation.
4257//
4258// The context must be non-nil and will be used for request cancellation. If
4259// the context is nil a panic will occur. In the future the SDK may create
4260// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4261// for more information on using Contexts.
4262func (c *Pinpoint) GetEmailChannelWithContext(ctx aws.Context, input *GetEmailChannelInput, opts ...request.Option) (*GetEmailChannelOutput, error) {
4263	req, out := c.GetEmailChannelRequest(input)
4264	req.SetContext(ctx)
4265	req.ApplyOptions(opts...)
4266	return out, req.Send()
4267}
4268
4269const opGetEmailTemplate = "GetEmailTemplate"
4270
4271// GetEmailTemplateRequest generates a "aws/request.Request" representing the
4272// client's request for the GetEmailTemplate operation. The "output" return
4273// value will be populated with the request's response once the request completes
4274// successfully.
4275//
4276// Use "Send" method on the returned Request to send the API call to the service.
4277// the "output" return value is not valid until after Send returns without error.
4278//
4279// See GetEmailTemplate for more information on using the GetEmailTemplate
4280// API call, and error handling.
4281//
4282// This method is useful when you want to inject custom logic or configuration
4283// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4284//
4285//
4286//    // Example sending a request using the GetEmailTemplateRequest method.
4287//    req, resp := client.GetEmailTemplateRequest(params)
4288//
4289//    err := req.Send()
4290//    if err == nil { // resp is now filled
4291//        fmt.Println(resp)
4292//    }
4293//
4294// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailTemplate
4295func (c *Pinpoint) GetEmailTemplateRequest(input *GetEmailTemplateInput) (req *request.Request, output *GetEmailTemplateOutput) {
4296	op := &request.Operation{
4297		Name:       opGetEmailTemplate,
4298		HTTPMethod: "GET",
4299		HTTPPath:   "/v1/templates/{template-name}/email",
4300	}
4301
4302	if input == nil {
4303		input = &GetEmailTemplateInput{}
4304	}
4305
4306	output = &GetEmailTemplateOutput{}
4307	req = c.newRequest(op, input, output)
4308	return
4309}
4310
4311// GetEmailTemplate API operation for Amazon Pinpoint.
4312//
4313// Retrieves the content and settings for a message template that you can use
4314// in messages that are sent through the email channel.
4315//
4316// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4317// with awserr.Error's Code and Message methods to get detailed information about
4318// the error.
4319//
4320// See the AWS API reference guide for Amazon Pinpoint's
4321// API operation GetEmailTemplate for usage and error information.
4322//
4323// Returned Error Codes:
4324//   * ErrCodeBadRequestException "BadRequestException"
4325//   Provides information about an API request or response.
4326//
4327//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4328//   Provides information about an API request or response.
4329//
4330//   * ErrCodeForbiddenException "ForbiddenException"
4331//   Provides information about an API request or response.
4332//
4333//   * ErrCodeNotFoundException "NotFoundException"
4334//   Provides information about an API request or response.
4335//
4336//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4337//   Provides information about an API request or response.
4338//
4339//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4340//   Provides information about an API request or response.
4341//
4342// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailTemplate
4343func (c *Pinpoint) GetEmailTemplate(input *GetEmailTemplateInput) (*GetEmailTemplateOutput, error) {
4344	req, out := c.GetEmailTemplateRequest(input)
4345	return out, req.Send()
4346}
4347
4348// GetEmailTemplateWithContext is the same as GetEmailTemplate with the addition of
4349// the ability to pass a context and additional request options.
4350//
4351// See GetEmailTemplate for details on how to use this API operation.
4352//
4353// The context must be non-nil and will be used for request cancellation. If
4354// the context is nil a panic will occur. In the future the SDK may create
4355// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4356// for more information on using Contexts.
4357func (c *Pinpoint) GetEmailTemplateWithContext(ctx aws.Context, input *GetEmailTemplateInput, opts ...request.Option) (*GetEmailTemplateOutput, error) {
4358	req, out := c.GetEmailTemplateRequest(input)
4359	req.SetContext(ctx)
4360	req.ApplyOptions(opts...)
4361	return out, req.Send()
4362}
4363
4364const opGetEndpoint = "GetEndpoint"
4365
4366// GetEndpointRequest generates a "aws/request.Request" representing the
4367// client's request for the GetEndpoint operation. The "output" return
4368// value will be populated with the request's response once the request completes
4369// successfully.
4370//
4371// Use "Send" method on the returned Request to send the API call to the service.
4372// the "output" return value is not valid until after Send returns without error.
4373//
4374// See GetEndpoint for more information on using the GetEndpoint
4375// API call, and error handling.
4376//
4377// This method is useful when you want to inject custom logic or configuration
4378// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4379//
4380//
4381//    // Example sending a request using the GetEndpointRequest method.
4382//    req, resp := client.GetEndpointRequest(params)
4383//
4384//    err := req.Send()
4385//    if err == nil { // resp is now filled
4386//        fmt.Println(resp)
4387//    }
4388//
4389// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpoint
4390func (c *Pinpoint) GetEndpointRequest(input *GetEndpointInput) (req *request.Request, output *GetEndpointOutput) {
4391	op := &request.Operation{
4392		Name:       opGetEndpoint,
4393		HTTPMethod: "GET",
4394		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
4395	}
4396
4397	if input == nil {
4398		input = &GetEndpointInput{}
4399	}
4400
4401	output = &GetEndpointOutput{}
4402	req = c.newRequest(op, input, output)
4403	return
4404}
4405
4406// GetEndpoint API operation for Amazon Pinpoint.
4407//
4408// Retrieves information about the settings and attributes of a specific endpoint
4409// for an application.
4410//
4411// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4412// with awserr.Error's Code and Message methods to get detailed information about
4413// the error.
4414//
4415// See the AWS API reference guide for Amazon Pinpoint's
4416// API operation GetEndpoint for usage and error information.
4417//
4418// Returned Error Codes:
4419//   * ErrCodeBadRequestException "BadRequestException"
4420//   Provides information about an API request or response.
4421//
4422//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4423//   Provides information about an API request or response.
4424//
4425//   * ErrCodeForbiddenException "ForbiddenException"
4426//   Provides information about an API request or response.
4427//
4428//   * ErrCodeNotFoundException "NotFoundException"
4429//   Provides information about an API request or response.
4430//
4431//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4432//   Provides information about an API request or response.
4433//
4434//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4435//   Provides information about an API request or response.
4436//
4437// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpoint
4438func (c *Pinpoint) GetEndpoint(input *GetEndpointInput) (*GetEndpointOutput, error) {
4439	req, out := c.GetEndpointRequest(input)
4440	return out, req.Send()
4441}
4442
4443// GetEndpointWithContext is the same as GetEndpoint with the addition of
4444// the ability to pass a context and additional request options.
4445//
4446// See GetEndpoint for details on how to use this API operation.
4447//
4448// The context must be non-nil and will be used for request cancellation. If
4449// the context is nil a panic will occur. In the future the SDK may create
4450// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4451// for more information on using Contexts.
4452func (c *Pinpoint) GetEndpointWithContext(ctx aws.Context, input *GetEndpointInput, opts ...request.Option) (*GetEndpointOutput, error) {
4453	req, out := c.GetEndpointRequest(input)
4454	req.SetContext(ctx)
4455	req.ApplyOptions(opts...)
4456	return out, req.Send()
4457}
4458
4459const opGetEventStream = "GetEventStream"
4460
4461// GetEventStreamRequest generates a "aws/request.Request" representing the
4462// client's request for the GetEventStream operation. The "output" return
4463// value will be populated with the request's response once the request completes
4464// successfully.
4465//
4466// Use "Send" method on the returned Request to send the API call to the service.
4467// the "output" return value is not valid until after Send returns without error.
4468//
4469// See GetEventStream for more information on using the GetEventStream
4470// API call, and error handling.
4471//
4472// This method is useful when you want to inject custom logic or configuration
4473// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4474//
4475//
4476//    // Example sending a request using the GetEventStreamRequest method.
4477//    req, resp := client.GetEventStreamRequest(params)
4478//
4479//    err := req.Send()
4480//    if err == nil { // resp is now filled
4481//        fmt.Println(resp)
4482//    }
4483//
4484// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEventStream
4485func (c *Pinpoint) GetEventStreamRequest(input *GetEventStreamInput) (req *request.Request, output *GetEventStreamOutput) {
4486	op := &request.Operation{
4487		Name:       opGetEventStream,
4488		HTTPMethod: "GET",
4489		HTTPPath:   "/v1/apps/{application-id}/eventstream",
4490	}
4491
4492	if input == nil {
4493		input = &GetEventStreamInput{}
4494	}
4495
4496	output = &GetEventStreamOutput{}
4497	req = c.newRequest(op, input, output)
4498	return
4499}
4500
4501// GetEventStream API operation for Amazon Pinpoint.
4502//
4503// Retrieves information about the event stream settings for an application.
4504//
4505// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4506// with awserr.Error's Code and Message methods to get detailed information about
4507// the error.
4508//
4509// See the AWS API reference guide for Amazon Pinpoint's
4510// API operation GetEventStream for usage and error information.
4511//
4512// Returned Error Codes:
4513//   * ErrCodeBadRequestException "BadRequestException"
4514//   Provides information about an API request or response.
4515//
4516//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4517//   Provides information about an API request or response.
4518//
4519//   * ErrCodeForbiddenException "ForbiddenException"
4520//   Provides information about an API request or response.
4521//
4522//   * ErrCodeNotFoundException "NotFoundException"
4523//   Provides information about an API request or response.
4524//
4525//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4526//   Provides information about an API request or response.
4527//
4528//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4529//   Provides information about an API request or response.
4530//
4531// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEventStream
4532func (c *Pinpoint) GetEventStream(input *GetEventStreamInput) (*GetEventStreamOutput, error) {
4533	req, out := c.GetEventStreamRequest(input)
4534	return out, req.Send()
4535}
4536
4537// GetEventStreamWithContext is the same as GetEventStream with the addition of
4538// the ability to pass a context and additional request options.
4539//
4540// See GetEventStream for details on how to use this API operation.
4541//
4542// The context must be non-nil and will be used for request cancellation. If
4543// the context is nil a panic will occur. In the future the SDK may create
4544// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4545// for more information on using Contexts.
4546func (c *Pinpoint) GetEventStreamWithContext(ctx aws.Context, input *GetEventStreamInput, opts ...request.Option) (*GetEventStreamOutput, error) {
4547	req, out := c.GetEventStreamRequest(input)
4548	req.SetContext(ctx)
4549	req.ApplyOptions(opts...)
4550	return out, req.Send()
4551}
4552
4553const opGetExportJob = "GetExportJob"
4554
4555// GetExportJobRequest generates a "aws/request.Request" representing the
4556// client's request for the GetExportJob operation. The "output" return
4557// value will be populated with the request's response once the request completes
4558// successfully.
4559//
4560// Use "Send" method on the returned Request to send the API call to the service.
4561// the "output" return value is not valid until after Send returns without error.
4562//
4563// See GetExportJob for more information on using the GetExportJob
4564// API call, and error handling.
4565//
4566// This method is useful when you want to inject custom logic or configuration
4567// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4568//
4569//
4570//    // Example sending a request using the GetExportJobRequest method.
4571//    req, resp := client.GetExportJobRequest(params)
4572//
4573//    err := req.Send()
4574//    if err == nil { // resp is now filled
4575//        fmt.Println(resp)
4576//    }
4577//
4578// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJob
4579func (c *Pinpoint) GetExportJobRequest(input *GetExportJobInput) (req *request.Request, output *GetExportJobOutput) {
4580	op := &request.Operation{
4581		Name:       opGetExportJob,
4582		HTTPMethod: "GET",
4583		HTTPPath:   "/v1/apps/{application-id}/jobs/export/{job-id}",
4584	}
4585
4586	if input == nil {
4587		input = &GetExportJobInput{}
4588	}
4589
4590	output = &GetExportJobOutput{}
4591	req = c.newRequest(op, input, output)
4592	return
4593}
4594
4595// GetExportJob API operation for Amazon Pinpoint.
4596//
4597// Retrieves information about the status and settings of a specific export
4598// job for an application.
4599//
4600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4601// with awserr.Error's Code and Message methods to get detailed information about
4602// the error.
4603//
4604// See the AWS API reference guide for Amazon Pinpoint's
4605// API operation GetExportJob for usage and error information.
4606//
4607// Returned Error Codes:
4608//   * ErrCodeBadRequestException "BadRequestException"
4609//   Provides information about an API request or response.
4610//
4611//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4612//   Provides information about an API request or response.
4613//
4614//   * ErrCodeForbiddenException "ForbiddenException"
4615//   Provides information about an API request or response.
4616//
4617//   * ErrCodeNotFoundException "NotFoundException"
4618//   Provides information about an API request or response.
4619//
4620//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4621//   Provides information about an API request or response.
4622//
4623//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4624//   Provides information about an API request or response.
4625//
4626// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJob
4627func (c *Pinpoint) GetExportJob(input *GetExportJobInput) (*GetExportJobOutput, error) {
4628	req, out := c.GetExportJobRequest(input)
4629	return out, req.Send()
4630}
4631
4632// GetExportJobWithContext is the same as GetExportJob with the addition of
4633// the ability to pass a context and additional request options.
4634//
4635// See GetExportJob for details on how to use this API operation.
4636//
4637// The context must be non-nil and will be used for request cancellation. If
4638// the context is nil a panic will occur. In the future the SDK may create
4639// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4640// for more information on using Contexts.
4641func (c *Pinpoint) GetExportJobWithContext(ctx aws.Context, input *GetExportJobInput, opts ...request.Option) (*GetExportJobOutput, error) {
4642	req, out := c.GetExportJobRequest(input)
4643	req.SetContext(ctx)
4644	req.ApplyOptions(opts...)
4645	return out, req.Send()
4646}
4647
4648const opGetExportJobs = "GetExportJobs"
4649
4650// GetExportJobsRequest generates a "aws/request.Request" representing the
4651// client's request for the GetExportJobs operation. The "output" return
4652// value will be populated with the request's response once the request completes
4653// successfully.
4654//
4655// Use "Send" method on the returned Request to send the API call to the service.
4656// the "output" return value is not valid until after Send returns without error.
4657//
4658// See GetExportJobs for more information on using the GetExportJobs
4659// API call, and error handling.
4660//
4661// This method is useful when you want to inject custom logic or configuration
4662// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4663//
4664//
4665//    // Example sending a request using the GetExportJobsRequest method.
4666//    req, resp := client.GetExportJobsRequest(params)
4667//
4668//    err := req.Send()
4669//    if err == nil { // resp is now filled
4670//        fmt.Println(resp)
4671//    }
4672//
4673// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJobs
4674func (c *Pinpoint) GetExportJobsRequest(input *GetExportJobsInput) (req *request.Request, output *GetExportJobsOutput) {
4675	op := &request.Operation{
4676		Name:       opGetExportJobs,
4677		HTTPMethod: "GET",
4678		HTTPPath:   "/v1/apps/{application-id}/jobs/export",
4679	}
4680
4681	if input == nil {
4682		input = &GetExportJobsInput{}
4683	}
4684
4685	output = &GetExportJobsOutput{}
4686	req = c.newRequest(op, input, output)
4687	return
4688}
4689
4690// GetExportJobs API operation for Amazon Pinpoint.
4691//
4692// Retrieves information about the status and settings of all the export jobs
4693// for an application.
4694//
4695// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4696// with awserr.Error's Code and Message methods to get detailed information about
4697// the error.
4698//
4699// See the AWS API reference guide for Amazon Pinpoint's
4700// API operation GetExportJobs for usage and error information.
4701//
4702// Returned Error Codes:
4703//   * ErrCodeBadRequestException "BadRequestException"
4704//   Provides information about an API request or response.
4705//
4706//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4707//   Provides information about an API request or response.
4708//
4709//   * ErrCodeForbiddenException "ForbiddenException"
4710//   Provides information about an API request or response.
4711//
4712//   * ErrCodeNotFoundException "NotFoundException"
4713//   Provides information about an API request or response.
4714//
4715//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4716//   Provides information about an API request or response.
4717//
4718//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4719//   Provides information about an API request or response.
4720//
4721// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJobs
4722func (c *Pinpoint) GetExportJobs(input *GetExportJobsInput) (*GetExportJobsOutput, error) {
4723	req, out := c.GetExportJobsRequest(input)
4724	return out, req.Send()
4725}
4726
4727// GetExportJobsWithContext is the same as GetExportJobs with the addition of
4728// the ability to pass a context and additional request options.
4729//
4730// See GetExportJobs for details on how to use this API operation.
4731//
4732// The context must be non-nil and will be used for request cancellation. If
4733// the context is nil a panic will occur. In the future the SDK may create
4734// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4735// for more information on using Contexts.
4736func (c *Pinpoint) GetExportJobsWithContext(ctx aws.Context, input *GetExportJobsInput, opts ...request.Option) (*GetExportJobsOutput, error) {
4737	req, out := c.GetExportJobsRequest(input)
4738	req.SetContext(ctx)
4739	req.ApplyOptions(opts...)
4740	return out, req.Send()
4741}
4742
4743const opGetGcmChannel = "GetGcmChannel"
4744
4745// GetGcmChannelRequest generates a "aws/request.Request" representing the
4746// client's request for the GetGcmChannel operation. The "output" return
4747// value will be populated with the request's response once the request completes
4748// successfully.
4749//
4750// Use "Send" method on the returned Request to send the API call to the service.
4751// the "output" return value is not valid until after Send returns without error.
4752//
4753// See GetGcmChannel for more information on using the GetGcmChannel
4754// API call, and error handling.
4755//
4756// This method is useful when you want to inject custom logic or configuration
4757// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4758//
4759//
4760//    // Example sending a request using the GetGcmChannelRequest method.
4761//    req, resp := client.GetGcmChannelRequest(params)
4762//
4763//    err := req.Send()
4764//    if err == nil { // resp is now filled
4765//        fmt.Println(resp)
4766//    }
4767//
4768// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetGcmChannel
4769func (c *Pinpoint) GetGcmChannelRequest(input *GetGcmChannelInput) (req *request.Request, output *GetGcmChannelOutput) {
4770	op := &request.Operation{
4771		Name:       opGetGcmChannel,
4772		HTTPMethod: "GET",
4773		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
4774	}
4775
4776	if input == nil {
4777		input = &GetGcmChannelInput{}
4778	}
4779
4780	output = &GetGcmChannelOutput{}
4781	req = c.newRequest(op, input, output)
4782	return
4783}
4784
4785// GetGcmChannel API operation for Amazon Pinpoint.
4786//
4787// Retrieves information about the status and settings of the GCM channel for
4788// an application.
4789//
4790// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4791// with awserr.Error's Code and Message methods to get detailed information about
4792// the error.
4793//
4794// See the AWS API reference guide for Amazon Pinpoint's
4795// API operation GetGcmChannel for usage and error information.
4796//
4797// Returned Error Codes:
4798//   * ErrCodeBadRequestException "BadRequestException"
4799//   Provides information about an API request or response.
4800//
4801//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4802//   Provides information about an API request or response.
4803//
4804//   * ErrCodeForbiddenException "ForbiddenException"
4805//   Provides information about an API request or response.
4806//
4807//   * ErrCodeNotFoundException "NotFoundException"
4808//   Provides information about an API request or response.
4809//
4810//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4811//   Provides information about an API request or response.
4812//
4813//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4814//   Provides information about an API request or response.
4815//
4816// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetGcmChannel
4817func (c *Pinpoint) GetGcmChannel(input *GetGcmChannelInput) (*GetGcmChannelOutput, error) {
4818	req, out := c.GetGcmChannelRequest(input)
4819	return out, req.Send()
4820}
4821
4822// GetGcmChannelWithContext is the same as GetGcmChannel with the addition of
4823// the ability to pass a context and additional request options.
4824//
4825// See GetGcmChannel for details on how to use this API operation.
4826//
4827// The context must be non-nil and will be used for request cancellation. If
4828// the context is nil a panic will occur. In the future the SDK may create
4829// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4830// for more information on using Contexts.
4831func (c *Pinpoint) GetGcmChannelWithContext(ctx aws.Context, input *GetGcmChannelInput, opts ...request.Option) (*GetGcmChannelOutput, error) {
4832	req, out := c.GetGcmChannelRequest(input)
4833	req.SetContext(ctx)
4834	req.ApplyOptions(opts...)
4835	return out, req.Send()
4836}
4837
4838const opGetImportJob = "GetImportJob"
4839
4840// GetImportJobRequest generates a "aws/request.Request" representing the
4841// client's request for the GetImportJob operation. The "output" return
4842// value will be populated with the request's response once the request completes
4843// successfully.
4844//
4845// Use "Send" method on the returned Request to send the API call to the service.
4846// the "output" return value is not valid until after Send returns without error.
4847//
4848// See GetImportJob for more information on using the GetImportJob
4849// API call, and error handling.
4850//
4851// This method is useful when you want to inject custom logic or configuration
4852// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4853//
4854//
4855//    // Example sending a request using the GetImportJobRequest method.
4856//    req, resp := client.GetImportJobRequest(params)
4857//
4858//    err := req.Send()
4859//    if err == nil { // resp is now filled
4860//        fmt.Println(resp)
4861//    }
4862//
4863// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJob
4864func (c *Pinpoint) GetImportJobRequest(input *GetImportJobInput) (req *request.Request, output *GetImportJobOutput) {
4865	op := &request.Operation{
4866		Name:       opGetImportJob,
4867		HTTPMethod: "GET",
4868		HTTPPath:   "/v1/apps/{application-id}/jobs/import/{job-id}",
4869	}
4870
4871	if input == nil {
4872		input = &GetImportJobInput{}
4873	}
4874
4875	output = &GetImportJobOutput{}
4876	req = c.newRequest(op, input, output)
4877	return
4878}
4879
4880// GetImportJob API operation for Amazon Pinpoint.
4881//
4882// Retrieves information about the status and settings of a specific import
4883// job for an application.
4884//
4885// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4886// with awserr.Error's Code and Message methods to get detailed information about
4887// the error.
4888//
4889// See the AWS API reference guide for Amazon Pinpoint's
4890// API operation GetImportJob for usage and error information.
4891//
4892// Returned Error Codes:
4893//   * ErrCodeBadRequestException "BadRequestException"
4894//   Provides information about an API request or response.
4895//
4896//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4897//   Provides information about an API request or response.
4898//
4899//   * ErrCodeForbiddenException "ForbiddenException"
4900//   Provides information about an API request or response.
4901//
4902//   * ErrCodeNotFoundException "NotFoundException"
4903//   Provides information about an API request or response.
4904//
4905//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4906//   Provides information about an API request or response.
4907//
4908//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4909//   Provides information about an API request or response.
4910//
4911// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJob
4912func (c *Pinpoint) GetImportJob(input *GetImportJobInput) (*GetImportJobOutput, error) {
4913	req, out := c.GetImportJobRequest(input)
4914	return out, req.Send()
4915}
4916
4917// GetImportJobWithContext is the same as GetImportJob with the addition of
4918// the ability to pass a context and additional request options.
4919//
4920// See GetImportJob for details on how to use this API operation.
4921//
4922// The context must be non-nil and will be used for request cancellation. If
4923// the context is nil a panic will occur. In the future the SDK may create
4924// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4925// for more information on using Contexts.
4926func (c *Pinpoint) GetImportJobWithContext(ctx aws.Context, input *GetImportJobInput, opts ...request.Option) (*GetImportJobOutput, error) {
4927	req, out := c.GetImportJobRequest(input)
4928	req.SetContext(ctx)
4929	req.ApplyOptions(opts...)
4930	return out, req.Send()
4931}
4932
4933const opGetImportJobs = "GetImportJobs"
4934
4935// GetImportJobsRequest generates a "aws/request.Request" representing the
4936// client's request for the GetImportJobs operation. The "output" return
4937// value will be populated with the request's response once the request completes
4938// successfully.
4939//
4940// Use "Send" method on the returned Request to send the API call to the service.
4941// the "output" return value is not valid until after Send returns without error.
4942//
4943// See GetImportJobs for more information on using the GetImportJobs
4944// API call, and error handling.
4945//
4946// This method is useful when you want to inject custom logic or configuration
4947// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4948//
4949//
4950//    // Example sending a request using the GetImportJobsRequest method.
4951//    req, resp := client.GetImportJobsRequest(params)
4952//
4953//    err := req.Send()
4954//    if err == nil { // resp is now filled
4955//        fmt.Println(resp)
4956//    }
4957//
4958// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobs
4959func (c *Pinpoint) GetImportJobsRequest(input *GetImportJobsInput) (req *request.Request, output *GetImportJobsOutput) {
4960	op := &request.Operation{
4961		Name:       opGetImportJobs,
4962		HTTPMethod: "GET",
4963		HTTPPath:   "/v1/apps/{application-id}/jobs/import",
4964	}
4965
4966	if input == nil {
4967		input = &GetImportJobsInput{}
4968	}
4969
4970	output = &GetImportJobsOutput{}
4971	req = c.newRequest(op, input, output)
4972	return
4973}
4974
4975// GetImportJobs API operation for Amazon Pinpoint.
4976//
4977// Retrieves information about the status and settings of all the import jobs
4978// for an application.
4979//
4980// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4981// with awserr.Error's Code and Message methods to get detailed information about
4982// the error.
4983//
4984// See the AWS API reference guide for Amazon Pinpoint's
4985// API operation GetImportJobs for usage and error information.
4986//
4987// Returned Error Codes:
4988//   * ErrCodeBadRequestException "BadRequestException"
4989//   Provides information about an API request or response.
4990//
4991//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4992//   Provides information about an API request or response.
4993//
4994//   * ErrCodeForbiddenException "ForbiddenException"
4995//   Provides information about an API request or response.
4996//
4997//   * ErrCodeNotFoundException "NotFoundException"
4998//   Provides information about an API request or response.
4999//
5000//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5001//   Provides information about an API request or response.
5002//
5003//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5004//   Provides information about an API request or response.
5005//
5006// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobs
5007func (c *Pinpoint) GetImportJobs(input *GetImportJobsInput) (*GetImportJobsOutput, error) {
5008	req, out := c.GetImportJobsRequest(input)
5009	return out, req.Send()
5010}
5011
5012// GetImportJobsWithContext is the same as GetImportJobs with the addition of
5013// the ability to pass a context and additional request options.
5014//
5015// See GetImportJobs for details on how to use this API operation.
5016//
5017// The context must be non-nil and will be used for request cancellation. If
5018// the context is nil a panic will occur. In the future the SDK may create
5019// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5020// for more information on using Contexts.
5021func (c *Pinpoint) GetImportJobsWithContext(ctx aws.Context, input *GetImportJobsInput, opts ...request.Option) (*GetImportJobsOutput, error) {
5022	req, out := c.GetImportJobsRequest(input)
5023	req.SetContext(ctx)
5024	req.ApplyOptions(opts...)
5025	return out, req.Send()
5026}
5027
5028const opGetPushTemplate = "GetPushTemplate"
5029
5030// GetPushTemplateRequest generates a "aws/request.Request" representing the
5031// client's request for the GetPushTemplate operation. The "output" return
5032// value will be populated with the request's response once the request completes
5033// successfully.
5034//
5035// Use "Send" method on the returned Request to send the API call to the service.
5036// the "output" return value is not valid until after Send returns without error.
5037//
5038// See GetPushTemplate for more information on using the GetPushTemplate
5039// API call, and error handling.
5040//
5041// This method is useful when you want to inject custom logic or configuration
5042// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5043//
5044//
5045//    // Example sending a request using the GetPushTemplateRequest method.
5046//    req, resp := client.GetPushTemplateRequest(params)
5047//
5048//    err := req.Send()
5049//    if err == nil { // resp is now filled
5050//        fmt.Println(resp)
5051//    }
5052//
5053// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetPushTemplate
5054func (c *Pinpoint) GetPushTemplateRequest(input *GetPushTemplateInput) (req *request.Request, output *GetPushTemplateOutput) {
5055	op := &request.Operation{
5056		Name:       opGetPushTemplate,
5057		HTTPMethod: "GET",
5058		HTTPPath:   "/v1/templates/{template-name}/push",
5059	}
5060
5061	if input == nil {
5062		input = &GetPushTemplateInput{}
5063	}
5064
5065	output = &GetPushTemplateOutput{}
5066	req = c.newRequest(op, input, output)
5067	return
5068}
5069
5070// GetPushTemplate API operation for Amazon Pinpoint.
5071//
5072// Retrieves the content and settings for a message template that you can use
5073// in messages that are sent through a push notification channel.
5074//
5075// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5076// with awserr.Error's Code and Message methods to get detailed information about
5077// the error.
5078//
5079// See the AWS API reference guide for Amazon Pinpoint's
5080// API operation GetPushTemplate for usage and error information.
5081//
5082// Returned Error Codes:
5083//   * ErrCodeBadRequestException "BadRequestException"
5084//   Provides information about an API request or response.
5085//
5086//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5087//   Provides information about an API request or response.
5088//
5089//   * ErrCodeForbiddenException "ForbiddenException"
5090//   Provides information about an API request or response.
5091//
5092//   * ErrCodeNotFoundException "NotFoundException"
5093//   Provides information about an API request or response.
5094//
5095//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5096//   Provides information about an API request or response.
5097//
5098//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5099//   Provides information about an API request or response.
5100//
5101// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetPushTemplate
5102func (c *Pinpoint) GetPushTemplate(input *GetPushTemplateInput) (*GetPushTemplateOutput, error) {
5103	req, out := c.GetPushTemplateRequest(input)
5104	return out, req.Send()
5105}
5106
5107// GetPushTemplateWithContext is the same as GetPushTemplate with the addition of
5108// the ability to pass a context and additional request options.
5109//
5110// See GetPushTemplate for details on how to use this API operation.
5111//
5112// The context must be non-nil and will be used for request cancellation. If
5113// the context is nil a panic will occur. In the future the SDK may create
5114// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5115// for more information on using Contexts.
5116func (c *Pinpoint) GetPushTemplateWithContext(ctx aws.Context, input *GetPushTemplateInput, opts ...request.Option) (*GetPushTemplateOutput, error) {
5117	req, out := c.GetPushTemplateRequest(input)
5118	req.SetContext(ctx)
5119	req.ApplyOptions(opts...)
5120	return out, req.Send()
5121}
5122
5123const opGetSegment = "GetSegment"
5124
5125// GetSegmentRequest generates a "aws/request.Request" representing the
5126// client's request for the GetSegment operation. The "output" return
5127// value will be populated with the request's response once the request completes
5128// successfully.
5129//
5130// Use "Send" method on the returned Request to send the API call to the service.
5131// the "output" return value is not valid until after Send returns without error.
5132//
5133// See GetSegment for more information on using the GetSegment
5134// API call, and error handling.
5135//
5136// This method is useful when you want to inject custom logic or configuration
5137// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5138//
5139//
5140//    // Example sending a request using the GetSegmentRequest method.
5141//    req, resp := client.GetSegmentRequest(params)
5142//
5143//    err := req.Send()
5144//    if err == nil { // resp is now filled
5145//        fmt.Println(resp)
5146//    }
5147//
5148// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment
5149func (c *Pinpoint) GetSegmentRequest(input *GetSegmentInput) (req *request.Request, output *GetSegmentOutput) {
5150	op := &request.Operation{
5151		Name:       opGetSegment,
5152		HTTPMethod: "GET",
5153		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
5154	}
5155
5156	if input == nil {
5157		input = &GetSegmentInput{}
5158	}
5159
5160	output = &GetSegmentOutput{}
5161	req = c.newRequest(op, input, output)
5162	return
5163}
5164
5165// GetSegment API operation for Amazon Pinpoint.
5166//
5167// Retrieves information about the configuration, dimension, and other settings
5168// for a specific segment that's associated with an application.
5169//
5170// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5171// with awserr.Error's Code and Message methods to get detailed information about
5172// the error.
5173//
5174// See the AWS API reference guide for Amazon Pinpoint's
5175// API operation GetSegment for usage and error information.
5176//
5177// Returned Error Codes:
5178//   * ErrCodeBadRequestException "BadRequestException"
5179//   Provides information about an API request or response.
5180//
5181//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5182//   Provides information about an API request or response.
5183//
5184//   * ErrCodeForbiddenException "ForbiddenException"
5185//   Provides information about an API request or response.
5186//
5187//   * ErrCodeNotFoundException "NotFoundException"
5188//   Provides information about an API request or response.
5189//
5190//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5191//   Provides information about an API request or response.
5192//
5193//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5194//   Provides information about an API request or response.
5195//
5196// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment
5197func (c *Pinpoint) GetSegment(input *GetSegmentInput) (*GetSegmentOutput, error) {
5198	req, out := c.GetSegmentRequest(input)
5199	return out, req.Send()
5200}
5201
5202// GetSegmentWithContext is the same as GetSegment with the addition of
5203// the ability to pass a context and additional request options.
5204//
5205// See GetSegment for details on how to use this API operation.
5206//
5207// The context must be non-nil and will be used for request cancellation. If
5208// the context is nil a panic will occur. In the future the SDK may create
5209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5210// for more information on using Contexts.
5211func (c *Pinpoint) GetSegmentWithContext(ctx aws.Context, input *GetSegmentInput, opts ...request.Option) (*GetSegmentOutput, error) {
5212	req, out := c.GetSegmentRequest(input)
5213	req.SetContext(ctx)
5214	req.ApplyOptions(opts...)
5215	return out, req.Send()
5216}
5217
5218const opGetSegmentExportJobs = "GetSegmentExportJobs"
5219
5220// GetSegmentExportJobsRequest generates a "aws/request.Request" representing the
5221// client's request for the GetSegmentExportJobs operation. The "output" return
5222// value will be populated with the request's response once the request completes
5223// successfully.
5224//
5225// Use "Send" method on the returned Request to send the API call to the service.
5226// the "output" return value is not valid until after Send returns without error.
5227//
5228// See GetSegmentExportJobs for more information on using the GetSegmentExportJobs
5229// API call, and error handling.
5230//
5231// This method is useful when you want to inject custom logic or configuration
5232// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5233//
5234//
5235//    // Example sending a request using the GetSegmentExportJobsRequest method.
5236//    req, resp := client.GetSegmentExportJobsRequest(params)
5237//
5238//    err := req.Send()
5239//    if err == nil { // resp is now filled
5240//        fmt.Println(resp)
5241//    }
5242//
5243// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs
5244func (c *Pinpoint) GetSegmentExportJobsRequest(input *GetSegmentExportJobsInput) (req *request.Request, output *GetSegmentExportJobsOutput) {
5245	op := &request.Operation{
5246		Name:       opGetSegmentExportJobs,
5247		HTTPMethod: "GET",
5248		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/jobs/export",
5249	}
5250
5251	if input == nil {
5252		input = &GetSegmentExportJobsInput{}
5253	}
5254
5255	output = &GetSegmentExportJobsOutput{}
5256	req = c.newRequest(op, input, output)
5257	return
5258}
5259
5260// GetSegmentExportJobs API operation for Amazon Pinpoint.
5261//
5262// Retrieves information about the status and settings of the export jobs for
5263// a segment.
5264//
5265// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5266// with awserr.Error's Code and Message methods to get detailed information about
5267// the error.
5268//
5269// See the AWS API reference guide for Amazon Pinpoint's
5270// API operation GetSegmentExportJobs for usage and error information.
5271//
5272// Returned Error Codes:
5273//   * ErrCodeBadRequestException "BadRequestException"
5274//   Provides information about an API request or response.
5275//
5276//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5277//   Provides information about an API request or response.
5278//
5279//   * ErrCodeForbiddenException "ForbiddenException"
5280//   Provides information about an API request or response.
5281//
5282//   * ErrCodeNotFoundException "NotFoundException"
5283//   Provides information about an API request or response.
5284//
5285//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5286//   Provides information about an API request or response.
5287//
5288//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5289//   Provides information about an API request or response.
5290//
5291// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs
5292func (c *Pinpoint) GetSegmentExportJobs(input *GetSegmentExportJobsInput) (*GetSegmentExportJobsOutput, error) {
5293	req, out := c.GetSegmentExportJobsRequest(input)
5294	return out, req.Send()
5295}
5296
5297// GetSegmentExportJobsWithContext is the same as GetSegmentExportJobs with the addition of
5298// the ability to pass a context and additional request options.
5299//
5300// See GetSegmentExportJobs for details on how to use this API operation.
5301//
5302// The context must be non-nil and will be used for request cancellation. If
5303// the context is nil a panic will occur. In the future the SDK may create
5304// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5305// for more information on using Contexts.
5306func (c *Pinpoint) GetSegmentExportJobsWithContext(ctx aws.Context, input *GetSegmentExportJobsInput, opts ...request.Option) (*GetSegmentExportJobsOutput, error) {
5307	req, out := c.GetSegmentExportJobsRequest(input)
5308	req.SetContext(ctx)
5309	req.ApplyOptions(opts...)
5310	return out, req.Send()
5311}
5312
5313const opGetSegmentImportJobs = "GetSegmentImportJobs"
5314
5315// GetSegmentImportJobsRequest generates a "aws/request.Request" representing the
5316// client's request for the GetSegmentImportJobs operation. The "output" return
5317// value will be populated with the request's response once the request completes
5318// successfully.
5319//
5320// Use "Send" method on the returned Request to send the API call to the service.
5321// the "output" return value is not valid until after Send returns without error.
5322//
5323// See GetSegmentImportJobs for more information on using the GetSegmentImportJobs
5324// API call, and error handling.
5325//
5326// This method is useful when you want to inject custom logic or configuration
5327// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5328//
5329//
5330//    // Example sending a request using the GetSegmentImportJobsRequest method.
5331//    req, resp := client.GetSegmentImportJobsRequest(params)
5332//
5333//    err := req.Send()
5334//    if err == nil { // resp is now filled
5335//        fmt.Println(resp)
5336//    }
5337//
5338// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs
5339func (c *Pinpoint) GetSegmentImportJobsRequest(input *GetSegmentImportJobsInput) (req *request.Request, output *GetSegmentImportJobsOutput) {
5340	op := &request.Operation{
5341		Name:       opGetSegmentImportJobs,
5342		HTTPMethod: "GET",
5343		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/jobs/import",
5344	}
5345
5346	if input == nil {
5347		input = &GetSegmentImportJobsInput{}
5348	}
5349
5350	output = &GetSegmentImportJobsOutput{}
5351	req = c.newRequest(op, input, output)
5352	return
5353}
5354
5355// GetSegmentImportJobs API operation for Amazon Pinpoint.
5356//
5357// Retrieves information about the status and settings of the import jobs for
5358// a segment.
5359//
5360// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5361// with awserr.Error's Code and Message methods to get detailed information about
5362// the error.
5363//
5364// See the AWS API reference guide for Amazon Pinpoint's
5365// API operation GetSegmentImportJobs for usage and error information.
5366//
5367// Returned Error Codes:
5368//   * ErrCodeBadRequestException "BadRequestException"
5369//   Provides information about an API request or response.
5370//
5371//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5372//   Provides information about an API request or response.
5373//
5374//   * ErrCodeForbiddenException "ForbiddenException"
5375//   Provides information about an API request or response.
5376//
5377//   * ErrCodeNotFoundException "NotFoundException"
5378//   Provides information about an API request or response.
5379//
5380//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5381//   Provides information about an API request or response.
5382//
5383//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5384//   Provides information about an API request or response.
5385//
5386// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs
5387func (c *Pinpoint) GetSegmentImportJobs(input *GetSegmentImportJobsInput) (*GetSegmentImportJobsOutput, error) {
5388	req, out := c.GetSegmentImportJobsRequest(input)
5389	return out, req.Send()
5390}
5391
5392// GetSegmentImportJobsWithContext is the same as GetSegmentImportJobs with the addition of
5393// the ability to pass a context and additional request options.
5394//
5395// See GetSegmentImportJobs for details on how to use this API operation.
5396//
5397// The context must be non-nil and will be used for request cancellation. If
5398// the context is nil a panic will occur. In the future the SDK may create
5399// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5400// for more information on using Contexts.
5401func (c *Pinpoint) GetSegmentImportJobsWithContext(ctx aws.Context, input *GetSegmentImportJobsInput, opts ...request.Option) (*GetSegmentImportJobsOutput, error) {
5402	req, out := c.GetSegmentImportJobsRequest(input)
5403	req.SetContext(ctx)
5404	req.ApplyOptions(opts...)
5405	return out, req.Send()
5406}
5407
5408const opGetSegmentVersion = "GetSegmentVersion"
5409
5410// GetSegmentVersionRequest generates a "aws/request.Request" representing the
5411// client's request for the GetSegmentVersion operation. The "output" return
5412// value will be populated with the request's response once the request completes
5413// successfully.
5414//
5415// Use "Send" method on the returned Request to send the API call to the service.
5416// the "output" return value is not valid until after Send returns without error.
5417//
5418// See GetSegmentVersion for more information on using the GetSegmentVersion
5419// API call, and error handling.
5420//
5421// This method is useful when you want to inject custom logic or configuration
5422// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5423//
5424//
5425//    // Example sending a request using the GetSegmentVersionRequest method.
5426//    req, resp := client.GetSegmentVersionRequest(params)
5427//
5428//    err := req.Send()
5429//    if err == nil { // resp is now filled
5430//        fmt.Println(resp)
5431//    }
5432//
5433// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion
5434func (c *Pinpoint) GetSegmentVersionRequest(input *GetSegmentVersionInput) (req *request.Request, output *GetSegmentVersionOutput) {
5435	op := &request.Operation{
5436		Name:       opGetSegmentVersion,
5437		HTTPMethod: "GET",
5438		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/versions/{version}",
5439	}
5440
5441	if input == nil {
5442		input = &GetSegmentVersionInput{}
5443	}
5444
5445	output = &GetSegmentVersionOutput{}
5446	req = c.newRequest(op, input, output)
5447	return
5448}
5449
5450// GetSegmentVersion API operation for Amazon Pinpoint.
5451//
5452// Retrieves information about the configuration, dimension, and other settings
5453// for a specific version of a segment that's associated with an application.
5454//
5455// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5456// with awserr.Error's Code and Message methods to get detailed information about
5457// the error.
5458//
5459// See the AWS API reference guide for Amazon Pinpoint's
5460// API operation GetSegmentVersion for usage and error information.
5461//
5462// Returned Error Codes:
5463//   * ErrCodeBadRequestException "BadRequestException"
5464//   Provides information about an API request or response.
5465//
5466//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5467//   Provides information about an API request or response.
5468//
5469//   * ErrCodeForbiddenException "ForbiddenException"
5470//   Provides information about an API request or response.
5471//
5472//   * ErrCodeNotFoundException "NotFoundException"
5473//   Provides information about an API request or response.
5474//
5475//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5476//   Provides information about an API request or response.
5477//
5478//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5479//   Provides information about an API request or response.
5480//
5481// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion
5482func (c *Pinpoint) GetSegmentVersion(input *GetSegmentVersionInput) (*GetSegmentVersionOutput, error) {
5483	req, out := c.GetSegmentVersionRequest(input)
5484	return out, req.Send()
5485}
5486
5487// GetSegmentVersionWithContext is the same as GetSegmentVersion with the addition of
5488// the ability to pass a context and additional request options.
5489//
5490// See GetSegmentVersion for details on how to use this API operation.
5491//
5492// The context must be non-nil and will be used for request cancellation. If
5493// the context is nil a panic will occur. In the future the SDK may create
5494// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5495// for more information on using Contexts.
5496func (c *Pinpoint) GetSegmentVersionWithContext(ctx aws.Context, input *GetSegmentVersionInput, opts ...request.Option) (*GetSegmentVersionOutput, error) {
5497	req, out := c.GetSegmentVersionRequest(input)
5498	req.SetContext(ctx)
5499	req.ApplyOptions(opts...)
5500	return out, req.Send()
5501}
5502
5503const opGetSegmentVersions = "GetSegmentVersions"
5504
5505// GetSegmentVersionsRequest generates a "aws/request.Request" representing the
5506// client's request for the GetSegmentVersions operation. The "output" return
5507// value will be populated with the request's response once the request completes
5508// successfully.
5509//
5510// Use "Send" method on the returned Request to send the API call to the service.
5511// the "output" return value is not valid until after Send returns without error.
5512//
5513// See GetSegmentVersions for more information on using the GetSegmentVersions
5514// API call, and error handling.
5515//
5516// This method is useful when you want to inject custom logic or configuration
5517// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5518//
5519//
5520//    // Example sending a request using the GetSegmentVersionsRequest method.
5521//    req, resp := client.GetSegmentVersionsRequest(params)
5522//
5523//    err := req.Send()
5524//    if err == nil { // resp is now filled
5525//        fmt.Println(resp)
5526//    }
5527//
5528// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions
5529func (c *Pinpoint) GetSegmentVersionsRequest(input *GetSegmentVersionsInput) (req *request.Request, output *GetSegmentVersionsOutput) {
5530	op := &request.Operation{
5531		Name:       opGetSegmentVersions,
5532		HTTPMethod: "GET",
5533		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/versions",
5534	}
5535
5536	if input == nil {
5537		input = &GetSegmentVersionsInput{}
5538	}
5539
5540	output = &GetSegmentVersionsOutput{}
5541	req = c.newRequest(op, input, output)
5542	return
5543}
5544
5545// GetSegmentVersions API operation for Amazon Pinpoint.
5546//
5547// Retrieves information about the configuration, dimension, and other settings
5548// for all versions of a specific segment that's associated with an application.
5549//
5550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5551// with awserr.Error's Code and Message methods to get detailed information about
5552// the error.
5553//
5554// See the AWS API reference guide for Amazon Pinpoint's
5555// API operation GetSegmentVersions for usage and error information.
5556//
5557// Returned Error Codes:
5558//   * ErrCodeBadRequestException "BadRequestException"
5559//   Provides information about an API request or response.
5560//
5561//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5562//   Provides information about an API request or response.
5563//
5564//   * ErrCodeForbiddenException "ForbiddenException"
5565//   Provides information about an API request or response.
5566//
5567//   * ErrCodeNotFoundException "NotFoundException"
5568//   Provides information about an API request or response.
5569//
5570//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5571//   Provides information about an API request or response.
5572//
5573//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5574//   Provides information about an API request or response.
5575//
5576// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions
5577func (c *Pinpoint) GetSegmentVersions(input *GetSegmentVersionsInput) (*GetSegmentVersionsOutput, error) {
5578	req, out := c.GetSegmentVersionsRequest(input)
5579	return out, req.Send()
5580}
5581
5582// GetSegmentVersionsWithContext is the same as GetSegmentVersions with the addition of
5583// the ability to pass a context and additional request options.
5584//
5585// See GetSegmentVersions for details on how to use this API operation.
5586//
5587// The context must be non-nil and will be used for request cancellation. If
5588// the context is nil a panic will occur. In the future the SDK may create
5589// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5590// for more information on using Contexts.
5591func (c *Pinpoint) GetSegmentVersionsWithContext(ctx aws.Context, input *GetSegmentVersionsInput, opts ...request.Option) (*GetSegmentVersionsOutput, error) {
5592	req, out := c.GetSegmentVersionsRequest(input)
5593	req.SetContext(ctx)
5594	req.ApplyOptions(opts...)
5595	return out, req.Send()
5596}
5597
5598const opGetSegments = "GetSegments"
5599
5600// GetSegmentsRequest generates a "aws/request.Request" representing the
5601// client's request for the GetSegments operation. The "output" return
5602// value will be populated with the request's response once the request completes
5603// successfully.
5604//
5605// Use "Send" method on the returned Request to send the API call to the service.
5606// the "output" return value is not valid until after Send returns without error.
5607//
5608// See GetSegments for more information on using the GetSegments
5609// API call, and error handling.
5610//
5611// This method is useful when you want to inject custom logic or configuration
5612// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5613//
5614//
5615//    // Example sending a request using the GetSegmentsRequest method.
5616//    req, resp := client.GetSegmentsRequest(params)
5617//
5618//    err := req.Send()
5619//    if err == nil { // resp is now filled
5620//        fmt.Println(resp)
5621//    }
5622//
5623// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments
5624func (c *Pinpoint) GetSegmentsRequest(input *GetSegmentsInput) (req *request.Request, output *GetSegmentsOutput) {
5625	op := &request.Operation{
5626		Name:       opGetSegments,
5627		HTTPMethod: "GET",
5628		HTTPPath:   "/v1/apps/{application-id}/segments",
5629	}
5630
5631	if input == nil {
5632		input = &GetSegmentsInput{}
5633	}
5634
5635	output = &GetSegmentsOutput{}
5636	req = c.newRequest(op, input, output)
5637	return
5638}
5639
5640// GetSegments API operation for Amazon Pinpoint.
5641//
5642// Retrieves information about the configuration, dimension, and other settings
5643// for all the segments that are associated with an application.
5644//
5645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5646// with awserr.Error's Code and Message methods to get detailed information about
5647// the error.
5648//
5649// See the AWS API reference guide for Amazon Pinpoint's
5650// API operation GetSegments for usage and error information.
5651//
5652// Returned Error Codes:
5653//   * ErrCodeBadRequestException "BadRequestException"
5654//   Provides information about an API request or response.
5655//
5656//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5657//   Provides information about an API request or response.
5658//
5659//   * ErrCodeForbiddenException "ForbiddenException"
5660//   Provides information about an API request or response.
5661//
5662//   * ErrCodeNotFoundException "NotFoundException"
5663//   Provides information about an API request or response.
5664//
5665//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5666//   Provides information about an API request or response.
5667//
5668//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5669//   Provides information about an API request or response.
5670//
5671// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments
5672func (c *Pinpoint) GetSegments(input *GetSegmentsInput) (*GetSegmentsOutput, error) {
5673	req, out := c.GetSegmentsRequest(input)
5674	return out, req.Send()
5675}
5676
5677// GetSegmentsWithContext is the same as GetSegments with the addition of
5678// the ability to pass a context and additional request options.
5679//
5680// See GetSegments for details on how to use this API operation.
5681//
5682// The context must be non-nil and will be used for request cancellation. If
5683// the context is nil a panic will occur. In the future the SDK may create
5684// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5685// for more information on using Contexts.
5686func (c *Pinpoint) GetSegmentsWithContext(ctx aws.Context, input *GetSegmentsInput, opts ...request.Option) (*GetSegmentsOutput, error) {
5687	req, out := c.GetSegmentsRequest(input)
5688	req.SetContext(ctx)
5689	req.ApplyOptions(opts...)
5690	return out, req.Send()
5691}
5692
5693const opGetSmsChannel = "GetSmsChannel"
5694
5695// GetSmsChannelRequest generates a "aws/request.Request" representing the
5696// client's request for the GetSmsChannel operation. The "output" return
5697// value will be populated with the request's response once the request completes
5698// successfully.
5699//
5700// Use "Send" method on the returned Request to send the API call to the service.
5701// the "output" return value is not valid until after Send returns without error.
5702//
5703// See GetSmsChannel for more information on using the GetSmsChannel
5704// API call, and error handling.
5705//
5706// This method is useful when you want to inject custom logic or configuration
5707// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5708//
5709//
5710//    // Example sending a request using the GetSmsChannelRequest method.
5711//    req, resp := client.GetSmsChannelRequest(params)
5712//
5713//    err := req.Send()
5714//    if err == nil { // resp is now filled
5715//        fmt.Println(resp)
5716//    }
5717//
5718// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel
5719func (c *Pinpoint) GetSmsChannelRequest(input *GetSmsChannelInput) (req *request.Request, output *GetSmsChannelOutput) {
5720	op := &request.Operation{
5721		Name:       opGetSmsChannel,
5722		HTTPMethod: "GET",
5723		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
5724	}
5725
5726	if input == nil {
5727		input = &GetSmsChannelInput{}
5728	}
5729
5730	output = &GetSmsChannelOutput{}
5731	req = c.newRequest(op, input, output)
5732	return
5733}
5734
5735// GetSmsChannel API operation for Amazon Pinpoint.
5736//
5737// Retrieves information about the status and settings of the SMS channel for
5738// an application.
5739//
5740// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5741// with awserr.Error's Code and Message methods to get detailed information about
5742// the error.
5743//
5744// See the AWS API reference guide for Amazon Pinpoint's
5745// API operation GetSmsChannel for usage and error information.
5746//
5747// Returned Error Codes:
5748//   * ErrCodeBadRequestException "BadRequestException"
5749//   Provides information about an API request or response.
5750//
5751//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5752//   Provides information about an API request or response.
5753//
5754//   * ErrCodeForbiddenException "ForbiddenException"
5755//   Provides information about an API request or response.
5756//
5757//   * ErrCodeNotFoundException "NotFoundException"
5758//   Provides information about an API request or response.
5759//
5760//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5761//   Provides information about an API request or response.
5762//
5763//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5764//   Provides information about an API request or response.
5765//
5766// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel
5767func (c *Pinpoint) GetSmsChannel(input *GetSmsChannelInput) (*GetSmsChannelOutput, error) {
5768	req, out := c.GetSmsChannelRequest(input)
5769	return out, req.Send()
5770}
5771
5772// GetSmsChannelWithContext is the same as GetSmsChannel with the addition of
5773// the ability to pass a context and additional request options.
5774//
5775// See GetSmsChannel for details on how to use this API operation.
5776//
5777// The context must be non-nil and will be used for request cancellation. If
5778// the context is nil a panic will occur. In the future the SDK may create
5779// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5780// for more information on using Contexts.
5781func (c *Pinpoint) GetSmsChannelWithContext(ctx aws.Context, input *GetSmsChannelInput, opts ...request.Option) (*GetSmsChannelOutput, error) {
5782	req, out := c.GetSmsChannelRequest(input)
5783	req.SetContext(ctx)
5784	req.ApplyOptions(opts...)
5785	return out, req.Send()
5786}
5787
5788const opGetSmsTemplate = "GetSmsTemplate"
5789
5790// GetSmsTemplateRequest generates a "aws/request.Request" representing the
5791// client's request for the GetSmsTemplate operation. The "output" return
5792// value will be populated with the request's response once the request completes
5793// successfully.
5794//
5795// Use "Send" method on the returned Request to send the API call to the service.
5796// the "output" return value is not valid until after Send returns without error.
5797//
5798// See GetSmsTemplate for more information on using the GetSmsTemplate
5799// API call, and error handling.
5800//
5801// This method is useful when you want to inject custom logic or configuration
5802// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5803//
5804//
5805//    // Example sending a request using the GetSmsTemplateRequest method.
5806//    req, resp := client.GetSmsTemplateRequest(params)
5807//
5808//    err := req.Send()
5809//    if err == nil { // resp is now filled
5810//        fmt.Println(resp)
5811//    }
5812//
5813// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsTemplate
5814func (c *Pinpoint) GetSmsTemplateRequest(input *GetSmsTemplateInput) (req *request.Request, output *GetSmsTemplateOutput) {
5815	op := &request.Operation{
5816		Name:       opGetSmsTemplate,
5817		HTTPMethod: "GET",
5818		HTTPPath:   "/v1/templates/{template-name}/sms",
5819	}
5820
5821	if input == nil {
5822		input = &GetSmsTemplateInput{}
5823	}
5824
5825	output = &GetSmsTemplateOutput{}
5826	req = c.newRequest(op, input, output)
5827	return
5828}
5829
5830// GetSmsTemplate API operation for Amazon Pinpoint.
5831//
5832// Retrieves the content and settings for a message template that you can use
5833// in messages that are sent through the SMS channel.
5834//
5835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5836// with awserr.Error's Code and Message methods to get detailed information about
5837// the error.
5838//
5839// See the AWS API reference guide for Amazon Pinpoint's
5840// API operation GetSmsTemplate for usage and error information.
5841//
5842// Returned Error Codes:
5843//   * ErrCodeBadRequestException "BadRequestException"
5844//   Provides information about an API request or response.
5845//
5846//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5847//   Provides information about an API request or response.
5848//
5849//   * ErrCodeForbiddenException "ForbiddenException"
5850//   Provides information about an API request or response.
5851//
5852//   * ErrCodeNotFoundException "NotFoundException"
5853//   Provides information about an API request or response.
5854//
5855//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5856//   Provides information about an API request or response.
5857//
5858//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5859//   Provides information about an API request or response.
5860//
5861// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsTemplate
5862func (c *Pinpoint) GetSmsTemplate(input *GetSmsTemplateInput) (*GetSmsTemplateOutput, error) {
5863	req, out := c.GetSmsTemplateRequest(input)
5864	return out, req.Send()
5865}
5866
5867// GetSmsTemplateWithContext is the same as GetSmsTemplate with the addition of
5868// the ability to pass a context and additional request options.
5869//
5870// See GetSmsTemplate for details on how to use this API operation.
5871//
5872// The context must be non-nil and will be used for request cancellation. If
5873// the context is nil a panic will occur. In the future the SDK may create
5874// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5875// for more information on using Contexts.
5876func (c *Pinpoint) GetSmsTemplateWithContext(ctx aws.Context, input *GetSmsTemplateInput, opts ...request.Option) (*GetSmsTemplateOutput, error) {
5877	req, out := c.GetSmsTemplateRequest(input)
5878	req.SetContext(ctx)
5879	req.ApplyOptions(opts...)
5880	return out, req.Send()
5881}
5882
5883const opGetUserEndpoints = "GetUserEndpoints"
5884
5885// GetUserEndpointsRequest generates a "aws/request.Request" representing the
5886// client's request for the GetUserEndpoints operation. The "output" return
5887// value will be populated with the request's response once the request completes
5888// successfully.
5889//
5890// Use "Send" method on the returned Request to send the API call to the service.
5891// the "output" return value is not valid until after Send returns without error.
5892//
5893// See GetUserEndpoints for more information on using the GetUserEndpoints
5894// API call, and error handling.
5895//
5896// This method is useful when you want to inject custom logic or configuration
5897// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5898//
5899//
5900//    // Example sending a request using the GetUserEndpointsRequest method.
5901//    req, resp := client.GetUserEndpointsRequest(params)
5902//
5903//    err := req.Send()
5904//    if err == nil { // resp is now filled
5905//        fmt.Println(resp)
5906//    }
5907//
5908// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints
5909func (c *Pinpoint) GetUserEndpointsRequest(input *GetUserEndpointsInput) (req *request.Request, output *GetUserEndpointsOutput) {
5910	op := &request.Operation{
5911		Name:       opGetUserEndpoints,
5912		HTTPMethod: "GET",
5913		HTTPPath:   "/v1/apps/{application-id}/users/{user-id}",
5914	}
5915
5916	if input == nil {
5917		input = &GetUserEndpointsInput{}
5918	}
5919
5920	output = &GetUserEndpointsOutput{}
5921	req = c.newRequest(op, input, output)
5922	return
5923}
5924
5925// GetUserEndpoints API operation for Amazon Pinpoint.
5926//
5927// Retrieves information about all the endpoints that are associated with a
5928// specific user ID.
5929//
5930// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5931// with awserr.Error's Code and Message methods to get detailed information about
5932// the error.
5933//
5934// See the AWS API reference guide for Amazon Pinpoint's
5935// API operation GetUserEndpoints for usage and error information.
5936//
5937// Returned Error Codes:
5938//   * ErrCodeBadRequestException "BadRequestException"
5939//   Provides information about an API request or response.
5940//
5941//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5942//   Provides information about an API request or response.
5943//
5944//   * ErrCodeForbiddenException "ForbiddenException"
5945//   Provides information about an API request or response.
5946//
5947//   * ErrCodeNotFoundException "NotFoundException"
5948//   Provides information about an API request or response.
5949//
5950//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5951//   Provides information about an API request or response.
5952//
5953//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5954//   Provides information about an API request or response.
5955//
5956// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints
5957func (c *Pinpoint) GetUserEndpoints(input *GetUserEndpointsInput) (*GetUserEndpointsOutput, error) {
5958	req, out := c.GetUserEndpointsRequest(input)
5959	return out, req.Send()
5960}
5961
5962// GetUserEndpointsWithContext is the same as GetUserEndpoints with the addition of
5963// the ability to pass a context and additional request options.
5964//
5965// See GetUserEndpoints for details on how to use this API operation.
5966//
5967// The context must be non-nil and will be used for request cancellation. If
5968// the context is nil a panic will occur. In the future the SDK may create
5969// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5970// for more information on using Contexts.
5971func (c *Pinpoint) GetUserEndpointsWithContext(ctx aws.Context, input *GetUserEndpointsInput, opts ...request.Option) (*GetUserEndpointsOutput, error) {
5972	req, out := c.GetUserEndpointsRequest(input)
5973	req.SetContext(ctx)
5974	req.ApplyOptions(opts...)
5975	return out, req.Send()
5976}
5977
5978const opGetVoiceChannel = "GetVoiceChannel"
5979
5980// GetVoiceChannelRequest generates a "aws/request.Request" representing the
5981// client's request for the GetVoiceChannel operation. The "output" return
5982// value will be populated with the request's response once the request completes
5983// successfully.
5984//
5985// Use "Send" method on the returned Request to send the API call to the service.
5986// the "output" return value is not valid until after Send returns without error.
5987//
5988// See GetVoiceChannel for more information on using the GetVoiceChannel
5989// API call, and error handling.
5990//
5991// This method is useful when you want to inject custom logic or configuration
5992// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5993//
5994//
5995//    // Example sending a request using the GetVoiceChannelRequest method.
5996//    req, resp := client.GetVoiceChannelRequest(params)
5997//
5998//    err := req.Send()
5999//    if err == nil { // resp is now filled
6000//        fmt.Println(resp)
6001//    }
6002//
6003// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel
6004func (c *Pinpoint) GetVoiceChannelRequest(input *GetVoiceChannelInput) (req *request.Request, output *GetVoiceChannelOutput) {
6005	op := &request.Operation{
6006		Name:       opGetVoiceChannel,
6007		HTTPMethod: "GET",
6008		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
6009	}
6010
6011	if input == nil {
6012		input = &GetVoiceChannelInput{}
6013	}
6014
6015	output = &GetVoiceChannelOutput{}
6016	req = c.newRequest(op, input, output)
6017	return
6018}
6019
6020// GetVoiceChannel API operation for Amazon Pinpoint.
6021//
6022// Retrieves information about the status and settings of the voice channel
6023// for an application.
6024//
6025// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6026// with awserr.Error's Code and Message methods to get detailed information about
6027// the error.
6028//
6029// See the AWS API reference guide for Amazon Pinpoint's
6030// API operation GetVoiceChannel for usage and error information.
6031//
6032// Returned Error Codes:
6033//   * ErrCodeBadRequestException "BadRequestException"
6034//   Provides information about an API request or response.
6035//
6036//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6037//   Provides information about an API request or response.
6038//
6039//   * ErrCodeForbiddenException "ForbiddenException"
6040//   Provides information about an API request or response.
6041//
6042//   * ErrCodeNotFoundException "NotFoundException"
6043//   Provides information about an API request or response.
6044//
6045//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6046//   Provides information about an API request or response.
6047//
6048//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6049//   Provides information about an API request or response.
6050//
6051// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel
6052func (c *Pinpoint) GetVoiceChannel(input *GetVoiceChannelInput) (*GetVoiceChannelOutput, error) {
6053	req, out := c.GetVoiceChannelRequest(input)
6054	return out, req.Send()
6055}
6056
6057// GetVoiceChannelWithContext is the same as GetVoiceChannel with the addition of
6058// the ability to pass a context and additional request options.
6059//
6060// See GetVoiceChannel for details on how to use this API operation.
6061//
6062// The context must be non-nil and will be used for request cancellation. If
6063// the context is nil a panic will occur. In the future the SDK may create
6064// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6065// for more information on using Contexts.
6066func (c *Pinpoint) GetVoiceChannelWithContext(ctx aws.Context, input *GetVoiceChannelInput, opts ...request.Option) (*GetVoiceChannelOutput, error) {
6067	req, out := c.GetVoiceChannelRequest(input)
6068	req.SetContext(ctx)
6069	req.ApplyOptions(opts...)
6070	return out, req.Send()
6071}
6072
6073const opListTagsForResource = "ListTagsForResource"
6074
6075// ListTagsForResourceRequest generates a "aws/request.Request" representing the
6076// client's request for the ListTagsForResource operation. The "output" return
6077// value will be populated with the request's response once the request completes
6078// successfully.
6079//
6080// Use "Send" method on the returned Request to send the API call to the service.
6081// the "output" return value is not valid until after Send returns without error.
6082//
6083// See ListTagsForResource for more information on using the ListTagsForResource
6084// API call, and error handling.
6085//
6086// This method is useful when you want to inject custom logic or configuration
6087// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6088//
6089//
6090//    // Example sending a request using the ListTagsForResourceRequest method.
6091//    req, resp := client.ListTagsForResourceRequest(params)
6092//
6093//    err := req.Send()
6094//    if err == nil { // resp is now filled
6095//        fmt.Println(resp)
6096//    }
6097//
6098// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTagsForResource
6099func (c *Pinpoint) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
6100	op := &request.Operation{
6101		Name:       opListTagsForResource,
6102		HTTPMethod: "GET",
6103		HTTPPath:   "/v1/tags/{resource-arn}",
6104	}
6105
6106	if input == nil {
6107		input = &ListTagsForResourceInput{}
6108	}
6109
6110	output = &ListTagsForResourceOutput{}
6111	req = c.newRequest(op, input, output)
6112	return
6113}
6114
6115// ListTagsForResource API operation for Amazon Pinpoint.
6116//
6117// Retrieves all the tags (keys and values) that are associated with an application,
6118// campaign, message template, or segment.
6119//
6120// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6121// with awserr.Error's Code and Message methods to get detailed information about
6122// the error.
6123//
6124// See the AWS API reference guide for Amazon Pinpoint's
6125// API operation ListTagsForResource for usage and error information.
6126// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTagsForResource
6127func (c *Pinpoint) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
6128	req, out := c.ListTagsForResourceRequest(input)
6129	return out, req.Send()
6130}
6131
6132// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
6133// the ability to pass a context and additional request options.
6134//
6135// See ListTagsForResource for details on how to use this API operation.
6136//
6137// The context must be non-nil and will be used for request cancellation. If
6138// the context is nil a panic will occur. In the future the SDK may create
6139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6140// for more information on using Contexts.
6141func (c *Pinpoint) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
6142	req, out := c.ListTagsForResourceRequest(input)
6143	req.SetContext(ctx)
6144	req.ApplyOptions(opts...)
6145	return out, req.Send()
6146}
6147
6148const opListTemplates = "ListTemplates"
6149
6150// ListTemplatesRequest generates a "aws/request.Request" representing the
6151// client's request for the ListTemplates operation. The "output" return
6152// value will be populated with the request's response once the request completes
6153// successfully.
6154//
6155// Use "Send" method on the returned Request to send the API call to the service.
6156// the "output" return value is not valid until after Send returns without error.
6157//
6158// See ListTemplates for more information on using the ListTemplates
6159// API call, and error handling.
6160//
6161// This method is useful when you want to inject custom logic or configuration
6162// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6163//
6164//
6165//    // Example sending a request using the ListTemplatesRequest method.
6166//    req, resp := client.ListTemplatesRequest(params)
6167//
6168//    err := req.Send()
6169//    if err == nil { // resp is now filled
6170//        fmt.Println(resp)
6171//    }
6172//
6173// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplates
6174func (c *Pinpoint) ListTemplatesRequest(input *ListTemplatesInput) (req *request.Request, output *ListTemplatesOutput) {
6175	op := &request.Operation{
6176		Name:       opListTemplates,
6177		HTTPMethod: "GET",
6178		HTTPPath:   "/v1/templates",
6179	}
6180
6181	if input == nil {
6182		input = &ListTemplatesInput{}
6183	}
6184
6185	output = &ListTemplatesOutput{}
6186	req = c.newRequest(op, input, output)
6187	return
6188}
6189
6190// ListTemplates API operation for Amazon Pinpoint.
6191//
6192// Retrieves information about all the message templates that are associated
6193// with your Amazon Pinpoint account.
6194//
6195// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6196// with awserr.Error's Code and Message methods to get detailed information about
6197// the error.
6198//
6199// See the AWS API reference guide for Amazon Pinpoint's
6200// API operation ListTemplates for usage and error information.
6201//
6202// Returned Error Codes:
6203//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6204//   Provides information about an API request or response.
6205//
6206//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6207//   Provides information about an API request or response.
6208//
6209//   * ErrCodeBadRequestException "BadRequestException"
6210//   Provides information about an API request or response.
6211//
6212//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6213//   Provides information about an API request or response.
6214//
6215//   * ErrCodeForbiddenException "ForbiddenException"
6216//   Provides information about an API request or response.
6217//
6218// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTemplates
6219func (c *Pinpoint) ListTemplates(input *ListTemplatesInput) (*ListTemplatesOutput, error) {
6220	req, out := c.ListTemplatesRequest(input)
6221	return out, req.Send()
6222}
6223
6224// ListTemplatesWithContext is the same as ListTemplates with the addition of
6225// the ability to pass a context and additional request options.
6226//
6227// See ListTemplates for details on how to use this API operation.
6228//
6229// The context must be non-nil and will be used for request cancellation. If
6230// the context is nil a panic will occur. In the future the SDK may create
6231// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6232// for more information on using Contexts.
6233func (c *Pinpoint) ListTemplatesWithContext(ctx aws.Context, input *ListTemplatesInput, opts ...request.Option) (*ListTemplatesOutput, error) {
6234	req, out := c.ListTemplatesRequest(input)
6235	req.SetContext(ctx)
6236	req.ApplyOptions(opts...)
6237	return out, req.Send()
6238}
6239
6240const opPhoneNumberValidate = "PhoneNumberValidate"
6241
6242// PhoneNumberValidateRequest generates a "aws/request.Request" representing the
6243// client's request for the PhoneNumberValidate operation. The "output" return
6244// value will be populated with the request's response once the request completes
6245// successfully.
6246//
6247// Use "Send" method on the returned Request to send the API call to the service.
6248// the "output" return value is not valid until after Send returns without error.
6249//
6250// See PhoneNumberValidate for more information on using the PhoneNumberValidate
6251// API call, and error handling.
6252//
6253// This method is useful when you want to inject custom logic or configuration
6254// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6255//
6256//
6257//    // Example sending a request using the PhoneNumberValidateRequest method.
6258//    req, resp := client.PhoneNumberValidateRequest(params)
6259//
6260//    err := req.Send()
6261//    if err == nil { // resp is now filled
6262//        fmt.Println(resp)
6263//    }
6264//
6265// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PhoneNumberValidate
6266func (c *Pinpoint) PhoneNumberValidateRequest(input *PhoneNumberValidateInput) (req *request.Request, output *PhoneNumberValidateOutput) {
6267	op := &request.Operation{
6268		Name:       opPhoneNumberValidate,
6269		HTTPMethod: "POST",
6270		HTTPPath:   "/v1/phone/number/validate",
6271	}
6272
6273	if input == nil {
6274		input = &PhoneNumberValidateInput{}
6275	}
6276
6277	output = &PhoneNumberValidateOutput{}
6278	req = c.newRequest(op, input, output)
6279	return
6280}
6281
6282// PhoneNumberValidate API operation for Amazon Pinpoint.
6283//
6284// Retrieves information about a phone number.
6285//
6286// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6287// with awserr.Error's Code and Message methods to get detailed information about
6288// the error.
6289//
6290// See the AWS API reference guide for Amazon Pinpoint's
6291// API operation PhoneNumberValidate for usage and error information.
6292//
6293// Returned Error Codes:
6294//   * ErrCodeBadRequestException "BadRequestException"
6295//   Provides information about an API request or response.
6296//
6297//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6298//   Provides information about an API request or response.
6299//
6300//   * ErrCodeForbiddenException "ForbiddenException"
6301//   Provides information about an API request or response.
6302//
6303//   * ErrCodeNotFoundException "NotFoundException"
6304//   Provides information about an API request or response.
6305//
6306//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6307//   Provides information about an API request or response.
6308//
6309//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6310//   Provides information about an API request or response.
6311//
6312// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PhoneNumberValidate
6313func (c *Pinpoint) PhoneNumberValidate(input *PhoneNumberValidateInput) (*PhoneNumberValidateOutput, error) {
6314	req, out := c.PhoneNumberValidateRequest(input)
6315	return out, req.Send()
6316}
6317
6318// PhoneNumberValidateWithContext is the same as PhoneNumberValidate with the addition of
6319// the ability to pass a context and additional request options.
6320//
6321// See PhoneNumberValidate for details on how to use this API operation.
6322//
6323// The context must be non-nil and will be used for request cancellation. If
6324// the context is nil a panic will occur. In the future the SDK may create
6325// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6326// for more information on using Contexts.
6327func (c *Pinpoint) PhoneNumberValidateWithContext(ctx aws.Context, input *PhoneNumberValidateInput, opts ...request.Option) (*PhoneNumberValidateOutput, error) {
6328	req, out := c.PhoneNumberValidateRequest(input)
6329	req.SetContext(ctx)
6330	req.ApplyOptions(opts...)
6331	return out, req.Send()
6332}
6333
6334const opPutEventStream = "PutEventStream"
6335
6336// PutEventStreamRequest generates a "aws/request.Request" representing the
6337// client's request for the PutEventStream operation. The "output" return
6338// value will be populated with the request's response once the request completes
6339// successfully.
6340//
6341// Use "Send" method on the returned Request to send the API call to the service.
6342// the "output" return value is not valid until after Send returns without error.
6343//
6344// See PutEventStream for more information on using the PutEventStream
6345// API call, and error handling.
6346//
6347// This method is useful when you want to inject custom logic or configuration
6348// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6349//
6350//
6351//    // Example sending a request using the PutEventStreamRequest method.
6352//    req, resp := client.PutEventStreamRequest(params)
6353//
6354//    err := req.Send()
6355//    if err == nil { // resp is now filled
6356//        fmt.Println(resp)
6357//    }
6358//
6359// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStream
6360func (c *Pinpoint) PutEventStreamRequest(input *PutEventStreamInput) (req *request.Request, output *PutEventStreamOutput) {
6361	op := &request.Operation{
6362		Name:       opPutEventStream,
6363		HTTPMethod: "POST",
6364		HTTPPath:   "/v1/apps/{application-id}/eventstream",
6365	}
6366
6367	if input == nil {
6368		input = &PutEventStreamInput{}
6369	}
6370
6371	output = &PutEventStreamOutput{}
6372	req = c.newRequest(op, input, output)
6373	return
6374}
6375
6376// PutEventStream API operation for Amazon Pinpoint.
6377//
6378// Creates a new event stream for an application or updates the settings of
6379// an existing event stream for an application.
6380//
6381// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6382// with awserr.Error's Code and Message methods to get detailed information about
6383// the error.
6384//
6385// See the AWS API reference guide for Amazon Pinpoint's
6386// API operation PutEventStream for usage and error information.
6387//
6388// Returned Error Codes:
6389//   * ErrCodeBadRequestException "BadRequestException"
6390//   Provides information about an API request or response.
6391//
6392//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6393//   Provides information about an API request or response.
6394//
6395//   * ErrCodeForbiddenException "ForbiddenException"
6396//   Provides information about an API request or response.
6397//
6398//   * ErrCodeNotFoundException "NotFoundException"
6399//   Provides information about an API request or response.
6400//
6401//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6402//   Provides information about an API request or response.
6403//
6404//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6405//   Provides information about an API request or response.
6406//
6407// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStream
6408func (c *Pinpoint) PutEventStream(input *PutEventStreamInput) (*PutEventStreamOutput, error) {
6409	req, out := c.PutEventStreamRequest(input)
6410	return out, req.Send()
6411}
6412
6413// PutEventStreamWithContext is the same as PutEventStream with the addition of
6414// the ability to pass a context and additional request options.
6415//
6416// See PutEventStream for details on how to use this API operation.
6417//
6418// The context must be non-nil and will be used for request cancellation. If
6419// the context is nil a panic will occur. In the future the SDK may create
6420// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6421// for more information on using Contexts.
6422func (c *Pinpoint) PutEventStreamWithContext(ctx aws.Context, input *PutEventStreamInput, opts ...request.Option) (*PutEventStreamOutput, error) {
6423	req, out := c.PutEventStreamRequest(input)
6424	req.SetContext(ctx)
6425	req.ApplyOptions(opts...)
6426	return out, req.Send()
6427}
6428
6429const opPutEvents = "PutEvents"
6430
6431// PutEventsRequest generates a "aws/request.Request" representing the
6432// client's request for the PutEvents operation. The "output" return
6433// value will be populated with the request's response once the request completes
6434// successfully.
6435//
6436// Use "Send" method on the returned Request to send the API call to the service.
6437// the "output" return value is not valid until after Send returns without error.
6438//
6439// See PutEvents for more information on using the PutEvents
6440// API call, and error handling.
6441//
6442// This method is useful when you want to inject custom logic or configuration
6443// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6444//
6445//
6446//    // Example sending a request using the PutEventsRequest method.
6447//    req, resp := client.PutEventsRequest(params)
6448//
6449//    err := req.Send()
6450//    if err == nil { // resp is now filled
6451//        fmt.Println(resp)
6452//    }
6453//
6454// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEvents
6455func (c *Pinpoint) PutEventsRequest(input *PutEventsInput) (req *request.Request, output *PutEventsOutput) {
6456	op := &request.Operation{
6457		Name:       opPutEvents,
6458		HTTPMethod: "POST",
6459		HTTPPath:   "/v1/apps/{application-id}/events",
6460	}
6461
6462	if input == nil {
6463		input = &PutEventsInput{}
6464	}
6465
6466	output = &PutEventsOutput{}
6467	req = c.newRequest(op, input, output)
6468	return
6469}
6470
6471// PutEvents API operation for Amazon Pinpoint.
6472//
6473// Creates a new event to record for endpoints, or creates or updates endpoint
6474// data that existing events are associated with.
6475//
6476// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6477// with awserr.Error's Code and Message methods to get detailed information about
6478// the error.
6479//
6480// See the AWS API reference guide for Amazon Pinpoint's
6481// API operation PutEvents for usage and error information.
6482//
6483// Returned Error Codes:
6484//   * ErrCodeBadRequestException "BadRequestException"
6485//   Provides information about an API request or response.
6486//
6487//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6488//   Provides information about an API request or response.
6489//
6490//   * ErrCodeForbiddenException "ForbiddenException"
6491//   Provides information about an API request or response.
6492//
6493//   * ErrCodeNotFoundException "NotFoundException"
6494//   Provides information about an API request or response.
6495//
6496//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6497//   Provides information about an API request or response.
6498//
6499//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6500//   Provides information about an API request or response.
6501//
6502// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEvents
6503func (c *Pinpoint) PutEvents(input *PutEventsInput) (*PutEventsOutput, error) {
6504	req, out := c.PutEventsRequest(input)
6505	return out, req.Send()
6506}
6507
6508// PutEventsWithContext is the same as PutEvents with the addition of
6509// the ability to pass a context and additional request options.
6510//
6511// See PutEvents for details on how to use this API operation.
6512//
6513// The context must be non-nil and will be used for request cancellation. If
6514// the context is nil a panic will occur. In the future the SDK may create
6515// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6516// for more information on using Contexts.
6517func (c *Pinpoint) PutEventsWithContext(ctx aws.Context, input *PutEventsInput, opts ...request.Option) (*PutEventsOutput, error) {
6518	req, out := c.PutEventsRequest(input)
6519	req.SetContext(ctx)
6520	req.ApplyOptions(opts...)
6521	return out, req.Send()
6522}
6523
6524const opRemoveAttributes = "RemoveAttributes"
6525
6526// RemoveAttributesRequest generates a "aws/request.Request" representing the
6527// client's request for the RemoveAttributes operation. The "output" return
6528// value will be populated with the request's response once the request completes
6529// successfully.
6530//
6531// Use "Send" method on the returned Request to send the API call to the service.
6532// the "output" return value is not valid until after Send returns without error.
6533//
6534// See RemoveAttributes for more information on using the RemoveAttributes
6535// API call, and error handling.
6536//
6537// This method is useful when you want to inject custom logic or configuration
6538// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6539//
6540//
6541//    // Example sending a request using the RemoveAttributesRequest method.
6542//    req, resp := client.RemoveAttributesRequest(params)
6543//
6544//    err := req.Send()
6545//    if err == nil { // resp is now filled
6546//        fmt.Println(resp)
6547//    }
6548//
6549// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/RemoveAttributes
6550func (c *Pinpoint) RemoveAttributesRequest(input *RemoveAttributesInput) (req *request.Request, output *RemoveAttributesOutput) {
6551	op := &request.Operation{
6552		Name:       opRemoveAttributes,
6553		HTTPMethod: "PUT",
6554		HTTPPath:   "/v1/apps/{application-id}/attributes/{attribute-type}",
6555	}
6556
6557	if input == nil {
6558		input = &RemoveAttributesInput{}
6559	}
6560
6561	output = &RemoveAttributesOutput{}
6562	req = c.newRequest(op, input, output)
6563	return
6564}
6565
6566// RemoveAttributes API operation for Amazon Pinpoint.
6567//
6568// Removes one or more attributes, of the same attribute type, from all the
6569// endpoints that are associated with an application.
6570//
6571// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6572// with awserr.Error's Code and Message methods to get detailed information about
6573// the error.
6574//
6575// See the AWS API reference guide for Amazon Pinpoint's
6576// API operation RemoveAttributes for usage and error information.
6577//
6578// Returned Error Codes:
6579//   * ErrCodeBadRequestException "BadRequestException"
6580//   Provides information about an API request or response.
6581//
6582//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6583//   Provides information about an API request or response.
6584//
6585//   * ErrCodeForbiddenException "ForbiddenException"
6586//   Provides information about an API request or response.
6587//
6588//   * ErrCodeNotFoundException "NotFoundException"
6589//   Provides information about an API request or response.
6590//
6591//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6592//   Provides information about an API request or response.
6593//
6594//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6595//   Provides information about an API request or response.
6596//
6597// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/RemoveAttributes
6598func (c *Pinpoint) RemoveAttributes(input *RemoveAttributesInput) (*RemoveAttributesOutput, error) {
6599	req, out := c.RemoveAttributesRequest(input)
6600	return out, req.Send()
6601}
6602
6603// RemoveAttributesWithContext is the same as RemoveAttributes with the addition of
6604// the ability to pass a context and additional request options.
6605//
6606// See RemoveAttributes for details on how to use this API operation.
6607//
6608// The context must be non-nil and will be used for request cancellation. If
6609// the context is nil a panic will occur. In the future the SDK may create
6610// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6611// for more information on using Contexts.
6612func (c *Pinpoint) RemoveAttributesWithContext(ctx aws.Context, input *RemoveAttributesInput, opts ...request.Option) (*RemoveAttributesOutput, error) {
6613	req, out := c.RemoveAttributesRequest(input)
6614	req.SetContext(ctx)
6615	req.ApplyOptions(opts...)
6616	return out, req.Send()
6617}
6618
6619const opSendMessages = "SendMessages"
6620
6621// SendMessagesRequest generates a "aws/request.Request" representing the
6622// client's request for the SendMessages operation. The "output" return
6623// value will be populated with the request's response once the request completes
6624// successfully.
6625//
6626// Use "Send" method on the returned Request to send the API call to the service.
6627// the "output" return value is not valid until after Send returns without error.
6628//
6629// See SendMessages for more information on using the SendMessages
6630// API call, and error handling.
6631//
6632// This method is useful when you want to inject custom logic or configuration
6633// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6634//
6635//
6636//    // Example sending a request using the SendMessagesRequest method.
6637//    req, resp := client.SendMessagesRequest(params)
6638//
6639//    err := req.Send()
6640//    if err == nil { // resp is now filled
6641//        fmt.Println(resp)
6642//    }
6643//
6644// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages
6645func (c *Pinpoint) SendMessagesRequest(input *SendMessagesInput) (req *request.Request, output *SendMessagesOutput) {
6646	op := &request.Operation{
6647		Name:       opSendMessages,
6648		HTTPMethod: "POST",
6649		HTTPPath:   "/v1/apps/{application-id}/messages",
6650	}
6651
6652	if input == nil {
6653		input = &SendMessagesInput{}
6654	}
6655
6656	output = &SendMessagesOutput{}
6657	req = c.newRequest(op, input, output)
6658	return
6659}
6660
6661// SendMessages API operation for Amazon Pinpoint.
6662//
6663// Creates and sends a direct message.
6664//
6665// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6666// with awserr.Error's Code and Message methods to get detailed information about
6667// the error.
6668//
6669// See the AWS API reference guide for Amazon Pinpoint's
6670// API operation SendMessages for usage and error information.
6671//
6672// Returned Error Codes:
6673//   * ErrCodeBadRequestException "BadRequestException"
6674//   Provides information about an API request or response.
6675//
6676//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6677//   Provides information about an API request or response.
6678//
6679//   * ErrCodeForbiddenException "ForbiddenException"
6680//   Provides information about an API request or response.
6681//
6682//   * ErrCodeNotFoundException "NotFoundException"
6683//   Provides information about an API request or response.
6684//
6685//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6686//   Provides information about an API request or response.
6687//
6688//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6689//   Provides information about an API request or response.
6690//
6691// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages
6692func (c *Pinpoint) SendMessages(input *SendMessagesInput) (*SendMessagesOutput, error) {
6693	req, out := c.SendMessagesRequest(input)
6694	return out, req.Send()
6695}
6696
6697// SendMessagesWithContext is the same as SendMessages with the addition of
6698// the ability to pass a context and additional request options.
6699//
6700// See SendMessages for details on how to use this API operation.
6701//
6702// The context must be non-nil and will be used for request cancellation. If
6703// the context is nil a panic will occur. In the future the SDK may create
6704// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6705// for more information on using Contexts.
6706func (c *Pinpoint) SendMessagesWithContext(ctx aws.Context, input *SendMessagesInput, opts ...request.Option) (*SendMessagesOutput, error) {
6707	req, out := c.SendMessagesRequest(input)
6708	req.SetContext(ctx)
6709	req.ApplyOptions(opts...)
6710	return out, req.Send()
6711}
6712
6713const opSendUsersMessages = "SendUsersMessages"
6714
6715// SendUsersMessagesRequest generates a "aws/request.Request" representing the
6716// client's request for the SendUsersMessages operation. The "output" return
6717// value will be populated with the request's response once the request completes
6718// successfully.
6719//
6720// Use "Send" method on the returned Request to send the API call to the service.
6721// the "output" return value is not valid until after Send returns without error.
6722//
6723// See SendUsersMessages for more information on using the SendUsersMessages
6724// API call, and error handling.
6725//
6726// This method is useful when you want to inject custom logic or configuration
6727// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6728//
6729//
6730//    // Example sending a request using the SendUsersMessagesRequest method.
6731//    req, resp := client.SendUsersMessagesRequest(params)
6732//
6733//    err := req.Send()
6734//    if err == nil { // resp is now filled
6735//        fmt.Println(resp)
6736//    }
6737//
6738// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages
6739func (c *Pinpoint) SendUsersMessagesRequest(input *SendUsersMessagesInput) (req *request.Request, output *SendUsersMessagesOutput) {
6740	op := &request.Operation{
6741		Name:       opSendUsersMessages,
6742		HTTPMethod: "POST",
6743		HTTPPath:   "/v1/apps/{application-id}/users-messages",
6744	}
6745
6746	if input == nil {
6747		input = &SendUsersMessagesInput{}
6748	}
6749
6750	output = &SendUsersMessagesOutput{}
6751	req = c.newRequest(op, input, output)
6752	return
6753}
6754
6755// SendUsersMessages API operation for Amazon Pinpoint.
6756//
6757// Creates and sends a message to a list of users.
6758//
6759// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6760// with awserr.Error's Code and Message methods to get detailed information about
6761// the error.
6762//
6763// See the AWS API reference guide for Amazon Pinpoint's
6764// API operation SendUsersMessages for usage and error information.
6765//
6766// Returned Error Codes:
6767//   * ErrCodeBadRequestException "BadRequestException"
6768//   Provides information about an API request or response.
6769//
6770//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6771//   Provides information about an API request or response.
6772//
6773//   * ErrCodeForbiddenException "ForbiddenException"
6774//   Provides information about an API request or response.
6775//
6776//   * ErrCodeNotFoundException "NotFoundException"
6777//   Provides information about an API request or response.
6778//
6779//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6780//   Provides information about an API request or response.
6781//
6782//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6783//   Provides information about an API request or response.
6784//
6785// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages
6786func (c *Pinpoint) SendUsersMessages(input *SendUsersMessagesInput) (*SendUsersMessagesOutput, error) {
6787	req, out := c.SendUsersMessagesRequest(input)
6788	return out, req.Send()
6789}
6790
6791// SendUsersMessagesWithContext is the same as SendUsersMessages with the addition of
6792// the ability to pass a context and additional request options.
6793//
6794// See SendUsersMessages for details on how to use this API operation.
6795//
6796// The context must be non-nil and will be used for request cancellation. If
6797// the context is nil a panic will occur. In the future the SDK may create
6798// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6799// for more information on using Contexts.
6800func (c *Pinpoint) SendUsersMessagesWithContext(ctx aws.Context, input *SendUsersMessagesInput, opts ...request.Option) (*SendUsersMessagesOutput, error) {
6801	req, out := c.SendUsersMessagesRequest(input)
6802	req.SetContext(ctx)
6803	req.ApplyOptions(opts...)
6804	return out, req.Send()
6805}
6806
6807const opTagResource = "TagResource"
6808
6809// TagResourceRequest generates a "aws/request.Request" representing the
6810// client's request for the TagResource operation. The "output" return
6811// value will be populated with the request's response once the request completes
6812// successfully.
6813//
6814// Use "Send" method on the returned Request to send the API call to the service.
6815// the "output" return value is not valid until after Send returns without error.
6816//
6817// See TagResource for more information on using the TagResource
6818// API call, and error handling.
6819//
6820// This method is useful when you want to inject custom logic or configuration
6821// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6822//
6823//
6824//    // Example sending a request using the TagResourceRequest method.
6825//    req, resp := client.TagResourceRequest(params)
6826//
6827//    err := req.Send()
6828//    if err == nil { // resp is now filled
6829//        fmt.Println(resp)
6830//    }
6831//
6832// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource
6833func (c *Pinpoint) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
6834	op := &request.Operation{
6835		Name:       opTagResource,
6836		HTTPMethod: "POST",
6837		HTTPPath:   "/v1/tags/{resource-arn}",
6838	}
6839
6840	if input == nil {
6841		input = &TagResourceInput{}
6842	}
6843
6844	output = &TagResourceOutput{}
6845	req = c.newRequest(op, input, output)
6846	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6847	return
6848}
6849
6850// TagResource API operation for Amazon Pinpoint.
6851//
6852// Adds one or more tags (keys and values) to an application, campaign, message
6853// template, or segment.
6854//
6855// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6856// with awserr.Error's Code and Message methods to get detailed information about
6857// the error.
6858//
6859// See the AWS API reference guide for Amazon Pinpoint's
6860// API operation TagResource for usage and error information.
6861// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource
6862func (c *Pinpoint) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
6863	req, out := c.TagResourceRequest(input)
6864	return out, req.Send()
6865}
6866
6867// TagResourceWithContext is the same as TagResource with the addition of
6868// the ability to pass a context and additional request options.
6869//
6870// See TagResource for details on how to use this API operation.
6871//
6872// The context must be non-nil and will be used for request cancellation. If
6873// the context is nil a panic will occur. In the future the SDK may create
6874// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6875// for more information on using Contexts.
6876func (c *Pinpoint) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
6877	req, out := c.TagResourceRequest(input)
6878	req.SetContext(ctx)
6879	req.ApplyOptions(opts...)
6880	return out, req.Send()
6881}
6882
6883const opUntagResource = "UntagResource"
6884
6885// UntagResourceRequest generates a "aws/request.Request" representing the
6886// client's request for the UntagResource operation. The "output" return
6887// value will be populated with the request's response once the request completes
6888// successfully.
6889//
6890// Use "Send" method on the returned Request to send the API call to the service.
6891// the "output" return value is not valid until after Send returns without error.
6892//
6893// See UntagResource for more information on using the UntagResource
6894// API call, and error handling.
6895//
6896// This method is useful when you want to inject custom logic or configuration
6897// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6898//
6899//
6900//    // Example sending a request using the UntagResourceRequest method.
6901//    req, resp := client.UntagResourceRequest(params)
6902//
6903//    err := req.Send()
6904//    if err == nil { // resp is now filled
6905//        fmt.Println(resp)
6906//    }
6907//
6908// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource
6909func (c *Pinpoint) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
6910	op := &request.Operation{
6911		Name:       opUntagResource,
6912		HTTPMethod: "DELETE",
6913		HTTPPath:   "/v1/tags/{resource-arn}",
6914	}
6915
6916	if input == nil {
6917		input = &UntagResourceInput{}
6918	}
6919
6920	output = &UntagResourceOutput{}
6921	req = c.newRequest(op, input, output)
6922	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6923	return
6924}
6925
6926// UntagResource API operation for Amazon Pinpoint.
6927//
6928// Removes one or more tags (keys and values) from an application, campaign,
6929// message template, or segment.
6930//
6931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6932// with awserr.Error's Code and Message methods to get detailed information about
6933// the error.
6934//
6935// See the AWS API reference guide for Amazon Pinpoint's
6936// API operation UntagResource for usage and error information.
6937// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource
6938func (c *Pinpoint) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
6939	req, out := c.UntagResourceRequest(input)
6940	return out, req.Send()
6941}
6942
6943// UntagResourceWithContext is the same as UntagResource with the addition of
6944// the ability to pass a context and additional request options.
6945//
6946// See UntagResource for details on how to use this API operation.
6947//
6948// The context must be non-nil and will be used for request cancellation. If
6949// the context is nil a panic will occur. In the future the SDK may create
6950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6951// for more information on using Contexts.
6952func (c *Pinpoint) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
6953	req, out := c.UntagResourceRequest(input)
6954	req.SetContext(ctx)
6955	req.ApplyOptions(opts...)
6956	return out, req.Send()
6957}
6958
6959const opUpdateAdmChannel = "UpdateAdmChannel"
6960
6961// UpdateAdmChannelRequest generates a "aws/request.Request" representing the
6962// client's request for the UpdateAdmChannel operation. The "output" return
6963// value will be populated with the request's response once the request completes
6964// successfully.
6965//
6966// Use "Send" method on the returned Request to send the API call to the service.
6967// the "output" return value is not valid until after Send returns without error.
6968//
6969// See UpdateAdmChannel for more information on using the UpdateAdmChannel
6970// API call, and error handling.
6971//
6972// This method is useful when you want to inject custom logic or configuration
6973// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6974//
6975//
6976//    // Example sending a request using the UpdateAdmChannelRequest method.
6977//    req, resp := client.UpdateAdmChannelRequest(params)
6978//
6979//    err := req.Send()
6980//    if err == nil { // resp is now filled
6981//        fmt.Println(resp)
6982//    }
6983//
6984// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel
6985func (c *Pinpoint) UpdateAdmChannelRequest(input *UpdateAdmChannelInput) (req *request.Request, output *UpdateAdmChannelOutput) {
6986	op := &request.Operation{
6987		Name:       opUpdateAdmChannel,
6988		HTTPMethod: "PUT",
6989		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
6990	}
6991
6992	if input == nil {
6993		input = &UpdateAdmChannelInput{}
6994	}
6995
6996	output = &UpdateAdmChannelOutput{}
6997	req = c.newRequest(op, input, output)
6998	return
6999}
7000
7001// UpdateAdmChannel API operation for Amazon Pinpoint.
7002//
7003// Enables the ADM channel for an application or updates the status and settings
7004// of the ADM channel for an application.
7005//
7006// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7007// with awserr.Error's Code and Message methods to get detailed information about
7008// the error.
7009//
7010// See the AWS API reference guide for Amazon Pinpoint's
7011// API operation UpdateAdmChannel for usage and error information.
7012//
7013// Returned Error Codes:
7014//   * ErrCodeBadRequestException "BadRequestException"
7015//   Provides information about an API request or response.
7016//
7017//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7018//   Provides information about an API request or response.
7019//
7020//   * ErrCodeForbiddenException "ForbiddenException"
7021//   Provides information about an API request or response.
7022//
7023//   * ErrCodeNotFoundException "NotFoundException"
7024//   Provides information about an API request or response.
7025//
7026//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7027//   Provides information about an API request or response.
7028//
7029//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7030//   Provides information about an API request or response.
7031//
7032// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel
7033func (c *Pinpoint) UpdateAdmChannel(input *UpdateAdmChannelInput) (*UpdateAdmChannelOutput, error) {
7034	req, out := c.UpdateAdmChannelRequest(input)
7035	return out, req.Send()
7036}
7037
7038// UpdateAdmChannelWithContext is the same as UpdateAdmChannel with the addition of
7039// the ability to pass a context and additional request options.
7040//
7041// See UpdateAdmChannel for details on how to use this API operation.
7042//
7043// The context must be non-nil and will be used for request cancellation. If
7044// the context is nil a panic will occur. In the future the SDK may create
7045// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7046// for more information on using Contexts.
7047func (c *Pinpoint) UpdateAdmChannelWithContext(ctx aws.Context, input *UpdateAdmChannelInput, opts ...request.Option) (*UpdateAdmChannelOutput, error) {
7048	req, out := c.UpdateAdmChannelRequest(input)
7049	req.SetContext(ctx)
7050	req.ApplyOptions(opts...)
7051	return out, req.Send()
7052}
7053
7054const opUpdateApnsChannel = "UpdateApnsChannel"
7055
7056// UpdateApnsChannelRequest generates a "aws/request.Request" representing the
7057// client's request for the UpdateApnsChannel operation. The "output" return
7058// value will be populated with the request's response once the request completes
7059// successfully.
7060//
7061// Use "Send" method on the returned Request to send the API call to the service.
7062// the "output" return value is not valid until after Send returns without error.
7063//
7064// See UpdateApnsChannel for more information on using the UpdateApnsChannel
7065// API call, and error handling.
7066//
7067// This method is useful when you want to inject custom logic or configuration
7068// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7069//
7070//
7071//    // Example sending a request using the UpdateApnsChannelRequest method.
7072//    req, resp := client.UpdateApnsChannelRequest(params)
7073//
7074//    err := req.Send()
7075//    if err == nil { // resp is now filled
7076//        fmt.Println(resp)
7077//    }
7078//
7079// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel
7080func (c *Pinpoint) UpdateApnsChannelRequest(input *UpdateApnsChannelInput) (req *request.Request, output *UpdateApnsChannelOutput) {
7081	op := &request.Operation{
7082		Name:       opUpdateApnsChannel,
7083		HTTPMethod: "PUT",
7084		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
7085	}
7086
7087	if input == nil {
7088		input = &UpdateApnsChannelInput{}
7089	}
7090
7091	output = &UpdateApnsChannelOutput{}
7092	req = c.newRequest(op, input, output)
7093	return
7094}
7095
7096// UpdateApnsChannel API operation for Amazon Pinpoint.
7097//
7098// Enables the APNs channel for an application or updates the status and settings
7099// of the APNs channel for an application.
7100//
7101// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7102// with awserr.Error's Code and Message methods to get detailed information about
7103// the error.
7104//
7105// See the AWS API reference guide for Amazon Pinpoint's
7106// API operation UpdateApnsChannel for usage and error information.
7107//
7108// Returned Error Codes:
7109//   * ErrCodeBadRequestException "BadRequestException"
7110//   Provides information about an API request or response.
7111//
7112//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7113//   Provides information about an API request or response.
7114//
7115//   * ErrCodeForbiddenException "ForbiddenException"
7116//   Provides information about an API request or response.
7117//
7118//   * ErrCodeNotFoundException "NotFoundException"
7119//   Provides information about an API request or response.
7120//
7121//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7122//   Provides information about an API request or response.
7123//
7124//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7125//   Provides information about an API request or response.
7126//
7127// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel
7128func (c *Pinpoint) UpdateApnsChannel(input *UpdateApnsChannelInput) (*UpdateApnsChannelOutput, error) {
7129	req, out := c.UpdateApnsChannelRequest(input)
7130	return out, req.Send()
7131}
7132
7133// UpdateApnsChannelWithContext is the same as UpdateApnsChannel with the addition of
7134// the ability to pass a context and additional request options.
7135//
7136// See UpdateApnsChannel for details on how to use this API operation.
7137//
7138// The context must be non-nil and will be used for request cancellation. If
7139// the context is nil a panic will occur. In the future the SDK may create
7140// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7141// for more information on using Contexts.
7142func (c *Pinpoint) UpdateApnsChannelWithContext(ctx aws.Context, input *UpdateApnsChannelInput, opts ...request.Option) (*UpdateApnsChannelOutput, error) {
7143	req, out := c.UpdateApnsChannelRequest(input)
7144	req.SetContext(ctx)
7145	req.ApplyOptions(opts...)
7146	return out, req.Send()
7147}
7148
7149const opUpdateApnsSandboxChannel = "UpdateApnsSandboxChannel"
7150
7151// UpdateApnsSandboxChannelRequest generates a "aws/request.Request" representing the
7152// client's request for the UpdateApnsSandboxChannel operation. The "output" return
7153// value will be populated with the request's response once the request completes
7154// successfully.
7155//
7156// Use "Send" method on the returned Request to send the API call to the service.
7157// the "output" return value is not valid until after Send returns without error.
7158//
7159// See UpdateApnsSandboxChannel for more information on using the UpdateApnsSandboxChannel
7160// API call, and error handling.
7161//
7162// This method is useful when you want to inject custom logic or configuration
7163// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7164//
7165//
7166//    // Example sending a request using the UpdateApnsSandboxChannelRequest method.
7167//    req, resp := client.UpdateApnsSandboxChannelRequest(params)
7168//
7169//    err := req.Send()
7170//    if err == nil { // resp is now filled
7171//        fmt.Println(resp)
7172//    }
7173//
7174// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel
7175func (c *Pinpoint) UpdateApnsSandboxChannelRequest(input *UpdateApnsSandboxChannelInput) (req *request.Request, output *UpdateApnsSandboxChannelOutput) {
7176	op := &request.Operation{
7177		Name:       opUpdateApnsSandboxChannel,
7178		HTTPMethod: "PUT",
7179		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
7180	}
7181
7182	if input == nil {
7183		input = &UpdateApnsSandboxChannelInput{}
7184	}
7185
7186	output = &UpdateApnsSandboxChannelOutput{}
7187	req = c.newRequest(op, input, output)
7188	return
7189}
7190
7191// UpdateApnsSandboxChannel API operation for Amazon Pinpoint.
7192//
7193// Enables the APNs sandbox channel for an application or updates the status
7194// and settings of the APNs sandbox channel for an application.
7195//
7196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7197// with awserr.Error's Code and Message methods to get detailed information about
7198// the error.
7199//
7200// See the AWS API reference guide for Amazon Pinpoint's
7201// API operation UpdateApnsSandboxChannel for usage and error information.
7202//
7203// Returned Error Codes:
7204//   * ErrCodeBadRequestException "BadRequestException"
7205//   Provides information about an API request or response.
7206//
7207//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7208//   Provides information about an API request or response.
7209//
7210//   * ErrCodeForbiddenException "ForbiddenException"
7211//   Provides information about an API request or response.
7212//
7213//   * ErrCodeNotFoundException "NotFoundException"
7214//   Provides information about an API request or response.
7215//
7216//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7217//   Provides information about an API request or response.
7218//
7219//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7220//   Provides information about an API request or response.
7221//
7222// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel
7223func (c *Pinpoint) UpdateApnsSandboxChannel(input *UpdateApnsSandboxChannelInput) (*UpdateApnsSandboxChannelOutput, error) {
7224	req, out := c.UpdateApnsSandboxChannelRequest(input)
7225	return out, req.Send()
7226}
7227
7228// UpdateApnsSandboxChannelWithContext is the same as UpdateApnsSandboxChannel with the addition of
7229// the ability to pass a context and additional request options.
7230//
7231// See UpdateApnsSandboxChannel for details on how to use this API operation.
7232//
7233// The context must be non-nil and will be used for request cancellation. If
7234// the context is nil a panic will occur. In the future the SDK may create
7235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7236// for more information on using Contexts.
7237func (c *Pinpoint) UpdateApnsSandboxChannelWithContext(ctx aws.Context, input *UpdateApnsSandboxChannelInput, opts ...request.Option) (*UpdateApnsSandboxChannelOutput, error) {
7238	req, out := c.UpdateApnsSandboxChannelRequest(input)
7239	req.SetContext(ctx)
7240	req.ApplyOptions(opts...)
7241	return out, req.Send()
7242}
7243
7244const opUpdateApnsVoipChannel = "UpdateApnsVoipChannel"
7245
7246// UpdateApnsVoipChannelRequest generates a "aws/request.Request" representing the
7247// client's request for the UpdateApnsVoipChannel operation. The "output" return
7248// value will be populated with the request's response once the request completes
7249// successfully.
7250//
7251// Use "Send" method on the returned Request to send the API call to the service.
7252// the "output" return value is not valid until after Send returns without error.
7253//
7254// See UpdateApnsVoipChannel for more information on using the UpdateApnsVoipChannel
7255// API call, and error handling.
7256//
7257// This method is useful when you want to inject custom logic or configuration
7258// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7259//
7260//
7261//    // Example sending a request using the UpdateApnsVoipChannelRequest method.
7262//    req, resp := client.UpdateApnsVoipChannelRequest(params)
7263//
7264//    err := req.Send()
7265//    if err == nil { // resp is now filled
7266//        fmt.Println(resp)
7267//    }
7268//
7269// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipChannel
7270func (c *Pinpoint) UpdateApnsVoipChannelRequest(input *UpdateApnsVoipChannelInput) (req *request.Request, output *UpdateApnsVoipChannelOutput) {
7271	op := &request.Operation{
7272		Name:       opUpdateApnsVoipChannel,
7273		HTTPMethod: "PUT",
7274		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
7275	}
7276
7277	if input == nil {
7278		input = &UpdateApnsVoipChannelInput{}
7279	}
7280
7281	output = &UpdateApnsVoipChannelOutput{}
7282	req = c.newRequest(op, input, output)
7283	return
7284}
7285
7286// UpdateApnsVoipChannel API operation for Amazon Pinpoint.
7287//
7288// Enables the APNs VoIP channel for an application or updates the status and
7289// settings of the APNs VoIP channel for an application.
7290//
7291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7292// with awserr.Error's Code and Message methods to get detailed information about
7293// the error.
7294//
7295// See the AWS API reference guide for Amazon Pinpoint's
7296// API operation UpdateApnsVoipChannel for usage and error information.
7297//
7298// Returned Error Codes:
7299//   * ErrCodeBadRequestException "BadRequestException"
7300//   Provides information about an API request or response.
7301//
7302//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7303//   Provides information about an API request or response.
7304//
7305//   * ErrCodeForbiddenException "ForbiddenException"
7306//   Provides information about an API request or response.
7307//
7308//   * ErrCodeNotFoundException "NotFoundException"
7309//   Provides information about an API request or response.
7310//
7311//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7312//   Provides information about an API request or response.
7313//
7314//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7315//   Provides information about an API request or response.
7316//
7317// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipChannel
7318func (c *Pinpoint) UpdateApnsVoipChannel(input *UpdateApnsVoipChannelInput) (*UpdateApnsVoipChannelOutput, error) {
7319	req, out := c.UpdateApnsVoipChannelRequest(input)
7320	return out, req.Send()
7321}
7322
7323// UpdateApnsVoipChannelWithContext is the same as UpdateApnsVoipChannel with the addition of
7324// the ability to pass a context and additional request options.
7325//
7326// See UpdateApnsVoipChannel for details on how to use this API operation.
7327//
7328// The context must be non-nil and will be used for request cancellation. If
7329// the context is nil a panic will occur. In the future the SDK may create
7330// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7331// for more information on using Contexts.
7332func (c *Pinpoint) UpdateApnsVoipChannelWithContext(ctx aws.Context, input *UpdateApnsVoipChannelInput, opts ...request.Option) (*UpdateApnsVoipChannelOutput, error) {
7333	req, out := c.UpdateApnsVoipChannelRequest(input)
7334	req.SetContext(ctx)
7335	req.ApplyOptions(opts...)
7336	return out, req.Send()
7337}
7338
7339const opUpdateApnsVoipSandboxChannel = "UpdateApnsVoipSandboxChannel"
7340
7341// UpdateApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
7342// client's request for the UpdateApnsVoipSandboxChannel operation. The "output" return
7343// value will be populated with the request's response once the request completes
7344// successfully.
7345//
7346// Use "Send" method on the returned Request to send the API call to the service.
7347// the "output" return value is not valid until after Send returns without error.
7348//
7349// See UpdateApnsVoipSandboxChannel for more information on using the UpdateApnsVoipSandboxChannel
7350// API call, and error handling.
7351//
7352// This method is useful when you want to inject custom logic or configuration
7353// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7354//
7355//
7356//    // Example sending a request using the UpdateApnsVoipSandboxChannelRequest method.
7357//    req, resp := client.UpdateApnsVoipSandboxChannelRequest(params)
7358//
7359//    err := req.Send()
7360//    if err == nil { // resp is now filled
7361//        fmt.Println(resp)
7362//    }
7363//
7364// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipSandboxChannel
7365func (c *Pinpoint) UpdateApnsVoipSandboxChannelRequest(input *UpdateApnsVoipSandboxChannelInput) (req *request.Request, output *UpdateApnsVoipSandboxChannelOutput) {
7366	op := &request.Operation{
7367		Name:       opUpdateApnsVoipSandboxChannel,
7368		HTTPMethod: "PUT",
7369		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
7370	}
7371
7372	if input == nil {
7373		input = &UpdateApnsVoipSandboxChannelInput{}
7374	}
7375
7376	output = &UpdateApnsVoipSandboxChannelOutput{}
7377	req = c.newRequest(op, input, output)
7378	return
7379}
7380
7381// UpdateApnsVoipSandboxChannel API operation for Amazon Pinpoint.
7382//
7383// Enables the APNs VoIP sandbox channel for an application or updates the status
7384// and settings of the APNs VoIP sandbox channel for an application.
7385//
7386// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7387// with awserr.Error's Code and Message methods to get detailed information about
7388// the error.
7389//
7390// See the AWS API reference guide for Amazon Pinpoint's
7391// API operation UpdateApnsVoipSandboxChannel for usage and error information.
7392//
7393// Returned Error Codes:
7394//   * ErrCodeBadRequestException "BadRequestException"
7395//   Provides information about an API request or response.
7396//
7397//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7398//   Provides information about an API request or response.
7399//
7400//   * ErrCodeForbiddenException "ForbiddenException"
7401//   Provides information about an API request or response.
7402//
7403//   * ErrCodeNotFoundException "NotFoundException"
7404//   Provides information about an API request or response.
7405//
7406//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7407//   Provides information about an API request or response.
7408//
7409//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7410//   Provides information about an API request or response.
7411//
7412// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipSandboxChannel
7413func (c *Pinpoint) UpdateApnsVoipSandboxChannel(input *UpdateApnsVoipSandboxChannelInput) (*UpdateApnsVoipSandboxChannelOutput, error) {
7414	req, out := c.UpdateApnsVoipSandboxChannelRequest(input)
7415	return out, req.Send()
7416}
7417
7418// UpdateApnsVoipSandboxChannelWithContext is the same as UpdateApnsVoipSandboxChannel with the addition of
7419// the ability to pass a context and additional request options.
7420//
7421// See UpdateApnsVoipSandboxChannel for details on how to use this API operation.
7422//
7423// The context must be non-nil and will be used for request cancellation. If
7424// the context is nil a panic will occur. In the future the SDK may create
7425// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7426// for more information on using Contexts.
7427func (c *Pinpoint) UpdateApnsVoipSandboxChannelWithContext(ctx aws.Context, input *UpdateApnsVoipSandboxChannelInput, opts ...request.Option) (*UpdateApnsVoipSandboxChannelOutput, error) {
7428	req, out := c.UpdateApnsVoipSandboxChannelRequest(input)
7429	req.SetContext(ctx)
7430	req.ApplyOptions(opts...)
7431	return out, req.Send()
7432}
7433
7434const opUpdateApplicationSettings = "UpdateApplicationSettings"
7435
7436// UpdateApplicationSettingsRequest generates a "aws/request.Request" representing the
7437// client's request for the UpdateApplicationSettings operation. The "output" return
7438// value will be populated with the request's response once the request completes
7439// successfully.
7440//
7441// Use "Send" method on the returned Request to send the API call to the service.
7442// the "output" return value is not valid until after Send returns without error.
7443//
7444// See UpdateApplicationSettings for more information on using the UpdateApplicationSettings
7445// API call, and error handling.
7446//
7447// This method is useful when you want to inject custom logic or configuration
7448// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7449//
7450//
7451//    // Example sending a request using the UpdateApplicationSettingsRequest method.
7452//    req, resp := client.UpdateApplicationSettingsRequest(params)
7453//
7454//    err := req.Send()
7455//    if err == nil { // resp is now filled
7456//        fmt.Println(resp)
7457//    }
7458//
7459// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettings
7460func (c *Pinpoint) UpdateApplicationSettingsRequest(input *UpdateApplicationSettingsInput) (req *request.Request, output *UpdateApplicationSettingsOutput) {
7461	op := &request.Operation{
7462		Name:       opUpdateApplicationSettings,
7463		HTTPMethod: "PUT",
7464		HTTPPath:   "/v1/apps/{application-id}/settings",
7465	}
7466
7467	if input == nil {
7468		input = &UpdateApplicationSettingsInput{}
7469	}
7470
7471	output = &UpdateApplicationSettingsOutput{}
7472	req = c.newRequest(op, input, output)
7473	return
7474}
7475
7476// UpdateApplicationSettings API operation for Amazon Pinpoint.
7477//
7478// Updates the settings for an application.
7479//
7480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7481// with awserr.Error's Code and Message methods to get detailed information about
7482// the error.
7483//
7484// See the AWS API reference guide for Amazon Pinpoint's
7485// API operation UpdateApplicationSettings for usage and error information.
7486//
7487// Returned Error Codes:
7488//   * ErrCodeBadRequestException "BadRequestException"
7489//   Provides information about an API request or response.
7490//
7491//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7492//   Provides information about an API request or response.
7493//
7494//   * ErrCodeForbiddenException "ForbiddenException"
7495//   Provides information about an API request or response.
7496//
7497//   * ErrCodeNotFoundException "NotFoundException"
7498//   Provides information about an API request or response.
7499//
7500//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7501//   Provides information about an API request or response.
7502//
7503//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7504//   Provides information about an API request or response.
7505//
7506// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettings
7507func (c *Pinpoint) UpdateApplicationSettings(input *UpdateApplicationSettingsInput) (*UpdateApplicationSettingsOutput, error) {
7508	req, out := c.UpdateApplicationSettingsRequest(input)
7509	return out, req.Send()
7510}
7511
7512// UpdateApplicationSettingsWithContext is the same as UpdateApplicationSettings with the addition of
7513// the ability to pass a context and additional request options.
7514//
7515// See UpdateApplicationSettings for details on how to use this API operation.
7516//
7517// The context must be non-nil and will be used for request cancellation. If
7518// the context is nil a panic will occur. In the future the SDK may create
7519// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7520// for more information on using Contexts.
7521func (c *Pinpoint) UpdateApplicationSettingsWithContext(ctx aws.Context, input *UpdateApplicationSettingsInput, opts ...request.Option) (*UpdateApplicationSettingsOutput, error) {
7522	req, out := c.UpdateApplicationSettingsRequest(input)
7523	req.SetContext(ctx)
7524	req.ApplyOptions(opts...)
7525	return out, req.Send()
7526}
7527
7528const opUpdateBaiduChannel = "UpdateBaiduChannel"
7529
7530// UpdateBaiduChannelRequest generates a "aws/request.Request" representing the
7531// client's request for the UpdateBaiduChannel operation. The "output" return
7532// value will be populated with the request's response once the request completes
7533// successfully.
7534//
7535// Use "Send" method on the returned Request to send the API call to the service.
7536// the "output" return value is not valid until after Send returns without error.
7537//
7538// See UpdateBaiduChannel for more information on using the UpdateBaiduChannel
7539// API call, and error handling.
7540//
7541// This method is useful when you want to inject custom logic or configuration
7542// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7543//
7544//
7545//    // Example sending a request using the UpdateBaiduChannelRequest method.
7546//    req, resp := client.UpdateBaiduChannelRequest(params)
7547//
7548//    err := req.Send()
7549//    if err == nil { // resp is now filled
7550//        fmt.Println(resp)
7551//    }
7552//
7553// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel
7554func (c *Pinpoint) UpdateBaiduChannelRequest(input *UpdateBaiduChannelInput) (req *request.Request, output *UpdateBaiduChannelOutput) {
7555	op := &request.Operation{
7556		Name:       opUpdateBaiduChannel,
7557		HTTPMethod: "PUT",
7558		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
7559	}
7560
7561	if input == nil {
7562		input = &UpdateBaiduChannelInput{}
7563	}
7564
7565	output = &UpdateBaiduChannelOutput{}
7566	req = c.newRequest(op, input, output)
7567	return
7568}
7569
7570// UpdateBaiduChannel API operation for Amazon Pinpoint.
7571//
7572// Enables the Baidu channel for an application or updates the status and settings
7573// of the Baidu channel for an application.
7574//
7575// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7576// with awserr.Error's Code and Message methods to get detailed information about
7577// the error.
7578//
7579// See the AWS API reference guide for Amazon Pinpoint's
7580// API operation UpdateBaiduChannel for usage and error information.
7581//
7582// Returned Error Codes:
7583//   * ErrCodeBadRequestException "BadRequestException"
7584//   Provides information about an API request or response.
7585//
7586//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7587//   Provides information about an API request or response.
7588//
7589//   * ErrCodeForbiddenException "ForbiddenException"
7590//   Provides information about an API request or response.
7591//
7592//   * ErrCodeNotFoundException "NotFoundException"
7593//   Provides information about an API request or response.
7594//
7595//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7596//   Provides information about an API request or response.
7597//
7598//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7599//   Provides information about an API request or response.
7600//
7601// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel
7602func (c *Pinpoint) UpdateBaiduChannel(input *UpdateBaiduChannelInput) (*UpdateBaiduChannelOutput, error) {
7603	req, out := c.UpdateBaiduChannelRequest(input)
7604	return out, req.Send()
7605}
7606
7607// UpdateBaiduChannelWithContext is the same as UpdateBaiduChannel with the addition of
7608// the ability to pass a context and additional request options.
7609//
7610// See UpdateBaiduChannel for details on how to use this API operation.
7611//
7612// The context must be non-nil and will be used for request cancellation. If
7613// the context is nil a panic will occur. In the future the SDK may create
7614// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7615// for more information on using Contexts.
7616func (c *Pinpoint) UpdateBaiduChannelWithContext(ctx aws.Context, input *UpdateBaiduChannelInput, opts ...request.Option) (*UpdateBaiduChannelOutput, error) {
7617	req, out := c.UpdateBaiduChannelRequest(input)
7618	req.SetContext(ctx)
7619	req.ApplyOptions(opts...)
7620	return out, req.Send()
7621}
7622
7623const opUpdateCampaign = "UpdateCampaign"
7624
7625// UpdateCampaignRequest generates a "aws/request.Request" representing the
7626// client's request for the UpdateCampaign operation. The "output" return
7627// value will be populated with the request's response once the request completes
7628// successfully.
7629//
7630// Use "Send" method on the returned Request to send the API call to the service.
7631// the "output" return value is not valid until after Send returns without error.
7632//
7633// See UpdateCampaign for more information on using the UpdateCampaign
7634// API call, and error handling.
7635//
7636// This method is useful when you want to inject custom logic or configuration
7637// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7638//
7639//
7640//    // Example sending a request using the UpdateCampaignRequest method.
7641//    req, resp := client.UpdateCampaignRequest(params)
7642//
7643//    err := req.Send()
7644//    if err == nil { // resp is now filled
7645//        fmt.Println(resp)
7646//    }
7647//
7648// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaign
7649func (c *Pinpoint) UpdateCampaignRequest(input *UpdateCampaignInput) (req *request.Request, output *UpdateCampaignOutput) {
7650	op := &request.Operation{
7651		Name:       opUpdateCampaign,
7652		HTTPMethod: "PUT",
7653		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
7654	}
7655
7656	if input == nil {
7657		input = &UpdateCampaignInput{}
7658	}
7659
7660	output = &UpdateCampaignOutput{}
7661	req = c.newRequest(op, input, output)
7662	return
7663}
7664
7665// UpdateCampaign API operation for Amazon Pinpoint.
7666//
7667// Updates the settings for a campaign.
7668//
7669// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7670// with awserr.Error's Code and Message methods to get detailed information about
7671// the error.
7672//
7673// See the AWS API reference guide for Amazon Pinpoint's
7674// API operation UpdateCampaign for usage and error information.
7675//
7676// Returned Error Codes:
7677//   * ErrCodeBadRequestException "BadRequestException"
7678//   Provides information about an API request or response.
7679//
7680//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7681//   Provides information about an API request or response.
7682//
7683//   * ErrCodeForbiddenException "ForbiddenException"
7684//   Provides information about an API request or response.
7685//
7686//   * ErrCodeNotFoundException "NotFoundException"
7687//   Provides information about an API request or response.
7688//
7689//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7690//   Provides information about an API request or response.
7691//
7692//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7693//   Provides information about an API request or response.
7694//
7695// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaign
7696func (c *Pinpoint) UpdateCampaign(input *UpdateCampaignInput) (*UpdateCampaignOutput, error) {
7697	req, out := c.UpdateCampaignRequest(input)
7698	return out, req.Send()
7699}
7700
7701// UpdateCampaignWithContext is the same as UpdateCampaign with the addition of
7702// the ability to pass a context and additional request options.
7703//
7704// See UpdateCampaign for details on how to use this API operation.
7705//
7706// The context must be non-nil and will be used for request cancellation. If
7707// the context is nil a panic will occur. In the future the SDK may create
7708// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7709// for more information on using Contexts.
7710func (c *Pinpoint) UpdateCampaignWithContext(ctx aws.Context, input *UpdateCampaignInput, opts ...request.Option) (*UpdateCampaignOutput, error) {
7711	req, out := c.UpdateCampaignRequest(input)
7712	req.SetContext(ctx)
7713	req.ApplyOptions(opts...)
7714	return out, req.Send()
7715}
7716
7717const opUpdateEmailChannel = "UpdateEmailChannel"
7718
7719// UpdateEmailChannelRequest generates a "aws/request.Request" representing the
7720// client's request for the UpdateEmailChannel operation. The "output" return
7721// value will be populated with the request's response once the request completes
7722// successfully.
7723//
7724// Use "Send" method on the returned Request to send the API call to the service.
7725// the "output" return value is not valid until after Send returns without error.
7726//
7727// See UpdateEmailChannel for more information on using the UpdateEmailChannel
7728// API call, and error handling.
7729//
7730// This method is useful when you want to inject custom logic or configuration
7731// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7732//
7733//
7734//    // Example sending a request using the UpdateEmailChannelRequest method.
7735//    req, resp := client.UpdateEmailChannelRequest(params)
7736//
7737//    err := req.Send()
7738//    if err == nil { // resp is now filled
7739//        fmt.Println(resp)
7740//    }
7741//
7742// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel
7743func (c *Pinpoint) UpdateEmailChannelRequest(input *UpdateEmailChannelInput) (req *request.Request, output *UpdateEmailChannelOutput) {
7744	op := &request.Operation{
7745		Name:       opUpdateEmailChannel,
7746		HTTPMethod: "PUT",
7747		HTTPPath:   "/v1/apps/{application-id}/channels/email",
7748	}
7749
7750	if input == nil {
7751		input = &UpdateEmailChannelInput{}
7752	}
7753
7754	output = &UpdateEmailChannelOutput{}
7755	req = c.newRequest(op, input, output)
7756	return
7757}
7758
7759// UpdateEmailChannel API operation for Amazon Pinpoint.
7760//
7761// Enables the email channel for an application or updates the status and settings
7762// of the email channel for an application.
7763//
7764// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7765// with awserr.Error's Code and Message methods to get detailed information about
7766// the error.
7767//
7768// See the AWS API reference guide for Amazon Pinpoint's
7769// API operation UpdateEmailChannel for usage and error information.
7770//
7771// Returned Error Codes:
7772//   * ErrCodeBadRequestException "BadRequestException"
7773//   Provides information about an API request or response.
7774//
7775//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7776//   Provides information about an API request or response.
7777//
7778//   * ErrCodeForbiddenException "ForbiddenException"
7779//   Provides information about an API request or response.
7780//
7781//   * ErrCodeNotFoundException "NotFoundException"
7782//   Provides information about an API request or response.
7783//
7784//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7785//   Provides information about an API request or response.
7786//
7787//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7788//   Provides information about an API request or response.
7789//
7790// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel
7791func (c *Pinpoint) UpdateEmailChannel(input *UpdateEmailChannelInput) (*UpdateEmailChannelOutput, error) {
7792	req, out := c.UpdateEmailChannelRequest(input)
7793	return out, req.Send()
7794}
7795
7796// UpdateEmailChannelWithContext is the same as UpdateEmailChannel with the addition of
7797// the ability to pass a context and additional request options.
7798//
7799// See UpdateEmailChannel for details on how to use this API operation.
7800//
7801// The context must be non-nil and will be used for request cancellation. If
7802// the context is nil a panic will occur. In the future the SDK may create
7803// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7804// for more information on using Contexts.
7805func (c *Pinpoint) UpdateEmailChannelWithContext(ctx aws.Context, input *UpdateEmailChannelInput, opts ...request.Option) (*UpdateEmailChannelOutput, error) {
7806	req, out := c.UpdateEmailChannelRequest(input)
7807	req.SetContext(ctx)
7808	req.ApplyOptions(opts...)
7809	return out, req.Send()
7810}
7811
7812const opUpdateEmailTemplate = "UpdateEmailTemplate"
7813
7814// UpdateEmailTemplateRequest generates a "aws/request.Request" representing the
7815// client's request for the UpdateEmailTemplate operation. The "output" return
7816// value will be populated with the request's response once the request completes
7817// successfully.
7818//
7819// Use "Send" method on the returned Request to send the API call to the service.
7820// the "output" return value is not valid until after Send returns without error.
7821//
7822// See UpdateEmailTemplate for more information on using the UpdateEmailTemplate
7823// API call, and error handling.
7824//
7825// This method is useful when you want to inject custom logic or configuration
7826// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7827//
7828//
7829//    // Example sending a request using the UpdateEmailTemplateRequest method.
7830//    req, resp := client.UpdateEmailTemplateRequest(params)
7831//
7832//    err := req.Send()
7833//    if err == nil { // resp is now filled
7834//        fmt.Println(resp)
7835//    }
7836//
7837// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailTemplate
7838func (c *Pinpoint) UpdateEmailTemplateRequest(input *UpdateEmailTemplateInput) (req *request.Request, output *UpdateEmailTemplateOutput) {
7839	op := &request.Operation{
7840		Name:       opUpdateEmailTemplate,
7841		HTTPMethod: "PUT",
7842		HTTPPath:   "/v1/templates/{template-name}/email",
7843	}
7844
7845	if input == nil {
7846		input = &UpdateEmailTemplateInput{}
7847	}
7848
7849	output = &UpdateEmailTemplateOutput{}
7850	req = c.newRequest(op, input, output)
7851	return
7852}
7853
7854// UpdateEmailTemplate API operation for Amazon Pinpoint.
7855//
7856// Updates an existing message template that you can use in messages that are
7857// sent through the email channel.
7858//
7859// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7860// with awserr.Error's Code and Message methods to get detailed information about
7861// the error.
7862//
7863// See the AWS API reference guide for Amazon Pinpoint's
7864// API operation UpdateEmailTemplate for usage and error information.
7865//
7866// Returned Error Codes:
7867//   * ErrCodeBadRequestException "BadRequestException"
7868//   Provides information about an API request or response.
7869//
7870//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7871//   Provides information about an API request or response.
7872//
7873//   * ErrCodeForbiddenException "ForbiddenException"
7874//   Provides information about an API request or response.
7875//
7876//   * ErrCodeNotFoundException "NotFoundException"
7877//   Provides information about an API request or response.
7878//
7879//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7880//   Provides information about an API request or response.
7881//
7882//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7883//   Provides information about an API request or response.
7884//
7885// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailTemplate
7886func (c *Pinpoint) UpdateEmailTemplate(input *UpdateEmailTemplateInput) (*UpdateEmailTemplateOutput, error) {
7887	req, out := c.UpdateEmailTemplateRequest(input)
7888	return out, req.Send()
7889}
7890
7891// UpdateEmailTemplateWithContext is the same as UpdateEmailTemplate with the addition of
7892// the ability to pass a context and additional request options.
7893//
7894// See UpdateEmailTemplate for details on how to use this API operation.
7895//
7896// The context must be non-nil and will be used for request cancellation. If
7897// the context is nil a panic will occur. In the future the SDK may create
7898// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7899// for more information on using Contexts.
7900func (c *Pinpoint) UpdateEmailTemplateWithContext(ctx aws.Context, input *UpdateEmailTemplateInput, opts ...request.Option) (*UpdateEmailTemplateOutput, error) {
7901	req, out := c.UpdateEmailTemplateRequest(input)
7902	req.SetContext(ctx)
7903	req.ApplyOptions(opts...)
7904	return out, req.Send()
7905}
7906
7907const opUpdateEndpoint = "UpdateEndpoint"
7908
7909// UpdateEndpointRequest generates a "aws/request.Request" representing the
7910// client's request for the UpdateEndpoint operation. The "output" return
7911// value will be populated with the request's response once the request completes
7912// successfully.
7913//
7914// Use "Send" method on the returned Request to send the API call to the service.
7915// the "output" return value is not valid until after Send returns without error.
7916//
7917// See UpdateEndpoint for more information on using the UpdateEndpoint
7918// API call, and error handling.
7919//
7920// This method is useful when you want to inject custom logic or configuration
7921// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7922//
7923//
7924//    // Example sending a request using the UpdateEndpointRequest method.
7925//    req, resp := client.UpdateEndpointRequest(params)
7926//
7927//    err := req.Send()
7928//    if err == nil { // resp is now filled
7929//        fmt.Println(resp)
7930//    }
7931//
7932// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpoint
7933func (c *Pinpoint) UpdateEndpointRequest(input *UpdateEndpointInput) (req *request.Request, output *UpdateEndpointOutput) {
7934	op := &request.Operation{
7935		Name:       opUpdateEndpoint,
7936		HTTPMethod: "PUT",
7937		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
7938	}
7939
7940	if input == nil {
7941		input = &UpdateEndpointInput{}
7942	}
7943
7944	output = &UpdateEndpointOutput{}
7945	req = c.newRequest(op, input, output)
7946	return
7947}
7948
7949// UpdateEndpoint API operation for Amazon Pinpoint.
7950//
7951// Creates a new endpoint for an application or updates the settings and attributes
7952// of an existing endpoint for an application. You can also use this operation
7953// to define custom attributes (Attributes, Metrics, and UserAttributes properties)
7954// for an endpoint.
7955//
7956// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7957// with awserr.Error's Code and Message methods to get detailed information about
7958// the error.
7959//
7960// See the AWS API reference guide for Amazon Pinpoint's
7961// API operation UpdateEndpoint for usage and error information.
7962//
7963// Returned Error Codes:
7964//   * ErrCodeBadRequestException "BadRequestException"
7965//   Provides information about an API request or response.
7966//
7967//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7968//   Provides information about an API request or response.
7969//
7970//   * ErrCodeForbiddenException "ForbiddenException"
7971//   Provides information about an API request or response.
7972//
7973//   * ErrCodeNotFoundException "NotFoundException"
7974//   Provides information about an API request or response.
7975//
7976//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7977//   Provides information about an API request or response.
7978//
7979//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7980//   Provides information about an API request or response.
7981//
7982// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpoint
7983func (c *Pinpoint) UpdateEndpoint(input *UpdateEndpointInput) (*UpdateEndpointOutput, error) {
7984	req, out := c.UpdateEndpointRequest(input)
7985	return out, req.Send()
7986}
7987
7988// UpdateEndpointWithContext is the same as UpdateEndpoint with the addition of
7989// the ability to pass a context and additional request options.
7990//
7991// See UpdateEndpoint for details on how to use this API operation.
7992//
7993// The context must be non-nil and will be used for request cancellation. If
7994// the context is nil a panic will occur. In the future the SDK may create
7995// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7996// for more information on using Contexts.
7997func (c *Pinpoint) UpdateEndpointWithContext(ctx aws.Context, input *UpdateEndpointInput, opts ...request.Option) (*UpdateEndpointOutput, error) {
7998	req, out := c.UpdateEndpointRequest(input)
7999	req.SetContext(ctx)
8000	req.ApplyOptions(opts...)
8001	return out, req.Send()
8002}
8003
8004const opUpdateEndpointsBatch = "UpdateEndpointsBatch"
8005
8006// UpdateEndpointsBatchRequest generates a "aws/request.Request" representing the
8007// client's request for the UpdateEndpointsBatch operation. The "output" return
8008// value will be populated with the request's response once the request completes
8009// successfully.
8010//
8011// Use "Send" method on the returned Request to send the API call to the service.
8012// the "output" return value is not valid until after Send returns without error.
8013//
8014// See UpdateEndpointsBatch for more information on using the UpdateEndpointsBatch
8015// API call, and error handling.
8016//
8017// This method is useful when you want to inject custom logic or configuration
8018// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8019//
8020//
8021//    // Example sending a request using the UpdateEndpointsBatchRequest method.
8022//    req, resp := client.UpdateEndpointsBatchRequest(params)
8023//
8024//    err := req.Send()
8025//    if err == nil { // resp is now filled
8026//        fmt.Println(resp)
8027//    }
8028//
8029// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatch
8030func (c *Pinpoint) UpdateEndpointsBatchRequest(input *UpdateEndpointsBatchInput) (req *request.Request, output *UpdateEndpointsBatchOutput) {
8031	op := &request.Operation{
8032		Name:       opUpdateEndpointsBatch,
8033		HTTPMethod: "PUT",
8034		HTTPPath:   "/v1/apps/{application-id}/endpoints",
8035	}
8036
8037	if input == nil {
8038		input = &UpdateEndpointsBatchInput{}
8039	}
8040
8041	output = &UpdateEndpointsBatchOutput{}
8042	req = c.newRequest(op, input, output)
8043	return
8044}
8045
8046// UpdateEndpointsBatch API operation for Amazon Pinpoint.
8047//
8048// Creates a new batch of endpoints for an application or updates the settings
8049// and attributes of a batch of existing endpoints for an application. You can
8050// also use this operation to define custom attributes (Attributes, Metrics,
8051// and UserAttributes properties) for a batch of endpoints.
8052//
8053// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8054// with awserr.Error's Code and Message methods to get detailed information about
8055// the error.
8056//
8057// See the AWS API reference guide for Amazon Pinpoint's
8058// API operation UpdateEndpointsBatch for usage and error information.
8059//
8060// Returned Error Codes:
8061//   * ErrCodeBadRequestException "BadRequestException"
8062//   Provides information about an API request or response.
8063//
8064//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8065//   Provides information about an API request or response.
8066//
8067//   * ErrCodeForbiddenException "ForbiddenException"
8068//   Provides information about an API request or response.
8069//
8070//   * ErrCodeNotFoundException "NotFoundException"
8071//   Provides information about an API request or response.
8072//
8073//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8074//   Provides information about an API request or response.
8075//
8076//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8077//   Provides information about an API request or response.
8078//
8079// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatch
8080func (c *Pinpoint) UpdateEndpointsBatch(input *UpdateEndpointsBatchInput) (*UpdateEndpointsBatchOutput, error) {
8081	req, out := c.UpdateEndpointsBatchRequest(input)
8082	return out, req.Send()
8083}
8084
8085// UpdateEndpointsBatchWithContext is the same as UpdateEndpointsBatch with the addition of
8086// the ability to pass a context and additional request options.
8087//
8088// See UpdateEndpointsBatch for details on how to use this API operation.
8089//
8090// The context must be non-nil and will be used for request cancellation. If
8091// the context is nil a panic will occur. In the future the SDK may create
8092// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8093// for more information on using Contexts.
8094func (c *Pinpoint) UpdateEndpointsBatchWithContext(ctx aws.Context, input *UpdateEndpointsBatchInput, opts ...request.Option) (*UpdateEndpointsBatchOutput, error) {
8095	req, out := c.UpdateEndpointsBatchRequest(input)
8096	req.SetContext(ctx)
8097	req.ApplyOptions(opts...)
8098	return out, req.Send()
8099}
8100
8101const opUpdateGcmChannel = "UpdateGcmChannel"
8102
8103// UpdateGcmChannelRequest generates a "aws/request.Request" representing the
8104// client's request for the UpdateGcmChannel operation. The "output" return
8105// value will be populated with the request's response once the request completes
8106// successfully.
8107//
8108// Use "Send" method on the returned Request to send the API call to the service.
8109// the "output" return value is not valid until after Send returns without error.
8110//
8111// See UpdateGcmChannel for more information on using the UpdateGcmChannel
8112// API call, and error handling.
8113//
8114// This method is useful when you want to inject custom logic or configuration
8115// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8116//
8117//
8118//    // Example sending a request using the UpdateGcmChannelRequest method.
8119//    req, resp := client.UpdateGcmChannelRequest(params)
8120//
8121//    err := req.Send()
8122//    if err == nil { // resp is now filled
8123//        fmt.Println(resp)
8124//    }
8125//
8126// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannel
8127func (c *Pinpoint) UpdateGcmChannelRequest(input *UpdateGcmChannelInput) (req *request.Request, output *UpdateGcmChannelOutput) {
8128	op := &request.Operation{
8129		Name:       opUpdateGcmChannel,
8130		HTTPMethod: "PUT",
8131		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
8132	}
8133
8134	if input == nil {
8135		input = &UpdateGcmChannelInput{}
8136	}
8137
8138	output = &UpdateGcmChannelOutput{}
8139	req = c.newRequest(op, input, output)
8140	return
8141}
8142
8143// UpdateGcmChannel API operation for Amazon Pinpoint.
8144//
8145// Enables the GCM channel for an application or updates the status and settings
8146// of the GCM channel for an application.
8147//
8148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8149// with awserr.Error's Code and Message methods to get detailed information about
8150// the error.
8151//
8152// See the AWS API reference guide for Amazon Pinpoint's
8153// API operation UpdateGcmChannel for usage and error information.
8154//
8155// Returned Error Codes:
8156//   * ErrCodeBadRequestException "BadRequestException"
8157//   Provides information about an API request or response.
8158//
8159//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8160//   Provides information about an API request or response.
8161//
8162//   * ErrCodeForbiddenException "ForbiddenException"
8163//   Provides information about an API request or response.
8164//
8165//   * ErrCodeNotFoundException "NotFoundException"
8166//   Provides information about an API request or response.
8167//
8168//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8169//   Provides information about an API request or response.
8170//
8171//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8172//   Provides information about an API request or response.
8173//
8174// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannel
8175func (c *Pinpoint) UpdateGcmChannel(input *UpdateGcmChannelInput) (*UpdateGcmChannelOutput, error) {
8176	req, out := c.UpdateGcmChannelRequest(input)
8177	return out, req.Send()
8178}
8179
8180// UpdateGcmChannelWithContext is the same as UpdateGcmChannel with the addition of
8181// the ability to pass a context and additional request options.
8182//
8183// See UpdateGcmChannel for details on how to use this API operation.
8184//
8185// The context must be non-nil and will be used for request cancellation. If
8186// the context is nil a panic will occur. In the future the SDK may create
8187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8188// for more information on using Contexts.
8189func (c *Pinpoint) UpdateGcmChannelWithContext(ctx aws.Context, input *UpdateGcmChannelInput, opts ...request.Option) (*UpdateGcmChannelOutput, error) {
8190	req, out := c.UpdateGcmChannelRequest(input)
8191	req.SetContext(ctx)
8192	req.ApplyOptions(opts...)
8193	return out, req.Send()
8194}
8195
8196const opUpdatePushTemplate = "UpdatePushTemplate"
8197
8198// UpdatePushTemplateRequest generates a "aws/request.Request" representing the
8199// client's request for the UpdatePushTemplate operation. The "output" return
8200// value will be populated with the request's response once the request completes
8201// successfully.
8202//
8203// Use "Send" method on the returned Request to send the API call to the service.
8204// the "output" return value is not valid until after Send returns without error.
8205//
8206// See UpdatePushTemplate for more information on using the UpdatePushTemplate
8207// API call, and error handling.
8208//
8209// This method is useful when you want to inject custom logic or configuration
8210// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8211//
8212//
8213//    // Example sending a request using the UpdatePushTemplateRequest method.
8214//    req, resp := client.UpdatePushTemplateRequest(params)
8215//
8216//    err := req.Send()
8217//    if err == nil { // resp is now filled
8218//        fmt.Println(resp)
8219//    }
8220//
8221// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdatePushTemplate
8222func (c *Pinpoint) UpdatePushTemplateRequest(input *UpdatePushTemplateInput) (req *request.Request, output *UpdatePushTemplateOutput) {
8223	op := &request.Operation{
8224		Name:       opUpdatePushTemplate,
8225		HTTPMethod: "PUT",
8226		HTTPPath:   "/v1/templates/{template-name}/push",
8227	}
8228
8229	if input == nil {
8230		input = &UpdatePushTemplateInput{}
8231	}
8232
8233	output = &UpdatePushTemplateOutput{}
8234	req = c.newRequest(op, input, output)
8235	return
8236}
8237
8238// UpdatePushTemplate API operation for Amazon Pinpoint.
8239//
8240// Updates an existing message template that you can use in messages that are
8241// sent through a push notification channel.
8242//
8243// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8244// with awserr.Error's Code and Message methods to get detailed information about
8245// the error.
8246//
8247// See the AWS API reference guide for Amazon Pinpoint's
8248// API operation UpdatePushTemplate for usage and error information.
8249//
8250// Returned Error Codes:
8251//   * ErrCodeBadRequestException "BadRequestException"
8252//   Provides information about an API request or response.
8253//
8254//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8255//   Provides information about an API request or response.
8256//
8257//   * ErrCodeForbiddenException "ForbiddenException"
8258//   Provides information about an API request or response.
8259//
8260//   * ErrCodeNotFoundException "NotFoundException"
8261//   Provides information about an API request or response.
8262//
8263//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8264//   Provides information about an API request or response.
8265//
8266//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8267//   Provides information about an API request or response.
8268//
8269// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdatePushTemplate
8270func (c *Pinpoint) UpdatePushTemplate(input *UpdatePushTemplateInput) (*UpdatePushTemplateOutput, error) {
8271	req, out := c.UpdatePushTemplateRequest(input)
8272	return out, req.Send()
8273}
8274
8275// UpdatePushTemplateWithContext is the same as UpdatePushTemplate with the addition of
8276// the ability to pass a context and additional request options.
8277//
8278// See UpdatePushTemplate for details on how to use this API operation.
8279//
8280// The context must be non-nil and will be used for request cancellation. If
8281// the context is nil a panic will occur. In the future the SDK may create
8282// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8283// for more information on using Contexts.
8284func (c *Pinpoint) UpdatePushTemplateWithContext(ctx aws.Context, input *UpdatePushTemplateInput, opts ...request.Option) (*UpdatePushTemplateOutput, error) {
8285	req, out := c.UpdatePushTemplateRequest(input)
8286	req.SetContext(ctx)
8287	req.ApplyOptions(opts...)
8288	return out, req.Send()
8289}
8290
8291const opUpdateSegment = "UpdateSegment"
8292
8293// UpdateSegmentRequest generates a "aws/request.Request" representing the
8294// client's request for the UpdateSegment operation. The "output" return
8295// value will be populated with the request's response once the request completes
8296// successfully.
8297//
8298// Use "Send" method on the returned Request to send the API call to the service.
8299// the "output" return value is not valid until after Send returns without error.
8300//
8301// See UpdateSegment for more information on using the UpdateSegment
8302// API call, and error handling.
8303//
8304// This method is useful when you want to inject custom logic or configuration
8305// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8306//
8307//
8308//    // Example sending a request using the UpdateSegmentRequest method.
8309//    req, resp := client.UpdateSegmentRequest(params)
8310//
8311//    err := req.Send()
8312//    if err == nil { // resp is now filled
8313//        fmt.Println(resp)
8314//    }
8315//
8316// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegment
8317func (c *Pinpoint) UpdateSegmentRequest(input *UpdateSegmentInput) (req *request.Request, output *UpdateSegmentOutput) {
8318	op := &request.Operation{
8319		Name:       opUpdateSegment,
8320		HTTPMethod: "PUT",
8321		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
8322	}
8323
8324	if input == nil {
8325		input = &UpdateSegmentInput{}
8326	}
8327
8328	output = &UpdateSegmentOutput{}
8329	req = c.newRequest(op, input, output)
8330	return
8331}
8332
8333// UpdateSegment API operation for Amazon Pinpoint.
8334//
8335// Creates a new segment for an application or updates the configuration, dimension,
8336// and other settings for an existing segment that's associated with an application.
8337//
8338// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8339// with awserr.Error's Code and Message methods to get detailed information about
8340// the error.
8341//
8342// See the AWS API reference guide for Amazon Pinpoint's
8343// API operation UpdateSegment for usage and error information.
8344//
8345// Returned Error Codes:
8346//   * ErrCodeBadRequestException "BadRequestException"
8347//   Provides information about an API request or response.
8348//
8349//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8350//   Provides information about an API request or response.
8351//
8352//   * ErrCodeForbiddenException "ForbiddenException"
8353//   Provides information about an API request or response.
8354//
8355//   * ErrCodeNotFoundException "NotFoundException"
8356//   Provides information about an API request or response.
8357//
8358//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8359//   Provides information about an API request or response.
8360//
8361//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8362//   Provides information about an API request or response.
8363//
8364// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegment
8365func (c *Pinpoint) UpdateSegment(input *UpdateSegmentInput) (*UpdateSegmentOutput, error) {
8366	req, out := c.UpdateSegmentRequest(input)
8367	return out, req.Send()
8368}
8369
8370// UpdateSegmentWithContext is the same as UpdateSegment with the addition of
8371// the ability to pass a context and additional request options.
8372//
8373// See UpdateSegment for details on how to use this API operation.
8374//
8375// The context must be non-nil and will be used for request cancellation. If
8376// the context is nil a panic will occur. In the future the SDK may create
8377// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8378// for more information on using Contexts.
8379func (c *Pinpoint) UpdateSegmentWithContext(ctx aws.Context, input *UpdateSegmentInput, opts ...request.Option) (*UpdateSegmentOutput, error) {
8380	req, out := c.UpdateSegmentRequest(input)
8381	req.SetContext(ctx)
8382	req.ApplyOptions(opts...)
8383	return out, req.Send()
8384}
8385
8386const opUpdateSmsChannel = "UpdateSmsChannel"
8387
8388// UpdateSmsChannelRequest generates a "aws/request.Request" representing the
8389// client's request for the UpdateSmsChannel operation. The "output" return
8390// value will be populated with the request's response once the request completes
8391// successfully.
8392//
8393// Use "Send" method on the returned Request to send the API call to the service.
8394// the "output" return value is not valid until after Send returns without error.
8395//
8396// See UpdateSmsChannel for more information on using the UpdateSmsChannel
8397// API call, and error handling.
8398//
8399// This method is useful when you want to inject custom logic or configuration
8400// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8401//
8402//
8403//    // Example sending a request using the UpdateSmsChannelRequest method.
8404//    req, resp := client.UpdateSmsChannelRequest(params)
8405//
8406//    err := req.Send()
8407//    if err == nil { // resp is now filled
8408//        fmt.Println(resp)
8409//    }
8410//
8411// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannel
8412func (c *Pinpoint) UpdateSmsChannelRequest(input *UpdateSmsChannelInput) (req *request.Request, output *UpdateSmsChannelOutput) {
8413	op := &request.Operation{
8414		Name:       opUpdateSmsChannel,
8415		HTTPMethod: "PUT",
8416		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
8417	}
8418
8419	if input == nil {
8420		input = &UpdateSmsChannelInput{}
8421	}
8422
8423	output = &UpdateSmsChannelOutput{}
8424	req = c.newRequest(op, input, output)
8425	return
8426}
8427
8428// UpdateSmsChannel API operation for Amazon Pinpoint.
8429//
8430// Enables the SMS channel for an application or updates the status and settings
8431// of the SMS channel for an application.
8432//
8433// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8434// with awserr.Error's Code and Message methods to get detailed information about
8435// the error.
8436//
8437// See the AWS API reference guide for Amazon Pinpoint's
8438// API operation UpdateSmsChannel for usage and error information.
8439//
8440// Returned Error Codes:
8441//   * ErrCodeBadRequestException "BadRequestException"
8442//   Provides information about an API request or response.
8443//
8444//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8445//   Provides information about an API request or response.
8446//
8447//   * ErrCodeForbiddenException "ForbiddenException"
8448//   Provides information about an API request or response.
8449//
8450//   * ErrCodeNotFoundException "NotFoundException"
8451//   Provides information about an API request or response.
8452//
8453//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8454//   Provides information about an API request or response.
8455//
8456//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8457//   Provides information about an API request or response.
8458//
8459// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannel
8460func (c *Pinpoint) UpdateSmsChannel(input *UpdateSmsChannelInput) (*UpdateSmsChannelOutput, error) {
8461	req, out := c.UpdateSmsChannelRequest(input)
8462	return out, req.Send()
8463}
8464
8465// UpdateSmsChannelWithContext is the same as UpdateSmsChannel with the addition of
8466// the ability to pass a context and additional request options.
8467//
8468// See UpdateSmsChannel for details on how to use this API operation.
8469//
8470// The context must be non-nil and will be used for request cancellation. If
8471// the context is nil a panic will occur. In the future the SDK may create
8472// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8473// for more information on using Contexts.
8474func (c *Pinpoint) UpdateSmsChannelWithContext(ctx aws.Context, input *UpdateSmsChannelInput, opts ...request.Option) (*UpdateSmsChannelOutput, error) {
8475	req, out := c.UpdateSmsChannelRequest(input)
8476	req.SetContext(ctx)
8477	req.ApplyOptions(opts...)
8478	return out, req.Send()
8479}
8480
8481const opUpdateSmsTemplate = "UpdateSmsTemplate"
8482
8483// UpdateSmsTemplateRequest generates a "aws/request.Request" representing the
8484// client's request for the UpdateSmsTemplate operation. The "output" return
8485// value will be populated with the request's response once the request completes
8486// successfully.
8487//
8488// Use "Send" method on the returned Request to send the API call to the service.
8489// the "output" return value is not valid until after Send returns without error.
8490//
8491// See UpdateSmsTemplate for more information on using the UpdateSmsTemplate
8492// API call, and error handling.
8493//
8494// This method is useful when you want to inject custom logic or configuration
8495// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8496//
8497//
8498//    // Example sending a request using the UpdateSmsTemplateRequest method.
8499//    req, resp := client.UpdateSmsTemplateRequest(params)
8500//
8501//    err := req.Send()
8502//    if err == nil { // resp is now filled
8503//        fmt.Println(resp)
8504//    }
8505//
8506// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsTemplate
8507func (c *Pinpoint) UpdateSmsTemplateRequest(input *UpdateSmsTemplateInput) (req *request.Request, output *UpdateSmsTemplateOutput) {
8508	op := &request.Operation{
8509		Name:       opUpdateSmsTemplate,
8510		HTTPMethod: "PUT",
8511		HTTPPath:   "/v1/templates/{template-name}/sms",
8512	}
8513
8514	if input == nil {
8515		input = &UpdateSmsTemplateInput{}
8516	}
8517
8518	output = &UpdateSmsTemplateOutput{}
8519	req = c.newRequest(op, input, output)
8520	return
8521}
8522
8523// UpdateSmsTemplate API operation for Amazon Pinpoint.
8524//
8525// Updates an existing message template that you can use in messages that are
8526// sent through the SMS channel.
8527//
8528// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8529// with awserr.Error's Code and Message methods to get detailed information about
8530// the error.
8531//
8532// See the AWS API reference guide for Amazon Pinpoint's
8533// API operation UpdateSmsTemplate for usage and error information.
8534//
8535// Returned Error Codes:
8536//   * ErrCodeBadRequestException "BadRequestException"
8537//   Provides information about an API request or response.
8538//
8539//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8540//   Provides information about an API request or response.
8541//
8542//   * ErrCodeForbiddenException "ForbiddenException"
8543//   Provides information about an API request or response.
8544//
8545//   * ErrCodeNotFoundException "NotFoundException"
8546//   Provides information about an API request or response.
8547//
8548//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8549//   Provides information about an API request or response.
8550//
8551//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8552//   Provides information about an API request or response.
8553//
8554// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsTemplate
8555func (c *Pinpoint) UpdateSmsTemplate(input *UpdateSmsTemplateInput) (*UpdateSmsTemplateOutput, error) {
8556	req, out := c.UpdateSmsTemplateRequest(input)
8557	return out, req.Send()
8558}
8559
8560// UpdateSmsTemplateWithContext is the same as UpdateSmsTemplate with the addition of
8561// the ability to pass a context and additional request options.
8562//
8563// See UpdateSmsTemplate for details on how to use this API operation.
8564//
8565// The context must be non-nil and will be used for request cancellation. If
8566// the context is nil a panic will occur. In the future the SDK may create
8567// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8568// for more information on using Contexts.
8569func (c *Pinpoint) UpdateSmsTemplateWithContext(ctx aws.Context, input *UpdateSmsTemplateInput, opts ...request.Option) (*UpdateSmsTemplateOutput, error) {
8570	req, out := c.UpdateSmsTemplateRequest(input)
8571	req.SetContext(ctx)
8572	req.ApplyOptions(opts...)
8573	return out, req.Send()
8574}
8575
8576const opUpdateVoiceChannel = "UpdateVoiceChannel"
8577
8578// UpdateVoiceChannelRequest generates a "aws/request.Request" representing the
8579// client's request for the UpdateVoiceChannel operation. The "output" return
8580// value will be populated with the request's response once the request completes
8581// successfully.
8582//
8583// Use "Send" method on the returned Request to send the API call to the service.
8584// the "output" return value is not valid until after Send returns without error.
8585//
8586// See UpdateVoiceChannel for more information on using the UpdateVoiceChannel
8587// API call, and error handling.
8588//
8589// This method is useful when you want to inject custom logic or configuration
8590// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8591//
8592//
8593//    // Example sending a request using the UpdateVoiceChannelRequest method.
8594//    req, resp := client.UpdateVoiceChannelRequest(params)
8595//
8596//    err := req.Send()
8597//    if err == nil { // resp is now filled
8598//        fmt.Println(resp)
8599//    }
8600//
8601// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceChannel
8602func (c *Pinpoint) UpdateVoiceChannelRequest(input *UpdateVoiceChannelInput) (req *request.Request, output *UpdateVoiceChannelOutput) {
8603	op := &request.Operation{
8604		Name:       opUpdateVoiceChannel,
8605		HTTPMethod: "PUT",
8606		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
8607	}
8608
8609	if input == nil {
8610		input = &UpdateVoiceChannelInput{}
8611	}
8612
8613	output = &UpdateVoiceChannelOutput{}
8614	req = c.newRequest(op, input, output)
8615	return
8616}
8617
8618// UpdateVoiceChannel API operation for Amazon Pinpoint.
8619//
8620// Enables the voice channel for an application or updates the status and settings
8621// of the voice channel for an application.
8622//
8623// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8624// with awserr.Error's Code and Message methods to get detailed information about
8625// the error.
8626//
8627// See the AWS API reference guide for Amazon Pinpoint's
8628// API operation UpdateVoiceChannel for usage and error information.
8629//
8630// Returned Error Codes:
8631//   * ErrCodeBadRequestException "BadRequestException"
8632//   Provides information about an API request or response.
8633//
8634//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
8635//   Provides information about an API request or response.
8636//
8637//   * ErrCodeForbiddenException "ForbiddenException"
8638//   Provides information about an API request or response.
8639//
8640//   * ErrCodeNotFoundException "NotFoundException"
8641//   Provides information about an API request or response.
8642//
8643//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
8644//   Provides information about an API request or response.
8645//
8646//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
8647//   Provides information about an API request or response.
8648//
8649// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceChannel
8650func (c *Pinpoint) UpdateVoiceChannel(input *UpdateVoiceChannelInput) (*UpdateVoiceChannelOutput, error) {
8651	req, out := c.UpdateVoiceChannelRequest(input)
8652	return out, req.Send()
8653}
8654
8655// UpdateVoiceChannelWithContext is the same as UpdateVoiceChannel with the addition of
8656// the ability to pass a context and additional request options.
8657//
8658// See UpdateVoiceChannel for details on how to use this API operation.
8659//
8660// The context must be non-nil and will be used for request cancellation. If
8661// the context is nil a panic will occur. In the future the SDK may create
8662// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8663// for more information on using Contexts.
8664func (c *Pinpoint) UpdateVoiceChannelWithContext(ctx aws.Context, input *UpdateVoiceChannelInput, opts ...request.Option) (*UpdateVoiceChannelOutput, error) {
8665	req, out := c.UpdateVoiceChannelRequest(input)
8666	req.SetContext(ctx)
8667	req.ApplyOptions(opts...)
8668	return out, req.Send()
8669}
8670
8671// Specifies the status and settings of the ADM (Amazon Device Messaging) channel
8672// for an application.
8673type ADMChannelRequest struct {
8674	_ struct{} `type:"structure"`
8675
8676	// The Client ID that you received from Amazon to send messages by using ADM.
8677	//
8678	// ClientId is a required field
8679	ClientId *string `type:"string" required:"true"`
8680
8681	// The Client Secret that you received from Amazon to send messages by using
8682	// ADM.
8683	//
8684	// ClientSecret is a required field
8685	ClientSecret *string `type:"string" required:"true"`
8686
8687	// Specifies whether to enable the ADM channel for the application.
8688	Enabled *bool `type:"boolean"`
8689}
8690
8691// String returns the string representation
8692func (s ADMChannelRequest) String() string {
8693	return awsutil.Prettify(s)
8694}
8695
8696// GoString returns the string representation
8697func (s ADMChannelRequest) GoString() string {
8698	return s.String()
8699}
8700
8701// Validate inspects the fields of the type to determine if they are valid.
8702func (s *ADMChannelRequest) Validate() error {
8703	invalidParams := request.ErrInvalidParams{Context: "ADMChannelRequest"}
8704	if s.ClientId == nil {
8705		invalidParams.Add(request.NewErrParamRequired("ClientId"))
8706	}
8707	if s.ClientSecret == nil {
8708		invalidParams.Add(request.NewErrParamRequired("ClientSecret"))
8709	}
8710
8711	if invalidParams.Len() > 0 {
8712		return invalidParams
8713	}
8714	return nil
8715}
8716
8717// SetClientId sets the ClientId field's value.
8718func (s *ADMChannelRequest) SetClientId(v string) *ADMChannelRequest {
8719	s.ClientId = &v
8720	return s
8721}
8722
8723// SetClientSecret sets the ClientSecret field's value.
8724func (s *ADMChannelRequest) SetClientSecret(v string) *ADMChannelRequest {
8725	s.ClientSecret = &v
8726	return s
8727}
8728
8729// SetEnabled sets the Enabled field's value.
8730func (s *ADMChannelRequest) SetEnabled(v bool) *ADMChannelRequest {
8731	s.Enabled = &v
8732	return s
8733}
8734
8735// Provides information about the status and settings of the ADM (Amazon Device
8736// Messaging) channel for an application.
8737type ADMChannelResponse struct {
8738	_ struct{} `type:"structure"`
8739
8740	// The unique identifier for the application that the ADM channel applies to.
8741	ApplicationId *string `type:"string"`
8742
8743	// The date and time when the ADM channel was enabled.
8744	CreationDate *string `type:"string"`
8745
8746	// Specifies whether the ADM channel is enabled for the application.
8747	Enabled *bool `type:"boolean"`
8748
8749	// (Not used) This property is retained only for backward compatibility.
8750	HasCredential *bool `type:"boolean"`
8751
8752	// (Deprecated) An identifier for the ADM channel. This property is retained
8753	// only for backward compatibility.
8754	Id *string `type:"string"`
8755
8756	// Specifies whether the ADM channel is archived.
8757	IsArchived *bool `type:"boolean"`
8758
8759	// The user who last modified the ADM channel.
8760	LastModifiedBy *string `type:"string"`
8761
8762	// The date and time when the ADM channel was last modified.
8763	LastModifiedDate *string `type:"string"`
8764
8765	// The type of messaging or notification platform for the channel. For the ADM
8766	// channel, this value is ADM.
8767	//
8768	// Platform is a required field
8769	Platform *string `type:"string" required:"true"`
8770
8771	// The current version of the ADM channel.
8772	Version *int64 `type:"integer"`
8773}
8774
8775// String returns the string representation
8776func (s ADMChannelResponse) String() string {
8777	return awsutil.Prettify(s)
8778}
8779
8780// GoString returns the string representation
8781func (s ADMChannelResponse) GoString() string {
8782	return s.String()
8783}
8784
8785// SetApplicationId sets the ApplicationId field's value.
8786func (s *ADMChannelResponse) SetApplicationId(v string) *ADMChannelResponse {
8787	s.ApplicationId = &v
8788	return s
8789}
8790
8791// SetCreationDate sets the CreationDate field's value.
8792func (s *ADMChannelResponse) SetCreationDate(v string) *ADMChannelResponse {
8793	s.CreationDate = &v
8794	return s
8795}
8796
8797// SetEnabled sets the Enabled field's value.
8798func (s *ADMChannelResponse) SetEnabled(v bool) *ADMChannelResponse {
8799	s.Enabled = &v
8800	return s
8801}
8802
8803// SetHasCredential sets the HasCredential field's value.
8804func (s *ADMChannelResponse) SetHasCredential(v bool) *ADMChannelResponse {
8805	s.HasCredential = &v
8806	return s
8807}
8808
8809// SetId sets the Id field's value.
8810func (s *ADMChannelResponse) SetId(v string) *ADMChannelResponse {
8811	s.Id = &v
8812	return s
8813}
8814
8815// SetIsArchived sets the IsArchived field's value.
8816func (s *ADMChannelResponse) SetIsArchived(v bool) *ADMChannelResponse {
8817	s.IsArchived = &v
8818	return s
8819}
8820
8821// SetLastModifiedBy sets the LastModifiedBy field's value.
8822func (s *ADMChannelResponse) SetLastModifiedBy(v string) *ADMChannelResponse {
8823	s.LastModifiedBy = &v
8824	return s
8825}
8826
8827// SetLastModifiedDate sets the LastModifiedDate field's value.
8828func (s *ADMChannelResponse) SetLastModifiedDate(v string) *ADMChannelResponse {
8829	s.LastModifiedDate = &v
8830	return s
8831}
8832
8833// SetPlatform sets the Platform field's value.
8834func (s *ADMChannelResponse) SetPlatform(v string) *ADMChannelResponse {
8835	s.Platform = &v
8836	return s
8837}
8838
8839// SetVersion sets the Version field's value.
8840func (s *ADMChannelResponse) SetVersion(v int64) *ADMChannelResponse {
8841	s.Version = &v
8842	return s
8843}
8844
8845// Specifies the settings for a one-time message that's sent directly to an
8846// endpoint through the ADM (Amazon Device Messaging) channel.
8847type ADMMessage struct {
8848	_ struct{} `type:"structure"`
8849
8850	// The action to occur if the recipient taps the push notification. Valid values
8851	// are:
8852	//
8853	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
8854	//    sent to the background. This is the default action.
8855	//
8856	//    * DEEP_LINK - Your app opens and displays a designated user interface
8857	//    in the app. This action uses the deep-linking features of the Android
8858	//    platform.
8859	//
8860	//    * URL - The default mobile browser on the recipient's device opens and
8861	//    loads the web page at a URL that you specify.
8862	Action *string `type:"string" enum:"Action"`
8863
8864	// The body of the notification message.
8865	Body *string `type:"string"`
8866
8867	// An arbitrary string that indicates that multiple messages are logically the
8868	// same and that Amazon Device Messaging (ADM) can drop previously enqueued
8869	// messages in favor of this message.
8870	ConsolidationKey *string `type:"string"`
8871
8872	// The JSON data payload to use for the push notification, if the notification
8873	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
8874	// object of the notification.
8875	Data map[string]*string `type:"map"`
8876
8877	// The amount of time, in seconds, that ADM should store the message if the
8878	// recipient's device is offline. Amazon Pinpoint specifies this value in the
8879	// expiresAfter parameter when it sends the notification message to ADM.
8880	ExpiresAfter *string `type:"string"`
8881
8882	// The icon image name of the asset saved in your app.
8883	IconReference *string `type:"string"`
8884
8885	// The URL of the large icon image to display in the content view of the push
8886	// notification.
8887	ImageIconUrl *string `type:"string"`
8888
8889	// The URL of an image to display in the push notification.
8890	ImageUrl *string `type:"string"`
8891
8892	// The base64-encoded, MD5 checksum of the value specified by the Data property.
8893	// ADM uses the MD5 value to verify the integrity of the data.
8894	MD5 *string `type:"string"`
8895
8896	// The raw, JSON-formatted string to use as the payload for the notification
8897	// message. This value overrides the message.
8898	RawContent *string `type:"string"`
8899
8900	// Specifies whether the notification is a silent push notification, which is
8901	// a push notification that doesn't display on a recipient's device. Silent
8902	// push notifications can be used for cases such as updating an app's configuration
8903	// or supporting phone home functionality.
8904	SilentPush *bool `type:"boolean"`
8905
8906	// The URL of the small icon image to display in the status bar and the content
8907	// view of the push notification.
8908	SmallImageIconUrl *string `type:"string"`
8909
8910	// The sound to play when the recipient receives the push notification. You
8911	// can use the default stream or specify the file name of a sound resource that's
8912	// bundled in your app. On an Android platform, the sound file must reside in
8913	// /res/raw/.
8914	Sound *string `type:"string"`
8915
8916	// The default message variables to use in the notification message. You can
8917	// override the default variables with individual address variables.
8918	Substitutions map[string][]*string `type:"map"`
8919
8920	// The title to display above the notification message on the recipient's device.
8921	Title *string `type:"string"`
8922
8923	// The URL to open in the recipient's default mobile browser, if a recipient
8924	// taps the push notification and the value of the Action property is URL.
8925	Url *string `type:"string"`
8926}
8927
8928// String returns the string representation
8929func (s ADMMessage) String() string {
8930	return awsutil.Prettify(s)
8931}
8932
8933// GoString returns the string representation
8934func (s ADMMessage) GoString() string {
8935	return s.String()
8936}
8937
8938// SetAction sets the Action field's value.
8939func (s *ADMMessage) SetAction(v string) *ADMMessage {
8940	s.Action = &v
8941	return s
8942}
8943
8944// SetBody sets the Body field's value.
8945func (s *ADMMessage) SetBody(v string) *ADMMessage {
8946	s.Body = &v
8947	return s
8948}
8949
8950// SetConsolidationKey sets the ConsolidationKey field's value.
8951func (s *ADMMessage) SetConsolidationKey(v string) *ADMMessage {
8952	s.ConsolidationKey = &v
8953	return s
8954}
8955
8956// SetData sets the Data field's value.
8957func (s *ADMMessage) SetData(v map[string]*string) *ADMMessage {
8958	s.Data = v
8959	return s
8960}
8961
8962// SetExpiresAfter sets the ExpiresAfter field's value.
8963func (s *ADMMessage) SetExpiresAfter(v string) *ADMMessage {
8964	s.ExpiresAfter = &v
8965	return s
8966}
8967
8968// SetIconReference sets the IconReference field's value.
8969func (s *ADMMessage) SetIconReference(v string) *ADMMessage {
8970	s.IconReference = &v
8971	return s
8972}
8973
8974// SetImageIconUrl sets the ImageIconUrl field's value.
8975func (s *ADMMessage) SetImageIconUrl(v string) *ADMMessage {
8976	s.ImageIconUrl = &v
8977	return s
8978}
8979
8980// SetImageUrl sets the ImageUrl field's value.
8981func (s *ADMMessage) SetImageUrl(v string) *ADMMessage {
8982	s.ImageUrl = &v
8983	return s
8984}
8985
8986// SetMD5 sets the MD5 field's value.
8987func (s *ADMMessage) SetMD5(v string) *ADMMessage {
8988	s.MD5 = &v
8989	return s
8990}
8991
8992// SetRawContent sets the RawContent field's value.
8993func (s *ADMMessage) SetRawContent(v string) *ADMMessage {
8994	s.RawContent = &v
8995	return s
8996}
8997
8998// SetSilentPush sets the SilentPush field's value.
8999func (s *ADMMessage) SetSilentPush(v bool) *ADMMessage {
9000	s.SilentPush = &v
9001	return s
9002}
9003
9004// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
9005func (s *ADMMessage) SetSmallImageIconUrl(v string) *ADMMessage {
9006	s.SmallImageIconUrl = &v
9007	return s
9008}
9009
9010// SetSound sets the Sound field's value.
9011func (s *ADMMessage) SetSound(v string) *ADMMessage {
9012	s.Sound = &v
9013	return s
9014}
9015
9016// SetSubstitutions sets the Substitutions field's value.
9017func (s *ADMMessage) SetSubstitutions(v map[string][]*string) *ADMMessage {
9018	s.Substitutions = v
9019	return s
9020}
9021
9022// SetTitle sets the Title field's value.
9023func (s *ADMMessage) SetTitle(v string) *ADMMessage {
9024	s.Title = &v
9025	return s
9026}
9027
9028// SetUrl sets the Url field's value.
9029func (s *ADMMessage) SetUrl(v string) *ADMMessage {
9030	s.Url = &v
9031	return s
9032}
9033
9034// Specifies the status and settings of the APNs (Apple Push Notification service)
9035// channel for an application.
9036type APNSChannelRequest struct {
9037	_ struct{} `type:"structure"`
9038
9039	// The bundle identifier that's assigned to your iOS app. This identifier is
9040	// used for APNs tokens.
9041	BundleId *string `type:"string"`
9042
9043	// The APNs client certificate that you received from Apple, if you want Amazon
9044	// Pinpoint to communicate with APNs by using an APNs certificate.
9045	Certificate *string `type:"string"`
9046
9047	// The default authentication method that you want Amazon Pinpoint to use when
9048	// authenticating with APNs, key or certificate.
9049	DefaultAuthenticationMethod *string `type:"string"`
9050
9051	// Specifies whether to enable the APNs channel for the application.
9052	Enabled *bool `type:"boolean"`
9053
9054	// The private key for the APNs client certificate that you want Amazon Pinpoint
9055	// to use to communicate with APNs.
9056	PrivateKey *string `type:"string"`
9057
9058	// The identifier that's assigned to your Apple developer account team. This
9059	// identifier is used for APNs tokens.
9060	TeamId *string `type:"string"`
9061
9062	// The authentication key to use for APNs tokens.
9063	TokenKey *string `type:"string"`
9064
9065	// The key identifier that's assigned to your APNs signing key, if you want
9066	// Amazon Pinpoint to communicate with APNs by using APNs tokens.
9067	TokenKeyId *string `type:"string"`
9068}
9069
9070// String returns the string representation
9071func (s APNSChannelRequest) String() string {
9072	return awsutil.Prettify(s)
9073}
9074
9075// GoString returns the string representation
9076func (s APNSChannelRequest) GoString() string {
9077	return s.String()
9078}
9079
9080// SetBundleId sets the BundleId field's value.
9081func (s *APNSChannelRequest) SetBundleId(v string) *APNSChannelRequest {
9082	s.BundleId = &v
9083	return s
9084}
9085
9086// SetCertificate sets the Certificate field's value.
9087func (s *APNSChannelRequest) SetCertificate(v string) *APNSChannelRequest {
9088	s.Certificate = &v
9089	return s
9090}
9091
9092// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
9093func (s *APNSChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSChannelRequest {
9094	s.DefaultAuthenticationMethod = &v
9095	return s
9096}
9097
9098// SetEnabled sets the Enabled field's value.
9099func (s *APNSChannelRequest) SetEnabled(v bool) *APNSChannelRequest {
9100	s.Enabled = &v
9101	return s
9102}
9103
9104// SetPrivateKey sets the PrivateKey field's value.
9105func (s *APNSChannelRequest) SetPrivateKey(v string) *APNSChannelRequest {
9106	s.PrivateKey = &v
9107	return s
9108}
9109
9110// SetTeamId sets the TeamId field's value.
9111func (s *APNSChannelRequest) SetTeamId(v string) *APNSChannelRequest {
9112	s.TeamId = &v
9113	return s
9114}
9115
9116// SetTokenKey sets the TokenKey field's value.
9117func (s *APNSChannelRequest) SetTokenKey(v string) *APNSChannelRequest {
9118	s.TokenKey = &v
9119	return s
9120}
9121
9122// SetTokenKeyId sets the TokenKeyId field's value.
9123func (s *APNSChannelRequest) SetTokenKeyId(v string) *APNSChannelRequest {
9124	s.TokenKeyId = &v
9125	return s
9126}
9127
9128// Provides information about the status and settings of the APNs (Apple Push
9129// Notification service) channel for an application.
9130type APNSChannelResponse struct {
9131	_ struct{} `type:"structure"`
9132
9133	// The unique identifier for the application that the APNs channel applies to.
9134	ApplicationId *string `type:"string"`
9135
9136	// The date and time when the APNs channel was enabled.
9137	CreationDate *string `type:"string"`
9138
9139	// The default authentication method that Amazon Pinpoint uses to authenticate
9140	// with APNs for this channel, key or certificate.
9141	DefaultAuthenticationMethod *string `type:"string"`
9142
9143	// Specifies whether the APNs channel is enabled for the application.
9144	Enabled *bool `type:"boolean"`
9145
9146	// (Not used) This property is retained only for backward compatibility.
9147	HasCredential *bool `type:"boolean"`
9148
9149	// Specifies whether the APNs channel is configured to communicate with APNs
9150	// by using APNs tokens. To provide an authentication key for APNs tokens, set
9151	// the TokenKey property of the channel.
9152	HasTokenKey *bool `type:"boolean"`
9153
9154	// (Deprecated) An identifier for the APNs channel. This property is retained
9155	// only for backward compatibility.
9156	Id *string `type:"string"`
9157
9158	// Specifies whether the APNs channel is archived.
9159	IsArchived *bool `type:"boolean"`
9160
9161	// The user who last modified the APNs channel.
9162	LastModifiedBy *string `type:"string"`
9163
9164	// The date and time when the APNs channel was last modified.
9165	LastModifiedDate *string `type:"string"`
9166
9167	// The type of messaging or notification platform for the channel. For the APNs
9168	// channel, this value is APNS.
9169	//
9170	// Platform is a required field
9171	Platform *string `type:"string" required:"true"`
9172
9173	// The current version of the APNs channel.
9174	Version *int64 `type:"integer"`
9175}
9176
9177// String returns the string representation
9178func (s APNSChannelResponse) String() string {
9179	return awsutil.Prettify(s)
9180}
9181
9182// GoString returns the string representation
9183func (s APNSChannelResponse) GoString() string {
9184	return s.String()
9185}
9186
9187// SetApplicationId sets the ApplicationId field's value.
9188func (s *APNSChannelResponse) SetApplicationId(v string) *APNSChannelResponse {
9189	s.ApplicationId = &v
9190	return s
9191}
9192
9193// SetCreationDate sets the CreationDate field's value.
9194func (s *APNSChannelResponse) SetCreationDate(v string) *APNSChannelResponse {
9195	s.CreationDate = &v
9196	return s
9197}
9198
9199// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
9200func (s *APNSChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSChannelResponse {
9201	s.DefaultAuthenticationMethod = &v
9202	return s
9203}
9204
9205// SetEnabled sets the Enabled field's value.
9206func (s *APNSChannelResponse) SetEnabled(v bool) *APNSChannelResponse {
9207	s.Enabled = &v
9208	return s
9209}
9210
9211// SetHasCredential sets the HasCredential field's value.
9212func (s *APNSChannelResponse) SetHasCredential(v bool) *APNSChannelResponse {
9213	s.HasCredential = &v
9214	return s
9215}
9216
9217// SetHasTokenKey sets the HasTokenKey field's value.
9218func (s *APNSChannelResponse) SetHasTokenKey(v bool) *APNSChannelResponse {
9219	s.HasTokenKey = &v
9220	return s
9221}
9222
9223// SetId sets the Id field's value.
9224func (s *APNSChannelResponse) SetId(v string) *APNSChannelResponse {
9225	s.Id = &v
9226	return s
9227}
9228
9229// SetIsArchived sets the IsArchived field's value.
9230func (s *APNSChannelResponse) SetIsArchived(v bool) *APNSChannelResponse {
9231	s.IsArchived = &v
9232	return s
9233}
9234
9235// SetLastModifiedBy sets the LastModifiedBy field's value.
9236func (s *APNSChannelResponse) SetLastModifiedBy(v string) *APNSChannelResponse {
9237	s.LastModifiedBy = &v
9238	return s
9239}
9240
9241// SetLastModifiedDate sets the LastModifiedDate field's value.
9242func (s *APNSChannelResponse) SetLastModifiedDate(v string) *APNSChannelResponse {
9243	s.LastModifiedDate = &v
9244	return s
9245}
9246
9247// SetPlatform sets the Platform field's value.
9248func (s *APNSChannelResponse) SetPlatform(v string) *APNSChannelResponse {
9249	s.Platform = &v
9250	return s
9251}
9252
9253// SetVersion sets the Version field's value.
9254func (s *APNSChannelResponse) SetVersion(v int64) *APNSChannelResponse {
9255	s.Version = &v
9256	return s
9257}
9258
9259// Specifies the settings for a one-time message that's sent directly to an
9260// endpoint through the APNs (Apple Push Notification service) channel.
9261type APNSMessage struct {
9262	_ struct{} `type:"structure"`
9263
9264	// The action to occur if the recipient taps the push notification. Valid values
9265	// are:
9266	//
9267	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
9268	//    sent to the background. This is the default action.
9269	//
9270	//    * DEEP_LINK - Your app opens and displays a designated user interface
9271	//    in the app. This setting uses the deep-linking features of the iOS platform.
9272	//
9273	//    * URL - The default mobile browser on the recipient's device opens and
9274	//    loads the web page at a URL that you specify.
9275	Action *string `type:"string" enum:"Action"`
9276
9277	// The key that indicates whether and how to modify the badge of your app's
9278	// icon when the recipient receives the push notification. If this key isn't
9279	// included in the dictionary, the badge doesn't change. To remove the badge,
9280	// set this value to 0.
9281	Badge *int64 `type:"integer"`
9282
9283	// The body of the notification message.
9284	Body *string `type:"string"`
9285
9286	// The key that indicates the notification type for the push notification. This
9287	// key is a value that's defined by the identifier property of one of your app's
9288	// registered categories.
9289	Category *string `type:"string"`
9290
9291	// An arbitrary identifier that, if assigned to multiple messages, APNs uses
9292	// to coalesce the messages into a single push notification instead of delivering
9293	// each message individually. This value can't exceed 64 bytes.
9294	//
9295	// Amazon Pinpoint specifies this value in the apns-collapse-id request header
9296	// when it sends the notification message to APNs.
9297	CollapseId *string `type:"string"`
9298
9299	// The JSON payload to use for a silent push notification. This payload is added
9300	// to the data.pinpoint.jsonBody object of the notification.
9301	Data map[string]*string `type:"map"`
9302
9303	// The URL of an image or video to display in the push notification.
9304	MediaUrl *string `type:"string"`
9305
9306	// The authentication method that you want Amazon Pinpoint to use when authenticating
9307	// with Apple Push Notification service (APNs), CERTIFICATE or TOKEN.
9308	PreferredAuthenticationMethod *string `type:"string"`
9309
9310	// para>5 - Low priority, the notification might be delayed, delivered as part
9311	// of a group, or throttled.
9312	// /listitem>
9313	// 10 - High priority, the notification is sent immediately. This is the default
9314	// value. A high priority notification should trigger an alert, play a sound,
9315	// or badge your app's icon on the recipient's device.
9316	// /para>
9317	// Amazon Pinpoint specifies this value in the apns-priority request header
9318	// when it sends the notification message to APNs.
9319	//
9320	// The equivalent values for Firebase Cloud Messaging (FCM), formerly Google
9321	// Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you specify
9322	// an FCM value for this property, Amazon Pinpoint accepts and converts the
9323	// value to the corresponding APNs value.
9324	Priority *string `type:"string"`
9325
9326	// The raw, JSON-formatted string to use as the payload for the notification
9327	// message. This value overrides the message.
9328	//
9329	// If you specify the raw content of an APNs push notification, the message
9330	// payload has to include the content-available key. The value of the content-available
9331	// key has to be an integer, and can only be 0 or 1. If you're sending a standard
9332	// notification, set the value of content-available to 0. If you're sending
9333	// a silent (background) notification, set the value of content-available to
9334	// 1. Additionally, silent notification payloads can't include the alert, badge,
9335	// or sound keys. For more information, see Generating a Remote Notification
9336	// (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification)
9337	// 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)
9338	// on the Apple Developer website.
9339	RawContent *string `type:"string"`
9340
9341	// Specifies whether the notification is a silent push notification. A silent
9342	// (or background) push notification isn't displayed on recipients' devices.
9343	// You can use silent push notifications to make small updates to your app,
9344	// or to display messages in an in-app message center.
9345	//
9346	// Amazon Pinpoint uses this property to determine the correct value for the
9347	// apns-push-type request header when it sends the notification message to APNs.
9348	// If you specify a value of true for this property, Amazon Pinpoint sets the
9349	// value for the apns-push-type header field to background.
9350	//
9351	// If you specify the raw content of an APNs push notification, the message
9352	// payload has to include the content-available key. For silent (background)
9353	// notifications, set the value of content-available to 1. Additionally, the
9354	// message payload for a silent notification can't include the alert, badge,
9355	// or sound keys. For more information, see Generating a Remote Notification
9356	// (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification)
9357	// 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)
9358	// on the Apple Developer website.
9359	//
9360	// Apple has indicated that they will throttle "excessive" background notifications
9361	// based on current traffic volumes. To prevent your notifications being throttled,
9362	// Apple recommends that you send no more than 3 silent push notifications to
9363	// each recipient per hour.
9364	SilentPush *bool `type:"boolean"`
9365
9366	// The key for the sound to play when the recipient receives the push notification.
9367	// The value for this key is the name of a sound file in your app's main bundle
9368	// or the Library/Sounds folder in your app's data container. If the sound file
9369	// can't be found or you specify default for the value, the system plays the
9370	// default alert sound.
9371	Sound *string `type:"string"`
9372
9373	// The default message variables to use in the notification message. You can
9374	// override these default variables with individual address variables.
9375	Substitutions map[string][]*string `type:"map"`
9376
9377	// The key that represents your app-specific identifier for grouping notifications.
9378	// If you provide a Notification Content app extension, you can use this value
9379	// to group your notifications together.
9380	ThreadId *string `type:"string"`
9381
9382	// The amount of time, in seconds, that APNs should store and attempt to deliver
9383	// the push notification, if the service is unable to deliver the notification
9384	// the first time. If this value is 0, APNs treats the notification as if it
9385	// expires immediately and the service doesn't store or try to deliver the notification
9386	// again.
9387	//
9388	// Amazon Pinpoint specifies this value in the apns-expiration request header
9389	// when it sends the notification message to APNs.
9390	TimeToLive *int64 `type:"integer"`
9391
9392	// The title to display above the notification message on the recipient's device.
9393	Title *string `type:"string"`
9394
9395	// The URL to open in the recipient's default mobile browser, if a recipient
9396	// taps the push notification and the value of the Action property is URL.
9397	Url *string `type:"string"`
9398}
9399
9400// String returns the string representation
9401func (s APNSMessage) String() string {
9402	return awsutil.Prettify(s)
9403}
9404
9405// GoString returns the string representation
9406func (s APNSMessage) GoString() string {
9407	return s.String()
9408}
9409
9410// SetAction sets the Action field's value.
9411func (s *APNSMessage) SetAction(v string) *APNSMessage {
9412	s.Action = &v
9413	return s
9414}
9415
9416// SetBadge sets the Badge field's value.
9417func (s *APNSMessage) SetBadge(v int64) *APNSMessage {
9418	s.Badge = &v
9419	return s
9420}
9421
9422// SetBody sets the Body field's value.
9423func (s *APNSMessage) SetBody(v string) *APNSMessage {
9424	s.Body = &v
9425	return s
9426}
9427
9428// SetCategory sets the Category field's value.
9429func (s *APNSMessage) SetCategory(v string) *APNSMessage {
9430	s.Category = &v
9431	return s
9432}
9433
9434// SetCollapseId sets the CollapseId field's value.
9435func (s *APNSMessage) SetCollapseId(v string) *APNSMessage {
9436	s.CollapseId = &v
9437	return s
9438}
9439
9440// SetData sets the Data field's value.
9441func (s *APNSMessage) SetData(v map[string]*string) *APNSMessage {
9442	s.Data = v
9443	return s
9444}
9445
9446// SetMediaUrl sets the MediaUrl field's value.
9447func (s *APNSMessage) SetMediaUrl(v string) *APNSMessage {
9448	s.MediaUrl = &v
9449	return s
9450}
9451
9452// SetPreferredAuthenticationMethod sets the PreferredAuthenticationMethod field's value.
9453func (s *APNSMessage) SetPreferredAuthenticationMethod(v string) *APNSMessage {
9454	s.PreferredAuthenticationMethod = &v
9455	return s
9456}
9457
9458// SetPriority sets the Priority field's value.
9459func (s *APNSMessage) SetPriority(v string) *APNSMessage {
9460	s.Priority = &v
9461	return s
9462}
9463
9464// SetRawContent sets the RawContent field's value.
9465func (s *APNSMessage) SetRawContent(v string) *APNSMessage {
9466	s.RawContent = &v
9467	return s
9468}
9469
9470// SetSilentPush sets the SilentPush field's value.
9471func (s *APNSMessage) SetSilentPush(v bool) *APNSMessage {
9472	s.SilentPush = &v
9473	return s
9474}
9475
9476// SetSound sets the Sound field's value.
9477func (s *APNSMessage) SetSound(v string) *APNSMessage {
9478	s.Sound = &v
9479	return s
9480}
9481
9482// SetSubstitutions sets the Substitutions field's value.
9483func (s *APNSMessage) SetSubstitutions(v map[string][]*string) *APNSMessage {
9484	s.Substitutions = v
9485	return s
9486}
9487
9488// SetThreadId sets the ThreadId field's value.
9489func (s *APNSMessage) SetThreadId(v string) *APNSMessage {
9490	s.ThreadId = &v
9491	return s
9492}
9493
9494// SetTimeToLive sets the TimeToLive field's value.
9495func (s *APNSMessage) SetTimeToLive(v int64) *APNSMessage {
9496	s.TimeToLive = &v
9497	return s
9498}
9499
9500// SetTitle sets the Title field's value.
9501func (s *APNSMessage) SetTitle(v string) *APNSMessage {
9502	s.Title = &v
9503	return s
9504}
9505
9506// SetUrl sets the Url field's value.
9507func (s *APNSMessage) SetUrl(v string) *APNSMessage {
9508	s.Url = &v
9509	return s
9510}
9511
9512// Specifies the content and settings for a message template that can be used
9513// in push notifications that are sent through the APNs (Apple Push Notification
9514// service) channel.
9515type APNSPushNotificationTemplate struct {
9516	_ struct{} `type:"structure"`
9517
9518	// The action to occur if a recipient taps a push notification that's based
9519	// on the message template. Valid values are:
9520	//
9521	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
9522	//    sent to the background. This is the default action.
9523	//
9524	//    * DEEP_LINK - Your app opens and displays a designated user interface
9525	//    in the app. This setting uses the deep-linking features of the iOS platform.
9526	//
9527	//    * URL - The default mobile browser on the recipient's device opens and
9528	//    loads the web page at a URL that you specify.
9529	Action *string `type:"string" enum:"Action"`
9530
9531	// The message body to use in push notifications that are based on the message
9532	// template.
9533	Body *string `type:"string"`
9534
9535	// The URL of an image or video to display in push notifications that are based
9536	// on the message template.
9537	MediaUrl *string `type:"string"`
9538
9539	// The key for the sound to play when the recipient receives a push notification
9540	// that's based on the message template. The value for this key is the name
9541	// of a sound file in your app's main bundle or the Library/Sounds folder in
9542	// your app's data container. If the sound file can't be found or you specify
9543	// default for the value, the system plays the default alert sound.
9544	Sound *string `type:"string"`
9545
9546	// The title to use in push notifications that are based on the message template.
9547	// This title appears above the notification message on a recipient's device.
9548	Title *string `type:"string"`
9549
9550	// The URL to open in the recipient's default mobile browser, if a recipient
9551	// taps a push notification that's based on the message template and the value
9552	// of the Action property is URL.
9553	Url *string `type:"string"`
9554}
9555
9556// String returns the string representation
9557func (s APNSPushNotificationTemplate) String() string {
9558	return awsutil.Prettify(s)
9559}
9560
9561// GoString returns the string representation
9562func (s APNSPushNotificationTemplate) GoString() string {
9563	return s.String()
9564}
9565
9566// SetAction sets the Action field's value.
9567func (s *APNSPushNotificationTemplate) SetAction(v string) *APNSPushNotificationTemplate {
9568	s.Action = &v
9569	return s
9570}
9571
9572// SetBody sets the Body field's value.
9573func (s *APNSPushNotificationTemplate) SetBody(v string) *APNSPushNotificationTemplate {
9574	s.Body = &v
9575	return s
9576}
9577
9578// SetMediaUrl sets the MediaUrl field's value.
9579func (s *APNSPushNotificationTemplate) SetMediaUrl(v string) *APNSPushNotificationTemplate {
9580	s.MediaUrl = &v
9581	return s
9582}
9583
9584// SetSound sets the Sound field's value.
9585func (s *APNSPushNotificationTemplate) SetSound(v string) *APNSPushNotificationTemplate {
9586	s.Sound = &v
9587	return s
9588}
9589
9590// SetTitle sets the Title field's value.
9591func (s *APNSPushNotificationTemplate) SetTitle(v string) *APNSPushNotificationTemplate {
9592	s.Title = &v
9593	return s
9594}
9595
9596// SetUrl sets the Url field's value.
9597func (s *APNSPushNotificationTemplate) SetUrl(v string) *APNSPushNotificationTemplate {
9598	s.Url = &v
9599	return s
9600}
9601
9602// Specifies the status and settings of the APNs (Apple Push Notification service)
9603// sandbox channel for an application.
9604type APNSSandboxChannelRequest struct {
9605	_ struct{} `type:"structure"`
9606
9607	// The bundle identifier that's assigned to your iOS app. This identifier is
9608	// used for APNs tokens.
9609	BundleId *string `type:"string"`
9610
9611	// The APNs client certificate that you received from Apple, if you want Amazon
9612	// Pinpoint to communicate with the APNs sandbox environment by using an APNs
9613	// certificate.
9614	Certificate *string `type:"string"`
9615
9616	// The default authentication method that you want Amazon Pinpoint to use when
9617	// authenticating with the APNs sandbox environment, key or certificate.
9618	DefaultAuthenticationMethod *string `type:"string"`
9619
9620	// Specifies whether to enable the APNs sandbox channel for the application.
9621	Enabled *bool `type:"boolean"`
9622
9623	// The private key for the APNs client certificate that you want Amazon Pinpoint
9624	// to use to communicate with the APNs sandbox environment.
9625	PrivateKey *string `type:"string"`
9626
9627	// The identifier that's assigned to your Apple developer account team. This
9628	// identifier is used for APNs tokens.
9629	TeamId *string `type:"string"`
9630
9631	// The authentication key to use for APNs tokens.
9632	TokenKey *string `type:"string"`
9633
9634	// The key identifier that's assigned to your APNs signing key, if you want
9635	// Amazon Pinpoint to communicate with the APNs sandbox environment by using
9636	// APNs tokens.
9637	TokenKeyId *string `type:"string"`
9638}
9639
9640// String returns the string representation
9641func (s APNSSandboxChannelRequest) String() string {
9642	return awsutil.Prettify(s)
9643}
9644
9645// GoString returns the string representation
9646func (s APNSSandboxChannelRequest) GoString() string {
9647	return s.String()
9648}
9649
9650// SetBundleId sets the BundleId field's value.
9651func (s *APNSSandboxChannelRequest) SetBundleId(v string) *APNSSandboxChannelRequest {
9652	s.BundleId = &v
9653	return s
9654}
9655
9656// SetCertificate sets the Certificate field's value.
9657func (s *APNSSandboxChannelRequest) SetCertificate(v string) *APNSSandboxChannelRequest {
9658	s.Certificate = &v
9659	return s
9660}
9661
9662// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
9663func (s *APNSSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelRequest {
9664	s.DefaultAuthenticationMethod = &v
9665	return s
9666}
9667
9668// SetEnabled sets the Enabled field's value.
9669func (s *APNSSandboxChannelRequest) SetEnabled(v bool) *APNSSandboxChannelRequest {
9670	s.Enabled = &v
9671	return s
9672}
9673
9674// SetPrivateKey sets the PrivateKey field's value.
9675func (s *APNSSandboxChannelRequest) SetPrivateKey(v string) *APNSSandboxChannelRequest {
9676	s.PrivateKey = &v
9677	return s
9678}
9679
9680// SetTeamId sets the TeamId field's value.
9681func (s *APNSSandboxChannelRequest) SetTeamId(v string) *APNSSandboxChannelRequest {
9682	s.TeamId = &v
9683	return s
9684}
9685
9686// SetTokenKey sets the TokenKey field's value.
9687func (s *APNSSandboxChannelRequest) SetTokenKey(v string) *APNSSandboxChannelRequest {
9688	s.TokenKey = &v
9689	return s
9690}
9691
9692// SetTokenKeyId sets the TokenKeyId field's value.
9693func (s *APNSSandboxChannelRequest) SetTokenKeyId(v string) *APNSSandboxChannelRequest {
9694	s.TokenKeyId = &v
9695	return s
9696}
9697
9698// Provides information about the status and settings of the APNs (Apple Push
9699// Notification service) sandbox channel for an application.
9700type APNSSandboxChannelResponse struct {
9701	_ struct{} `type:"structure"`
9702
9703	// The unique identifier for the application that the APNs sandbox channel applies
9704	// to.
9705	ApplicationId *string `type:"string"`
9706
9707	// The date and time when the APNs sandbox channel was enabled.
9708	CreationDate *string `type:"string"`
9709
9710	// The default authentication method that Amazon Pinpoint uses to authenticate
9711	// with the APNs sandbox environment for this channel, key or certificate.
9712	DefaultAuthenticationMethod *string `type:"string"`
9713
9714	// Specifies whether the APNs sandbox channel is enabled for the application.
9715	Enabled *bool `type:"boolean"`
9716
9717	// (Not used) This property is retained only for backward compatibility.
9718	HasCredential *bool `type:"boolean"`
9719
9720	// Specifies whether the APNs sandbox channel is configured to communicate with
9721	// APNs by using APNs tokens. To provide an authentication key for APNs tokens,
9722	// set the TokenKey property of the channel.
9723	HasTokenKey *bool `type:"boolean"`
9724
9725	// (Deprecated) An identifier for the APNs sandbox channel. This property is
9726	// retained only for backward compatibility.
9727	Id *string `type:"string"`
9728
9729	// Specifies whether the APNs sandbox channel is archived.
9730	IsArchived *bool `type:"boolean"`
9731
9732	// The user who last modified the APNs sandbox channel.
9733	LastModifiedBy *string `type:"string"`
9734
9735	// The date and time when the APNs sandbox channel was last modified.
9736	LastModifiedDate *string `type:"string"`
9737
9738	// The type of messaging or notification platform for the channel. For the APNs
9739	// sandbox channel, this value is APNS_SANDBOX.
9740	//
9741	// Platform is a required field
9742	Platform *string `type:"string" required:"true"`
9743
9744	// The current version of the APNs sandbox channel.
9745	Version *int64 `type:"integer"`
9746}
9747
9748// String returns the string representation
9749func (s APNSSandboxChannelResponse) String() string {
9750	return awsutil.Prettify(s)
9751}
9752
9753// GoString returns the string representation
9754func (s APNSSandboxChannelResponse) GoString() string {
9755	return s.String()
9756}
9757
9758// SetApplicationId sets the ApplicationId field's value.
9759func (s *APNSSandboxChannelResponse) SetApplicationId(v string) *APNSSandboxChannelResponse {
9760	s.ApplicationId = &v
9761	return s
9762}
9763
9764// SetCreationDate sets the CreationDate field's value.
9765func (s *APNSSandboxChannelResponse) SetCreationDate(v string) *APNSSandboxChannelResponse {
9766	s.CreationDate = &v
9767	return s
9768}
9769
9770// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
9771func (s *APNSSandboxChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelResponse {
9772	s.DefaultAuthenticationMethod = &v
9773	return s
9774}
9775
9776// SetEnabled sets the Enabled field's value.
9777func (s *APNSSandboxChannelResponse) SetEnabled(v bool) *APNSSandboxChannelResponse {
9778	s.Enabled = &v
9779	return s
9780}
9781
9782// SetHasCredential sets the HasCredential field's value.
9783func (s *APNSSandboxChannelResponse) SetHasCredential(v bool) *APNSSandboxChannelResponse {
9784	s.HasCredential = &v
9785	return s
9786}
9787
9788// SetHasTokenKey sets the HasTokenKey field's value.
9789func (s *APNSSandboxChannelResponse) SetHasTokenKey(v bool) *APNSSandboxChannelResponse {
9790	s.HasTokenKey = &v
9791	return s
9792}
9793
9794// SetId sets the Id field's value.
9795func (s *APNSSandboxChannelResponse) SetId(v string) *APNSSandboxChannelResponse {
9796	s.Id = &v
9797	return s
9798}
9799
9800// SetIsArchived sets the IsArchived field's value.
9801func (s *APNSSandboxChannelResponse) SetIsArchived(v bool) *APNSSandboxChannelResponse {
9802	s.IsArchived = &v
9803	return s
9804}
9805
9806// SetLastModifiedBy sets the LastModifiedBy field's value.
9807func (s *APNSSandboxChannelResponse) SetLastModifiedBy(v string) *APNSSandboxChannelResponse {
9808	s.LastModifiedBy = &v
9809	return s
9810}
9811
9812// SetLastModifiedDate sets the LastModifiedDate field's value.
9813func (s *APNSSandboxChannelResponse) SetLastModifiedDate(v string) *APNSSandboxChannelResponse {
9814	s.LastModifiedDate = &v
9815	return s
9816}
9817
9818// SetPlatform sets the Platform field's value.
9819func (s *APNSSandboxChannelResponse) SetPlatform(v string) *APNSSandboxChannelResponse {
9820	s.Platform = &v
9821	return s
9822}
9823
9824// SetVersion sets the Version field's value.
9825func (s *APNSSandboxChannelResponse) SetVersion(v int64) *APNSSandboxChannelResponse {
9826	s.Version = &v
9827	return s
9828}
9829
9830// Specifies the status and settings of the APNs (Apple Push Notification service)
9831// VoIP channel for an application.
9832type APNSVoipChannelRequest struct {
9833	_ struct{} `type:"structure"`
9834
9835	// The bundle identifier that's assigned to your iOS app. This identifier is
9836	// used for APNs tokens.
9837	BundleId *string `type:"string"`
9838
9839	// The APNs client certificate that you received from Apple, if you want Amazon
9840	// Pinpoint to communicate with APNs by using an APNs certificate.
9841	Certificate *string `type:"string"`
9842
9843	// The default authentication method that you want Amazon Pinpoint to use when
9844	// authenticating with APNs, key or certificate.
9845	DefaultAuthenticationMethod *string `type:"string"`
9846
9847	// Specifies whether to enable the APNs VoIP channel for the application.
9848	Enabled *bool `type:"boolean"`
9849
9850	// The private key for the APNs client certificate that you want Amazon Pinpoint
9851	// to use to communicate with APNs.
9852	PrivateKey *string `type:"string"`
9853
9854	// The identifier that's assigned to your Apple developer account team. This
9855	// identifier is used for APNs tokens.
9856	TeamId *string `type:"string"`
9857
9858	// The authentication key to use for APNs tokens.
9859	TokenKey *string `type:"string"`
9860
9861	// The key identifier that's assigned to your APNs signing key, if you want
9862	// Amazon Pinpoint to communicate with APNs by using APNs tokens.
9863	TokenKeyId *string `type:"string"`
9864}
9865
9866// String returns the string representation
9867func (s APNSVoipChannelRequest) String() string {
9868	return awsutil.Prettify(s)
9869}
9870
9871// GoString returns the string representation
9872func (s APNSVoipChannelRequest) GoString() string {
9873	return s.String()
9874}
9875
9876// SetBundleId sets the BundleId field's value.
9877func (s *APNSVoipChannelRequest) SetBundleId(v string) *APNSVoipChannelRequest {
9878	s.BundleId = &v
9879	return s
9880}
9881
9882// SetCertificate sets the Certificate field's value.
9883func (s *APNSVoipChannelRequest) SetCertificate(v string) *APNSVoipChannelRequest {
9884	s.Certificate = &v
9885	return s
9886}
9887
9888// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
9889func (s *APNSVoipChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSVoipChannelRequest {
9890	s.DefaultAuthenticationMethod = &v
9891	return s
9892}
9893
9894// SetEnabled sets the Enabled field's value.
9895func (s *APNSVoipChannelRequest) SetEnabled(v bool) *APNSVoipChannelRequest {
9896	s.Enabled = &v
9897	return s
9898}
9899
9900// SetPrivateKey sets the PrivateKey field's value.
9901func (s *APNSVoipChannelRequest) SetPrivateKey(v string) *APNSVoipChannelRequest {
9902	s.PrivateKey = &v
9903	return s
9904}
9905
9906// SetTeamId sets the TeamId field's value.
9907func (s *APNSVoipChannelRequest) SetTeamId(v string) *APNSVoipChannelRequest {
9908	s.TeamId = &v
9909	return s
9910}
9911
9912// SetTokenKey sets the TokenKey field's value.
9913func (s *APNSVoipChannelRequest) SetTokenKey(v string) *APNSVoipChannelRequest {
9914	s.TokenKey = &v
9915	return s
9916}
9917
9918// SetTokenKeyId sets the TokenKeyId field's value.
9919func (s *APNSVoipChannelRequest) SetTokenKeyId(v string) *APNSVoipChannelRequest {
9920	s.TokenKeyId = &v
9921	return s
9922}
9923
9924// Provides information about the status and settings of the APNs (Apple Push
9925// Notification service) VoIP channel for an application.
9926type APNSVoipChannelResponse struct {
9927	_ struct{} `type:"structure"`
9928
9929	// The unique identifier for the application that the APNs VoIP channel applies
9930	// to.
9931	ApplicationId *string `type:"string"`
9932
9933	// The date and time when the APNs VoIP channel was enabled.
9934	CreationDate *string `type:"string"`
9935
9936	// The default authentication method that Amazon Pinpoint uses to authenticate
9937	// with APNs for this channel, key or certificate.
9938	DefaultAuthenticationMethod *string `type:"string"`
9939
9940	// Specifies whether the APNs VoIP channel is enabled for the application.
9941	Enabled *bool `type:"boolean"`
9942
9943	// (Not used) This property is retained only for backward compatibility.
9944	HasCredential *bool `type:"boolean"`
9945
9946	// Specifies whether the APNs VoIP channel is configured to communicate with
9947	// APNs by using APNs tokens. To provide an authentication key for APNs tokens,
9948	// set the TokenKey property of the channel.
9949	HasTokenKey *bool `type:"boolean"`
9950
9951	// (Deprecated) An identifier for the APNs VoIP channel. This property is retained
9952	// only for backward compatibility.
9953	Id *string `type:"string"`
9954
9955	// Specifies whether the APNs VoIP channel is archived.
9956	IsArchived *bool `type:"boolean"`
9957
9958	// The user who last modified the APNs VoIP channel.
9959	LastModifiedBy *string `type:"string"`
9960
9961	// The date and time when the APNs VoIP channel was last modified.
9962	LastModifiedDate *string `type:"string"`
9963
9964	// The type of messaging or notification platform for the channel. For the APNs
9965	// VoIP channel, this value is APNS_VOIP.
9966	//
9967	// Platform is a required field
9968	Platform *string `type:"string" required:"true"`
9969
9970	// The current version of the APNs VoIP channel.
9971	Version *int64 `type:"integer"`
9972}
9973
9974// String returns the string representation
9975func (s APNSVoipChannelResponse) String() string {
9976	return awsutil.Prettify(s)
9977}
9978
9979// GoString returns the string representation
9980func (s APNSVoipChannelResponse) GoString() string {
9981	return s.String()
9982}
9983
9984// SetApplicationId sets the ApplicationId field's value.
9985func (s *APNSVoipChannelResponse) SetApplicationId(v string) *APNSVoipChannelResponse {
9986	s.ApplicationId = &v
9987	return s
9988}
9989
9990// SetCreationDate sets the CreationDate field's value.
9991func (s *APNSVoipChannelResponse) SetCreationDate(v string) *APNSVoipChannelResponse {
9992	s.CreationDate = &v
9993	return s
9994}
9995
9996// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
9997func (s *APNSVoipChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSVoipChannelResponse {
9998	s.DefaultAuthenticationMethod = &v
9999	return s
10000}
10001
10002// SetEnabled sets the Enabled field's value.
10003func (s *APNSVoipChannelResponse) SetEnabled(v bool) *APNSVoipChannelResponse {
10004	s.Enabled = &v
10005	return s
10006}
10007
10008// SetHasCredential sets the HasCredential field's value.
10009func (s *APNSVoipChannelResponse) SetHasCredential(v bool) *APNSVoipChannelResponse {
10010	s.HasCredential = &v
10011	return s
10012}
10013
10014// SetHasTokenKey sets the HasTokenKey field's value.
10015func (s *APNSVoipChannelResponse) SetHasTokenKey(v bool) *APNSVoipChannelResponse {
10016	s.HasTokenKey = &v
10017	return s
10018}
10019
10020// SetId sets the Id field's value.
10021func (s *APNSVoipChannelResponse) SetId(v string) *APNSVoipChannelResponse {
10022	s.Id = &v
10023	return s
10024}
10025
10026// SetIsArchived sets the IsArchived field's value.
10027func (s *APNSVoipChannelResponse) SetIsArchived(v bool) *APNSVoipChannelResponse {
10028	s.IsArchived = &v
10029	return s
10030}
10031
10032// SetLastModifiedBy sets the LastModifiedBy field's value.
10033func (s *APNSVoipChannelResponse) SetLastModifiedBy(v string) *APNSVoipChannelResponse {
10034	s.LastModifiedBy = &v
10035	return s
10036}
10037
10038// SetLastModifiedDate sets the LastModifiedDate field's value.
10039func (s *APNSVoipChannelResponse) SetLastModifiedDate(v string) *APNSVoipChannelResponse {
10040	s.LastModifiedDate = &v
10041	return s
10042}
10043
10044// SetPlatform sets the Platform field's value.
10045func (s *APNSVoipChannelResponse) SetPlatform(v string) *APNSVoipChannelResponse {
10046	s.Platform = &v
10047	return s
10048}
10049
10050// SetVersion sets the Version field's value.
10051func (s *APNSVoipChannelResponse) SetVersion(v int64) *APNSVoipChannelResponse {
10052	s.Version = &v
10053	return s
10054}
10055
10056// Specifies the status and settings of the APNs (Apple Push Notification service)
10057// VoIP sandbox channel for an application.
10058type APNSVoipSandboxChannelRequest struct {
10059	_ struct{} `type:"structure"`
10060
10061	// The bundle identifier that's assigned to your iOS app. This identifier is
10062	// used for APNs tokens.
10063	BundleId *string `type:"string"`
10064
10065	// The APNs client certificate that you received from Apple, if you want Amazon
10066	// Pinpoint to communicate with the APNs sandbox environment by using an APNs
10067	// certificate.
10068	Certificate *string `type:"string"`
10069
10070	// The default authentication method that you want Amazon Pinpoint to use when
10071	// authenticating with the APNs sandbox environment for this channel, key or
10072	// certificate.
10073	DefaultAuthenticationMethod *string `type:"string"`
10074
10075	// Specifies whether the APNs VoIP sandbox channel is enabled for the application.
10076	Enabled *bool `type:"boolean"`
10077
10078	// The private key for the APNs client certificate that you want Amazon Pinpoint
10079	// to use to communicate with the APNs sandbox environment.
10080	PrivateKey *string `type:"string"`
10081
10082	// The identifier that's assigned to your Apple developer account team. This
10083	// identifier is used for APNs tokens.
10084	TeamId *string `type:"string"`
10085
10086	// The authentication key to use for APNs tokens.
10087	TokenKey *string `type:"string"`
10088
10089	// The key identifier that's assigned to your APNs signing key, if you want
10090	// Amazon Pinpoint to communicate with the APNs sandbox environment by using
10091	// APNs tokens.
10092	TokenKeyId *string `type:"string"`
10093}
10094
10095// String returns the string representation
10096func (s APNSVoipSandboxChannelRequest) String() string {
10097	return awsutil.Prettify(s)
10098}
10099
10100// GoString returns the string representation
10101func (s APNSVoipSandboxChannelRequest) GoString() string {
10102	return s.String()
10103}
10104
10105// SetBundleId sets the BundleId field's value.
10106func (s *APNSVoipSandboxChannelRequest) SetBundleId(v string) *APNSVoipSandboxChannelRequest {
10107	s.BundleId = &v
10108	return s
10109}
10110
10111// SetCertificate sets the Certificate field's value.
10112func (s *APNSVoipSandboxChannelRequest) SetCertificate(v string) *APNSVoipSandboxChannelRequest {
10113	s.Certificate = &v
10114	return s
10115}
10116
10117// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
10118func (s *APNSVoipSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSVoipSandboxChannelRequest {
10119	s.DefaultAuthenticationMethod = &v
10120	return s
10121}
10122
10123// SetEnabled sets the Enabled field's value.
10124func (s *APNSVoipSandboxChannelRequest) SetEnabled(v bool) *APNSVoipSandboxChannelRequest {
10125	s.Enabled = &v
10126	return s
10127}
10128
10129// SetPrivateKey sets the PrivateKey field's value.
10130func (s *APNSVoipSandboxChannelRequest) SetPrivateKey(v string) *APNSVoipSandboxChannelRequest {
10131	s.PrivateKey = &v
10132	return s
10133}
10134
10135// SetTeamId sets the TeamId field's value.
10136func (s *APNSVoipSandboxChannelRequest) SetTeamId(v string) *APNSVoipSandboxChannelRequest {
10137	s.TeamId = &v
10138	return s
10139}
10140
10141// SetTokenKey sets the TokenKey field's value.
10142func (s *APNSVoipSandboxChannelRequest) SetTokenKey(v string) *APNSVoipSandboxChannelRequest {
10143	s.TokenKey = &v
10144	return s
10145}
10146
10147// SetTokenKeyId sets the TokenKeyId field's value.
10148func (s *APNSVoipSandboxChannelRequest) SetTokenKeyId(v string) *APNSVoipSandboxChannelRequest {
10149	s.TokenKeyId = &v
10150	return s
10151}
10152
10153// Provides information about the status and settings of the APNs (Apple Push
10154// Notification service) VoIP sandbox channel for an application.
10155type APNSVoipSandboxChannelResponse struct {
10156	_ struct{} `type:"structure"`
10157
10158	// The unique identifier for the application that the APNs VoIP sandbox channel
10159	// applies to.
10160	ApplicationId *string `type:"string"`
10161
10162	// The date and time when the APNs VoIP sandbox channel was enabled.
10163	CreationDate *string `type:"string"`
10164
10165	// The default authentication method that Amazon Pinpoint uses to authenticate
10166	// with the APNs sandbox environment for this channel, key or certificate.
10167	DefaultAuthenticationMethod *string `type:"string"`
10168
10169	// Specifies whether the APNs VoIP sandbox channel is enabled for the application.
10170	Enabled *bool `type:"boolean"`
10171
10172	// (Not used) This property is retained only for backward compatibility.
10173	HasCredential *bool `type:"boolean"`
10174
10175	// Specifies whether the APNs VoIP sandbox channel is configured to communicate
10176	// with APNs by using APNs tokens. To provide an authentication key for APNs
10177	// tokens, set the TokenKey property of the channel.
10178	HasTokenKey *bool `type:"boolean"`
10179
10180	// (Deprecated) An identifier for the APNs VoIP sandbox channel. This property
10181	// is retained only for backward compatibility.
10182	Id *string `type:"string"`
10183
10184	// Specifies whether the APNs VoIP sandbox channel is archived.
10185	IsArchived *bool `type:"boolean"`
10186
10187	// The user who last modified the APNs VoIP sandbox channel.
10188	LastModifiedBy *string `type:"string"`
10189
10190	// The date and time when the APNs VoIP sandbox channel was last modified.
10191	LastModifiedDate *string `type:"string"`
10192
10193	// The type of messaging or notification platform for the channel. For the APNs
10194	// VoIP sandbox channel, this value is APNS_VOIP_SANDBOX.
10195	//
10196	// Platform is a required field
10197	Platform *string `type:"string" required:"true"`
10198
10199	// The current version of the APNs VoIP sandbox channel.
10200	Version *int64 `type:"integer"`
10201}
10202
10203// String returns the string representation
10204func (s APNSVoipSandboxChannelResponse) String() string {
10205	return awsutil.Prettify(s)
10206}
10207
10208// GoString returns the string representation
10209func (s APNSVoipSandboxChannelResponse) GoString() string {
10210	return s.String()
10211}
10212
10213// SetApplicationId sets the ApplicationId field's value.
10214func (s *APNSVoipSandboxChannelResponse) SetApplicationId(v string) *APNSVoipSandboxChannelResponse {
10215	s.ApplicationId = &v
10216	return s
10217}
10218
10219// SetCreationDate sets the CreationDate field's value.
10220func (s *APNSVoipSandboxChannelResponse) SetCreationDate(v string) *APNSVoipSandboxChannelResponse {
10221	s.CreationDate = &v
10222	return s
10223}
10224
10225// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
10226func (s *APNSVoipSandboxChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSVoipSandboxChannelResponse {
10227	s.DefaultAuthenticationMethod = &v
10228	return s
10229}
10230
10231// SetEnabled sets the Enabled field's value.
10232func (s *APNSVoipSandboxChannelResponse) SetEnabled(v bool) *APNSVoipSandboxChannelResponse {
10233	s.Enabled = &v
10234	return s
10235}
10236
10237// SetHasCredential sets the HasCredential field's value.
10238func (s *APNSVoipSandboxChannelResponse) SetHasCredential(v bool) *APNSVoipSandboxChannelResponse {
10239	s.HasCredential = &v
10240	return s
10241}
10242
10243// SetHasTokenKey sets the HasTokenKey field's value.
10244func (s *APNSVoipSandboxChannelResponse) SetHasTokenKey(v bool) *APNSVoipSandboxChannelResponse {
10245	s.HasTokenKey = &v
10246	return s
10247}
10248
10249// SetId sets the Id field's value.
10250func (s *APNSVoipSandboxChannelResponse) SetId(v string) *APNSVoipSandboxChannelResponse {
10251	s.Id = &v
10252	return s
10253}
10254
10255// SetIsArchived sets the IsArchived field's value.
10256func (s *APNSVoipSandboxChannelResponse) SetIsArchived(v bool) *APNSVoipSandboxChannelResponse {
10257	s.IsArchived = &v
10258	return s
10259}
10260
10261// SetLastModifiedBy sets the LastModifiedBy field's value.
10262func (s *APNSVoipSandboxChannelResponse) SetLastModifiedBy(v string) *APNSVoipSandboxChannelResponse {
10263	s.LastModifiedBy = &v
10264	return s
10265}
10266
10267// SetLastModifiedDate sets the LastModifiedDate field's value.
10268func (s *APNSVoipSandboxChannelResponse) SetLastModifiedDate(v string) *APNSVoipSandboxChannelResponse {
10269	s.LastModifiedDate = &v
10270	return s
10271}
10272
10273// SetPlatform sets the Platform field's value.
10274func (s *APNSVoipSandboxChannelResponse) SetPlatform(v string) *APNSVoipSandboxChannelResponse {
10275	s.Platform = &v
10276	return s
10277}
10278
10279// SetVersion sets the Version field's value.
10280func (s *APNSVoipSandboxChannelResponse) SetVersion(v int64) *APNSVoipSandboxChannelResponse {
10281	s.Version = &v
10282	return s
10283}
10284
10285// Provides information about the activities that were performed by a campaign.
10286type ActivitiesResponse struct {
10287	_ struct{} `type:"structure"`
10288
10289	// An array of responses, one for each activity that was performed by the campaign.
10290	//
10291	// Item is a required field
10292	Item []*ActivityResponse `type:"list" required:"true"`
10293
10294	// The string to use in a subsequent request to get the next page of results
10295	// in a paginated response. This value is null if there are no additional pages.
10296	NextToken *string `type:"string"`
10297}
10298
10299// String returns the string representation
10300func (s ActivitiesResponse) String() string {
10301	return awsutil.Prettify(s)
10302}
10303
10304// GoString returns the string representation
10305func (s ActivitiesResponse) GoString() string {
10306	return s.String()
10307}
10308
10309// SetItem sets the Item field's value.
10310func (s *ActivitiesResponse) SetItem(v []*ActivityResponse) *ActivitiesResponse {
10311	s.Item = v
10312	return s
10313}
10314
10315// SetNextToken sets the NextToken field's value.
10316func (s *ActivitiesResponse) SetNextToken(v string) *ActivitiesResponse {
10317	s.NextToken = &v
10318	return s
10319}
10320
10321// Provides information about an activity that was performed by a campaign.
10322type ActivityResponse struct {
10323	_ struct{} `type:"structure"`
10324
10325	// The unique identifier for the application that the campaign applies to.
10326	//
10327	// ApplicationId is a required field
10328	ApplicationId *string `type:"string" required:"true"`
10329
10330	// The unique identifier for the campaign that the activity applies to.
10331	//
10332	// CampaignId is a required field
10333	CampaignId *string `type:"string" required:"true"`
10334
10335	// The actual time, in ISO 8601 format, when the activity was marked CANCELLED
10336	// or COMPLETED.
10337	End *string `type:"string"`
10338
10339	// The unique identifier for the activity.
10340	//
10341	// Id is a required field
10342	Id *string `type:"string" required:"true"`
10343
10344	// Specifies whether the activity succeeded. Possible values are SUCCESS and
10345	// FAIL.
10346	Result *string `type:"string"`
10347
10348	// The scheduled start time, in ISO 8601 format, for the activity.
10349	ScheduledStart *string `type:"string"`
10350
10351	// The actual start time, in ISO 8601 format, of the activity.
10352	Start *string `type:"string"`
10353
10354	// The state of the activity. Possible values are: PENDING, INITIALIZING, RUNNING,
10355	// PAUSED, CANCELLED, and COMPLETED.
10356	State *string `type:"string"`
10357
10358	// The total number of endpoints that the campaign successfully delivered messages
10359	// to.
10360	SuccessfulEndpointCount *int64 `type:"integer"`
10361
10362	// The total number of time zones that were completed.
10363	TimezonesCompletedCount *int64 `type:"integer"`
10364
10365	// The total number of unique time zones that are in the segment for the campaign.
10366	TimezonesTotalCount *int64 `type:"integer"`
10367
10368	// The total number of endpoints that the campaign attempted to deliver messages
10369	// to.
10370	TotalEndpointCount *int64 `type:"integer"`
10371
10372	// The unique identifier for the campaign treatment that the activity applies
10373	// to. A treatment is a variation of a campaign that's used for A/B testing
10374	// of a campaign.
10375	TreatmentId *string `type:"string"`
10376}
10377
10378// String returns the string representation
10379func (s ActivityResponse) String() string {
10380	return awsutil.Prettify(s)
10381}
10382
10383// GoString returns the string representation
10384func (s ActivityResponse) GoString() string {
10385	return s.String()
10386}
10387
10388// SetApplicationId sets the ApplicationId field's value.
10389func (s *ActivityResponse) SetApplicationId(v string) *ActivityResponse {
10390	s.ApplicationId = &v
10391	return s
10392}
10393
10394// SetCampaignId sets the CampaignId field's value.
10395func (s *ActivityResponse) SetCampaignId(v string) *ActivityResponse {
10396	s.CampaignId = &v
10397	return s
10398}
10399
10400// SetEnd sets the End field's value.
10401func (s *ActivityResponse) SetEnd(v string) *ActivityResponse {
10402	s.End = &v
10403	return s
10404}
10405
10406// SetId sets the Id field's value.
10407func (s *ActivityResponse) SetId(v string) *ActivityResponse {
10408	s.Id = &v
10409	return s
10410}
10411
10412// SetResult sets the Result field's value.
10413func (s *ActivityResponse) SetResult(v string) *ActivityResponse {
10414	s.Result = &v
10415	return s
10416}
10417
10418// SetScheduledStart sets the ScheduledStart field's value.
10419func (s *ActivityResponse) SetScheduledStart(v string) *ActivityResponse {
10420	s.ScheduledStart = &v
10421	return s
10422}
10423
10424// SetStart sets the Start field's value.
10425func (s *ActivityResponse) SetStart(v string) *ActivityResponse {
10426	s.Start = &v
10427	return s
10428}
10429
10430// SetState sets the State field's value.
10431func (s *ActivityResponse) SetState(v string) *ActivityResponse {
10432	s.State = &v
10433	return s
10434}
10435
10436// SetSuccessfulEndpointCount sets the SuccessfulEndpointCount field's value.
10437func (s *ActivityResponse) SetSuccessfulEndpointCount(v int64) *ActivityResponse {
10438	s.SuccessfulEndpointCount = &v
10439	return s
10440}
10441
10442// SetTimezonesCompletedCount sets the TimezonesCompletedCount field's value.
10443func (s *ActivityResponse) SetTimezonesCompletedCount(v int64) *ActivityResponse {
10444	s.TimezonesCompletedCount = &v
10445	return s
10446}
10447
10448// SetTimezonesTotalCount sets the TimezonesTotalCount field's value.
10449func (s *ActivityResponse) SetTimezonesTotalCount(v int64) *ActivityResponse {
10450	s.TimezonesTotalCount = &v
10451	return s
10452}
10453
10454// SetTotalEndpointCount sets the TotalEndpointCount field's value.
10455func (s *ActivityResponse) SetTotalEndpointCount(v int64) *ActivityResponse {
10456	s.TotalEndpointCount = &v
10457	return s
10458}
10459
10460// SetTreatmentId sets the TreatmentId field's value.
10461func (s *ActivityResponse) SetTreatmentId(v string) *ActivityResponse {
10462	s.TreatmentId = &v
10463	return s
10464}
10465
10466// Specifies address-based configuration settings for a message that's sent
10467// directly to an endpoint.
10468type AddressConfiguration struct {
10469	_ struct{} `type:"structure"`
10470
10471	// The message body to use instead of the default message body. This value overrides
10472	// the default message body.
10473	BodyOverride *string `type:"string"`
10474
10475	// The channel to use when sending the message.
10476	ChannelType *string `type:"string" enum:"ChannelType"`
10477
10478	// An object that maps custom attributes to attributes for the address and is
10479	// attached to the message. For a push notification, this payload is added to
10480	// the data.pinpoint object. For an email or text message, this payload is added
10481	// to email/SMS delivery receipt event attributes.
10482	Context map[string]*string `type:"map"`
10483
10484	// The raw, JSON-formatted string to use as the payload for the notification
10485	// message. This value overrides the message.
10486	RawContent *string `type:"string"`
10487
10488	// An object that maps variable values for the message. Amazon Pinpoint merges
10489	// these values with the variable values specified by properties of the DefaultMessage
10490	// object. The substitutions in this map take precedence over all other substitutions.
10491	Substitutions map[string][]*string `type:"map"`
10492
10493	// The message title to use instead of the default message title. This value
10494	// overrides the default message title.
10495	TitleOverride *string `type:"string"`
10496}
10497
10498// String returns the string representation
10499func (s AddressConfiguration) String() string {
10500	return awsutil.Prettify(s)
10501}
10502
10503// GoString returns the string representation
10504func (s AddressConfiguration) GoString() string {
10505	return s.String()
10506}
10507
10508// SetBodyOverride sets the BodyOverride field's value.
10509func (s *AddressConfiguration) SetBodyOverride(v string) *AddressConfiguration {
10510	s.BodyOverride = &v
10511	return s
10512}
10513
10514// SetChannelType sets the ChannelType field's value.
10515func (s *AddressConfiguration) SetChannelType(v string) *AddressConfiguration {
10516	s.ChannelType = &v
10517	return s
10518}
10519
10520// SetContext sets the Context field's value.
10521func (s *AddressConfiguration) SetContext(v map[string]*string) *AddressConfiguration {
10522	s.Context = v
10523	return s
10524}
10525
10526// SetRawContent sets the RawContent field's value.
10527func (s *AddressConfiguration) SetRawContent(v string) *AddressConfiguration {
10528	s.RawContent = &v
10529	return s
10530}
10531
10532// SetSubstitutions sets the Substitutions field's value.
10533func (s *AddressConfiguration) SetSubstitutions(v map[string][]*string) *AddressConfiguration {
10534	s.Substitutions = v
10535	return s
10536}
10537
10538// SetTitleOverride sets the TitleOverride field's value.
10539func (s *AddressConfiguration) SetTitleOverride(v string) *AddressConfiguration {
10540	s.TitleOverride = &v
10541	return s
10542}
10543
10544// Specifies the content and settings for a message template can be used in
10545// push notifications that are sent through the ADM (Amazon Device Messaging),
10546// GCM (Firebase Cloud Messaging, formerly Google Cloud Messaging), or Baidu
10547// (Baidu Cloud Push) channel.
10548type AndroidPushNotificationTemplate struct {
10549	_ struct{} `type:"structure"`
10550
10551	// The action to occur if a recipient taps a push notification that's based
10552	// on the message template. Valid values are:
10553	//
10554	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
10555	//    sent to the background. This is the default action.
10556	//
10557	//    * DEEP_LINK - Your app opens and displays a designated user interface
10558	//    in the app. This action uses the deep-linking features of the Android
10559	//    platform.
10560	//
10561	//    * URL - The default mobile browser on the recipient's device opens and
10562	//    loads the web page at a URL that you specify.
10563	Action *string `type:"string" enum:"Action"`
10564
10565	// The message body to use in a push notification that's based on the message
10566	// template.
10567	Body *string `type:"string"`
10568
10569	// The URL of the large icon image to display in the content view of a push
10570	// notification that's based on the message template.
10571	ImageIconUrl *string `type:"string"`
10572
10573	// The URL of an image to display in a push notification that's based on the
10574	// message template.
10575	ImageUrl *string `type:"string"`
10576
10577	// The URL of the small icon image to display in the status bar and the content
10578	// view of a push notification that's based on the message template.
10579	SmallImageIconUrl *string `type:"string"`
10580
10581	// The sound to play when a recipient receives a push notification that's based
10582	// on the message template. You can use the default stream or specify the file
10583	// name of a sound resource that's bundled in your app. On an Android platform,
10584	// the sound file must reside in /res/raw/.
10585	Sound *string `type:"string"`
10586
10587	// The title to use in a push notification that's based on the message template.
10588	// This title appears above the notification message on a recipient's device.
10589	Title *string `type:"string"`
10590
10591	// The URL to open in a recipient's default mobile browser, if a recipient taps
10592	// a a push notification that's based on the message template and the value
10593	// of the Action property is URL.
10594	Url *string `type:"string"`
10595}
10596
10597// String returns the string representation
10598func (s AndroidPushNotificationTemplate) String() string {
10599	return awsutil.Prettify(s)
10600}
10601
10602// GoString returns the string representation
10603func (s AndroidPushNotificationTemplate) GoString() string {
10604	return s.String()
10605}
10606
10607// SetAction sets the Action field's value.
10608func (s *AndroidPushNotificationTemplate) SetAction(v string) *AndroidPushNotificationTemplate {
10609	s.Action = &v
10610	return s
10611}
10612
10613// SetBody sets the Body field's value.
10614func (s *AndroidPushNotificationTemplate) SetBody(v string) *AndroidPushNotificationTemplate {
10615	s.Body = &v
10616	return s
10617}
10618
10619// SetImageIconUrl sets the ImageIconUrl field's value.
10620func (s *AndroidPushNotificationTemplate) SetImageIconUrl(v string) *AndroidPushNotificationTemplate {
10621	s.ImageIconUrl = &v
10622	return s
10623}
10624
10625// SetImageUrl sets the ImageUrl field's value.
10626func (s *AndroidPushNotificationTemplate) SetImageUrl(v string) *AndroidPushNotificationTemplate {
10627	s.ImageUrl = &v
10628	return s
10629}
10630
10631// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
10632func (s *AndroidPushNotificationTemplate) SetSmallImageIconUrl(v string) *AndroidPushNotificationTemplate {
10633	s.SmallImageIconUrl = &v
10634	return s
10635}
10636
10637// SetSound sets the Sound field's value.
10638func (s *AndroidPushNotificationTemplate) SetSound(v string) *AndroidPushNotificationTemplate {
10639	s.Sound = &v
10640	return s
10641}
10642
10643// SetTitle sets the Title field's value.
10644func (s *AndroidPushNotificationTemplate) SetTitle(v string) *AndroidPushNotificationTemplate {
10645	s.Title = &v
10646	return s
10647}
10648
10649// SetUrl sets the Url field's value.
10650func (s *AndroidPushNotificationTemplate) SetUrl(v string) *AndroidPushNotificationTemplate {
10651	s.Url = &v
10652	return s
10653}
10654
10655// Provides the results of a query that retrieved the data for a standard metric
10656// that applies to an application, and provides information about that query.
10657type ApplicationDateRangeKpiResponse struct {
10658	_ struct{} `type:"structure"`
10659
10660	// The unique identifier for the application that the metric applies to.
10661	//
10662	// ApplicationId is a required field
10663	ApplicationId *string `type:"string" required:"true"`
10664
10665	// EndTime is a required field
10666	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
10667
10668	// The name of the metric, also referred to as a key performance indicator (KPI),
10669	// that the data was retrieved for. This value describes the associated metric
10670	// and consists of two or more terms, which are comprised of lowercase alphanumeric
10671	// characters, separated by a hyphen. For a list of valid values, see the Amazon
10672	// Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html).
10673	//
10674	// KpiName is a required field
10675	KpiName *string `type:"string" required:"true"`
10676
10677	// An array of objects that contains the results of the query. Each object contains
10678	// the value for the metric and metadata about that value.
10679	//
10680	// KpiResult is a required field
10681	KpiResult *BaseKpiResult `type:"structure" required:"true"`
10682
10683	// The string to use in a subsequent request to get the next page of results
10684	// in a paginated response. This value is null for the Application Metrics resource.
10685	// The Application Metrics resource returns all results in a single page.
10686	NextToken *string `type:"string"`
10687
10688	// StartTime is a required field
10689	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
10690}
10691
10692// String returns the string representation
10693func (s ApplicationDateRangeKpiResponse) String() string {
10694	return awsutil.Prettify(s)
10695}
10696
10697// GoString returns the string representation
10698func (s ApplicationDateRangeKpiResponse) GoString() string {
10699	return s.String()
10700}
10701
10702// SetApplicationId sets the ApplicationId field's value.
10703func (s *ApplicationDateRangeKpiResponse) SetApplicationId(v string) *ApplicationDateRangeKpiResponse {
10704	s.ApplicationId = &v
10705	return s
10706}
10707
10708// SetEndTime sets the EndTime field's value.
10709func (s *ApplicationDateRangeKpiResponse) SetEndTime(v time.Time) *ApplicationDateRangeKpiResponse {
10710	s.EndTime = &v
10711	return s
10712}
10713
10714// SetKpiName sets the KpiName field's value.
10715func (s *ApplicationDateRangeKpiResponse) SetKpiName(v string) *ApplicationDateRangeKpiResponse {
10716	s.KpiName = &v
10717	return s
10718}
10719
10720// SetKpiResult sets the KpiResult field's value.
10721func (s *ApplicationDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *ApplicationDateRangeKpiResponse {
10722	s.KpiResult = v
10723	return s
10724}
10725
10726// SetNextToken sets the NextToken field's value.
10727func (s *ApplicationDateRangeKpiResponse) SetNextToken(v string) *ApplicationDateRangeKpiResponse {
10728	s.NextToken = &v
10729	return s
10730}
10731
10732// SetStartTime sets the StartTime field's value.
10733func (s *ApplicationDateRangeKpiResponse) SetStartTime(v time.Time) *ApplicationDateRangeKpiResponse {
10734	s.StartTime = &v
10735	return s
10736}
10737
10738// Provides information about an application.
10739type ApplicationResponse struct {
10740	_ struct{} `type:"structure"`
10741
10742	// The Amazon Resource Name (ARN) of the application.
10743	//
10744	// Arn is a required field
10745	Arn *string `type:"string" required:"true"`
10746
10747	// The unique identifier for the application. This identifier is displayed as
10748	// the Project ID on the Amazon Pinpoint console.
10749	//
10750	// Id is a required field
10751	Id *string `type:"string" required:"true"`
10752
10753	// The display name of the application. This name is displayed as the Project
10754	// name on the Amazon Pinpoint console.
10755	//
10756	// Name is a required field
10757	Name *string `type:"string" required:"true"`
10758
10759	// A string-to-string map of key-value pairs that identifies the tags that are
10760	// associated with the application. Each tag consists of a required tag key
10761	// and an associated tag value.
10762	Tags map[string]*string `locationName:"tags" type:"map"`
10763}
10764
10765// String returns the string representation
10766func (s ApplicationResponse) String() string {
10767	return awsutil.Prettify(s)
10768}
10769
10770// GoString returns the string representation
10771func (s ApplicationResponse) GoString() string {
10772	return s.String()
10773}
10774
10775// SetArn sets the Arn field's value.
10776func (s *ApplicationResponse) SetArn(v string) *ApplicationResponse {
10777	s.Arn = &v
10778	return s
10779}
10780
10781// SetId sets the Id field's value.
10782func (s *ApplicationResponse) SetId(v string) *ApplicationResponse {
10783	s.Id = &v
10784	return s
10785}
10786
10787// SetName sets the Name field's value.
10788func (s *ApplicationResponse) SetName(v string) *ApplicationResponse {
10789	s.Name = &v
10790	return s
10791}
10792
10793// SetTags sets the Tags field's value.
10794func (s *ApplicationResponse) SetTags(v map[string]*string) *ApplicationResponse {
10795	s.Tags = v
10796	return s
10797}
10798
10799// Provides information about an application, including the default settings
10800// for an application.
10801type ApplicationSettingsResource struct {
10802	_ struct{} `type:"structure"`
10803
10804	// The unique identifier for the application. This identifier is displayed as
10805	// the Project ID on the Amazon Pinpoint console.
10806	//
10807	// ApplicationId is a required field
10808	ApplicationId *string `type:"string" required:"true"`
10809
10810	// The settings for the AWS Lambda function to use by default as a code hook
10811	// for campaigns in the application.
10812	CampaignHook *CampaignHook `type:"structure"`
10813
10814	// The date and time, in ISO 8601 format, when the application's settings were
10815	// last modified.
10816	LastModifiedDate *string `type:"string"`
10817
10818	// The default sending limits for campaigns in the application.
10819	Limits *CampaignLimits `type:"structure"`
10820
10821	// The default quiet time for campaigns in the application. Quiet time is a
10822	// specific time range when campaigns don't send messages to endpoints, if all
10823	// the following conditions are met:
10824	//
10825	//    * The EndpointDemographic.Timezone property of the endpoint is set to
10826	//    a valid value.
10827	//
10828	//    * The current time in the endpoint's time zone is later than or equal
10829	//    to the time specified by the QuietTime.Start property for the application
10830	//    (or a campaign that has custom quiet time settings).
10831	//
10832	//    * The current time in the endpoint's time zone is earlier than or equal
10833	//    to the time specified by the QuietTime.End property for the application
10834	//    (or a campaign that has custom quiet time settings).
10835	//
10836	// If any of the preceding conditions isn't met, the endpoint will receive messages
10837	// from a campaign, even if quiet time is enabled.
10838	QuietTime *QuietTime `type:"structure"`
10839}
10840
10841// String returns the string representation
10842func (s ApplicationSettingsResource) String() string {
10843	return awsutil.Prettify(s)
10844}
10845
10846// GoString returns the string representation
10847func (s ApplicationSettingsResource) GoString() string {
10848	return s.String()
10849}
10850
10851// SetApplicationId sets the ApplicationId field's value.
10852func (s *ApplicationSettingsResource) SetApplicationId(v string) *ApplicationSettingsResource {
10853	s.ApplicationId = &v
10854	return s
10855}
10856
10857// SetCampaignHook sets the CampaignHook field's value.
10858func (s *ApplicationSettingsResource) SetCampaignHook(v *CampaignHook) *ApplicationSettingsResource {
10859	s.CampaignHook = v
10860	return s
10861}
10862
10863// SetLastModifiedDate sets the LastModifiedDate field's value.
10864func (s *ApplicationSettingsResource) SetLastModifiedDate(v string) *ApplicationSettingsResource {
10865	s.LastModifiedDate = &v
10866	return s
10867}
10868
10869// SetLimits sets the Limits field's value.
10870func (s *ApplicationSettingsResource) SetLimits(v *CampaignLimits) *ApplicationSettingsResource {
10871	s.Limits = v
10872	return s
10873}
10874
10875// SetQuietTime sets the QuietTime field's value.
10876func (s *ApplicationSettingsResource) SetQuietTime(v *QuietTime) *ApplicationSettingsResource {
10877	s.QuietTime = v
10878	return s
10879}
10880
10881// Provides information about all of your applications.
10882type ApplicationsResponse struct {
10883	_ struct{} `type:"structure"`
10884
10885	// An array of responses, one for each application that was returned.
10886	Item []*ApplicationResponse `type:"list"`
10887
10888	// The string to use in a subsequent request to get the next page of results
10889	// in a paginated response. This value is null if there are no additional pages.
10890	NextToken *string `type:"string"`
10891}
10892
10893// String returns the string representation
10894func (s ApplicationsResponse) String() string {
10895	return awsutil.Prettify(s)
10896}
10897
10898// GoString returns the string representation
10899func (s ApplicationsResponse) GoString() string {
10900	return s.String()
10901}
10902
10903// SetItem sets the Item field's value.
10904func (s *ApplicationsResponse) SetItem(v []*ApplicationResponse) *ApplicationsResponse {
10905	s.Item = v
10906	return s
10907}
10908
10909// SetNextToken sets the NextToken field's value.
10910func (s *ApplicationsResponse) SetNextToken(v string) *ApplicationsResponse {
10911	s.NextToken = &v
10912	return s
10913}
10914
10915// Specifies attribute-based criteria for including or excluding endpoints from
10916// a segment.
10917type AttributeDimension struct {
10918	_ struct{} `type:"structure"`
10919
10920	// The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints
10921	// that match the criteria are included in the segment; and, EXCLUSIVE, endpoints
10922	// that match the criteria are excluded from the segment.
10923	AttributeType *string `type:"string" enum:"AttributeType"`
10924
10925	// The criteria values to use for the segment dimension. Depending on the value
10926	// of the AttributeType property, endpoints are included or excluded from the
10927	// segment if their attribute values match the criteria values.
10928	//
10929	// Values is a required field
10930	Values []*string `type:"list" required:"true"`
10931}
10932
10933// String returns the string representation
10934func (s AttributeDimension) String() string {
10935	return awsutil.Prettify(s)
10936}
10937
10938// GoString returns the string representation
10939func (s AttributeDimension) GoString() string {
10940	return s.String()
10941}
10942
10943// Validate inspects the fields of the type to determine if they are valid.
10944func (s *AttributeDimension) Validate() error {
10945	invalidParams := request.ErrInvalidParams{Context: "AttributeDimension"}
10946	if s.Values == nil {
10947		invalidParams.Add(request.NewErrParamRequired("Values"))
10948	}
10949
10950	if invalidParams.Len() > 0 {
10951		return invalidParams
10952	}
10953	return nil
10954}
10955
10956// SetAttributeType sets the AttributeType field's value.
10957func (s *AttributeDimension) SetAttributeType(v string) *AttributeDimension {
10958	s.AttributeType = &v
10959	return s
10960}
10961
10962// SetValues sets the Values field's value.
10963func (s *AttributeDimension) SetValues(v []*string) *AttributeDimension {
10964	s.Values = v
10965	return s
10966}
10967
10968// Provides information about the type and the names of attributes that were
10969// removed from all the endpoints that are associated with an application.
10970type AttributesResource struct {
10971	_ struct{} `type:"structure"`
10972
10973	// The unique identifier for the application.
10974	//
10975	// ApplicationId is a required field
10976	ApplicationId *string `type:"string" required:"true"`
10977
10978	// The type of attribute or attributes that were removed from the endpoints.
10979	// Valid values are:
10980	//
10981	//    * endpoint-custom-attributes - Custom attributes that describe endpoints.
10982	//
10983	//    * endpoint-custom-metrics - Custom metrics that your app reports to Amazon
10984	//    Pinpoint for endpoints.
10985	//
10986	//    * endpoint-user-attributes - Custom attributes that describe users.
10987	//
10988	// AttributeType is a required field
10989	AttributeType *string `type:"string" required:"true"`
10990
10991	// An array that specifies the names of the attributes that were removed from
10992	// the endpoints.
10993	Attributes []*string `type:"list"`
10994}
10995
10996// String returns the string representation
10997func (s AttributesResource) String() string {
10998	return awsutil.Prettify(s)
10999}
11000
11001// GoString returns the string representation
11002func (s AttributesResource) GoString() string {
11003	return s.String()
11004}
11005
11006// SetApplicationId sets the ApplicationId field's value.
11007func (s *AttributesResource) SetApplicationId(v string) *AttributesResource {
11008	s.ApplicationId = &v
11009	return s
11010}
11011
11012// SetAttributeType sets the AttributeType field's value.
11013func (s *AttributesResource) SetAttributeType(v string) *AttributesResource {
11014	s.AttributeType = &v
11015	return s
11016}
11017
11018// SetAttributes sets the Attributes field's value.
11019func (s *AttributesResource) SetAttributes(v []*string) *AttributesResource {
11020	s.Attributes = v
11021	return s
11022}
11023
11024// Specifies the status and settings of the Baidu (Baidu Cloud Push) channel
11025// for an application.
11026type BaiduChannelRequest struct {
11027	_ struct{} `type:"structure"`
11028
11029	// The API key that you received from the Baidu Cloud Push service to communicate
11030	// with the service.
11031	//
11032	// ApiKey is a required field
11033	ApiKey *string `type:"string" required:"true"`
11034
11035	// Specifies whether to enable the Baidu channel for the application.
11036	Enabled *bool `type:"boolean"`
11037
11038	// The secret key that you received from the Baidu Cloud Push service to communicate
11039	// with the service.
11040	//
11041	// SecretKey is a required field
11042	SecretKey *string `type:"string" required:"true"`
11043}
11044
11045// String returns the string representation
11046func (s BaiduChannelRequest) String() string {
11047	return awsutil.Prettify(s)
11048}
11049
11050// GoString returns the string representation
11051func (s BaiduChannelRequest) GoString() string {
11052	return s.String()
11053}
11054
11055// Validate inspects the fields of the type to determine if they are valid.
11056func (s *BaiduChannelRequest) Validate() error {
11057	invalidParams := request.ErrInvalidParams{Context: "BaiduChannelRequest"}
11058	if s.ApiKey == nil {
11059		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
11060	}
11061	if s.SecretKey == nil {
11062		invalidParams.Add(request.NewErrParamRequired("SecretKey"))
11063	}
11064
11065	if invalidParams.Len() > 0 {
11066		return invalidParams
11067	}
11068	return nil
11069}
11070
11071// SetApiKey sets the ApiKey field's value.
11072func (s *BaiduChannelRequest) SetApiKey(v string) *BaiduChannelRequest {
11073	s.ApiKey = &v
11074	return s
11075}
11076
11077// SetEnabled sets the Enabled field's value.
11078func (s *BaiduChannelRequest) SetEnabled(v bool) *BaiduChannelRequest {
11079	s.Enabled = &v
11080	return s
11081}
11082
11083// SetSecretKey sets the SecretKey field's value.
11084func (s *BaiduChannelRequest) SetSecretKey(v string) *BaiduChannelRequest {
11085	s.SecretKey = &v
11086	return s
11087}
11088
11089// Provides information about the status and settings of the Baidu (Baidu Cloud
11090// Push) channel for an application.
11091type BaiduChannelResponse struct {
11092	_ struct{} `type:"structure"`
11093
11094	// The unique identifier for the application that the Baidu channel applies
11095	// to.
11096	ApplicationId *string `type:"string"`
11097
11098	// The date and time when the Baidu channel was enabled.
11099	CreationDate *string `type:"string"`
11100
11101	// The API key that you received from the Baidu Cloud Push service to communicate
11102	// with the service.
11103	//
11104	// Credential is a required field
11105	Credential *string `type:"string" required:"true"`
11106
11107	// Specifies whether the Baidu channel is enabled for the application.
11108	Enabled *bool `type:"boolean"`
11109
11110	// (Not used) This property is retained only for backward compatibility.
11111	HasCredential *bool `type:"boolean"`
11112
11113	// (Deprecated) An identifier for the Baidu channel. This property is retained
11114	// only for backward compatibility.
11115	Id *string `type:"string"`
11116
11117	// Specifies whether the Baidu channel is archived.
11118	IsArchived *bool `type:"boolean"`
11119
11120	// The user who last modified the Baidu channel.
11121	LastModifiedBy *string `type:"string"`
11122
11123	// The date and time when the Baidu channel was last modified.
11124	LastModifiedDate *string `type:"string"`
11125
11126	// The type of messaging or notification platform for the channel. For the Baidu
11127	// channel, this value is BAIDU.
11128	//
11129	// Platform is a required field
11130	Platform *string `type:"string" required:"true"`
11131
11132	// The current version of the Baidu channel.
11133	Version *int64 `type:"integer"`
11134}
11135
11136// String returns the string representation
11137func (s BaiduChannelResponse) String() string {
11138	return awsutil.Prettify(s)
11139}
11140
11141// GoString returns the string representation
11142func (s BaiduChannelResponse) GoString() string {
11143	return s.String()
11144}
11145
11146// SetApplicationId sets the ApplicationId field's value.
11147func (s *BaiduChannelResponse) SetApplicationId(v string) *BaiduChannelResponse {
11148	s.ApplicationId = &v
11149	return s
11150}
11151
11152// SetCreationDate sets the CreationDate field's value.
11153func (s *BaiduChannelResponse) SetCreationDate(v string) *BaiduChannelResponse {
11154	s.CreationDate = &v
11155	return s
11156}
11157
11158// SetCredential sets the Credential field's value.
11159func (s *BaiduChannelResponse) SetCredential(v string) *BaiduChannelResponse {
11160	s.Credential = &v
11161	return s
11162}
11163
11164// SetEnabled sets the Enabled field's value.
11165func (s *BaiduChannelResponse) SetEnabled(v bool) *BaiduChannelResponse {
11166	s.Enabled = &v
11167	return s
11168}
11169
11170// SetHasCredential sets the HasCredential field's value.
11171func (s *BaiduChannelResponse) SetHasCredential(v bool) *BaiduChannelResponse {
11172	s.HasCredential = &v
11173	return s
11174}
11175
11176// SetId sets the Id field's value.
11177func (s *BaiduChannelResponse) SetId(v string) *BaiduChannelResponse {
11178	s.Id = &v
11179	return s
11180}
11181
11182// SetIsArchived sets the IsArchived field's value.
11183func (s *BaiduChannelResponse) SetIsArchived(v bool) *BaiduChannelResponse {
11184	s.IsArchived = &v
11185	return s
11186}
11187
11188// SetLastModifiedBy sets the LastModifiedBy field's value.
11189func (s *BaiduChannelResponse) SetLastModifiedBy(v string) *BaiduChannelResponse {
11190	s.LastModifiedBy = &v
11191	return s
11192}
11193
11194// SetLastModifiedDate sets the LastModifiedDate field's value.
11195func (s *BaiduChannelResponse) SetLastModifiedDate(v string) *BaiduChannelResponse {
11196	s.LastModifiedDate = &v
11197	return s
11198}
11199
11200// SetPlatform sets the Platform field's value.
11201func (s *BaiduChannelResponse) SetPlatform(v string) *BaiduChannelResponse {
11202	s.Platform = &v
11203	return s
11204}
11205
11206// SetVersion sets the Version field's value.
11207func (s *BaiduChannelResponse) SetVersion(v int64) *BaiduChannelResponse {
11208	s.Version = &v
11209	return s
11210}
11211
11212// Specifies the settings for a one-time message that's sent directly to an
11213// endpoint through the Baidu (Baidu Cloud Push) channel.
11214type BaiduMessage struct {
11215	_ struct{} `type:"structure"`
11216
11217	// The action to occur if the recipient taps the push notification. Valid values
11218	// are:
11219	//
11220	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
11221	//    sent to the background. This is the default action.
11222	//
11223	//    * DEEP_LINK - Your app opens and displays a designated user interface
11224	//    in the app. This action uses the deep-linking features of the Android
11225	//    platform.
11226	//
11227	//    * URL - The default mobile browser on the recipient's device opens and
11228	//    loads the web page at a URL that you specify.
11229	Action *string `type:"string" enum:"Action"`
11230
11231	// The body of the notification message.
11232	Body *string `type:"string"`
11233
11234	// The JSON data payload to use for the push notification, if the notification
11235	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
11236	// object of the notification.
11237	Data map[string]*string `type:"map"`
11238
11239	// The icon image name of the asset saved in your app.
11240	IconReference *string `type:"string"`
11241
11242	// The URL of the large icon image to display in the content view of the push
11243	// notification.
11244	ImageIconUrl *string `type:"string"`
11245
11246	// The URL of an image to display in the push notification.
11247	ImageUrl *string `type:"string"`
11248
11249	// The raw, JSON-formatted string to use as the payload for the notification
11250	// message. This value overrides the message.
11251	RawContent *string `type:"string"`
11252
11253	// Specifies whether the notification is a silent push notification, which is
11254	// a push notification that doesn't display on a recipient's device. Silent
11255	// push notifications can be used for cases such as updating an app's configuration
11256	// or supporting phone home functionality.
11257	SilentPush *bool `type:"boolean"`
11258
11259	// The URL of the small icon image to display in the status bar and the content
11260	// view of the push notification.
11261	SmallImageIconUrl *string `type:"string"`
11262
11263	// The sound to play when the recipient receives the push notification. You
11264	// can use the default stream or specify the file name of a sound resource that's
11265	// bundled in your app. On an Android platform, the sound file must reside in
11266	// /res/raw/.
11267	Sound *string `type:"string"`
11268
11269	// The default message variables to use in the notification message. You can
11270	// override the default variables with individual address variables.
11271	Substitutions map[string][]*string `type:"map"`
11272
11273	// The amount of time, in seconds, that the Baidu Cloud Push service should
11274	// store the message if the recipient's device is offline. The default value
11275	// and maximum supported time is 604,800 seconds (7 days).
11276	TimeToLive *int64 `type:"integer"`
11277
11278	// The title to display above the notification message on the recipient's device.
11279	Title *string `type:"string"`
11280
11281	// The URL to open in the recipient's default mobile browser, if a recipient
11282	// taps the push notification and the value of the Action property is URL.
11283	Url *string `type:"string"`
11284}
11285
11286// String returns the string representation
11287func (s BaiduMessage) String() string {
11288	return awsutil.Prettify(s)
11289}
11290
11291// GoString returns the string representation
11292func (s BaiduMessage) GoString() string {
11293	return s.String()
11294}
11295
11296// SetAction sets the Action field's value.
11297func (s *BaiduMessage) SetAction(v string) *BaiduMessage {
11298	s.Action = &v
11299	return s
11300}
11301
11302// SetBody sets the Body field's value.
11303func (s *BaiduMessage) SetBody(v string) *BaiduMessage {
11304	s.Body = &v
11305	return s
11306}
11307
11308// SetData sets the Data field's value.
11309func (s *BaiduMessage) SetData(v map[string]*string) *BaiduMessage {
11310	s.Data = v
11311	return s
11312}
11313
11314// SetIconReference sets the IconReference field's value.
11315func (s *BaiduMessage) SetIconReference(v string) *BaiduMessage {
11316	s.IconReference = &v
11317	return s
11318}
11319
11320// SetImageIconUrl sets the ImageIconUrl field's value.
11321func (s *BaiduMessage) SetImageIconUrl(v string) *BaiduMessage {
11322	s.ImageIconUrl = &v
11323	return s
11324}
11325
11326// SetImageUrl sets the ImageUrl field's value.
11327func (s *BaiduMessage) SetImageUrl(v string) *BaiduMessage {
11328	s.ImageUrl = &v
11329	return s
11330}
11331
11332// SetRawContent sets the RawContent field's value.
11333func (s *BaiduMessage) SetRawContent(v string) *BaiduMessage {
11334	s.RawContent = &v
11335	return s
11336}
11337
11338// SetSilentPush sets the SilentPush field's value.
11339func (s *BaiduMessage) SetSilentPush(v bool) *BaiduMessage {
11340	s.SilentPush = &v
11341	return s
11342}
11343
11344// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
11345func (s *BaiduMessage) SetSmallImageIconUrl(v string) *BaiduMessage {
11346	s.SmallImageIconUrl = &v
11347	return s
11348}
11349
11350// SetSound sets the Sound field's value.
11351func (s *BaiduMessage) SetSound(v string) *BaiduMessage {
11352	s.Sound = &v
11353	return s
11354}
11355
11356// SetSubstitutions sets the Substitutions field's value.
11357func (s *BaiduMessage) SetSubstitutions(v map[string][]*string) *BaiduMessage {
11358	s.Substitutions = v
11359	return s
11360}
11361
11362// SetTimeToLive sets the TimeToLive field's value.
11363func (s *BaiduMessage) SetTimeToLive(v int64) *BaiduMessage {
11364	s.TimeToLive = &v
11365	return s
11366}
11367
11368// SetTitle sets the Title field's value.
11369func (s *BaiduMessage) SetTitle(v string) *BaiduMessage {
11370	s.Title = &v
11371	return s
11372}
11373
11374// SetUrl sets the Url field's value.
11375func (s *BaiduMessage) SetUrl(v string) *BaiduMessage {
11376	s.Url = &v
11377	return s
11378}
11379
11380// Provides the results of a query that retrieved the data for a standard metric
11381// that applies to an application or campaign.
11382type BaseKpiResult struct {
11383	_ struct{} `type:"structure"`
11384
11385	// An array of objects that provides the results of a query that retrieved the
11386	// data for a standard metric that applies to an application or campaign.
11387	//
11388	// Rows is a required field
11389	Rows []*ResultRow `type:"list" required:"true"`
11390}
11391
11392// String returns the string representation
11393func (s BaseKpiResult) String() string {
11394	return awsutil.Prettify(s)
11395}
11396
11397// GoString returns the string representation
11398func (s BaseKpiResult) GoString() string {
11399	return s.String()
11400}
11401
11402// SetRows sets the Rows field's value.
11403func (s *BaseKpiResult) SetRows(v []*ResultRow) *BaseKpiResult {
11404	s.Rows = v
11405	return s
11406}
11407
11408// Provides the results of a query that retrieved the data for a standard metric
11409// that applies to a campaign, and provides information about that query.
11410type CampaignDateRangeKpiResponse struct {
11411	_ struct{} `type:"structure"`
11412
11413	// The unique identifier for the application that the metric applies to.
11414	//
11415	// ApplicationId is a required field
11416	ApplicationId *string `type:"string" required:"true"`
11417
11418	// The unique identifier for the campaign that the metric applies to.
11419	//
11420	// CampaignId is a required field
11421	CampaignId *string `type:"string" required:"true"`
11422
11423	// EndTime is a required field
11424	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
11425
11426	// The name of the metric, also referred to as a key performance indicator (KPI),
11427	// that the data was retrieved for. This value describes the associated metric
11428	// and consists of two or more terms, which are comprised of lowercase alphanumeric
11429	// characters, separated by a hyphen. For a list of valid values, see the Amazon
11430	// Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html).
11431	//
11432	// KpiName is a required field
11433	KpiName *string `type:"string" required:"true"`
11434
11435	// An array of objects that contains the results of the query. Each object contains
11436	// the value for the metric and metadata about that value.
11437	//
11438	// KpiResult is a required field
11439	KpiResult *BaseKpiResult `type:"structure" required:"true"`
11440
11441	// The string to use in a subsequent request to get the next page of results
11442	// in a paginated response. This value is null for the Campaign Metrics resource.
11443	// The Campaign Metrics resource returns all results in a single page.
11444	NextToken *string `type:"string"`
11445
11446	// StartTime is a required field
11447	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
11448}
11449
11450// String returns the string representation
11451func (s CampaignDateRangeKpiResponse) String() string {
11452	return awsutil.Prettify(s)
11453}
11454
11455// GoString returns the string representation
11456func (s CampaignDateRangeKpiResponse) GoString() string {
11457	return s.String()
11458}
11459
11460// SetApplicationId sets the ApplicationId field's value.
11461func (s *CampaignDateRangeKpiResponse) SetApplicationId(v string) *CampaignDateRangeKpiResponse {
11462	s.ApplicationId = &v
11463	return s
11464}
11465
11466// SetCampaignId sets the CampaignId field's value.
11467func (s *CampaignDateRangeKpiResponse) SetCampaignId(v string) *CampaignDateRangeKpiResponse {
11468	s.CampaignId = &v
11469	return s
11470}
11471
11472// SetEndTime sets the EndTime field's value.
11473func (s *CampaignDateRangeKpiResponse) SetEndTime(v time.Time) *CampaignDateRangeKpiResponse {
11474	s.EndTime = &v
11475	return s
11476}
11477
11478// SetKpiName sets the KpiName field's value.
11479func (s *CampaignDateRangeKpiResponse) SetKpiName(v string) *CampaignDateRangeKpiResponse {
11480	s.KpiName = &v
11481	return s
11482}
11483
11484// SetKpiResult sets the KpiResult field's value.
11485func (s *CampaignDateRangeKpiResponse) SetKpiResult(v *BaseKpiResult) *CampaignDateRangeKpiResponse {
11486	s.KpiResult = v
11487	return s
11488}
11489
11490// SetNextToken sets the NextToken field's value.
11491func (s *CampaignDateRangeKpiResponse) SetNextToken(v string) *CampaignDateRangeKpiResponse {
11492	s.NextToken = &v
11493	return s
11494}
11495
11496// SetStartTime sets the StartTime field's value.
11497func (s *CampaignDateRangeKpiResponse) SetStartTime(v time.Time) *CampaignDateRangeKpiResponse {
11498	s.StartTime = &v
11499	return s
11500}
11501
11502// Specifies the content and "From" address for an email message that's sent
11503// to recipients of a campaign.
11504type CampaignEmailMessage struct {
11505	_ struct{} `type:"structure"`
11506
11507	// The body of the email for recipients whose email clients don't support HTML
11508	// content.
11509	Body *string `type:"string"`
11510
11511	// The verified email address to send the email from. The default address is
11512	// the FromAddress specified for the email channel for the application.
11513	FromAddress *string `type:"string"`
11514
11515	// The body of the email, in HTML format, for recipients whose email clients
11516	// support HTML content.
11517	HtmlBody *string `type:"string"`
11518
11519	// The subject line, or title, of the email.
11520	//
11521	// Title is a required field
11522	Title *string `type:"string" required:"true"`
11523}
11524
11525// String returns the string representation
11526func (s CampaignEmailMessage) String() string {
11527	return awsutil.Prettify(s)
11528}
11529
11530// GoString returns the string representation
11531func (s CampaignEmailMessage) GoString() string {
11532	return s.String()
11533}
11534
11535// Validate inspects the fields of the type to determine if they are valid.
11536func (s *CampaignEmailMessage) Validate() error {
11537	invalidParams := request.ErrInvalidParams{Context: "CampaignEmailMessage"}
11538	if s.Title == nil {
11539		invalidParams.Add(request.NewErrParamRequired("Title"))
11540	}
11541
11542	if invalidParams.Len() > 0 {
11543		return invalidParams
11544	}
11545	return nil
11546}
11547
11548// SetBody sets the Body field's value.
11549func (s *CampaignEmailMessage) SetBody(v string) *CampaignEmailMessage {
11550	s.Body = &v
11551	return s
11552}
11553
11554// SetFromAddress sets the FromAddress field's value.
11555func (s *CampaignEmailMessage) SetFromAddress(v string) *CampaignEmailMessage {
11556	s.FromAddress = &v
11557	return s
11558}
11559
11560// SetHtmlBody sets the HtmlBody field's value.
11561func (s *CampaignEmailMessage) SetHtmlBody(v string) *CampaignEmailMessage {
11562	s.HtmlBody = &v
11563	return s
11564}
11565
11566// SetTitle sets the Title field's value.
11567func (s *CampaignEmailMessage) SetTitle(v string) *CampaignEmailMessage {
11568	s.Title = &v
11569	return s
11570}
11571
11572// Specifies the settings for events that cause a campaign to be sent.
11573type CampaignEventFilter struct {
11574	_ struct{} `type:"structure"`
11575
11576	// The dimension settings of the event filter for the campaign.
11577	//
11578	// Dimensions is a required field
11579	Dimensions *EventDimensions `type:"structure" required:"true"`
11580
11581	// The type of event that causes the campaign to be sent. Valid values are:
11582	// SYSTEM, sends the campaign when a system event occurs; and, ENDPOINT, sends
11583	// the campaign when an endpoint event (Events resource) occurs.
11584	//
11585	// FilterType is a required field
11586	FilterType *string `type:"string" required:"true" enum:"FilterType"`
11587}
11588
11589// String returns the string representation
11590func (s CampaignEventFilter) String() string {
11591	return awsutil.Prettify(s)
11592}
11593
11594// GoString returns the string representation
11595func (s CampaignEventFilter) GoString() string {
11596	return s.String()
11597}
11598
11599// Validate inspects the fields of the type to determine if they are valid.
11600func (s *CampaignEventFilter) Validate() error {
11601	invalidParams := request.ErrInvalidParams{Context: "CampaignEventFilter"}
11602	if s.Dimensions == nil {
11603		invalidParams.Add(request.NewErrParamRequired("Dimensions"))
11604	}
11605	if s.FilterType == nil {
11606		invalidParams.Add(request.NewErrParamRequired("FilterType"))
11607	}
11608	if s.Dimensions != nil {
11609		if err := s.Dimensions.Validate(); err != nil {
11610			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
11611		}
11612	}
11613
11614	if invalidParams.Len() > 0 {
11615		return invalidParams
11616	}
11617	return nil
11618}
11619
11620// SetDimensions sets the Dimensions field's value.
11621func (s *CampaignEventFilter) SetDimensions(v *EventDimensions) *CampaignEventFilter {
11622	s.Dimensions = v
11623	return s
11624}
11625
11626// SetFilterType sets the FilterType field's value.
11627func (s *CampaignEventFilter) SetFilterType(v string) *CampaignEventFilter {
11628	s.FilterType = &v
11629	return s
11630}
11631
11632// Specifies the AWS Lambda function to use as a code hook for a campaign.
11633type CampaignHook struct {
11634	_ struct{} `type:"structure"`
11635
11636	// The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
11637	// Pinpoint invokes to send messages for a campaign.
11638	LambdaFunctionName *string `type:"string"`
11639
11640	// Specifies which Lambda mode to use when invoking the AWS Lambda function.
11641	Mode *string `type:"string" enum:"Mode"`
11642
11643	// The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function
11644	// over HTTPS.
11645	WebUrl *string `type:"string"`
11646}
11647
11648// String returns the string representation
11649func (s CampaignHook) String() string {
11650	return awsutil.Prettify(s)
11651}
11652
11653// GoString returns the string representation
11654func (s CampaignHook) GoString() string {
11655	return s.String()
11656}
11657
11658// SetLambdaFunctionName sets the LambdaFunctionName field's value.
11659func (s *CampaignHook) SetLambdaFunctionName(v string) *CampaignHook {
11660	s.LambdaFunctionName = &v
11661	return s
11662}
11663
11664// SetMode sets the Mode field's value.
11665func (s *CampaignHook) SetMode(v string) *CampaignHook {
11666	s.Mode = &v
11667	return s
11668}
11669
11670// SetWebUrl sets the WebUrl field's value.
11671func (s *CampaignHook) SetWebUrl(v string) *CampaignHook {
11672	s.WebUrl = &v
11673	return s
11674}
11675
11676// Specifies limits on the messages that a campaign can send.
11677type CampaignLimits struct {
11678	_ struct{} `type:"structure"`
11679
11680	// The maximum number of messages that a campaign can send to a single endpoint
11681	// during a 24-hour period. The maximum value is 100.
11682	Daily *int64 `type:"integer"`
11683
11684	// The maximum amount of time, in seconds, that a campaign can attempt to deliver
11685	// a message after the scheduled start time for the campaign. The minimum value
11686	// is 60 seconds.
11687	MaximumDuration *int64 `type:"integer"`
11688
11689	// The maximum number of messages that a campaign can send each second. The
11690	// minimum value is 50. The maximum value is 20,000.
11691	MessagesPerSecond *int64 `type:"integer"`
11692
11693	// The maximum number of messages that a campaign can send to a single endpoint
11694	// during the course of the campaign. The maximum value is 100.
11695	Total *int64 `type:"integer"`
11696}
11697
11698// String returns the string representation
11699func (s CampaignLimits) String() string {
11700	return awsutil.Prettify(s)
11701}
11702
11703// GoString returns the string representation
11704func (s CampaignLimits) GoString() string {
11705	return s.String()
11706}
11707
11708// SetDaily sets the Daily field's value.
11709func (s *CampaignLimits) SetDaily(v int64) *CampaignLimits {
11710	s.Daily = &v
11711	return s
11712}
11713
11714// SetMaximumDuration sets the MaximumDuration field's value.
11715func (s *CampaignLimits) SetMaximumDuration(v int64) *CampaignLimits {
11716	s.MaximumDuration = &v
11717	return s
11718}
11719
11720// SetMessagesPerSecond sets the MessagesPerSecond field's value.
11721func (s *CampaignLimits) SetMessagesPerSecond(v int64) *CampaignLimits {
11722	s.MessagesPerSecond = &v
11723	return s
11724}
11725
11726// SetTotal sets the Total field's value.
11727func (s *CampaignLimits) SetTotal(v int64) *CampaignLimits {
11728	s.Total = &v
11729	return s
11730}
11731
11732// Provides information about the status, configuration, and other settings
11733// for a campaign.
11734type CampaignResponse struct {
11735	_ struct{} `type:"structure"`
11736
11737	// An array of responses, one for each treatment that you defined for the campaign,
11738	// in addition to the default treatment.
11739	AdditionalTreatments []*TreatmentResource `type:"list"`
11740
11741	// The unique identifier for the application that the campaign applies to.
11742	//
11743	// ApplicationId is a required field
11744	ApplicationId *string `type:"string" required:"true"`
11745
11746	// The Amazon Resource Name (ARN) of the campaign.
11747	//
11748	// Arn is a required field
11749	Arn *string `type:"string" required:"true"`
11750
11751	// The date, ISO 8601 format, when the campaign was created.
11752	//
11753	// CreationDate is a required field
11754	CreationDate *string `type:"string" required:"true"`
11755
11756	// The current status of the campaign's default treatment. This value exists
11757	// only for campaigns that have more than one treatment, to support A/B testing.
11758	DefaultState *CampaignState `type:"structure"`
11759
11760	// The custom description of the campaign.
11761	Description *string `type:"string"`
11762
11763	// The allocated percentage of users (segment members) who shouldn't receive
11764	// messages from the campaign.
11765	HoldoutPercent *int64 `type:"integer"`
11766
11767	// The settings for the AWS Lambda function to use as a code hook for the campaign.
11768	Hook *CampaignHook `type:"structure"`
11769
11770	// The unique identifier for the campaign.
11771	//
11772	// Id is a required field
11773	Id *string `type:"string" required:"true"`
11774
11775	// Specifies whether the campaign is paused. A paused campaign doesn't run unless
11776	// you resume it by changing this value to false.
11777	IsPaused *bool `type:"boolean"`
11778
11779	// The date, in ISO 8601 format, when the campaign was last modified.
11780	//
11781	// LastModifiedDate is a required field
11782	LastModifiedDate *string `type:"string" required:"true"`
11783
11784	// The messaging limits for the campaign.
11785	Limits *CampaignLimits `type:"structure"`
11786
11787	// The message configuration settings for the campaign.
11788	MessageConfiguration *MessageConfiguration `type:"structure"`
11789
11790	// The name of the campaign.
11791	Name *string `type:"string"`
11792
11793	// The schedule settings for the campaign.
11794	Schedule *Schedule `type:"structure"`
11795
11796	// The unique identifier for the segment that's associated with the campaign.
11797	//
11798	// SegmentId is a required field
11799	SegmentId *string `type:"string" required:"true"`
11800
11801	// The version number of the segment that's associated with the campaign.
11802	//
11803	// SegmentVersion is a required field
11804	SegmentVersion *int64 `type:"integer" required:"true"`
11805
11806	// The current status of the campaign.
11807	State *CampaignState `type:"structure"`
11808
11809	// A string-to-string map of key-value pairs that identifies the tags that are
11810	// associated with the campaign. Each tag consists of a required tag key and
11811	// an associated tag value.
11812	Tags map[string]*string `locationName:"tags" type:"map"`
11813
11814	// The message template that’s used for the campaign.
11815	TemplateConfiguration *TemplateConfiguration `type:"structure"`
11816
11817	// The custom description of a variation of the campaign that's used for A/B
11818	// testing.
11819	TreatmentDescription *string `type:"string"`
11820
11821	// The custom name of a variation of the campaign that's used for A/B testing.
11822	TreatmentName *string `type:"string"`
11823
11824	// The version number of the campaign.
11825	Version *int64 `type:"integer"`
11826}
11827
11828// String returns the string representation
11829func (s CampaignResponse) String() string {
11830	return awsutil.Prettify(s)
11831}
11832
11833// GoString returns the string representation
11834func (s CampaignResponse) GoString() string {
11835	return s.String()
11836}
11837
11838// SetAdditionalTreatments sets the AdditionalTreatments field's value.
11839func (s *CampaignResponse) SetAdditionalTreatments(v []*TreatmentResource) *CampaignResponse {
11840	s.AdditionalTreatments = v
11841	return s
11842}
11843
11844// SetApplicationId sets the ApplicationId field's value.
11845func (s *CampaignResponse) SetApplicationId(v string) *CampaignResponse {
11846	s.ApplicationId = &v
11847	return s
11848}
11849
11850// SetArn sets the Arn field's value.
11851func (s *CampaignResponse) SetArn(v string) *CampaignResponse {
11852	s.Arn = &v
11853	return s
11854}
11855
11856// SetCreationDate sets the CreationDate field's value.
11857func (s *CampaignResponse) SetCreationDate(v string) *CampaignResponse {
11858	s.CreationDate = &v
11859	return s
11860}
11861
11862// SetDefaultState sets the DefaultState field's value.
11863func (s *CampaignResponse) SetDefaultState(v *CampaignState) *CampaignResponse {
11864	s.DefaultState = v
11865	return s
11866}
11867
11868// SetDescription sets the Description field's value.
11869func (s *CampaignResponse) SetDescription(v string) *CampaignResponse {
11870	s.Description = &v
11871	return s
11872}
11873
11874// SetHoldoutPercent sets the HoldoutPercent field's value.
11875func (s *CampaignResponse) SetHoldoutPercent(v int64) *CampaignResponse {
11876	s.HoldoutPercent = &v
11877	return s
11878}
11879
11880// SetHook sets the Hook field's value.
11881func (s *CampaignResponse) SetHook(v *CampaignHook) *CampaignResponse {
11882	s.Hook = v
11883	return s
11884}
11885
11886// SetId sets the Id field's value.
11887func (s *CampaignResponse) SetId(v string) *CampaignResponse {
11888	s.Id = &v
11889	return s
11890}
11891
11892// SetIsPaused sets the IsPaused field's value.
11893func (s *CampaignResponse) SetIsPaused(v bool) *CampaignResponse {
11894	s.IsPaused = &v
11895	return s
11896}
11897
11898// SetLastModifiedDate sets the LastModifiedDate field's value.
11899func (s *CampaignResponse) SetLastModifiedDate(v string) *CampaignResponse {
11900	s.LastModifiedDate = &v
11901	return s
11902}
11903
11904// SetLimits sets the Limits field's value.
11905func (s *CampaignResponse) SetLimits(v *CampaignLimits) *CampaignResponse {
11906	s.Limits = v
11907	return s
11908}
11909
11910// SetMessageConfiguration sets the MessageConfiguration field's value.
11911func (s *CampaignResponse) SetMessageConfiguration(v *MessageConfiguration) *CampaignResponse {
11912	s.MessageConfiguration = v
11913	return s
11914}
11915
11916// SetName sets the Name field's value.
11917func (s *CampaignResponse) SetName(v string) *CampaignResponse {
11918	s.Name = &v
11919	return s
11920}
11921
11922// SetSchedule sets the Schedule field's value.
11923func (s *CampaignResponse) SetSchedule(v *Schedule) *CampaignResponse {
11924	s.Schedule = v
11925	return s
11926}
11927
11928// SetSegmentId sets the SegmentId field's value.
11929func (s *CampaignResponse) SetSegmentId(v string) *CampaignResponse {
11930	s.SegmentId = &v
11931	return s
11932}
11933
11934// SetSegmentVersion sets the SegmentVersion field's value.
11935func (s *CampaignResponse) SetSegmentVersion(v int64) *CampaignResponse {
11936	s.SegmentVersion = &v
11937	return s
11938}
11939
11940// SetState sets the State field's value.
11941func (s *CampaignResponse) SetState(v *CampaignState) *CampaignResponse {
11942	s.State = v
11943	return s
11944}
11945
11946// SetTags sets the Tags field's value.
11947func (s *CampaignResponse) SetTags(v map[string]*string) *CampaignResponse {
11948	s.Tags = v
11949	return s
11950}
11951
11952// SetTemplateConfiguration sets the TemplateConfiguration field's value.
11953func (s *CampaignResponse) SetTemplateConfiguration(v *TemplateConfiguration) *CampaignResponse {
11954	s.TemplateConfiguration = v
11955	return s
11956}
11957
11958// SetTreatmentDescription sets the TreatmentDescription field's value.
11959func (s *CampaignResponse) SetTreatmentDescription(v string) *CampaignResponse {
11960	s.TreatmentDescription = &v
11961	return s
11962}
11963
11964// SetTreatmentName sets the TreatmentName field's value.
11965func (s *CampaignResponse) SetTreatmentName(v string) *CampaignResponse {
11966	s.TreatmentName = &v
11967	return s
11968}
11969
11970// SetVersion sets the Version field's value.
11971func (s *CampaignResponse) SetVersion(v int64) *CampaignResponse {
11972	s.Version = &v
11973	return s
11974}
11975
11976// Specifies the content and settings for an SMS message that's sent to recipients
11977// of a campaign.
11978type CampaignSmsMessage struct {
11979	_ struct{} `type:"structure"`
11980
11981	// The body of the SMS message.
11982	Body *string `type:"string"`
11983
11984	// The type of SMS message. Valid values are: TRANSACTIONAL, the message is
11985	// critical or time-sensitive, such as a one-time password that supports a customer
11986	// transaction; and, PROMOTIONAL, the message isn't critical or time-sensitive,
11987	// such as a marketing message.
11988	MessageType *string `type:"string" enum:"MessageType"`
11989
11990	// The sender ID to display on recipients' devices when they receive the SMS
11991	// message.
11992	SenderId *string `type:"string"`
11993}
11994
11995// String returns the string representation
11996func (s CampaignSmsMessage) String() string {
11997	return awsutil.Prettify(s)
11998}
11999
12000// GoString returns the string representation
12001func (s CampaignSmsMessage) GoString() string {
12002	return s.String()
12003}
12004
12005// SetBody sets the Body field's value.
12006func (s *CampaignSmsMessage) SetBody(v string) *CampaignSmsMessage {
12007	s.Body = &v
12008	return s
12009}
12010
12011// SetMessageType sets the MessageType field's value.
12012func (s *CampaignSmsMessage) SetMessageType(v string) *CampaignSmsMessage {
12013	s.MessageType = &v
12014	return s
12015}
12016
12017// SetSenderId sets the SenderId field's value.
12018func (s *CampaignSmsMessage) SetSenderId(v string) *CampaignSmsMessage {
12019	s.SenderId = &v
12020	return s
12021}
12022
12023// Provides information about the status of a campaign.
12024type CampaignState struct {
12025	_ struct{} `type:"structure"`
12026
12027	// The status of the campaign, or the status of a treatment that belongs to
12028	// an A/B test campaign. If a campaign uses A/B testing, the campaign has a
12029	// status of COMPLETED only when all campaign treatments have a status of COMPLETED.
12030	CampaignStatus *string `type:"string" enum:"CampaignStatus"`
12031}
12032
12033// String returns the string representation
12034func (s CampaignState) String() string {
12035	return awsutil.Prettify(s)
12036}
12037
12038// GoString returns the string representation
12039func (s CampaignState) GoString() string {
12040	return s.String()
12041}
12042
12043// SetCampaignStatus sets the CampaignStatus field's value.
12044func (s *CampaignState) SetCampaignStatus(v string) *CampaignState {
12045	s.CampaignStatus = &v
12046	return s
12047}
12048
12049// Provides information about the configuration and other settings for all the
12050// campaigns that are associated with an application.
12051type CampaignsResponse struct {
12052	_ struct{} `type:"structure"`
12053
12054	// An array of responses, one for each campaign that's associated with the application.
12055	//
12056	// Item is a required field
12057	Item []*CampaignResponse `type:"list" required:"true"`
12058
12059	// The string to use in a subsequent request to get the next page of results
12060	// in a paginated response. This value is null if there are no additional pages.
12061	NextToken *string `type:"string"`
12062}
12063
12064// String returns the string representation
12065func (s CampaignsResponse) String() string {
12066	return awsutil.Prettify(s)
12067}
12068
12069// GoString returns the string representation
12070func (s CampaignsResponse) GoString() string {
12071	return s.String()
12072}
12073
12074// SetItem sets the Item field's value.
12075func (s *CampaignsResponse) SetItem(v []*CampaignResponse) *CampaignsResponse {
12076	s.Item = v
12077	return s
12078}
12079
12080// SetNextToken sets the NextToken field's value.
12081func (s *CampaignsResponse) SetNextToken(v string) *CampaignsResponse {
12082	s.NextToken = &v
12083	return s
12084}
12085
12086// Provides information about the general settings and status of a channel for
12087// an application.
12088type ChannelResponse struct {
12089	_ struct{} `type:"structure"`
12090
12091	// The unique identifier for the application.
12092	ApplicationId *string `type:"string"`
12093
12094	// The date and time, in ISO 8601 format, when the channel was enabled.
12095	CreationDate *string `type:"string"`
12096
12097	// Specifies whether the channel is enabled for the application.
12098	Enabled *bool `type:"boolean"`
12099
12100	// (Not used) This property is retained only for backward compatibility.
12101	HasCredential *bool `type:"boolean"`
12102
12103	// (Deprecated) An identifier for the channel. This property is retained only
12104	// for backward compatibility.
12105	Id *string `type:"string"`
12106
12107	// Specifies whether the channel is archived.
12108	IsArchived *bool `type:"boolean"`
12109
12110	// The user who last modified the channel.
12111	LastModifiedBy *string `type:"string"`
12112
12113	// The date and time, in ISO 8601 format, when the channel was last modified.
12114	LastModifiedDate *string `type:"string"`
12115
12116	// The current version of the channel.
12117	Version *int64 `type:"integer"`
12118}
12119
12120// String returns the string representation
12121func (s ChannelResponse) String() string {
12122	return awsutil.Prettify(s)
12123}
12124
12125// GoString returns the string representation
12126func (s ChannelResponse) GoString() string {
12127	return s.String()
12128}
12129
12130// SetApplicationId sets the ApplicationId field's value.
12131func (s *ChannelResponse) SetApplicationId(v string) *ChannelResponse {
12132	s.ApplicationId = &v
12133	return s
12134}
12135
12136// SetCreationDate sets the CreationDate field's value.
12137func (s *ChannelResponse) SetCreationDate(v string) *ChannelResponse {
12138	s.CreationDate = &v
12139	return s
12140}
12141
12142// SetEnabled sets the Enabled field's value.
12143func (s *ChannelResponse) SetEnabled(v bool) *ChannelResponse {
12144	s.Enabled = &v
12145	return s
12146}
12147
12148// SetHasCredential sets the HasCredential field's value.
12149func (s *ChannelResponse) SetHasCredential(v bool) *ChannelResponse {
12150	s.HasCredential = &v
12151	return s
12152}
12153
12154// SetId sets the Id field's value.
12155func (s *ChannelResponse) SetId(v string) *ChannelResponse {
12156	s.Id = &v
12157	return s
12158}
12159
12160// SetIsArchived sets the IsArchived field's value.
12161func (s *ChannelResponse) SetIsArchived(v bool) *ChannelResponse {
12162	s.IsArchived = &v
12163	return s
12164}
12165
12166// SetLastModifiedBy sets the LastModifiedBy field's value.
12167func (s *ChannelResponse) SetLastModifiedBy(v string) *ChannelResponse {
12168	s.LastModifiedBy = &v
12169	return s
12170}
12171
12172// SetLastModifiedDate sets the LastModifiedDate field's value.
12173func (s *ChannelResponse) SetLastModifiedDate(v string) *ChannelResponse {
12174	s.LastModifiedDate = &v
12175	return s
12176}
12177
12178// SetVersion sets the Version field's value.
12179func (s *ChannelResponse) SetVersion(v int64) *ChannelResponse {
12180	s.Version = &v
12181	return s
12182}
12183
12184// Provides information about the general settings and status of all channels
12185// for an application, including channels that aren't enabled for the application.
12186type ChannelsResponse struct {
12187	_ struct{} `type:"structure"`
12188
12189	// A map that contains a multipart response for each channel. For each item
12190	// in this object, the ChannelType is the key and the Channel is the value.
12191	//
12192	// Channels is a required field
12193	Channels map[string]*ChannelResponse `type:"map" required:"true"`
12194}
12195
12196// String returns the string representation
12197func (s ChannelsResponse) String() string {
12198	return awsutil.Prettify(s)
12199}
12200
12201// GoString returns the string representation
12202func (s ChannelsResponse) GoString() string {
12203	return s.String()
12204}
12205
12206// SetChannels sets the Channels field's value.
12207func (s *ChannelsResponse) SetChannels(v map[string]*ChannelResponse) *ChannelsResponse {
12208	s.Channels = v
12209	return s
12210}
12211
12212type CreateAppInput struct {
12213	_ struct{} `type:"structure" payload:"CreateApplicationRequest"`
12214
12215	// Specifies the display name of an application and the tags to associate with
12216	// the application.
12217	//
12218	// CreateApplicationRequest is a required field
12219	CreateApplicationRequest *CreateApplicationRequest `type:"structure" required:"true"`
12220}
12221
12222// String returns the string representation
12223func (s CreateAppInput) String() string {
12224	return awsutil.Prettify(s)
12225}
12226
12227// GoString returns the string representation
12228func (s CreateAppInput) GoString() string {
12229	return s.String()
12230}
12231
12232// Validate inspects the fields of the type to determine if they are valid.
12233func (s *CreateAppInput) Validate() error {
12234	invalidParams := request.ErrInvalidParams{Context: "CreateAppInput"}
12235	if s.CreateApplicationRequest == nil {
12236		invalidParams.Add(request.NewErrParamRequired("CreateApplicationRequest"))
12237	}
12238	if s.CreateApplicationRequest != nil {
12239		if err := s.CreateApplicationRequest.Validate(); err != nil {
12240			invalidParams.AddNested("CreateApplicationRequest", err.(request.ErrInvalidParams))
12241		}
12242	}
12243
12244	if invalidParams.Len() > 0 {
12245		return invalidParams
12246	}
12247	return nil
12248}
12249
12250// SetCreateApplicationRequest sets the CreateApplicationRequest field's value.
12251func (s *CreateAppInput) SetCreateApplicationRequest(v *CreateApplicationRequest) *CreateAppInput {
12252	s.CreateApplicationRequest = v
12253	return s
12254}
12255
12256type CreateAppOutput struct {
12257	_ struct{} `type:"structure" payload:"ApplicationResponse"`
12258
12259	// Provides information about an application.
12260	//
12261	// ApplicationResponse is a required field
12262	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
12263}
12264
12265// String returns the string representation
12266func (s CreateAppOutput) String() string {
12267	return awsutil.Prettify(s)
12268}
12269
12270// GoString returns the string representation
12271func (s CreateAppOutput) GoString() string {
12272	return s.String()
12273}
12274
12275// SetApplicationResponse sets the ApplicationResponse field's value.
12276func (s *CreateAppOutput) SetApplicationResponse(v *ApplicationResponse) *CreateAppOutput {
12277	s.ApplicationResponse = v
12278	return s
12279}
12280
12281// Specifies the display name of an application and the tags to associate with
12282// the application.
12283type CreateApplicationRequest struct {
12284	_ struct{} `type:"structure"`
12285
12286	// The display name of the application. This name is displayed as the Project
12287	// name on the Amazon Pinpoint console.
12288	//
12289	// Name is a required field
12290	Name *string `type:"string" required:"true"`
12291
12292	// A string-to-string map of key-value pairs that defines the tags to associate
12293	// with the application. Each tag consists of a required tag key and an associated
12294	// tag value.
12295	Tags map[string]*string `locationName:"tags" type:"map"`
12296}
12297
12298// String returns the string representation
12299func (s CreateApplicationRequest) String() string {
12300	return awsutil.Prettify(s)
12301}
12302
12303// GoString returns the string representation
12304func (s CreateApplicationRequest) GoString() string {
12305	return s.String()
12306}
12307
12308// Validate inspects the fields of the type to determine if they are valid.
12309func (s *CreateApplicationRequest) Validate() error {
12310	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationRequest"}
12311	if s.Name == nil {
12312		invalidParams.Add(request.NewErrParamRequired("Name"))
12313	}
12314
12315	if invalidParams.Len() > 0 {
12316		return invalidParams
12317	}
12318	return nil
12319}
12320
12321// SetName sets the Name field's value.
12322func (s *CreateApplicationRequest) SetName(v string) *CreateApplicationRequest {
12323	s.Name = &v
12324	return s
12325}
12326
12327// SetTags sets the Tags field's value.
12328func (s *CreateApplicationRequest) SetTags(v map[string]*string) *CreateApplicationRequest {
12329	s.Tags = v
12330	return s
12331}
12332
12333type CreateCampaignInput struct {
12334	_ struct{} `type:"structure" payload:"WriteCampaignRequest"`
12335
12336	// ApplicationId is a required field
12337	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
12338
12339	// Specifies the configuration and other settings for a campaign.
12340	//
12341	// WriteCampaignRequest is a required field
12342	WriteCampaignRequest *WriteCampaignRequest `type:"structure" required:"true"`
12343}
12344
12345// String returns the string representation
12346func (s CreateCampaignInput) String() string {
12347	return awsutil.Prettify(s)
12348}
12349
12350// GoString returns the string representation
12351func (s CreateCampaignInput) GoString() string {
12352	return s.String()
12353}
12354
12355// Validate inspects the fields of the type to determine if they are valid.
12356func (s *CreateCampaignInput) Validate() error {
12357	invalidParams := request.ErrInvalidParams{Context: "CreateCampaignInput"}
12358	if s.ApplicationId == nil {
12359		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
12360	}
12361	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
12362		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
12363	}
12364	if s.WriteCampaignRequest == nil {
12365		invalidParams.Add(request.NewErrParamRequired("WriteCampaignRequest"))
12366	}
12367	if s.WriteCampaignRequest != nil {
12368		if err := s.WriteCampaignRequest.Validate(); err != nil {
12369			invalidParams.AddNested("WriteCampaignRequest", err.(request.ErrInvalidParams))
12370		}
12371	}
12372
12373	if invalidParams.Len() > 0 {
12374		return invalidParams
12375	}
12376	return nil
12377}
12378
12379// SetApplicationId sets the ApplicationId field's value.
12380func (s *CreateCampaignInput) SetApplicationId(v string) *CreateCampaignInput {
12381	s.ApplicationId = &v
12382	return s
12383}
12384
12385// SetWriteCampaignRequest sets the WriteCampaignRequest field's value.
12386func (s *CreateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) *CreateCampaignInput {
12387	s.WriteCampaignRequest = v
12388	return s
12389}
12390
12391type CreateCampaignOutput struct {
12392	_ struct{} `type:"structure" payload:"CampaignResponse"`
12393
12394	// Provides information about the status, configuration, and other settings
12395	// for a campaign.
12396	//
12397	// CampaignResponse is a required field
12398	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
12399}
12400
12401// String returns the string representation
12402func (s CreateCampaignOutput) String() string {
12403	return awsutil.Prettify(s)
12404}
12405
12406// GoString returns the string representation
12407func (s CreateCampaignOutput) GoString() string {
12408	return s.String()
12409}
12410
12411// SetCampaignResponse sets the CampaignResponse field's value.
12412func (s *CreateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *CreateCampaignOutput {
12413	s.CampaignResponse = v
12414	return s
12415}
12416
12417type CreateEmailTemplateInput struct {
12418	_ struct{} `type:"structure" payload:"EmailTemplateRequest"`
12419
12420	// Specifies the content and settings for a message template that can be used
12421	// in messages that are sent through the email channel.
12422	//
12423	// EmailTemplateRequest is a required field
12424	EmailTemplateRequest *EmailTemplateRequest `type:"structure" required:"true"`
12425
12426	// TemplateName is a required field
12427	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
12428}
12429
12430// String returns the string representation
12431func (s CreateEmailTemplateInput) String() string {
12432	return awsutil.Prettify(s)
12433}
12434
12435// GoString returns the string representation
12436func (s CreateEmailTemplateInput) GoString() string {
12437	return s.String()
12438}
12439
12440// Validate inspects the fields of the type to determine if they are valid.
12441func (s *CreateEmailTemplateInput) Validate() error {
12442	invalidParams := request.ErrInvalidParams{Context: "CreateEmailTemplateInput"}
12443	if s.EmailTemplateRequest == nil {
12444		invalidParams.Add(request.NewErrParamRequired("EmailTemplateRequest"))
12445	}
12446	if s.TemplateName == nil {
12447		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
12448	}
12449	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
12450		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
12451	}
12452
12453	if invalidParams.Len() > 0 {
12454		return invalidParams
12455	}
12456	return nil
12457}
12458
12459// SetEmailTemplateRequest sets the EmailTemplateRequest field's value.
12460func (s *CreateEmailTemplateInput) SetEmailTemplateRequest(v *EmailTemplateRequest) *CreateEmailTemplateInput {
12461	s.EmailTemplateRequest = v
12462	return s
12463}
12464
12465// SetTemplateName sets the TemplateName field's value.
12466func (s *CreateEmailTemplateInput) SetTemplateName(v string) *CreateEmailTemplateInput {
12467	s.TemplateName = &v
12468	return s
12469}
12470
12471type CreateEmailTemplateOutput struct {
12472	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
12473
12474	// Provides information about an API request or response.
12475	//
12476	// CreateTemplateMessageBody is a required field
12477	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
12478}
12479
12480// String returns the string representation
12481func (s CreateEmailTemplateOutput) String() string {
12482	return awsutil.Prettify(s)
12483}
12484
12485// GoString returns the string representation
12486func (s CreateEmailTemplateOutput) GoString() string {
12487	return s.String()
12488}
12489
12490// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
12491func (s *CreateEmailTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateEmailTemplateOutput {
12492	s.CreateTemplateMessageBody = v
12493	return s
12494}
12495
12496type CreateExportJobInput struct {
12497	_ struct{} `type:"structure" payload:"ExportJobRequest"`
12498
12499	// ApplicationId is a required field
12500	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
12501
12502	// Specifies the settings for a job that exports endpoint definitions to an
12503	// Amazon Simple Storage Service (Amazon S3) bucket.
12504	//
12505	// ExportJobRequest is a required field
12506	ExportJobRequest *ExportJobRequest `type:"structure" required:"true"`
12507}
12508
12509// String returns the string representation
12510func (s CreateExportJobInput) String() string {
12511	return awsutil.Prettify(s)
12512}
12513
12514// GoString returns the string representation
12515func (s CreateExportJobInput) GoString() string {
12516	return s.String()
12517}
12518
12519// Validate inspects the fields of the type to determine if they are valid.
12520func (s *CreateExportJobInput) Validate() error {
12521	invalidParams := request.ErrInvalidParams{Context: "CreateExportJobInput"}
12522	if s.ApplicationId == nil {
12523		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
12524	}
12525	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
12526		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
12527	}
12528	if s.ExportJobRequest == nil {
12529		invalidParams.Add(request.NewErrParamRequired("ExportJobRequest"))
12530	}
12531	if s.ExportJobRequest != nil {
12532		if err := s.ExportJobRequest.Validate(); err != nil {
12533			invalidParams.AddNested("ExportJobRequest", err.(request.ErrInvalidParams))
12534		}
12535	}
12536
12537	if invalidParams.Len() > 0 {
12538		return invalidParams
12539	}
12540	return nil
12541}
12542
12543// SetApplicationId sets the ApplicationId field's value.
12544func (s *CreateExportJobInput) SetApplicationId(v string) *CreateExportJobInput {
12545	s.ApplicationId = &v
12546	return s
12547}
12548
12549// SetExportJobRequest sets the ExportJobRequest field's value.
12550func (s *CreateExportJobInput) SetExportJobRequest(v *ExportJobRequest) *CreateExportJobInput {
12551	s.ExportJobRequest = v
12552	return s
12553}
12554
12555type CreateExportJobOutput struct {
12556	_ struct{} `type:"structure" payload:"ExportJobResponse"`
12557
12558	// Provides information about the status and settings of a job that exports
12559	// endpoint definitions to a file. The file can be added directly to an Amazon
12560	// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
12561	// or downloaded directly to a computer by using the Amazon Pinpoint console.
12562	//
12563	// ExportJobResponse is a required field
12564	ExportJobResponse *ExportJobResponse `type:"structure" required:"true"`
12565}
12566
12567// String returns the string representation
12568func (s CreateExportJobOutput) String() string {
12569	return awsutil.Prettify(s)
12570}
12571
12572// GoString returns the string representation
12573func (s CreateExportJobOutput) GoString() string {
12574	return s.String()
12575}
12576
12577// SetExportJobResponse sets the ExportJobResponse field's value.
12578func (s *CreateExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *CreateExportJobOutput {
12579	s.ExportJobResponse = v
12580	return s
12581}
12582
12583type CreateImportJobInput struct {
12584	_ struct{} `type:"structure" payload:"ImportJobRequest"`
12585
12586	// ApplicationId is a required field
12587	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
12588
12589	// Specifies the settings for a job that imports endpoint definitions from an
12590	// Amazon Simple Storage Service (Amazon S3) bucket.
12591	//
12592	// ImportJobRequest is a required field
12593	ImportJobRequest *ImportJobRequest `type:"structure" required:"true"`
12594}
12595
12596// String returns the string representation
12597func (s CreateImportJobInput) String() string {
12598	return awsutil.Prettify(s)
12599}
12600
12601// GoString returns the string representation
12602func (s CreateImportJobInput) GoString() string {
12603	return s.String()
12604}
12605
12606// Validate inspects the fields of the type to determine if they are valid.
12607func (s *CreateImportJobInput) Validate() error {
12608	invalidParams := request.ErrInvalidParams{Context: "CreateImportJobInput"}
12609	if s.ApplicationId == nil {
12610		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
12611	}
12612	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
12613		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
12614	}
12615	if s.ImportJobRequest == nil {
12616		invalidParams.Add(request.NewErrParamRequired("ImportJobRequest"))
12617	}
12618	if s.ImportJobRequest != nil {
12619		if err := s.ImportJobRequest.Validate(); err != nil {
12620			invalidParams.AddNested("ImportJobRequest", err.(request.ErrInvalidParams))
12621		}
12622	}
12623
12624	if invalidParams.Len() > 0 {
12625		return invalidParams
12626	}
12627	return nil
12628}
12629
12630// SetApplicationId sets the ApplicationId field's value.
12631func (s *CreateImportJobInput) SetApplicationId(v string) *CreateImportJobInput {
12632	s.ApplicationId = &v
12633	return s
12634}
12635
12636// SetImportJobRequest sets the ImportJobRequest field's value.
12637func (s *CreateImportJobInput) SetImportJobRequest(v *ImportJobRequest) *CreateImportJobInput {
12638	s.ImportJobRequest = v
12639	return s
12640}
12641
12642type CreateImportJobOutput struct {
12643	_ struct{} `type:"structure" payload:"ImportJobResponse"`
12644
12645	// Provides information about the status and settings of a job that imports
12646	// endpoint definitions from one or more files. The files can be stored in an
12647	// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
12648	// a computer by using the Amazon Pinpoint console.
12649	//
12650	// ImportJobResponse is a required field
12651	ImportJobResponse *ImportJobResponse `type:"structure" required:"true"`
12652}
12653
12654// String returns the string representation
12655func (s CreateImportJobOutput) String() string {
12656	return awsutil.Prettify(s)
12657}
12658
12659// GoString returns the string representation
12660func (s CreateImportJobOutput) GoString() string {
12661	return s.String()
12662}
12663
12664// SetImportJobResponse sets the ImportJobResponse field's value.
12665func (s *CreateImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *CreateImportJobOutput {
12666	s.ImportJobResponse = v
12667	return s
12668}
12669
12670type CreatePushTemplateInput struct {
12671	_ struct{} `type:"structure" payload:"PushNotificationTemplateRequest"`
12672
12673	// Specifies the content and settings for a message template that can be used
12674	// in messages that are sent through a push notification channel.
12675	//
12676	// PushNotificationTemplateRequest is a required field
12677	PushNotificationTemplateRequest *PushNotificationTemplateRequest `type:"structure" required:"true"`
12678
12679	// TemplateName is a required field
12680	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
12681}
12682
12683// String returns the string representation
12684func (s CreatePushTemplateInput) String() string {
12685	return awsutil.Prettify(s)
12686}
12687
12688// GoString returns the string representation
12689func (s CreatePushTemplateInput) GoString() string {
12690	return s.String()
12691}
12692
12693// Validate inspects the fields of the type to determine if they are valid.
12694func (s *CreatePushTemplateInput) Validate() error {
12695	invalidParams := request.ErrInvalidParams{Context: "CreatePushTemplateInput"}
12696	if s.PushNotificationTemplateRequest == nil {
12697		invalidParams.Add(request.NewErrParamRequired("PushNotificationTemplateRequest"))
12698	}
12699	if s.TemplateName == nil {
12700		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
12701	}
12702	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
12703		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
12704	}
12705
12706	if invalidParams.Len() > 0 {
12707		return invalidParams
12708	}
12709	return nil
12710}
12711
12712// SetPushNotificationTemplateRequest sets the PushNotificationTemplateRequest field's value.
12713func (s *CreatePushTemplateInput) SetPushNotificationTemplateRequest(v *PushNotificationTemplateRequest) *CreatePushTemplateInput {
12714	s.PushNotificationTemplateRequest = v
12715	return s
12716}
12717
12718// SetTemplateName sets the TemplateName field's value.
12719func (s *CreatePushTemplateInput) SetTemplateName(v string) *CreatePushTemplateInput {
12720	s.TemplateName = &v
12721	return s
12722}
12723
12724type CreatePushTemplateOutput struct {
12725	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
12726
12727	// Provides information about an API request or response.
12728	//
12729	// CreateTemplateMessageBody is a required field
12730	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
12731}
12732
12733// String returns the string representation
12734func (s CreatePushTemplateOutput) String() string {
12735	return awsutil.Prettify(s)
12736}
12737
12738// GoString returns the string representation
12739func (s CreatePushTemplateOutput) GoString() string {
12740	return s.String()
12741}
12742
12743// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
12744func (s *CreatePushTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreatePushTemplateOutput {
12745	s.CreateTemplateMessageBody = v
12746	return s
12747}
12748
12749type CreateSegmentInput struct {
12750	_ struct{} `type:"structure" payload:"WriteSegmentRequest"`
12751
12752	// ApplicationId is a required field
12753	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
12754
12755	// Specifies the configuration, dimension, and other settings for a segment.
12756	// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
12757	// object, but not both.
12758	//
12759	// WriteSegmentRequest is a required field
12760	WriteSegmentRequest *WriteSegmentRequest `type:"structure" required:"true"`
12761}
12762
12763// String returns the string representation
12764func (s CreateSegmentInput) String() string {
12765	return awsutil.Prettify(s)
12766}
12767
12768// GoString returns the string representation
12769func (s CreateSegmentInput) GoString() string {
12770	return s.String()
12771}
12772
12773// Validate inspects the fields of the type to determine if they are valid.
12774func (s *CreateSegmentInput) Validate() error {
12775	invalidParams := request.ErrInvalidParams{Context: "CreateSegmentInput"}
12776	if s.ApplicationId == nil {
12777		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
12778	}
12779	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
12780		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
12781	}
12782	if s.WriteSegmentRequest == nil {
12783		invalidParams.Add(request.NewErrParamRequired("WriteSegmentRequest"))
12784	}
12785	if s.WriteSegmentRequest != nil {
12786		if err := s.WriteSegmentRequest.Validate(); err != nil {
12787			invalidParams.AddNested("WriteSegmentRequest", err.(request.ErrInvalidParams))
12788		}
12789	}
12790
12791	if invalidParams.Len() > 0 {
12792		return invalidParams
12793	}
12794	return nil
12795}
12796
12797// SetApplicationId sets the ApplicationId field's value.
12798func (s *CreateSegmentInput) SetApplicationId(v string) *CreateSegmentInput {
12799	s.ApplicationId = &v
12800	return s
12801}
12802
12803// SetWriteSegmentRequest sets the WriteSegmentRequest field's value.
12804func (s *CreateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *CreateSegmentInput {
12805	s.WriteSegmentRequest = v
12806	return s
12807}
12808
12809type CreateSegmentOutput struct {
12810	_ struct{} `type:"structure" payload:"SegmentResponse"`
12811
12812	// Provides information about the configuration, dimension, and other settings
12813	// for a segment.
12814	//
12815	// SegmentResponse is a required field
12816	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
12817}
12818
12819// String returns the string representation
12820func (s CreateSegmentOutput) String() string {
12821	return awsutil.Prettify(s)
12822}
12823
12824// GoString returns the string representation
12825func (s CreateSegmentOutput) GoString() string {
12826	return s.String()
12827}
12828
12829// SetSegmentResponse sets the SegmentResponse field's value.
12830func (s *CreateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *CreateSegmentOutput {
12831	s.SegmentResponse = v
12832	return s
12833}
12834
12835type CreateSmsTemplateInput struct {
12836	_ struct{} `type:"structure" payload:"SMSTemplateRequest"`
12837
12838	// Specifies the content and settings for a message template that can be used
12839	// in text messages that are sent through the SMS channel.
12840	//
12841	// SMSTemplateRequest is a required field
12842	SMSTemplateRequest *SMSTemplateRequest `type:"structure" required:"true"`
12843
12844	// TemplateName is a required field
12845	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
12846}
12847
12848// String returns the string representation
12849func (s CreateSmsTemplateInput) String() string {
12850	return awsutil.Prettify(s)
12851}
12852
12853// GoString returns the string representation
12854func (s CreateSmsTemplateInput) GoString() string {
12855	return s.String()
12856}
12857
12858// Validate inspects the fields of the type to determine if they are valid.
12859func (s *CreateSmsTemplateInput) Validate() error {
12860	invalidParams := request.ErrInvalidParams{Context: "CreateSmsTemplateInput"}
12861	if s.SMSTemplateRequest == nil {
12862		invalidParams.Add(request.NewErrParamRequired("SMSTemplateRequest"))
12863	}
12864	if s.TemplateName == nil {
12865		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
12866	}
12867	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
12868		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
12869	}
12870
12871	if invalidParams.Len() > 0 {
12872		return invalidParams
12873	}
12874	return nil
12875}
12876
12877// SetSMSTemplateRequest sets the SMSTemplateRequest field's value.
12878func (s *CreateSmsTemplateInput) SetSMSTemplateRequest(v *SMSTemplateRequest) *CreateSmsTemplateInput {
12879	s.SMSTemplateRequest = v
12880	return s
12881}
12882
12883// SetTemplateName sets the TemplateName field's value.
12884func (s *CreateSmsTemplateInput) SetTemplateName(v string) *CreateSmsTemplateInput {
12885	s.TemplateName = &v
12886	return s
12887}
12888
12889type CreateSmsTemplateOutput struct {
12890	_ struct{} `type:"structure" payload:"CreateTemplateMessageBody"`
12891
12892	// Provides information about an API request or response.
12893	//
12894	// CreateTemplateMessageBody is a required field
12895	CreateTemplateMessageBody *CreateTemplateMessageBody `type:"structure" required:"true"`
12896}
12897
12898// String returns the string representation
12899func (s CreateSmsTemplateOutput) String() string {
12900	return awsutil.Prettify(s)
12901}
12902
12903// GoString returns the string representation
12904func (s CreateSmsTemplateOutput) GoString() string {
12905	return s.String()
12906}
12907
12908// SetCreateTemplateMessageBody sets the CreateTemplateMessageBody field's value.
12909func (s *CreateSmsTemplateOutput) SetCreateTemplateMessageBody(v *CreateTemplateMessageBody) *CreateSmsTemplateOutput {
12910	s.CreateTemplateMessageBody = v
12911	return s
12912}
12913
12914// Provides information about an API request or response.
12915type CreateTemplateMessageBody struct {
12916	_ struct{} `type:"structure"`
12917
12918	Arn *string `type:"string"`
12919
12920	Message *string `type:"string"`
12921
12922	RequestID *string `type:"string"`
12923}
12924
12925// String returns the string representation
12926func (s CreateTemplateMessageBody) String() string {
12927	return awsutil.Prettify(s)
12928}
12929
12930// GoString returns the string representation
12931func (s CreateTemplateMessageBody) GoString() string {
12932	return s.String()
12933}
12934
12935// SetArn sets the Arn field's value.
12936func (s *CreateTemplateMessageBody) SetArn(v string) *CreateTemplateMessageBody {
12937	s.Arn = &v
12938	return s
12939}
12940
12941// SetMessage sets the Message field's value.
12942func (s *CreateTemplateMessageBody) SetMessage(v string) *CreateTemplateMessageBody {
12943	s.Message = &v
12944	return s
12945}
12946
12947// SetRequestID sets the RequestID field's value.
12948func (s *CreateTemplateMessageBody) SetRequestID(v string) *CreateTemplateMessageBody {
12949	s.RequestID = &v
12950	return s
12951}
12952
12953// Specifies the default message to use for all channels.
12954type DefaultMessage struct {
12955	_ struct{} `type:"structure"`
12956
12957	// The default message body of the push notification, email, or SMS message.
12958	Body *string `type:"string"`
12959
12960	// The default message variables to use in the push notification, email, or
12961	// SMS message. You can override these default variables with individual address
12962	// variables.
12963	Substitutions map[string][]*string `type:"map"`
12964}
12965
12966// String returns the string representation
12967func (s DefaultMessage) String() string {
12968	return awsutil.Prettify(s)
12969}
12970
12971// GoString returns the string representation
12972func (s DefaultMessage) GoString() string {
12973	return s.String()
12974}
12975
12976// SetBody sets the Body field's value.
12977func (s *DefaultMessage) SetBody(v string) *DefaultMessage {
12978	s.Body = &v
12979	return s
12980}
12981
12982// SetSubstitutions sets the Substitutions field's value.
12983func (s *DefaultMessage) SetSubstitutions(v map[string][]*string) *DefaultMessage {
12984	s.Substitutions = v
12985	return s
12986}
12987
12988// Specifies the default settings and content for a push notification that's
12989// sent directly to an endpoint.
12990type DefaultPushNotificationMessage struct {
12991	_ struct{} `type:"structure"`
12992
12993	// The default action to occur if a recipient taps the push notification. Valid
12994	// values are:
12995	//
12996	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
12997	//    sent to the background. This is the default action.
12998	//
12999	//    * DEEP_LINK - Your app opens and displays a designated user interface
13000	//    in the app. This setting uses the deep-linking features of the iOS and
13001	//    Android platforms.
13002	//
13003	//    * URL - The default mobile browser on the recipient's device opens and
13004	//    loads the web page at a URL that you specify.
13005	Action *string `type:"string" enum:"Action"`
13006
13007	// The default body of the notification message.
13008	Body *string `type:"string"`
13009
13010	// The JSON data payload to use for the default push notification, if the notification
13011	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
13012	// object of the notification.
13013	Data map[string]*string `type:"map"`
13014
13015	// Specifies whether the default notification is a silent push notification,
13016	// which is a push notification that doesn't display on a recipient's device.
13017	// Silent push notifications can be used for cases such as updating an app's
13018	// configuration or delivering messages to an in-app notification center.
13019	SilentPush *bool `type:"boolean"`
13020
13021	// The default message variables to use in the notification message. You can
13022	// override the default variables with individual address variables.
13023	Substitutions map[string][]*string `type:"map"`
13024
13025	// The default title to display above the notification message on a recipient's
13026	// device.
13027	Title *string `type:"string"`
13028
13029	// The default URL to open in a recipient's default mobile browser, if a recipient
13030	// taps the push notification and the value of the Action property is URL.
13031	Url *string `type:"string"`
13032}
13033
13034// String returns the string representation
13035func (s DefaultPushNotificationMessage) String() string {
13036	return awsutil.Prettify(s)
13037}
13038
13039// GoString returns the string representation
13040func (s DefaultPushNotificationMessage) GoString() string {
13041	return s.String()
13042}
13043
13044// SetAction sets the Action field's value.
13045func (s *DefaultPushNotificationMessage) SetAction(v string) *DefaultPushNotificationMessage {
13046	s.Action = &v
13047	return s
13048}
13049
13050// SetBody sets the Body field's value.
13051func (s *DefaultPushNotificationMessage) SetBody(v string) *DefaultPushNotificationMessage {
13052	s.Body = &v
13053	return s
13054}
13055
13056// SetData sets the Data field's value.
13057func (s *DefaultPushNotificationMessage) SetData(v map[string]*string) *DefaultPushNotificationMessage {
13058	s.Data = v
13059	return s
13060}
13061
13062// SetSilentPush sets the SilentPush field's value.
13063func (s *DefaultPushNotificationMessage) SetSilentPush(v bool) *DefaultPushNotificationMessage {
13064	s.SilentPush = &v
13065	return s
13066}
13067
13068// SetSubstitutions sets the Substitutions field's value.
13069func (s *DefaultPushNotificationMessage) SetSubstitutions(v map[string][]*string) *DefaultPushNotificationMessage {
13070	s.Substitutions = v
13071	return s
13072}
13073
13074// SetTitle sets the Title field's value.
13075func (s *DefaultPushNotificationMessage) SetTitle(v string) *DefaultPushNotificationMessage {
13076	s.Title = &v
13077	return s
13078}
13079
13080// SetUrl sets the Url field's value.
13081func (s *DefaultPushNotificationMessage) SetUrl(v string) *DefaultPushNotificationMessage {
13082	s.Url = &v
13083	return s
13084}
13085
13086// Specifies the settings and content for the default message template that's
13087// used in messages that are sent through a push notification channel.
13088type DefaultPushNotificationTemplate struct {
13089	_ struct{} `type:"structure"`
13090
13091	// The action to occur if a recipient taps a push notification that's based
13092	// on the message template. Valid values are:
13093	//
13094	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
13095	//    sent to the background. This is the default action.
13096	//
13097	//    * DEEP_LINK - Your app opens and displays a designated user interface
13098	//    in the app. This setting uses the deep-linking features of the iOS and
13099	//    Android platforms.
13100	//
13101	//    * URL - The default mobile browser on the recipient's device opens and
13102	//    loads the web page at a URL that you specify.
13103	Action *string `type:"string" enum:"Action"`
13104
13105	// The message body to use in push notifications that are based on the message
13106	// template.
13107	Body *string `type:"string"`
13108
13109	// The sound to play when a recipient receives a push notification that's based
13110	// on the message template. You can use the default stream or specify the file
13111	// name of a sound resource that's bundled in your app. On an Android platform,
13112	// the sound file must reside in /res/raw/.
13113	//
13114	// For an iOS platform, this value is the key for the name of a sound file in
13115	// your app's main bundle or the Library/Sounds folder in your app's data container.
13116	// If the sound file can't be found or you specify default for the value, the
13117	// system plays the default alert sound.
13118	Sound *string `type:"string"`
13119
13120	// The title to use in push notifications that are based on the message template.
13121	// This title appears above the notification message on a recipient's device.
13122	Title *string `type:"string"`
13123
13124	// The URL to open in a recipient's default mobile browser, if a recipient taps
13125	// a push notification that's based on the message template and the value of
13126	// the Action property is URL.
13127	Url *string `type:"string"`
13128}
13129
13130// String returns the string representation
13131func (s DefaultPushNotificationTemplate) String() string {
13132	return awsutil.Prettify(s)
13133}
13134
13135// GoString returns the string representation
13136func (s DefaultPushNotificationTemplate) GoString() string {
13137	return s.String()
13138}
13139
13140// SetAction sets the Action field's value.
13141func (s *DefaultPushNotificationTemplate) SetAction(v string) *DefaultPushNotificationTemplate {
13142	s.Action = &v
13143	return s
13144}
13145
13146// SetBody sets the Body field's value.
13147func (s *DefaultPushNotificationTemplate) SetBody(v string) *DefaultPushNotificationTemplate {
13148	s.Body = &v
13149	return s
13150}
13151
13152// SetSound sets the Sound field's value.
13153func (s *DefaultPushNotificationTemplate) SetSound(v string) *DefaultPushNotificationTemplate {
13154	s.Sound = &v
13155	return s
13156}
13157
13158// SetTitle sets the Title field's value.
13159func (s *DefaultPushNotificationTemplate) SetTitle(v string) *DefaultPushNotificationTemplate {
13160	s.Title = &v
13161	return s
13162}
13163
13164// SetUrl sets the Url field's value.
13165func (s *DefaultPushNotificationTemplate) SetUrl(v string) *DefaultPushNotificationTemplate {
13166	s.Url = &v
13167	return s
13168}
13169
13170type DeleteAdmChannelInput struct {
13171	_ struct{} `type:"structure"`
13172
13173	// ApplicationId is a required field
13174	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
13175}
13176
13177// String returns the string representation
13178func (s DeleteAdmChannelInput) String() string {
13179	return awsutil.Prettify(s)
13180}
13181
13182// GoString returns the string representation
13183func (s DeleteAdmChannelInput) GoString() string {
13184	return s.String()
13185}
13186
13187// Validate inspects the fields of the type to determine if they are valid.
13188func (s *DeleteAdmChannelInput) Validate() error {
13189	invalidParams := request.ErrInvalidParams{Context: "DeleteAdmChannelInput"}
13190	if s.ApplicationId == nil {
13191		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
13192	}
13193	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
13194		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
13195	}
13196
13197	if invalidParams.Len() > 0 {
13198		return invalidParams
13199	}
13200	return nil
13201}
13202
13203// SetApplicationId sets the ApplicationId field's value.
13204func (s *DeleteAdmChannelInput) SetApplicationId(v string) *DeleteAdmChannelInput {
13205	s.ApplicationId = &v
13206	return s
13207}
13208
13209type DeleteAdmChannelOutput struct {
13210	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
13211
13212	// Provides information about the status and settings of the ADM (Amazon Device
13213	// Messaging) channel for an application.
13214	//
13215	// ADMChannelResponse is a required field
13216	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
13217}
13218
13219// String returns the string representation
13220func (s DeleteAdmChannelOutput) String() string {
13221	return awsutil.Prettify(s)
13222}
13223
13224// GoString returns the string representation
13225func (s DeleteAdmChannelOutput) GoString() string {
13226	return s.String()
13227}
13228
13229// SetADMChannelResponse sets the ADMChannelResponse field's value.
13230func (s *DeleteAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *DeleteAdmChannelOutput {
13231	s.ADMChannelResponse = v
13232	return s
13233}
13234
13235type DeleteApnsChannelInput struct {
13236	_ struct{} `type:"structure"`
13237
13238	// ApplicationId is a required field
13239	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
13240}
13241
13242// String returns the string representation
13243func (s DeleteApnsChannelInput) String() string {
13244	return awsutil.Prettify(s)
13245}
13246
13247// GoString returns the string representation
13248func (s DeleteApnsChannelInput) GoString() string {
13249	return s.String()
13250}
13251
13252// Validate inspects the fields of the type to determine if they are valid.
13253func (s *DeleteApnsChannelInput) Validate() error {
13254	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsChannelInput"}
13255	if s.ApplicationId == nil {
13256		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
13257	}
13258	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
13259		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
13260	}
13261
13262	if invalidParams.Len() > 0 {
13263		return invalidParams
13264	}
13265	return nil
13266}
13267
13268// SetApplicationId sets the ApplicationId field's value.
13269func (s *DeleteApnsChannelInput) SetApplicationId(v string) *DeleteApnsChannelInput {
13270	s.ApplicationId = &v
13271	return s
13272}
13273
13274type DeleteApnsChannelOutput struct {
13275	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
13276
13277	// Provides information about the status and settings of the APNs (Apple Push
13278	// Notification service) channel for an application.
13279	//
13280	// APNSChannelResponse is a required field
13281	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
13282}
13283
13284// String returns the string representation
13285func (s DeleteApnsChannelOutput) String() string {
13286	return awsutil.Prettify(s)
13287}
13288
13289// GoString returns the string representation
13290func (s DeleteApnsChannelOutput) GoString() string {
13291	return s.String()
13292}
13293
13294// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
13295func (s *DeleteApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *DeleteApnsChannelOutput {
13296	s.APNSChannelResponse = v
13297	return s
13298}
13299
13300type DeleteApnsSandboxChannelInput struct {
13301	_ struct{} `type:"structure"`
13302
13303	// ApplicationId is a required field
13304	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
13305}
13306
13307// String returns the string representation
13308func (s DeleteApnsSandboxChannelInput) String() string {
13309	return awsutil.Prettify(s)
13310}
13311
13312// GoString returns the string representation
13313func (s DeleteApnsSandboxChannelInput) GoString() string {
13314	return s.String()
13315}
13316
13317// Validate inspects the fields of the type to determine if they are valid.
13318func (s *DeleteApnsSandboxChannelInput) Validate() error {
13319	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsSandboxChannelInput"}
13320	if s.ApplicationId == nil {
13321		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
13322	}
13323	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
13324		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
13325	}
13326
13327	if invalidParams.Len() > 0 {
13328		return invalidParams
13329	}
13330	return nil
13331}
13332
13333// SetApplicationId sets the ApplicationId field's value.
13334func (s *DeleteApnsSandboxChannelInput) SetApplicationId(v string) *DeleteApnsSandboxChannelInput {
13335	s.ApplicationId = &v
13336	return s
13337}
13338
13339type DeleteApnsSandboxChannelOutput struct {
13340	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
13341
13342	// Provides information about the status and settings of the APNs (Apple Push
13343	// Notification service) sandbox channel for an application.
13344	//
13345	// APNSSandboxChannelResponse is a required field
13346	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
13347}
13348
13349// String returns the string representation
13350func (s DeleteApnsSandboxChannelOutput) String() string {
13351	return awsutil.Prettify(s)
13352}
13353
13354// GoString returns the string representation
13355func (s DeleteApnsSandboxChannelOutput) GoString() string {
13356	return s.String()
13357}
13358
13359// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
13360func (s *DeleteApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *DeleteApnsSandboxChannelOutput {
13361	s.APNSSandboxChannelResponse = v
13362	return s
13363}
13364
13365type DeleteApnsVoipChannelInput struct {
13366	_ struct{} `type:"structure"`
13367
13368	// ApplicationId is a required field
13369	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
13370}
13371
13372// String returns the string representation
13373func (s DeleteApnsVoipChannelInput) String() string {
13374	return awsutil.Prettify(s)
13375}
13376
13377// GoString returns the string representation
13378func (s DeleteApnsVoipChannelInput) GoString() string {
13379	return s.String()
13380}
13381
13382// Validate inspects the fields of the type to determine if they are valid.
13383func (s *DeleteApnsVoipChannelInput) Validate() error {
13384	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipChannelInput"}
13385	if s.ApplicationId == nil {
13386		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
13387	}
13388	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
13389		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
13390	}
13391
13392	if invalidParams.Len() > 0 {
13393		return invalidParams
13394	}
13395	return nil
13396}
13397
13398// SetApplicationId sets the ApplicationId field's value.
13399func (s *DeleteApnsVoipChannelInput) SetApplicationId(v string) *DeleteApnsVoipChannelInput {
13400	s.ApplicationId = &v
13401	return s
13402}
13403
13404type DeleteApnsVoipChannelOutput struct {
13405	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
13406
13407	// Provides information about the status and settings of the APNs (Apple Push
13408	// Notification service) VoIP channel for an application.
13409	//
13410	// APNSVoipChannelResponse is a required field
13411	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
13412}
13413
13414// String returns the string representation
13415func (s DeleteApnsVoipChannelOutput) String() string {
13416	return awsutil.Prettify(s)
13417}
13418
13419// GoString returns the string representation
13420func (s DeleteApnsVoipChannelOutput) GoString() string {
13421	return s.String()
13422}
13423
13424// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
13425func (s *DeleteApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *DeleteApnsVoipChannelOutput {
13426	s.APNSVoipChannelResponse = v
13427	return s
13428}
13429
13430type DeleteApnsVoipSandboxChannelInput struct {
13431	_ struct{} `type:"structure"`
13432
13433	// ApplicationId is a required field
13434	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
13435}
13436
13437// String returns the string representation
13438func (s DeleteApnsVoipSandboxChannelInput) String() string {
13439	return awsutil.Prettify(s)
13440}
13441
13442// GoString returns the string representation
13443func (s DeleteApnsVoipSandboxChannelInput) GoString() string {
13444	return s.String()
13445}
13446
13447// Validate inspects the fields of the type to determine if they are valid.
13448func (s *DeleteApnsVoipSandboxChannelInput) Validate() error {
13449	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipSandboxChannelInput"}
13450	if s.ApplicationId == nil {
13451		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
13452	}
13453	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
13454		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
13455	}
13456
13457	if invalidParams.Len() > 0 {
13458		return invalidParams
13459	}
13460	return nil
13461}
13462
13463// SetApplicationId sets the ApplicationId field's value.
13464func (s *DeleteApnsVoipSandboxChannelInput) SetApplicationId(v string) *DeleteApnsVoipSandboxChannelInput {
13465	s.ApplicationId = &v
13466	return s
13467}
13468
13469type DeleteApnsVoipSandboxChannelOutput struct {
13470	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
13471
13472	// Provides information about the status and settings of the APNs (Apple Push
13473	// Notification service) VoIP sandbox channel for an application.
13474	//
13475	// APNSVoipSandboxChannelResponse is a required field
13476	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
13477}
13478
13479// String returns the string representation
13480func (s DeleteApnsVoipSandboxChannelOutput) String() string {
13481	return awsutil.Prettify(s)
13482}
13483
13484// GoString returns the string representation
13485func (s DeleteApnsVoipSandboxChannelOutput) GoString() string {
13486	return s.String()
13487}
13488
13489// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
13490func (s *DeleteApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *DeleteApnsVoipSandboxChannelOutput {
13491	s.APNSVoipSandboxChannelResponse = v
13492	return s
13493}
13494
13495type DeleteAppInput struct {
13496	_ struct{} `type:"structure"`
13497
13498	// ApplicationId is a required field
13499	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
13500}
13501
13502// String returns the string representation
13503func (s DeleteAppInput) String() string {
13504	return awsutil.Prettify(s)
13505}
13506
13507// GoString returns the string representation
13508func (s DeleteAppInput) GoString() string {
13509	return s.String()
13510}
13511
13512// Validate inspects the fields of the type to determine if they are valid.
13513func (s *DeleteAppInput) Validate() error {
13514	invalidParams := request.ErrInvalidParams{Context: "DeleteAppInput"}
13515	if s.ApplicationId == nil {
13516		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
13517	}
13518	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
13519		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
13520	}
13521
13522	if invalidParams.Len() > 0 {
13523		return invalidParams
13524	}
13525	return nil
13526}
13527
13528// SetApplicationId sets the ApplicationId field's value.
13529func (s *DeleteAppInput) SetApplicationId(v string) *DeleteAppInput {
13530	s.ApplicationId = &v
13531	return s
13532}
13533
13534type DeleteAppOutput struct {
13535	_ struct{} `type:"structure" payload:"ApplicationResponse"`
13536
13537	// Provides information about an application.
13538	//
13539	// ApplicationResponse is a required field
13540	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
13541}
13542
13543// String returns the string representation
13544func (s DeleteAppOutput) String() string {
13545	return awsutil.Prettify(s)
13546}
13547
13548// GoString returns the string representation
13549func (s DeleteAppOutput) GoString() string {
13550	return s.String()
13551}
13552
13553// SetApplicationResponse sets the ApplicationResponse field's value.
13554func (s *DeleteAppOutput) SetApplicationResponse(v *ApplicationResponse) *DeleteAppOutput {
13555	s.ApplicationResponse = v
13556	return s
13557}
13558
13559type DeleteBaiduChannelInput struct {
13560	_ struct{} `type:"structure"`
13561
13562	// ApplicationId is a required field
13563	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
13564}
13565
13566// String returns the string representation
13567func (s DeleteBaiduChannelInput) String() string {
13568	return awsutil.Prettify(s)
13569}
13570
13571// GoString returns the string representation
13572func (s DeleteBaiduChannelInput) GoString() string {
13573	return s.String()
13574}
13575
13576// Validate inspects the fields of the type to determine if they are valid.
13577func (s *DeleteBaiduChannelInput) Validate() error {
13578	invalidParams := request.ErrInvalidParams{Context: "DeleteBaiduChannelInput"}
13579	if s.ApplicationId == nil {
13580		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
13581	}
13582	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
13583		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
13584	}
13585
13586	if invalidParams.Len() > 0 {
13587		return invalidParams
13588	}
13589	return nil
13590}
13591
13592// SetApplicationId sets the ApplicationId field's value.
13593func (s *DeleteBaiduChannelInput) SetApplicationId(v string) *DeleteBaiduChannelInput {
13594	s.ApplicationId = &v
13595	return s
13596}
13597
13598type DeleteBaiduChannelOutput struct {
13599	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
13600
13601	// Provides information about the status and settings of the Baidu (Baidu Cloud
13602	// Push) channel for an application.
13603	//
13604	// BaiduChannelResponse is a required field
13605	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
13606}
13607
13608// String returns the string representation
13609func (s DeleteBaiduChannelOutput) String() string {
13610	return awsutil.Prettify(s)
13611}
13612
13613// GoString returns the string representation
13614func (s DeleteBaiduChannelOutput) GoString() string {
13615	return s.String()
13616}
13617
13618// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
13619func (s *DeleteBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *DeleteBaiduChannelOutput {
13620	s.BaiduChannelResponse = v
13621	return s
13622}
13623
13624type DeleteCampaignInput struct {
13625	_ struct{} `type:"structure"`
13626
13627	// ApplicationId is a required field
13628	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
13629
13630	// CampaignId is a required field
13631	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
13632}
13633
13634// String returns the string representation
13635func (s DeleteCampaignInput) String() string {
13636	return awsutil.Prettify(s)
13637}
13638
13639// GoString returns the string representation
13640func (s DeleteCampaignInput) GoString() string {
13641	return s.String()
13642}
13643
13644// Validate inspects the fields of the type to determine if they are valid.
13645func (s *DeleteCampaignInput) Validate() error {
13646	invalidParams := request.ErrInvalidParams{Context: "DeleteCampaignInput"}
13647	if s.ApplicationId == nil {
13648		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
13649	}
13650	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
13651		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
13652	}
13653	if s.CampaignId == nil {
13654		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
13655	}
13656	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
13657		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
13658	}
13659
13660	if invalidParams.Len() > 0 {
13661		return invalidParams
13662	}
13663	return nil
13664}
13665
13666// SetApplicationId sets the ApplicationId field's value.
13667func (s *DeleteCampaignInput) SetApplicationId(v string) *DeleteCampaignInput {
13668	s.ApplicationId = &v
13669	return s
13670}
13671
13672// SetCampaignId sets the CampaignId field's value.
13673func (s *DeleteCampaignInput) SetCampaignId(v string) *DeleteCampaignInput {
13674	s.CampaignId = &v
13675	return s
13676}
13677
13678type DeleteCampaignOutput struct {
13679	_ struct{} `type:"structure" payload:"CampaignResponse"`
13680
13681	// Provides information about the status, configuration, and other settings
13682	// for a campaign.
13683	//
13684	// CampaignResponse is a required field
13685	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
13686}
13687
13688// String returns the string representation
13689func (s DeleteCampaignOutput) String() string {
13690	return awsutil.Prettify(s)
13691}
13692
13693// GoString returns the string representation
13694func (s DeleteCampaignOutput) GoString() string {
13695	return s.String()
13696}
13697
13698// SetCampaignResponse sets the CampaignResponse field's value.
13699func (s *DeleteCampaignOutput) SetCampaignResponse(v *CampaignResponse) *DeleteCampaignOutput {
13700	s.CampaignResponse = v
13701	return s
13702}
13703
13704type DeleteEmailChannelInput struct {
13705	_ struct{} `type:"structure"`
13706
13707	// ApplicationId is a required field
13708	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
13709}
13710
13711// String returns the string representation
13712func (s DeleteEmailChannelInput) String() string {
13713	return awsutil.Prettify(s)
13714}
13715
13716// GoString returns the string representation
13717func (s DeleteEmailChannelInput) GoString() string {
13718	return s.String()
13719}
13720
13721// Validate inspects the fields of the type to determine if they are valid.
13722func (s *DeleteEmailChannelInput) Validate() error {
13723	invalidParams := request.ErrInvalidParams{Context: "DeleteEmailChannelInput"}
13724	if s.ApplicationId == nil {
13725		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
13726	}
13727	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
13728		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
13729	}
13730
13731	if invalidParams.Len() > 0 {
13732		return invalidParams
13733	}
13734	return nil
13735}
13736
13737// SetApplicationId sets the ApplicationId field's value.
13738func (s *DeleteEmailChannelInput) SetApplicationId(v string) *DeleteEmailChannelInput {
13739	s.ApplicationId = &v
13740	return s
13741}
13742
13743type DeleteEmailChannelOutput struct {
13744	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
13745
13746	// Provides information about the status and settings of the email channel for
13747	// an application.
13748	//
13749	// EmailChannelResponse is a required field
13750	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
13751}
13752
13753// String returns the string representation
13754func (s DeleteEmailChannelOutput) String() string {
13755	return awsutil.Prettify(s)
13756}
13757
13758// GoString returns the string representation
13759func (s DeleteEmailChannelOutput) GoString() string {
13760	return s.String()
13761}
13762
13763// SetEmailChannelResponse sets the EmailChannelResponse field's value.
13764func (s *DeleteEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *DeleteEmailChannelOutput {
13765	s.EmailChannelResponse = v
13766	return s
13767}
13768
13769type DeleteEmailTemplateInput struct {
13770	_ struct{} `type:"structure"`
13771
13772	// TemplateName is a required field
13773	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
13774}
13775
13776// String returns the string representation
13777func (s DeleteEmailTemplateInput) String() string {
13778	return awsutil.Prettify(s)
13779}
13780
13781// GoString returns the string representation
13782func (s DeleteEmailTemplateInput) GoString() string {
13783	return s.String()
13784}
13785
13786// Validate inspects the fields of the type to determine if they are valid.
13787func (s *DeleteEmailTemplateInput) Validate() error {
13788	invalidParams := request.ErrInvalidParams{Context: "DeleteEmailTemplateInput"}
13789	if s.TemplateName == nil {
13790		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
13791	}
13792	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
13793		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
13794	}
13795
13796	if invalidParams.Len() > 0 {
13797		return invalidParams
13798	}
13799	return nil
13800}
13801
13802// SetTemplateName sets the TemplateName field's value.
13803func (s *DeleteEmailTemplateInput) SetTemplateName(v string) *DeleteEmailTemplateInput {
13804	s.TemplateName = &v
13805	return s
13806}
13807
13808type DeleteEmailTemplateOutput struct {
13809	_ struct{} `type:"structure" payload:"MessageBody"`
13810
13811	// Provides information about an API request or response.
13812	//
13813	// MessageBody is a required field
13814	MessageBody *MessageBody `type:"structure" required:"true"`
13815}
13816
13817// String returns the string representation
13818func (s DeleteEmailTemplateOutput) String() string {
13819	return awsutil.Prettify(s)
13820}
13821
13822// GoString returns the string representation
13823func (s DeleteEmailTemplateOutput) GoString() string {
13824	return s.String()
13825}
13826
13827// SetMessageBody sets the MessageBody field's value.
13828func (s *DeleteEmailTemplateOutput) SetMessageBody(v *MessageBody) *DeleteEmailTemplateOutput {
13829	s.MessageBody = v
13830	return s
13831}
13832
13833type DeleteEndpointInput struct {
13834	_ struct{} `type:"structure"`
13835
13836	// ApplicationId is a required field
13837	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
13838
13839	// EndpointId is a required field
13840	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
13841}
13842
13843// String returns the string representation
13844func (s DeleteEndpointInput) String() string {
13845	return awsutil.Prettify(s)
13846}
13847
13848// GoString returns the string representation
13849func (s DeleteEndpointInput) GoString() string {
13850	return s.String()
13851}
13852
13853// Validate inspects the fields of the type to determine if they are valid.
13854func (s *DeleteEndpointInput) Validate() error {
13855	invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointInput"}
13856	if s.ApplicationId == nil {
13857		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
13858	}
13859	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
13860		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
13861	}
13862	if s.EndpointId == nil {
13863		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
13864	}
13865	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
13866		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
13867	}
13868
13869	if invalidParams.Len() > 0 {
13870		return invalidParams
13871	}
13872	return nil
13873}
13874
13875// SetApplicationId sets the ApplicationId field's value.
13876func (s *DeleteEndpointInput) SetApplicationId(v string) *DeleteEndpointInput {
13877	s.ApplicationId = &v
13878	return s
13879}
13880
13881// SetEndpointId sets the EndpointId field's value.
13882func (s *DeleteEndpointInput) SetEndpointId(v string) *DeleteEndpointInput {
13883	s.EndpointId = &v
13884	return s
13885}
13886
13887type DeleteEndpointOutput struct {
13888	_ struct{} `type:"structure" payload:"EndpointResponse"`
13889
13890	// Provides information about the channel type and other settings for an endpoint.
13891	//
13892	// EndpointResponse is a required field
13893	EndpointResponse *EndpointResponse `type:"structure" required:"true"`
13894}
13895
13896// String returns the string representation
13897func (s DeleteEndpointOutput) String() string {
13898	return awsutil.Prettify(s)
13899}
13900
13901// GoString returns the string representation
13902func (s DeleteEndpointOutput) GoString() string {
13903	return s.String()
13904}
13905
13906// SetEndpointResponse sets the EndpointResponse field's value.
13907func (s *DeleteEndpointOutput) SetEndpointResponse(v *EndpointResponse) *DeleteEndpointOutput {
13908	s.EndpointResponse = v
13909	return s
13910}
13911
13912type DeleteEventStreamInput struct {
13913	_ struct{} `type:"structure"`
13914
13915	// ApplicationId is a required field
13916	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
13917}
13918
13919// String returns the string representation
13920func (s DeleteEventStreamInput) String() string {
13921	return awsutil.Prettify(s)
13922}
13923
13924// GoString returns the string representation
13925func (s DeleteEventStreamInput) GoString() string {
13926	return s.String()
13927}
13928
13929// Validate inspects the fields of the type to determine if they are valid.
13930func (s *DeleteEventStreamInput) Validate() error {
13931	invalidParams := request.ErrInvalidParams{Context: "DeleteEventStreamInput"}
13932	if s.ApplicationId == nil {
13933		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
13934	}
13935	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
13936		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
13937	}
13938
13939	if invalidParams.Len() > 0 {
13940		return invalidParams
13941	}
13942	return nil
13943}
13944
13945// SetApplicationId sets the ApplicationId field's value.
13946func (s *DeleteEventStreamInput) SetApplicationId(v string) *DeleteEventStreamInput {
13947	s.ApplicationId = &v
13948	return s
13949}
13950
13951type DeleteEventStreamOutput struct {
13952	_ struct{} `type:"structure" payload:"EventStream"`
13953
13954	// Specifies settings for publishing event data to an Amazon Kinesis data stream
13955	// or an Amazon Kinesis Data Firehose delivery stream.
13956	//
13957	// EventStream is a required field
13958	EventStream *EventStream `type:"structure" required:"true"`
13959}
13960
13961// String returns the string representation
13962func (s DeleteEventStreamOutput) String() string {
13963	return awsutil.Prettify(s)
13964}
13965
13966// GoString returns the string representation
13967func (s DeleteEventStreamOutput) GoString() string {
13968	return s.String()
13969}
13970
13971// SetEventStream sets the EventStream field's value.
13972func (s *DeleteEventStreamOutput) SetEventStream(v *EventStream) *DeleteEventStreamOutput {
13973	s.EventStream = v
13974	return s
13975}
13976
13977type DeleteGcmChannelInput struct {
13978	_ struct{} `type:"structure"`
13979
13980	// ApplicationId is a required field
13981	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
13982}
13983
13984// String returns the string representation
13985func (s DeleteGcmChannelInput) String() string {
13986	return awsutil.Prettify(s)
13987}
13988
13989// GoString returns the string representation
13990func (s DeleteGcmChannelInput) GoString() string {
13991	return s.String()
13992}
13993
13994// Validate inspects the fields of the type to determine if they are valid.
13995func (s *DeleteGcmChannelInput) Validate() error {
13996	invalidParams := request.ErrInvalidParams{Context: "DeleteGcmChannelInput"}
13997	if s.ApplicationId == nil {
13998		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
13999	}
14000	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
14001		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
14002	}
14003
14004	if invalidParams.Len() > 0 {
14005		return invalidParams
14006	}
14007	return nil
14008}
14009
14010// SetApplicationId sets the ApplicationId field's value.
14011func (s *DeleteGcmChannelInput) SetApplicationId(v string) *DeleteGcmChannelInput {
14012	s.ApplicationId = &v
14013	return s
14014}
14015
14016type DeleteGcmChannelOutput struct {
14017	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
14018
14019	// Provides information about the status and settings of the GCM channel for
14020	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
14021	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
14022	// (GCM), service.
14023	//
14024	// GCMChannelResponse is a required field
14025	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
14026}
14027
14028// String returns the string representation
14029func (s DeleteGcmChannelOutput) String() string {
14030	return awsutil.Prettify(s)
14031}
14032
14033// GoString returns the string representation
14034func (s DeleteGcmChannelOutput) GoString() string {
14035	return s.String()
14036}
14037
14038// SetGCMChannelResponse sets the GCMChannelResponse field's value.
14039func (s *DeleteGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *DeleteGcmChannelOutput {
14040	s.GCMChannelResponse = v
14041	return s
14042}
14043
14044type DeletePushTemplateInput struct {
14045	_ struct{} `type:"structure"`
14046
14047	// TemplateName is a required field
14048	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
14049}
14050
14051// String returns the string representation
14052func (s DeletePushTemplateInput) String() string {
14053	return awsutil.Prettify(s)
14054}
14055
14056// GoString returns the string representation
14057func (s DeletePushTemplateInput) GoString() string {
14058	return s.String()
14059}
14060
14061// Validate inspects the fields of the type to determine if they are valid.
14062func (s *DeletePushTemplateInput) Validate() error {
14063	invalidParams := request.ErrInvalidParams{Context: "DeletePushTemplateInput"}
14064	if s.TemplateName == nil {
14065		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
14066	}
14067	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
14068		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
14069	}
14070
14071	if invalidParams.Len() > 0 {
14072		return invalidParams
14073	}
14074	return nil
14075}
14076
14077// SetTemplateName sets the TemplateName field's value.
14078func (s *DeletePushTemplateInput) SetTemplateName(v string) *DeletePushTemplateInput {
14079	s.TemplateName = &v
14080	return s
14081}
14082
14083type DeletePushTemplateOutput struct {
14084	_ struct{} `type:"structure" payload:"MessageBody"`
14085
14086	// Provides information about an API request or response.
14087	//
14088	// MessageBody is a required field
14089	MessageBody *MessageBody `type:"structure" required:"true"`
14090}
14091
14092// String returns the string representation
14093func (s DeletePushTemplateOutput) String() string {
14094	return awsutil.Prettify(s)
14095}
14096
14097// GoString returns the string representation
14098func (s DeletePushTemplateOutput) GoString() string {
14099	return s.String()
14100}
14101
14102// SetMessageBody sets the MessageBody field's value.
14103func (s *DeletePushTemplateOutput) SetMessageBody(v *MessageBody) *DeletePushTemplateOutput {
14104	s.MessageBody = v
14105	return s
14106}
14107
14108type DeleteSegmentInput struct {
14109	_ struct{} `type:"structure"`
14110
14111	// ApplicationId is a required field
14112	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
14113
14114	// SegmentId is a required field
14115	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
14116}
14117
14118// String returns the string representation
14119func (s DeleteSegmentInput) String() string {
14120	return awsutil.Prettify(s)
14121}
14122
14123// GoString returns the string representation
14124func (s DeleteSegmentInput) GoString() string {
14125	return s.String()
14126}
14127
14128// Validate inspects the fields of the type to determine if they are valid.
14129func (s *DeleteSegmentInput) Validate() error {
14130	invalidParams := request.ErrInvalidParams{Context: "DeleteSegmentInput"}
14131	if s.ApplicationId == nil {
14132		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
14133	}
14134	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
14135		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
14136	}
14137	if s.SegmentId == nil {
14138		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
14139	}
14140	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
14141		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
14142	}
14143
14144	if invalidParams.Len() > 0 {
14145		return invalidParams
14146	}
14147	return nil
14148}
14149
14150// SetApplicationId sets the ApplicationId field's value.
14151func (s *DeleteSegmentInput) SetApplicationId(v string) *DeleteSegmentInput {
14152	s.ApplicationId = &v
14153	return s
14154}
14155
14156// SetSegmentId sets the SegmentId field's value.
14157func (s *DeleteSegmentInput) SetSegmentId(v string) *DeleteSegmentInput {
14158	s.SegmentId = &v
14159	return s
14160}
14161
14162type DeleteSegmentOutput struct {
14163	_ struct{} `type:"structure" payload:"SegmentResponse"`
14164
14165	// Provides information about the configuration, dimension, and other settings
14166	// for a segment.
14167	//
14168	// SegmentResponse is a required field
14169	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
14170}
14171
14172// String returns the string representation
14173func (s DeleteSegmentOutput) String() string {
14174	return awsutil.Prettify(s)
14175}
14176
14177// GoString returns the string representation
14178func (s DeleteSegmentOutput) GoString() string {
14179	return s.String()
14180}
14181
14182// SetSegmentResponse sets the SegmentResponse field's value.
14183func (s *DeleteSegmentOutput) SetSegmentResponse(v *SegmentResponse) *DeleteSegmentOutput {
14184	s.SegmentResponse = v
14185	return s
14186}
14187
14188type DeleteSmsChannelInput struct {
14189	_ struct{} `type:"structure"`
14190
14191	// ApplicationId is a required field
14192	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
14193}
14194
14195// String returns the string representation
14196func (s DeleteSmsChannelInput) String() string {
14197	return awsutil.Prettify(s)
14198}
14199
14200// GoString returns the string representation
14201func (s DeleteSmsChannelInput) GoString() string {
14202	return s.String()
14203}
14204
14205// Validate inspects the fields of the type to determine if they are valid.
14206func (s *DeleteSmsChannelInput) Validate() error {
14207	invalidParams := request.ErrInvalidParams{Context: "DeleteSmsChannelInput"}
14208	if s.ApplicationId == nil {
14209		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
14210	}
14211	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
14212		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
14213	}
14214
14215	if invalidParams.Len() > 0 {
14216		return invalidParams
14217	}
14218	return nil
14219}
14220
14221// SetApplicationId sets the ApplicationId field's value.
14222func (s *DeleteSmsChannelInput) SetApplicationId(v string) *DeleteSmsChannelInput {
14223	s.ApplicationId = &v
14224	return s
14225}
14226
14227type DeleteSmsChannelOutput struct {
14228	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
14229
14230	// Provides information about the status and settings of the SMS channel for
14231	// an application.
14232	//
14233	// SMSChannelResponse is a required field
14234	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
14235}
14236
14237// String returns the string representation
14238func (s DeleteSmsChannelOutput) String() string {
14239	return awsutil.Prettify(s)
14240}
14241
14242// GoString returns the string representation
14243func (s DeleteSmsChannelOutput) GoString() string {
14244	return s.String()
14245}
14246
14247// SetSMSChannelResponse sets the SMSChannelResponse field's value.
14248func (s *DeleteSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *DeleteSmsChannelOutput {
14249	s.SMSChannelResponse = v
14250	return s
14251}
14252
14253type DeleteSmsTemplateInput struct {
14254	_ struct{} `type:"structure"`
14255
14256	// TemplateName is a required field
14257	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
14258}
14259
14260// String returns the string representation
14261func (s DeleteSmsTemplateInput) String() string {
14262	return awsutil.Prettify(s)
14263}
14264
14265// GoString returns the string representation
14266func (s DeleteSmsTemplateInput) GoString() string {
14267	return s.String()
14268}
14269
14270// Validate inspects the fields of the type to determine if they are valid.
14271func (s *DeleteSmsTemplateInput) Validate() error {
14272	invalidParams := request.ErrInvalidParams{Context: "DeleteSmsTemplateInput"}
14273	if s.TemplateName == nil {
14274		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
14275	}
14276	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
14277		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
14278	}
14279
14280	if invalidParams.Len() > 0 {
14281		return invalidParams
14282	}
14283	return nil
14284}
14285
14286// SetTemplateName sets the TemplateName field's value.
14287func (s *DeleteSmsTemplateInput) SetTemplateName(v string) *DeleteSmsTemplateInput {
14288	s.TemplateName = &v
14289	return s
14290}
14291
14292type DeleteSmsTemplateOutput struct {
14293	_ struct{} `type:"structure" payload:"MessageBody"`
14294
14295	// Provides information about an API request or response.
14296	//
14297	// MessageBody is a required field
14298	MessageBody *MessageBody `type:"structure" required:"true"`
14299}
14300
14301// String returns the string representation
14302func (s DeleteSmsTemplateOutput) String() string {
14303	return awsutil.Prettify(s)
14304}
14305
14306// GoString returns the string representation
14307func (s DeleteSmsTemplateOutput) GoString() string {
14308	return s.String()
14309}
14310
14311// SetMessageBody sets the MessageBody field's value.
14312func (s *DeleteSmsTemplateOutput) SetMessageBody(v *MessageBody) *DeleteSmsTemplateOutput {
14313	s.MessageBody = v
14314	return s
14315}
14316
14317type DeleteUserEndpointsInput struct {
14318	_ struct{} `type:"structure"`
14319
14320	// ApplicationId is a required field
14321	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
14322
14323	// UserId is a required field
14324	UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"`
14325}
14326
14327// String returns the string representation
14328func (s DeleteUserEndpointsInput) String() string {
14329	return awsutil.Prettify(s)
14330}
14331
14332// GoString returns the string representation
14333func (s DeleteUserEndpointsInput) GoString() string {
14334	return s.String()
14335}
14336
14337// Validate inspects the fields of the type to determine if they are valid.
14338func (s *DeleteUserEndpointsInput) Validate() error {
14339	invalidParams := request.ErrInvalidParams{Context: "DeleteUserEndpointsInput"}
14340	if s.ApplicationId == nil {
14341		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
14342	}
14343	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
14344		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
14345	}
14346	if s.UserId == nil {
14347		invalidParams.Add(request.NewErrParamRequired("UserId"))
14348	}
14349	if s.UserId != nil && len(*s.UserId) < 1 {
14350		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
14351	}
14352
14353	if invalidParams.Len() > 0 {
14354		return invalidParams
14355	}
14356	return nil
14357}
14358
14359// SetApplicationId sets the ApplicationId field's value.
14360func (s *DeleteUserEndpointsInput) SetApplicationId(v string) *DeleteUserEndpointsInput {
14361	s.ApplicationId = &v
14362	return s
14363}
14364
14365// SetUserId sets the UserId field's value.
14366func (s *DeleteUserEndpointsInput) SetUserId(v string) *DeleteUserEndpointsInput {
14367	s.UserId = &v
14368	return s
14369}
14370
14371type DeleteUserEndpointsOutput struct {
14372	_ struct{} `type:"structure" payload:"EndpointsResponse"`
14373
14374	// Provides information about all the endpoints that are associated with a user
14375	// ID.
14376	//
14377	// EndpointsResponse is a required field
14378	EndpointsResponse *EndpointsResponse `type:"structure" required:"true"`
14379}
14380
14381// String returns the string representation
14382func (s DeleteUserEndpointsOutput) String() string {
14383	return awsutil.Prettify(s)
14384}
14385
14386// GoString returns the string representation
14387func (s DeleteUserEndpointsOutput) GoString() string {
14388	return s.String()
14389}
14390
14391// SetEndpointsResponse sets the EndpointsResponse field's value.
14392func (s *DeleteUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *DeleteUserEndpointsOutput {
14393	s.EndpointsResponse = v
14394	return s
14395}
14396
14397type DeleteVoiceChannelInput struct {
14398	_ struct{} `type:"structure"`
14399
14400	// ApplicationId is a required field
14401	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
14402}
14403
14404// String returns the string representation
14405func (s DeleteVoiceChannelInput) String() string {
14406	return awsutil.Prettify(s)
14407}
14408
14409// GoString returns the string representation
14410func (s DeleteVoiceChannelInput) GoString() string {
14411	return s.String()
14412}
14413
14414// Validate inspects the fields of the type to determine if they are valid.
14415func (s *DeleteVoiceChannelInput) Validate() error {
14416	invalidParams := request.ErrInvalidParams{Context: "DeleteVoiceChannelInput"}
14417	if s.ApplicationId == nil {
14418		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
14419	}
14420	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
14421		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
14422	}
14423
14424	if invalidParams.Len() > 0 {
14425		return invalidParams
14426	}
14427	return nil
14428}
14429
14430// SetApplicationId sets the ApplicationId field's value.
14431func (s *DeleteVoiceChannelInput) SetApplicationId(v string) *DeleteVoiceChannelInput {
14432	s.ApplicationId = &v
14433	return s
14434}
14435
14436type DeleteVoiceChannelOutput struct {
14437	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
14438
14439	// Provides information about the status and settings of the voice channel for
14440	// an application.
14441	//
14442	// VoiceChannelResponse is a required field
14443	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
14444}
14445
14446// String returns the string representation
14447func (s DeleteVoiceChannelOutput) String() string {
14448	return awsutil.Prettify(s)
14449}
14450
14451// GoString returns the string representation
14452func (s DeleteVoiceChannelOutput) GoString() string {
14453	return s.String()
14454}
14455
14456// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
14457func (s *DeleteVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *DeleteVoiceChannelOutput {
14458	s.VoiceChannelResponse = v
14459	return s
14460}
14461
14462// Specifies the settings and content for the default message and any default
14463// messages that you tailored for specific channels.
14464type DirectMessageConfiguration struct {
14465	_ struct{} `type:"structure"`
14466
14467	// The default push notification message for the ADM (Amazon Device Messaging)
14468	// channel. This message overrides the default push notification message (DefaultPushNotificationMessage).
14469	ADMMessage *ADMMessage `type:"structure"`
14470
14471	// The default push notification message for the APNs (Apple Push Notification
14472	// service) channel. This message overrides the default push notification message
14473	// (DefaultPushNotificationMessage).
14474	APNSMessage *APNSMessage `type:"structure"`
14475
14476	// The default push notification message for the Baidu (Baidu Cloud Push) channel.
14477	// This message overrides the default push notification message (DefaultPushNotificationMessage).
14478	BaiduMessage *BaiduMessage `type:"structure"`
14479
14480	// The default message body for all channels.
14481	DefaultMessage *DefaultMessage `type:"structure"`
14482
14483	// The default push notification message for all push notification channels.
14484	DefaultPushNotificationMessage *DefaultPushNotificationMessage `type:"structure"`
14485
14486	// The default message for the email channel. This message overrides the default
14487	// message (DefaultMessage).
14488	EmailMessage *EmailMessage `type:"structure"`
14489
14490	// The default push notification message for the GCM channel, which is used
14491	// to send notifications through the Firebase Cloud Messaging (FCM), formerly
14492	// Google Cloud Messaging (GCM), service. This message overrides the default
14493	// push notification message (DefaultPushNotificationMessage).
14494	GCMMessage *GCMMessage `type:"structure"`
14495
14496	// The default message for the SMS channel. This message overrides the default
14497	// message (DefaultMessage).
14498	SMSMessage *SMSMessage `type:"structure"`
14499
14500	// The default message for the voice channel. This message overrides the default
14501	// message (DefaultMessage).
14502	VoiceMessage *VoiceMessage `type:"structure"`
14503}
14504
14505// String returns the string representation
14506func (s DirectMessageConfiguration) String() string {
14507	return awsutil.Prettify(s)
14508}
14509
14510// GoString returns the string representation
14511func (s DirectMessageConfiguration) GoString() string {
14512	return s.String()
14513}
14514
14515// SetADMMessage sets the ADMMessage field's value.
14516func (s *DirectMessageConfiguration) SetADMMessage(v *ADMMessage) *DirectMessageConfiguration {
14517	s.ADMMessage = v
14518	return s
14519}
14520
14521// SetAPNSMessage sets the APNSMessage field's value.
14522func (s *DirectMessageConfiguration) SetAPNSMessage(v *APNSMessage) *DirectMessageConfiguration {
14523	s.APNSMessage = v
14524	return s
14525}
14526
14527// SetBaiduMessage sets the BaiduMessage field's value.
14528func (s *DirectMessageConfiguration) SetBaiduMessage(v *BaiduMessage) *DirectMessageConfiguration {
14529	s.BaiduMessage = v
14530	return s
14531}
14532
14533// SetDefaultMessage sets the DefaultMessage field's value.
14534func (s *DirectMessageConfiguration) SetDefaultMessage(v *DefaultMessage) *DirectMessageConfiguration {
14535	s.DefaultMessage = v
14536	return s
14537}
14538
14539// SetDefaultPushNotificationMessage sets the DefaultPushNotificationMessage field's value.
14540func (s *DirectMessageConfiguration) SetDefaultPushNotificationMessage(v *DefaultPushNotificationMessage) *DirectMessageConfiguration {
14541	s.DefaultPushNotificationMessage = v
14542	return s
14543}
14544
14545// SetEmailMessage sets the EmailMessage field's value.
14546func (s *DirectMessageConfiguration) SetEmailMessage(v *EmailMessage) *DirectMessageConfiguration {
14547	s.EmailMessage = v
14548	return s
14549}
14550
14551// SetGCMMessage sets the GCMMessage field's value.
14552func (s *DirectMessageConfiguration) SetGCMMessage(v *GCMMessage) *DirectMessageConfiguration {
14553	s.GCMMessage = v
14554	return s
14555}
14556
14557// SetSMSMessage sets the SMSMessage field's value.
14558func (s *DirectMessageConfiguration) SetSMSMessage(v *SMSMessage) *DirectMessageConfiguration {
14559	s.SMSMessage = v
14560	return s
14561}
14562
14563// SetVoiceMessage sets the VoiceMessage field's value.
14564func (s *DirectMessageConfiguration) SetVoiceMessage(v *VoiceMessage) *DirectMessageConfiguration {
14565	s.VoiceMessage = v
14566	return s
14567}
14568
14569// Specifies the status and settings of the email channel for an application.
14570type EmailChannelRequest struct {
14571	_ struct{} `type:"structure"`
14572
14573	// The configuration set that you want to apply to email that you send through
14574	// the channel by using the Amazon Pinpoint Email API (emailAPIreference.html).
14575	ConfigurationSet *string `type:"string"`
14576
14577	// Specifies whether to enable the email channel for the application.
14578	Enabled *bool `type:"boolean"`
14579
14580	// The verified email address that you want to send email from when you send
14581	// email through the channel.
14582	//
14583	// FromAddress is a required field
14584	FromAddress *string `type:"string" required:"true"`
14585
14586	// The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
14587	// Email Service (Amazon SES), that you want to use when you send email through
14588	// the channel.
14589	//
14590	// Identity is a required field
14591	Identity *string `type:"string" required:"true"`
14592
14593	// The ARN of the AWS Identity and Access Management (IAM) role that you want
14594	// Amazon Pinpoint to use when it submits email-related event data for the channel.
14595	RoleArn *string `type:"string"`
14596}
14597
14598// String returns the string representation
14599func (s EmailChannelRequest) String() string {
14600	return awsutil.Prettify(s)
14601}
14602
14603// GoString returns the string representation
14604func (s EmailChannelRequest) GoString() string {
14605	return s.String()
14606}
14607
14608// Validate inspects the fields of the type to determine if they are valid.
14609func (s *EmailChannelRequest) Validate() error {
14610	invalidParams := request.ErrInvalidParams{Context: "EmailChannelRequest"}
14611	if s.FromAddress == nil {
14612		invalidParams.Add(request.NewErrParamRequired("FromAddress"))
14613	}
14614	if s.Identity == nil {
14615		invalidParams.Add(request.NewErrParamRequired("Identity"))
14616	}
14617
14618	if invalidParams.Len() > 0 {
14619		return invalidParams
14620	}
14621	return nil
14622}
14623
14624// SetConfigurationSet sets the ConfigurationSet field's value.
14625func (s *EmailChannelRequest) SetConfigurationSet(v string) *EmailChannelRequest {
14626	s.ConfigurationSet = &v
14627	return s
14628}
14629
14630// SetEnabled sets the Enabled field's value.
14631func (s *EmailChannelRequest) SetEnabled(v bool) *EmailChannelRequest {
14632	s.Enabled = &v
14633	return s
14634}
14635
14636// SetFromAddress sets the FromAddress field's value.
14637func (s *EmailChannelRequest) SetFromAddress(v string) *EmailChannelRequest {
14638	s.FromAddress = &v
14639	return s
14640}
14641
14642// SetIdentity sets the Identity field's value.
14643func (s *EmailChannelRequest) SetIdentity(v string) *EmailChannelRequest {
14644	s.Identity = &v
14645	return s
14646}
14647
14648// SetRoleArn sets the RoleArn field's value.
14649func (s *EmailChannelRequest) SetRoleArn(v string) *EmailChannelRequest {
14650	s.RoleArn = &v
14651	return s
14652}
14653
14654// Provides information about the status and settings of the email channel for
14655// an application.
14656type EmailChannelResponse struct {
14657	_ struct{} `type:"structure"`
14658
14659	// The unique identifier for the application that the email channel applies
14660	// to.
14661	ApplicationId *string `type:"string"`
14662
14663	// The configuration set that's applied to email that's sent through the channel
14664	// by using the Amazon Pinpoint Email API (emailAPIreference.html).
14665	ConfigurationSet *string `type:"string"`
14666
14667	// The date and time, in ISO 8601 format, when the email channel was enabled.
14668	CreationDate *string `type:"string"`
14669
14670	// Specifies whether the email channel is enabled for the application.
14671	Enabled *bool `type:"boolean"`
14672
14673	// The verified email address that you send email from when you send email through
14674	// the channel.
14675	FromAddress *string `type:"string"`
14676
14677	// (Not used) This property is retained only for backward compatibility.
14678	HasCredential *bool `type:"boolean"`
14679
14680	// (Deprecated) An identifier for the email channel. This property is retained
14681	// only for backward compatibility.
14682	Id *string `type:"string"`
14683
14684	// The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
14685	// Email Service (Amazon SES), that you use when you send email through the
14686	// channel.
14687	Identity *string `type:"string"`
14688
14689	// Specifies whether the email channel is archived.
14690	IsArchived *bool `type:"boolean"`
14691
14692	// The user who last modified the email channel.
14693	LastModifiedBy *string `type:"string"`
14694
14695	// The date and time, in ISO 8601 format, when the email channel was last modified.
14696	LastModifiedDate *string `type:"string"`
14697
14698	// The maximum number of emails that you can send through the channel each second.
14699	MessagesPerSecond *int64 `type:"integer"`
14700
14701	// The type of messaging or notification platform for the channel. For the email
14702	// channel, this value is EMAIL.
14703	//
14704	// Platform is a required field
14705	Platform *string `type:"string" required:"true"`
14706
14707	// The ARN of the AWS Identity and Access Management (IAM) role that Amazon
14708	// Pinpoint uses to submit email-related event data for the channel.
14709	RoleArn *string `type:"string"`
14710
14711	// The current version of the email channel.
14712	Version *int64 `type:"integer"`
14713}
14714
14715// String returns the string representation
14716func (s EmailChannelResponse) String() string {
14717	return awsutil.Prettify(s)
14718}
14719
14720// GoString returns the string representation
14721func (s EmailChannelResponse) GoString() string {
14722	return s.String()
14723}
14724
14725// SetApplicationId sets the ApplicationId field's value.
14726func (s *EmailChannelResponse) SetApplicationId(v string) *EmailChannelResponse {
14727	s.ApplicationId = &v
14728	return s
14729}
14730
14731// SetConfigurationSet sets the ConfigurationSet field's value.
14732func (s *EmailChannelResponse) SetConfigurationSet(v string) *EmailChannelResponse {
14733	s.ConfigurationSet = &v
14734	return s
14735}
14736
14737// SetCreationDate sets the CreationDate field's value.
14738func (s *EmailChannelResponse) SetCreationDate(v string) *EmailChannelResponse {
14739	s.CreationDate = &v
14740	return s
14741}
14742
14743// SetEnabled sets the Enabled field's value.
14744func (s *EmailChannelResponse) SetEnabled(v bool) *EmailChannelResponse {
14745	s.Enabled = &v
14746	return s
14747}
14748
14749// SetFromAddress sets the FromAddress field's value.
14750func (s *EmailChannelResponse) SetFromAddress(v string) *EmailChannelResponse {
14751	s.FromAddress = &v
14752	return s
14753}
14754
14755// SetHasCredential sets the HasCredential field's value.
14756func (s *EmailChannelResponse) SetHasCredential(v bool) *EmailChannelResponse {
14757	s.HasCredential = &v
14758	return s
14759}
14760
14761// SetId sets the Id field's value.
14762func (s *EmailChannelResponse) SetId(v string) *EmailChannelResponse {
14763	s.Id = &v
14764	return s
14765}
14766
14767// SetIdentity sets the Identity field's value.
14768func (s *EmailChannelResponse) SetIdentity(v string) *EmailChannelResponse {
14769	s.Identity = &v
14770	return s
14771}
14772
14773// SetIsArchived sets the IsArchived field's value.
14774func (s *EmailChannelResponse) SetIsArchived(v bool) *EmailChannelResponse {
14775	s.IsArchived = &v
14776	return s
14777}
14778
14779// SetLastModifiedBy sets the LastModifiedBy field's value.
14780func (s *EmailChannelResponse) SetLastModifiedBy(v string) *EmailChannelResponse {
14781	s.LastModifiedBy = &v
14782	return s
14783}
14784
14785// SetLastModifiedDate sets the LastModifiedDate field's value.
14786func (s *EmailChannelResponse) SetLastModifiedDate(v string) *EmailChannelResponse {
14787	s.LastModifiedDate = &v
14788	return s
14789}
14790
14791// SetMessagesPerSecond sets the MessagesPerSecond field's value.
14792func (s *EmailChannelResponse) SetMessagesPerSecond(v int64) *EmailChannelResponse {
14793	s.MessagesPerSecond = &v
14794	return s
14795}
14796
14797// SetPlatform sets the Platform field's value.
14798func (s *EmailChannelResponse) SetPlatform(v string) *EmailChannelResponse {
14799	s.Platform = &v
14800	return s
14801}
14802
14803// SetRoleArn sets the RoleArn field's value.
14804func (s *EmailChannelResponse) SetRoleArn(v string) *EmailChannelResponse {
14805	s.RoleArn = &v
14806	return s
14807}
14808
14809// SetVersion sets the Version field's value.
14810func (s *EmailChannelResponse) SetVersion(v int64) *EmailChannelResponse {
14811	s.Version = &v
14812	return s
14813}
14814
14815// Specifies the default settings and content for a one-time email message that's
14816// sent directly to an endpoint.
14817type EmailMessage struct {
14818	_ struct{} `type:"structure"`
14819
14820	// The body of the email message.
14821	Body *string `type:"string"`
14822
14823	// The email address to forward bounces and complaints to, if feedback forwarding
14824	// is enabled.
14825	FeedbackForwardingAddress *string `type:"string"`
14826
14827	// The verified email address to send the email message from. The default value
14828	// is the FromAddress specified for the email channel.
14829	FromAddress *string `type:"string"`
14830
14831	// The email message, represented as a raw MIME message.
14832	RawEmail *RawEmail `type:"structure"`
14833
14834	// The reply-to email address(es) for the email message. If a recipient replies
14835	// to the email, each reply-to address receives the reply.
14836	ReplyToAddresses []*string `type:"list"`
14837
14838	// The email message, composed of a subject, a text part, and an HTML part.
14839	SimpleEmail *SimpleEmail `type:"structure"`
14840
14841	// The default message variables to use in the email message. You can override
14842	// the default variables with individual address variables.
14843	Substitutions map[string][]*string `type:"map"`
14844}
14845
14846// String returns the string representation
14847func (s EmailMessage) String() string {
14848	return awsutil.Prettify(s)
14849}
14850
14851// GoString returns the string representation
14852func (s EmailMessage) GoString() string {
14853	return s.String()
14854}
14855
14856// SetBody sets the Body field's value.
14857func (s *EmailMessage) SetBody(v string) *EmailMessage {
14858	s.Body = &v
14859	return s
14860}
14861
14862// SetFeedbackForwardingAddress sets the FeedbackForwardingAddress field's value.
14863func (s *EmailMessage) SetFeedbackForwardingAddress(v string) *EmailMessage {
14864	s.FeedbackForwardingAddress = &v
14865	return s
14866}
14867
14868// SetFromAddress sets the FromAddress field's value.
14869func (s *EmailMessage) SetFromAddress(v string) *EmailMessage {
14870	s.FromAddress = &v
14871	return s
14872}
14873
14874// SetRawEmail sets the RawEmail field's value.
14875func (s *EmailMessage) SetRawEmail(v *RawEmail) *EmailMessage {
14876	s.RawEmail = v
14877	return s
14878}
14879
14880// SetReplyToAddresses sets the ReplyToAddresses field's value.
14881func (s *EmailMessage) SetReplyToAddresses(v []*string) *EmailMessage {
14882	s.ReplyToAddresses = v
14883	return s
14884}
14885
14886// SetSimpleEmail sets the SimpleEmail field's value.
14887func (s *EmailMessage) SetSimpleEmail(v *SimpleEmail) *EmailMessage {
14888	s.SimpleEmail = v
14889	return s
14890}
14891
14892// SetSubstitutions sets the Substitutions field's value.
14893func (s *EmailMessage) SetSubstitutions(v map[string][]*string) *EmailMessage {
14894	s.Substitutions = v
14895	return s
14896}
14897
14898// Specifies the content and settings for a message template that can be used
14899// in messages that are sent through the email channel.
14900type EmailTemplateRequest struct {
14901	_ struct{} `type:"structure"`
14902
14903	// The message body, in HTML format, to use in email messages that are based
14904	// on the message template. We recommend using HTML format for email clients
14905	// that support HTML. You can include links, formatted text, and more in an
14906	// HTML message.
14907	HtmlPart *string `type:"string"`
14908
14909	// The subject line, or title, to use in email messages that are based on the
14910	// message template.
14911	Subject *string `type:"string"`
14912
14913	// A string-to-string map of key-value pairs that defines the tags to associate
14914	// with the message template. Each tag consists of a required tag key and an
14915	// associated tag value.
14916	Tags map[string]*string `locationName:"tags" type:"map"`
14917
14918	// The message body, in text format, to use in email messages that are based
14919	// on the message template. We recommend using text format for email clients
14920	// that don't support HTML and clients that are connected to high-latency networks,
14921	// such as mobile devices.
14922	TextPart *string `type:"string"`
14923}
14924
14925// String returns the string representation
14926func (s EmailTemplateRequest) String() string {
14927	return awsutil.Prettify(s)
14928}
14929
14930// GoString returns the string representation
14931func (s EmailTemplateRequest) GoString() string {
14932	return s.String()
14933}
14934
14935// SetHtmlPart sets the HtmlPart field's value.
14936func (s *EmailTemplateRequest) SetHtmlPart(v string) *EmailTemplateRequest {
14937	s.HtmlPart = &v
14938	return s
14939}
14940
14941// SetSubject sets the Subject field's value.
14942func (s *EmailTemplateRequest) SetSubject(v string) *EmailTemplateRequest {
14943	s.Subject = &v
14944	return s
14945}
14946
14947// SetTags sets the Tags field's value.
14948func (s *EmailTemplateRequest) SetTags(v map[string]*string) *EmailTemplateRequest {
14949	s.Tags = v
14950	return s
14951}
14952
14953// SetTextPart sets the TextPart field's value.
14954func (s *EmailTemplateRequest) SetTextPart(v string) *EmailTemplateRequest {
14955	s.TextPart = &v
14956	return s
14957}
14958
14959// Provides information about the content and settings for a message template
14960// that can be used in messages that are sent through the email channel.
14961type EmailTemplateResponse struct {
14962	_ struct{} `type:"structure"`
14963
14964	Arn *string `type:"string"`
14965
14966	// The date when the message template was created.
14967	//
14968	// CreationDate is a required field
14969	CreationDate *string `type:"string" required:"true"`
14970
14971	// The message body, in HTML format, that's used in email messages that are
14972	// based on the message template.
14973	HtmlPart *string `type:"string"`
14974
14975	// The date when the message template was last modified.
14976	//
14977	// LastModifiedDate is a required field
14978	LastModifiedDate *string `type:"string" required:"true"`
14979
14980	// The subject line, or title, that's used in email messages that are based
14981	// on the message template.
14982	Subject *string `type:"string"`
14983
14984	// A string-to-string map of key-value pairs that identifies the tags that are
14985	// associated with the message template. Each tag consists of a required tag
14986	// key and an associated tag value.
14987	Tags map[string]*string `locationName:"tags" type:"map"`
14988
14989	// The name of the message template.
14990	//
14991	// TemplateName is a required field
14992	TemplateName *string `type:"string" required:"true"`
14993
14994	// The type of channel that the message template is designed for. For an email
14995	// template, this value is EMAIL.
14996	//
14997	// TemplateType is a required field
14998	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
14999
15000	// The message body, in text format, that's used in email messages that are
15001	// based on the message template.
15002	TextPart *string `type:"string"`
15003}
15004
15005// String returns the string representation
15006func (s EmailTemplateResponse) String() string {
15007	return awsutil.Prettify(s)
15008}
15009
15010// GoString returns the string representation
15011func (s EmailTemplateResponse) GoString() string {
15012	return s.String()
15013}
15014
15015// SetArn sets the Arn field's value.
15016func (s *EmailTemplateResponse) SetArn(v string) *EmailTemplateResponse {
15017	s.Arn = &v
15018	return s
15019}
15020
15021// SetCreationDate sets the CreationDate field's value.
15022func (s *EmailTemplateResponse) SetCreationDate(v string) *EmailTemplateResponse {
15023	s.CreationDate = &v
15024	return s
15025}
15026
15027// SetHtmlPart sets the HtmlPart field's value.
15028func (s *EmailTemplateResponse) SetHtmlPart(v string) *EmailTemplateResponse {
15029	s.HtmlPart = &v
15030	return s
15031}
15032
15033// SetLastModifiedDate sets the LastModifiedDate field's value.
15034func (s *EmailTemplateResponse) SetLastModifiedDate(v string) *EmailTemplateResponse {
15035	s.LastModifiedDate = &v
15036	return s
15037}
15038
15039// SetSubject sets the Subject field's value.
15040func (s *EmailTemplateResponse) SetSubject(v string) *EmailTemplateResponse {
15041	s.Subject = &v
15042	return s
15043}
15044
15045// SetTags sets the Tags field's value.
15046func (s *EmailTemplateResponse) SetTags(v map[string]*string) *EmailTemplateResponse {
15047	s.Tags = v
15048	return s
15049}
15050
15051// SetTemplateName sets the TemplateName field's value.
15052func (s *EmailTemplateResponse) SetTemplateName(v string) *EmailTemplateResponse {
15053	s.TemplateName = &v
15054	return s
15055}
15056
15057// SetTemplateType sets the TemplateType field's value.
15058func (s *EmailTemplateResponse) SetTemplateType(v string) *EmailTemplateResponse {
15059	s.TemplateType = &v
15060	return s
15061}
15062
15063// SetTextPart sets the TextPart field's value.
15064func (s *EmailTemplateResponse) SetTextPart(v string) *EmailTemplateResponse {
15065	s.TextPart = &v
15066	return s
15067}
15068
15069// Specifies an endpoint to create or update and the settings and attributes
15070// to set or change for the endpoint.
15071type EndpointBatchItem struct {
15072	_ struct{} `type:"structure"`
15073
15074	// The destination address for messages or push notifications that you send
15075	// to the endpoint. The address varies by channel. For a push-notification channel,
15076	// use the token provided by the push notification service, such as an Apple
15077	// Push Notification service (APNs) device token or a Firebase Cloud Messaging
15078	// (FCM) registration token. For the SMS channel, use a phone number in E.164
15079	// format, such as +12065550100. For the email channel, use an email address.
15080	Address *string `type:"string"`
15081
15082	// One or more custom attributes that describe the endpoint by associating a
15083	// name with an array of values. For example, the value of a custom attribute
15084	// named Interests might be: ["science", "music", "travel"]. You can use these
15085	// attributes as filter criteria when you create segments.
15086	//
15087	// When you define the name of a custom attribute, avoid using the following
15088	// characters: number sign (#), colon (:), question mark (?), backslash (\),
15089	// and slash (/). The Amazon Pinpoint console can't display attribute names
15090	// that contain these characters. This limitation doesn't apply to attribute
15091	// values.
15092	Attributes map[string][]*string `type:"map"`
15093
15094	// The channel to use when sending messages or push notifications to the endpoint.
15095	ChannelType *string `type:"string" enum:"ChannelType"`
15096
15097	// The demographic information for the endpoint, such as the time zone and platform.
15098	Demographic *EndpointDemographic `type:"structure"`
15099
15100	// The date and time, in ISO 8601 format, when the endpoint was created or updated.
15101	EffectiveDate *string `type:"string"`
15102
15103	// Specifies whether to send messages or push notifications to the endpoint.
15104	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
15105	// messages aren’t sent to the endpoint.
15106	//
15107	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
15108	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
15109	// this value to INACTIVE if you update another endpoint that has the same address
15110	// specified by the Address property.
15111	EndpointStatus *string `type:"string"`
15112
15113	// The unique identifier for the endpoint in the context of the batch.
15114	Id *string `type:"string"`
15115
15116	// The geographic information for the endpoint.
15117	Location *EndpointLocation `type:"structure"`
15118
15119	// One or more custom metrics that your app reports to Amazon Pinpoint for the
15120	// endpoint.
15121	Metrics map[string]*float64 `type:"map"`
15122
15123	// Specifies whether the user who's associated with the endpoint has opted out
15124	// of receiving messages and push notifications from you. Possible values are:
15125	// ALL, the user has opted out and doesn't want to receive any messages or push
15126	// notifications; and, NONE, the user hasn't opted out and wants to receive
15127	// all messages and push notifications.
15128	OptOut *string `type:"string"`
15129
15130	// The unique identifier for the request to create or update the endpoint.
15131	RequestId *string `type:"string"`
15132
15133	// One or more custom user attributes that your app reports to Amazon Pinpoint
15134	// for the user who's associated with the endpoint.
15135	User *EndpointUser `type:"structure"`
15136}
15137
15138// String returns the string representation
15139func (s EndpointBatchItem) String() string {
15140	return awsutil.Prettify(s)
15141}
15142
15143// GoString returns the string representation
15144func (s EndpointBatchItem) GoString() string {
15145	return s.String()
15146}
15147
15148// SetAddress sets the Address field's value.
15149func (s *EndpointBatchItem) SetAddress(v string) *EndpointBatchItem {
15150	s.Address = &v
15151	return s
15152}
15153
15154// SetAttributes sets the Attributes field's value.
15155func (s *EndpointBatchItem) SetAttributes(v map[string][]*string) *EndpointBatchItem {
15156	s.Attributes = v
15157	return s
15158}
15159
15160// SetChannelType sets the ChannelType field's value.
15161func (s *EndpointBatchItem) SetChannelType(v string) *EndpointBatchItem {
15162	s.ChannelType = &v
15163	return s
15164}
15165
15166// SetDemographic sets the Demographic field's value.
15167func (s *EndpointBatchItem) SetDemographic(v *EndpointDemographic) *EndpointBatchItem {
15168	s.Demographic = v
15169	return s
15170}
15171
15172// SetEffectiveDate sets the EffectiveDate field's value.
15173func (s *EndpointBatchItem) SetEffectiveDate(v string) *EndpointBatchItem {
15174	s.EffectiveDate = &v
15175	return s
15176}
15177
15178// SetEndpointStatus sets the EndpointStatus field's value.
15179func (s *EndpointBatchItem) SetEndpointStatus(v string) *EndpointBatchItem {
15180	s.EndpointStatus = &v
15181	return s
15182}
15183
15184// SetId sets the Id field's value.
15185func (s *EndpointBatchItem) SetId(v string) *EndpointBatchItem {
15186	s.Id = &v
15187	return s
15188}
15189
15190// SetLocation sets the Location field's value.
15191func (s *EndpointBatchItem) SetLocation(v *EndpointLocation) *EndpointBatchItem {
15192	s.Location = v
15193	return s
15194}
15195
15196// SetMetrics sets the Metrics field's value.
15197func (s *EndpointBatchItem) SetMetrics(v map[string]*float64) *EndpointBatchItem {
15198	s.Metrics = v
15199	return s
15200}
15201
15202// SetOptOut sets the OptOut field's value.
15203func (s *EndpointBatchItem) SetOptOut(v string) *EndpointBatchItem {
15204	s.OptOut = &v
15205	return s
15206}
15207
15208// SetRequestId sets the RequestId field's value.
15209func (s *EndpointBatchItem) SetRequestId(v string) *EndpointBatchItem {
15210	s.RequestId = &v
15211	return s
15212}
15213
15214// SetUser sets the User field's value.
15215func (s *EndpointBatchItem) SetUser(v *EndpointUser) *EndpointBatchItem {
15216	s.User = v
15217	return s
15218}
15219
15220// Specifies a batch of endpoints to create or update and the settings and attributes
15221// to set or change for each endpoint.
15222type EndpointBatchRequest struct {
15223	_ struct{} `type:"structure"`
15224
15225	// An array that defines the endpoints to create or update and, for each endpoint,
15226	// the property values to set or change. An array can contain a maximum of 100
15227	// items.
15228	//
15229	// Item is a required field
15230	Item []*EndpointBatchItem `type:"list" required:"true"`
15231}
15232
15233// String returns the string representation
15234func (s EndpointBatchRequest) String() string {
15235	return awsutil.Prettify(s)
15236}
15237
15238// GoString returns the string representation
15239func (s EndpointBatchRequest) GoString() string {
15240	return s.String()
15241}
15242
15243// Validate inspects the fields of the type to determine if they are valid.
15244func (s *EndpointBatchRequest) Validate() error {
15245	invalidParams := request.ErrInvalidParams{Context: "EndpointBatchRequest"}
15246	if s.Item == nil {
15247		invalidParams.Add(request.NewErrParamRequired("Item"))
15248	}
15249
15250	if invalidParams.Len() > 0 {
15251		return invalidParams
15252	}
15253	return nil
15254}
15255
15256// SetItem sets the Item field's value.
15257func (s *EndpointBatchRequest) SetItem(v []*EndpointBatchItem) *EndpointBatchRequest {
15258	s.Item = v
15259	return s
15260}
15261
15262// Specifies demographic information about an endpoint, such as the applicable
15263// time zone and platform.
15264type EndpointDemographic struct {
15265	_ struct{} `type:"structure"`
15266
15267	// The version of the app that's associated with the endpoint.
15268	AppVersion *string `type:"string"`
15269
15270	// The locale of the endpoint, in the following format: the ISO 639-1 alpha-2
15271	// code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 value.
15272	Locale *string `type:"string"`
15273
15274	// The manufacturer of the endpoint device, such as Apple or Samsung.
15275	Make *string `type:"string"`
15276
15277	// The model name or number of the endpoint device, such as iPhone.
15278	Model *string `type:"string"`
15279
15280	// The model version of the endpoint device.
15281	ModelVersion *string `type:"string"`
15282
15283	// The platform of the endpoint device, such as iOS or Android.
15284	Platform *string `type:"string"`
15285
15286	// The platform version of the endpoint device.
15287	PlatformVersion *string `type:"string"`
15288
15289	// The time zone of the endpoint, specified as a tz database name value, such
15290	// as America/Los_Angeles.
15291	Timezone *string `type:"string"`
15292}
15293
15294// String returns the string representation
15295func (s EndpointDemographic) String() string {
15296	return awsutil.Prettify(s)
15297}
15298
15299// GoString returns the string representation
15300func (s EndpointDemographic) GoString() string {
15301	return s.String()
15302}
15303
15304// SetAppVersion sets the AppVersion field's value.
15305func (s *EndpointDemographic) SetAppVersion(v string) *EndpointDemographic {
15306	s.AppVersion = &v
15307	return s
15308}
15309
15310// SetLocale sets the Locale field's value.
15311func (s *EndpointDemographic) SetLocale(v string) *EndpointDemographic {
15312	s.Locale = &v
15313	return s
15314}
15315
15316// SetMake sets the Make field's value.
15317func (s *EndpointDemographic) SetMake(v string) *EndpointDemographic {
15318	s.Make = &v
15319	return s
15320}
15321
15322// SetModel sets the Model field's value.
15323func (s *EndpointDemographic) SetModel(v string) *EndpointDemographic {
15324	s.Model = &v
15325	return s
15326}
15327
15328// SetModelVersion sets the ModelVersion field's value.
15329func (s *EndpointDemographic) SetModelVersion(v string) *EndpointDemographic {
15330	s.ModelVersion = &v
15331	return s
15332}
15333
15334// SetPlatform sets the Platform field's value.
15335func (s *EndpointDemographic) SetPlatform(v string) *EndpointDemographic {
15336	s.Platform = &v
15337	return s
15338}
15339
15340// SetPlatformVersion sets the PlatformVersion field's value.
15341func (s *EndpointDemographic) SetPlatformVersion(v string) *EndpointDemographic {
15342	s.PlatformVersion = &v
15343	return s
15344}
15345
15346// SetTimezone sets the Timezone field's value.
15347func (s *EndpointDemographic) SetTimezone(v string) *EndpointDemographic {
15348	s.Timezone = &v
15349	return s
15350}
15351
15352// Provides the status code and message that result from processing data for
15353// an endpoint.
15354type EndpointItemResponse struct {
15355	_ struct{} `type:"structure"`
15356
15357	// The custom message that's returned in the response as a result of processing
15358	// the endpoint data.
15359	Message *string `type:"string"`
15360
15361	// The status code that's returned in the response as a result of processing
15362	// the endpoint data.
15363	StatusCode *int64 `type:"integer"`
15364}
15365
15366// String returns the string representation
15367func (s EndpointItemResponse) String() string {
15368	return awsutil.Prettify(s)
15369}
15370
15371// GoString returns the string representation
15372func (s EndpointItemResponse) GoString() string {
15373	return s.String()
15374}
15375
15376// SetMessage sets the Message field's value.
15377func (s *EndpointItemResponse) SetMessage(v string) *EndpointItemResponse {
15378	s.Message = &v
15379	return s
15380}
15381
15382// SetStatusCode sets the StatusCode field's value.
15383func (s *EndpointItemResponse) SetStatusCode(v int64) *EndpointItemResponse {
15384	s.StatusCode = &v
15385	return s
15386}
15387
15388// Specifies geographic information about an endpoint.
15389type EndpointLocation struct {
15390	_ struct{} `type:"structure"`
15391
15392	// The name of the city where the endpoint is located.
15393	City *string `type:"string"`
15394
15395	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
15396	// region where the endpoint is located. For example, US for the United States.
15397	Country *string `type:"string"`
15398
15399	// The latitude coordinate of the endpoint location, rounded to one decimal
15400	// place.
15401	Latitude *float64 `type:"double"`
15402
15403	// The longitude coordinate of the endpoint location, rounded to one decimal
15404	// place.
15405	Longitude *float64 `type:"double"`
15406
15407	// The postal or ZIP code for the area where the endpoint is located.
15408	PostalCode *string `type:"string"`
15409
15410	// The name of the region where the endpoint is located. For locations in the
15411	// United States, this value is the name of a state.
15412	Region *string `type:"string"`
15413}
15414
15415// String returns the string representation
15416func (s EndpointLocation) String() string {
15417	return awsutil.Prettify(s)
15418}
15419
15420// GoString returns the string representation
15421func (s EndpointLocation) GoString() string {
15422	return s.String()
15423}
15424
15425// SetCity sets the City field's value.
15426func (s *EndpointLocation) SetCity(v string) *EndpointLocation {
15427	s.City = &v
15428	return s
15429}
15430
15431// SetCountry sets the Country field's value.
15432func (s *EndpointLocation) SetCountry(v string) *EndpointLocation {
15433	s.Country = &v
15434	return s
15435}
15436
15437// SetLatitude sets the Latitude field's value.
15438func (s *EndpointLocation) SetLatitude(v float64) *EndpointLocation {
15439	s.Latitude = &v
15440	return s
15441}
15442
15443// SetLongitude sets the Longitude field's value.
15444func (s *EndpointLocation) SetLongitude(v float64) *EndpointLocation {
15445	s.Longitude = &v
15446	return s
15447}
15448
15449// SetPostalCode sets the PostalCode field's value.
15450func (s *EndpointLocation) SetPostalCode(v string) *EndpointLocation {
15451	s.PostalCode = &v
15452	return s
15453}
15454
15455// SetRegion sets the Region field's value.
15456func (s *EndpointLocation) SetRegion(v string) *EndpointLocation {
15457	s.Region = &v
15458	return s
15459}
15460
15461// Provides information about the delivery status and results of sending a message
15462// directly to an endpoint.
15463type EndpointMessageResult struct {
15464	_ struct{} `type:"structure"`
15465
15466	// The endpoint address that the message was delivered to.
15467	Address *string `type:"string"`
15468
15469	// The delivery status of the message. Possible values are:
15470	//
15471	//    * DUPLICATE - The endpoint address is a duplicate of another endpoint
15472	//    address. Amazon Pinpoint won't attempt to send the message again.
15473	//
15474	//    * OPT_OUT - The user who's associated with the endpoint has opted out
15475	//    of receiving messages from you. Amazon Pinpoint won't attempt to send
15476	//    the message again.
15477	//
15478	//    * PERMANENT_FAILURE - An error occurred when delivering the message to
15479	//    the endpoint. Amazon Pinpoint won't attempt to send the message again.
15480	//
15481	//    * SUCCESSFUL - The message was successfully delivered to the endpoint.
15482	//
15483	//    * TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint will
15484	//    attempt to deliver the message again later.
15485	//
15486	//    * THROTTLED - Amazon Pinpoint throttled the operation to send the message
15487	//    to the endpoint.
15488	//
15489	//    * TIMEOUT - The message couldn't be sent within the timeout period.
15490	//
15491	//    * UNKNOWN_FAILURE - An unknown error occurred.
15492	//
15493	// DeliveryStatus is a required field
15494	DeliveryStatus *string `type:"string" required:"true" enum:"DeliveryStatus"`
15495
15496	// The unique identifier for the message that was sent.
15497	MessageId *string `type:"string"`
15498
15499	// The downstream service status code for delivering the message.
15500	//
15501	// StatusCode is a required field
15502	StatusCode *int64 `type:"integer" required:"true"`
15503
15504	// The status message for delivering the message.
15505	StatusMessage *string `type:"string"`
15506
15507	// For push notifications that are sent through the GCM channel, specifies whether
15508	// the endpoint's device registration token was updated as part of delivering
15509	// the message.
15510	UpdatedToken *string `type:"string"`
15511}
15512
15513// String returns the string representation
15514func (s EndpointMessageResult) String() string {
15515	return awsutil.Prettify(s)
15516}
15517
15518// GoString returns the string representation
15519func (s EndpointMessageResult) GoString() string {
15520	return s.String()
15521}
15522
15523// SetAddress sets the Address field's value.
15524func (s *EndpointMessageResult) SetAddress(v string) *EndpointMessageResult {
15525	s.Address = &v
15526	return s
15527}
15528
15529// SetDeliveryStatus sets the DeliveryStatus field's value.
15530func (s *EndpointMessageResult) SetDeliveryStatus(v string) *EndpointMessageResult {
15531	s.DeliveryStatus = &v
15532	return s
15533}
15534
15535// SetMessageId sets the MessageId field's value.
15536func (s *EndpointMessageResult) SetMessageId(v string) *EndpointMessageResult {
15537	s.MessageId = &v
15538	return s
15539}
15540
15541// SetStatusCode sets the StatusCode field's value.
15542func (s *EndpointMessageResult) SetStatusCode(v int64) *EndpointMessageResult {
15543	s.StatusCode = &v
15544	return s
15545}
15546
15547// SetStatusMessage sets the StatusMessage field's value.
15548func (s *EndpointMessageResult) SetStatusMessage(v string) *EndpointMessageResult {
15549	s.StatusMessage = &v
15550	return s
15551}
15552
15553// SetUpdatedToken sets the UpdatedToken field's value.
15554func (s *EndpointMessageResult) SetUpdatedToken(v string) *EndpointMessageResult {
15555	s.UpdatedToken = &v
15556	return s
15557}
15558
15559// Specifies the channel type and other settings for an endpoint.
15560type EndpointRequest struct {
15561	_ struct{} `type:"structure"`
15562
15563	// The destination address for messages or push notifications that you send
15564	// to the endpoint. The address varies by channel. For a push-notification channel,
15565	// use the token provided by the push notification service, such as an Apple
15566	// Push Notification service (APNs) device token or a Firebase Cloud Messaging
15567	// (FCM) registration token. For the SMS channel, use a phone number in E.164
15568	// format, such as +12065550100. For the email channel, use an email address.
15569	Address *string `type:"string"`
15570
15571	// One or more custom attributes that describe the endpoint by associating a
15572	// name with an array of values. For example, the value of a custom attribute
15573	// named Interests might be: ["science", "music", "travel"]. You can use these
15574	// attributes as filter criteria when you create segments.
15575	//
15576	// When you define the name of a custom attribute, avoid using the following
15577	// characters: number sign (#), colon (:), question mark (?), backslash (\),
15578	// and slash (/). The Amazon Pinpoint console can't display attribute names
15579	// that contain these characters. This limitation doesn't apply to attribute
15580	// values.
15581	Attributes map[string][]*string `type:"map"`
15582
15583	// The channel to use when sending messages or push notifications to the endpoint.
15584	ChannelType *string `type:"string" enum:"ChannelType"`
15585
15586	// The demographic information for the endpoint, such as the time zone and platform.
15587	Demographic *EndpointDemographic `type:"structure"`
15588
15589	// The date and time, in ISO 8601 format, when the endpoint is updated.
15590	EffectiveDate *string `type:"string"`
15591
15592	// Specifies whether to send messages or push notifications to the endpoint.
15593	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
15594	// messages aren’t sent to the endpoint.
15595	//
15596	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
15597	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
15598	// this value to INACTIVE if you update another endpoint that has the same address
15599	// specified by the Address property.
15600	EndpointStatus *string `type:"string"`
15601
15602	// The geographic information for the endpoint.
15603	Location *EndpointLocation `type:"structure"`
15604
15605	// One or more custom metrics that your app reports to Amazon Pinpoint for the
15606	// endpoint.
15607	Metrics map[string]*float64 `type:"map"`
15608
15609	// Specifies whether the user who's associated with the endpoint has opted out
15610	// of receiving messages and push notifications from you. Possible values are:
15611	// ALL, the user has opted out and doesn't want to receive any messages or push
15612	// notifications; and, NONE, the user hasn't opted out and wants to receive
15613	// all messages and push notifications.
15614	OptOut *string `type:"string"`
15615
15616	// The unique identifier for the most recent request to update the endpoint.
15617	RequestId *string `type:"string"`
15618
15619	// One or more custom user attributes that describe the user who's associated
15620	// with the endpoint.
15621	User *EndpointUser `type:"structure"`
15622}
15623
15624// String returns the string representation
15625func (s EndpointRequest) String() string {
15626	return awsutil.Prettify(s)
15627}
15628
15629// GoString returns the string representation
15630func (s EndpointRequest) GoString() string {
15631	return s.String()
15632}
15633
15634// SetAddress sets the Address field's value.
15635func (s *EndpointRequest) SetAddress(v string) *EndpointRequest {
15636	s.Address = &v
15637	return s
15638}
15639
15640// SetAttributes sets the Attributes field's value.
15641func (s *EndpointRequest) SetAttributes(v map[string][]*string) *EndpointRequest {
15642	s.Attributes = v
15643	return s
15644}
15645
15646// SetChannelType sets the ChannelType field's value.
15647func (s *EndpointRequest) SetChannelType(v string) *EndpointRequest {
15648	s.ChannelType = &v
15649	return s
15650}
15651
15652// SetDemographic sets the Demographic field's value.
15653func (s *EndpointRequest) SetDemographic(v *EndpointDemographic) *EndpointRequest {
15654	s.Demographic = v
15655	return s
15656}
15657
15658// SetEffectiveDate sets the EffectiveDate field's value.
15659func (s *EndpointRequest) SetEffectiveDate(v string) *EndpointRequest {
15660	s.EffectiveDate = &v
15661	return s
15662}
15663
15664// SetEndpointStatus sets the EndpointStatus field's value.
15665func (s *EndpointRequest) SetEndpointStatus(v string) *EndpointRequest {
15666	s.EndpointStatus = &v
15667	return s
15668}
15669
15670// SetLocation sets the Location field's value.
15671func (s *EndpointRequest) SetLocation(v *EndpointLocation) *EndpointRequest {
15672	s.Location = v
15673	return s
15674}
15675
15676// SetMetrics sets the Metrics field's value.
15677func (s *EndpointRequest) SetMetrics(v map[string]*float64) *EndpointRequest {
15678	s.Metrics = v
15679	return s
15680}
15681
15682// SetOptOut sets the OptOut field's value.
15683func (s *EndpointRequest) SetOptOut(v string) *EndpointRequest {
15684	s.OptOut = &v
15685	return s
15686}
15687
15688// SetRequestId sets the RequestId field's value.
15689func (s *EndpointRequest) SetRequestId(v string) *EndpointRequest {
15690	s.RequestId = &v
15691	return s
15692}
15693
15694// SetUser sets the User field's value.
15695func (s *EndpointRequest) SetUser(v *EndpointUser) *EndpointRequest {
15696	s.User = v
15697	return s
15698}
15699
15700// Provides information about the channel type and other settings for an endpoint.
15701type EndpointResponse struct {
15702	_ struct{} `type:"structure"`
15703
15704	// The destination address for messages or push notifications that you send
15705	// to the endpoint. The address varies by channel. For example, the address
15706	// for a push-notification channel is typically the token provided by a push
15707	// notification service, such as an Apple Push Notification service (APNs) device
15708	// token or a Firebase Cloud Messaging (FCM) registration token. The address
15709	// for the SMS channel is a phone number in E.164 format, such as +12065550100.
15710	// The address for the email channel is an email address.
15711	Address *string `type:"string"`
15712
15713	// The unique identifier for the application that's associated with the endpoint.
15714	ApplicationId *string `type:"string"`
15715
15716	// One or more custom attributes that describe the endpoint by associating a
15717	// name with an array of values. For example, the value of a custom attribute
15718	// named Interests might be: ["science", "music", "travel"]. You can use these
15719	// attributes as filter criteria when you create segments.
15720	Attributes map[string][]*string `type:"map"`
15721
15722	// The channel that's used when sending messages or push notifications to the
15723	// endpoint.
15724	ChannelType *string `type:"string" enum:"ChannelType"`
15725
15726	// A number from 0-99 that represents the cohort that the endpoint is assigned
15727	// to. Endpoints are grouped into cohorts randomly, and each cohort contains
15728	// approximately 1 percent of the endpoints for an application. Amazon Pinpoint
15729	// assigns cohorts to the holdout or treatment allocations for campaigns.
15730	CohortId *string `type:"string"`
15731
15732	// The date and time, in ISO 8601 format, when the endpoint was created.
15733	CreationDate *string `type:"string"`
15734
15735	// The demographic information for the endpoint, such as the time zone and platform.
15736	Demographic *EndpointDemographic `type:"structure"`
15737
15738	// The date and time, in ISO 8601 format, when the endpoint was last updated.
15739	EffectiveDate *string `type:"string"`
15740
15741	// Specifies whether messages or push notifications are sent to the endpoint.
15742	// Possible values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
15743	// messages aren’t sent to the endpoint.
15744	//
15745	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
15746	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
15747	// this value to INACTIVE if you update another endpoint that has the same address
15748	// specified by the Address property.
15749	EndpointStatus *string `type:"string"`
15750
15751	// The unique identifier that you assigned to the endpoint. The identifier should
15752	// be a globally unique identifier (GUID) to ensure that it doesn't conflict
15753	// with other endpoint identifiers that are associated with the application.
15754	Id *string `type:"string"`
15755
15756	// The geographic information for the endpoint.
15757	Location *EndpointLocation `type:"structure"`
15758
15759	// One or more custom metrics that your app reports to Amazon Pinpoint for the
15760	// endpoint.
15761	Metrics map[string]*float64 `type:"map"`
15762
15763	// Specifies whether the user who's associated with the endpoint has opted out
15764	// of receiving messages and push notifications from you. Possible values are:
15765	// ALL, the user has opted out and doesn't want to receive any messages or push
15766	// notifications; and, NONE, the user hasn't opted out and wants to receive
15767	// all messages and push notifications.
15768	OptOut *string `type:"string"`
15769
15770	// The unique identifier for the most recent request to update the endpoint.
15771	RequestId *string `type:"string"`
15772
15773	// One or more custom user attributes that your app reports to Amazon Pinpoint
15774	// for the user who's associated with the endpoint.
15775	User *EndpointUser `type:"structure"`
15776}
15777
15778// String returns the string representation
15779func (s EndpointResponse) String() string {
15780	return awsutil.Prettify(s)
15781}
15782
15783// GoString returns the string representation
15784func (s EndpointResponse) GoString() string {
15785	return s.String()
15786}
15787
15788// SetAddress sets the Address field's value.
15789func (s *EndpointResponse) SetAddress(v string) *EndpointResponse {
15790	s.Address = &v
15791	return s
15792}
15793
15794// SetApplicationId sets the ApplicationId field's value.
15795func (s *EndpointResponse) SetApplicationId(v string) *EndpointResponse {
15796	s.ApplicationId = &v
15797	return s
15798}
15799
15800// SetAttributes sets the Attributes field's value.
15801func (s *EndpointResponse) SetAttributes(v map[string][]*string) *EndpointResponse {
15802	s.Attributes = v
15803	return s
15804}
15805
15806// SetChannelType sets the ChannelType field's value.
15807func (s *EndpointResponse) SetChannelType(v string) *EndpointResponse {
15808	s.ChannelType = &v
15809	return s
15810}
15811
15812// SetCohortId sets the CohortId field's value.
15813func (s *EndpointResponse) SetCohortId(v string) *EndpointResponse {
15814	s.CohortId = &v
15815	return s
15816}
15817
15818// SetCreationDate sets the CreationDate field's value.
15819func (s *EndpointResponse) SetCreationDate(v string) *EndpointResponse {
15820	s.CreationDate = &v
15821	return s
15822}
15823
15824// SetDemographic sets the Demographic field's value.
15825func (s *EndpointResponse) SetDemographic(v *EndpointDemographic) *EndpointResponse {
15826	s.Demographic = v
15827	return s
15828}
15829
15830// SetEffectiveDate sets the EffectiveDate field's value.
15831func (s *EndpointResponse) SetEffectiveDate(v string) *EndpointResponse {
15832	s.EffectiveDate = &v
15833	return s
15834}
15835
15836// SetEndpointStatus sets the EndpointStatus field's value.
15837func (s *EndpointResponse) SetEndpointStatus(v string) *EndpointResponse {
15838	s.EndpointStatus = &v
15839	return s
15840}
15841
15842// SetId sets the Id field's value.
15843func (s *EndpointResponse) SetId(v string) *EndpointResponse {
15844	s.Id = &v
15845	return s
15846}
15847
15848// SetLocation sets the Location field's value.
15849func (s *EndpointResponse) SetLocation(v *EndpointLocation) *EndpointResponse {
15850	s.Location = v
15851	return s
15852}
15853
15854// SetMetrics sets the Metrics field's value.
15855func (s *EndpointResponse) SetMetrics(v map[string]*float64) *EndpointResponse {
15856	s.Metrics = v
15857	return s
15858}
15859
15860// SetOptOut sets the OptOut field's value.
15861func (s *EndpointResponse) SetOptOut(v string) *EndpointResponse {
15862	s.OptOut = &v
15863	return s
15864}
15865
15866// SetRequestId sets the RequestId field's value.
15867func (s *EndpointResponse) SetRequestId(v string) *EndpointResponse {
15868	s.RequestId = &v
15869	return s
15870}
15871
15872// SetUser sets the User field's value.
15873func (s *EndpointResponse) SetUser(v *EndpointUser) *EndpointResponse {
15874	s.User = v
15875	return s
15876}
15877
15878// Specifies the content, including message variables and attributes, to use
15879// in a message that's sent directly to an endpoint.
15880type EndpointSendConfiguration struct {
15881	_ struct{} `type:"structure"`
15882
15883	// The body of the message. If specified, this value overrides the default message
15884	// body.
15885	BodyOverride *string `type:"string"`
15886
15887	// A map of custom attributes to attach to the message for the address. For
15888	// a push notification, this payload is added to the data.pinpoint object. For
15889	// an email or text message, this payload is added to email/SMS delivery receipt
15890	// event attributes.
15891	Context map[string]*string `type:"map"`
15892
15893	// The raw, JSON-formatted string to use as the payload for the message. If
15894	// specified, this value overrides the message.
15895	RawContent *string `type:"string"`
15896
15897	// A map of the message variables to merge with the variables specified for
15898	// the default message (DefaultMessage.Substitutions). The variables specified
15899	// in this map take precedence over all other variables.
15900	Substitutions map[string][]*string `type:"map"`
15901
15902	// The title or subject line of the message. If specified, this value overrides
15903	// the default message title or subject line.
15904	TitleOverride *string `type:"string"`
15905}
15906
15907// String returns the string representation
15908func (s EndpointSendConfiguration) String() string {
15909	return awsutil.Prettify(s)
15910}
15911
15912// GoString returns the string representation
15913func (s EndpointSendConfiguration) GoString() string {
15914	return s.String()
15915}
15916
15917// SetBodyOverride sets the BodyOverride field's value.
15918func (s *EndpointSendConfiguration) SetBodyOverride(v string) *EndpointSendConfiguration {
15919	s.BodyOverride = &v
15920	return s
15921}
15922
15923// SetContext sets the Context field's value.
15924func (s *EndpointSendConfiguration) SetContext(v map[string]*string) *EndpointSendConfiguration {
15925	s.Context = v
15926	return s
15927}
15928
15929// SetRawContent sets the RawContent field's value.
15930func (s *EndpointSendConfiguration) SetRawContent(v string) *EndpointSendConfiguration {
15931	s.RawContent = &v
15932	return s
15933}
15934
15935// SetSubstitutions sets the Substitutions field's value.
15936func (s *EndpointSendConfiguration) SetSubstitutions(v map[string][]*string) *EndpointSendConfiguration {
15937	s.Substitutions = v
15938	return s
15939}
15940
15941// SetTitleOverride sets the TitleOverride field's value.
15942func (s *EndpointSendConfiguration) SetTitleOverride(v string) *EndpointSendConfiguration {
15943	s.TitleOverride = &v
15944	return s
15945}
15946
15947// Specifies data for one or more attributes that describe the user who's associated
15948// with an endpoint.
15949type EndpointUser struct {
15950	_ struct{} `type:"structure"`
15951
15952	// One or more custom attributes that describe the user by associating a name
15953	// with an array of values. For example, the value of an attribute named Interests
15954	// might be: ["science", "music", "travel"]. You can use these attributes as
15955	// filter criteria when you create segments.
15956	//
15957	// When you define the name of a custom attribute, avoid using the following
15958	// characters: number sign (#), colon (:), question mark (?), backslash (\),
15959	// and slash (/). The Amazon Pinpoint console can't display attribute names
15960	// that contain these characters. This limitation doesn't apply to attribute
15961	// values.
15962	UserAttributes map[string][]*string `type:"map"`
15963
15964	// The unique identifier for the user.
15965	UserId *string `type:"string"`
15966}
15967
15968// String returns the string representation
15969func (s EndpointUser) String() string {
15970	return awsutil.Prettify(s)
15971}
15972
15973// GoString returns the string representation
15974func (s EndpointUser) GoString() string {
15975	return s.String()
15976}
15977
15978// SetUserAttributes sets the UserAttributes field's value.
15979func (s *EndpointUser) SetUserAttributes(v map[string][]*string) *EndpointUser {
15980	s.UserAttributes = v
15981	return s
15982}
15983
15984// SetUserId sets the UserId field's value.
15985func (s *EndpointUser) SetUserId(v string) *EndpointUser {
15986	s.UserId = &v
15987	return s
15988}
15989
15990// Provides information about all the endpoints that are associated with a user
15991// ID.
15992type EndpointsResponse struct {
15993	_ struct{} `type:"structure"`
15994
15995	// An array of responses, one for each endpoint that's associated with the user
15996	// ID.
15997	//
15998	// Item is a required field
15999	Item []*EndpointResponse `type:"list" required:"true"`
16000}
16001
16002// String returns the string representation
16003func (s EndpointsResponse) String() string {
16004	return awsutil.Prettify(s)
16005}
16006
16007// GoString returns the string representation
16008func (s EndpointsResponse) GoString() string {
16009	return s.String()
16010}
16011
16012// SetItem sets the Item field's value.
16013func (s *EndpointsResponse) SetItem(v []*EndpointResponse) *EndpointsResponse {
16014	s.Item = v
16015	return s
16016}
16017
16018// Specifies information about an event that reports data to Amazon Pinpoint.
16019type Event struct {
16020	_ struct{} `type:"structure"`
16021
16022	// The package name of the app that's recording the event.
16023	AppPackageName *string `type:"string"`
16024
16025	// The title of the app that's recording the event.
16026	AppTitle *string `type:"string"`
16027
16028	// The version number of the app that's recording the event.
16029	AppVersionCode *string `type:"string"`
16030
16031	// One or more custom attributes that are associated with the event.
16032	Attributes map[string]*string `type:"map"`
16033
16034	// The version of the SDK that's running on the client device.
16035	ClientSdkVersion *string `type:"string"`
16036
16037	// The name of the event.
16038	//
16039	// EventType is a required field
16040	EventType *string `type:"string" required:"true"`
16041
16042	// One or more custom metrics that are associated with the event.
16043	Metrics map[string]*float64 `type:"map"`
16044
16045	// The name of the SDK that's being used to record the event.
16046	SdkName *string `type:"string"`
16047
16048	// Information about the session in which the event occurred.
16049	Session *Session `type:"structure"`
16050
16051	// The date and time, in ISO 8601 format, when the event occurred.
16052	//
16053	// Timestamp is a required field
16054	Timestamp *string `type:"string" required:"true"`
16055}
16056
16057// String returns the string representation
16058func (s Event) String() string {
16059	return awsutil.Prettify(s)
16060}
16061
16062// GoString returns the string representation
16063func (s Event) GoString() string {
16064	return s.String()
16065}
16066
16067// Validate inspects the fields of the type to determine if they are valid.
16068func (s *Event) Validate() error {
16069	invalidParams := request.ErrInvalidParams{Context: "Event"}
16070	if s.EventType == nil {
16071		invalidParams.Add(request.NewErrParamRequired("EventType"))
16072	}
16073	if s.Timestamp == nil {
16074		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
16075	}
16076	if s.Session != nil {
16077		if err := s.Session.Validate(); err != nil {
16078			invalidParams.AddNested("Session", err.(request.ErrInvalidParams))
16079		}
16080	}
16081
16082	if invalidParams.Len() > 0 {
16083		return invalidParams
16084	}
16085	return nil
16086}
16087
16088// SetAppPackageName sets the AppPackageName field's value.
16089func (s *Event) SetAppPackageName(v string) *Event {
16090	s.AppPackageName = &v
16091	return s
16092}
16093
16094// SetAppTitle sets the AppTitle field's value.
16095func (s *Event) SetAppTitle(v string) *Event {
16096	s.AppTitle = &v
16097	return s
16098}
16099
16100// SetAppVersionCode sets the AppVersionCode field's value.
16101func (s *Event) SetAppVersionCode(v string) *Event {
16102	s.AppVersionCode = &v
16103	return s
16104}
16105
16106// SetAttributes sets the Attributes field's value.
16107func (s *Event) SetAttributes(v map[string]*string) *Event {
16108	s.Attributes = v
16109	return s
16110}
16111
16112// SetClientSdkVersion sets the ClientSdkVersion field's value.
16113func (s *Event) SetClientSdkVersion(v string) *Event {
16114	s.ClientSdkVersion = &v
16115	return s
16116}
16117
16118// SetEventType sets the EventType field's value.
16119func (s *Event) SetEventType(v string) *Event {
16120	s.EventType = &v
16121	return s
16122}
16123
16124// SetMetrics sets the Metrics field's value.
16125func (s *Event) SetMetrics(v map[string]*float64) *Event {
16126	s.Metrics = v
16127	return s
16128}
16129
16130// SetSdkName sets the SdkName field's value.
16131func (s *Event) SetSdkName(v string) *Event {
16132	s.SdkName = &v
16133	return s
16134}
16135
16136// SetSession sets the Session field's value.
16137func (s *Event) SetSession(v *Session) *Event {
16138	s.Session = v
16139	return s
16140}
16141
16142// SetTimestamp sets the Timestamp field's value.
16143func (s *Event) SetTimestamp(v string) *Event {
16144	s.Timestamp = &v
16145	return s
16146}
16147
16148// Specifies the dimensions for an event filter that determines when a campaign
16149// is sent.
16150type EventDimensions struct {
16151	_ struct{} `type:"structure"`
16152
16153	// One or more custom attributes that your app reports to Amazon Pinpoint. You
16154	// can use these attributes as selection criteria when you create an event filter.
16155	Attributes map[string]*AttributeDimension `type:"map"`
16156
16157	// The name of the event that causes the campaign to be sent. This can be a
16158	// standard type of event that Amazon Pinpoint generates, such as _session.start,
16159	// or a custom event that's specific to your app.
16160	EventType *SetDimension `type:"structure"`
16161
16162	// One or more custom metrics that your app reports to Amazon Pinpoint. You
16163	// can use these metrics as selection criteria when you create an event filter.
16164	Metrics map[string]*MetricDimension `type:"map"`
16165}
16166
16167// String returns the string representation
16168func (s EventDimensions) String() string {
16169	return awsutil.Prettify(s)
16170}
16171
16172// GoString returns the string representation
16173func (s EventDimensions) GoString() string {
16174	return s.String()
16175}
16176
16177// Validate inspects the fields of the type to determine if they are valid.
16178func (s *EventDimensions) Validate() error {
16179	invalidParams := request.ErrInvalidParams{Context: "EventDimensions"}
16180	if s.Attributes != nil {
16181		for i, v := range s.Attributes {
16182			if v == nil {
16183				continue
16184			}
16185			if err := v.Validate(); err != nil {
16186				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
16187			}
16188		}
16189	}
16190	if s.EventType != nil {
16191		if err := s.EventType.Validate(); err != nil {
16192			invalidParams.AddNested("EventType", err.(request.ErrInvalidParams))
16193		}
16194	}
16195	if s.Metrics != nil {
16196		for i, v := range s.Metrics {
16197			if v == nil {
16198				continue
16199			}
16200			if err := v.Validate(); err != nil {
16201				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams))
16202			}
16203		}
16204	}
16205
16206	if invalidParams.Len() > 0 {
16207		return invalidParams
16208	}
16209	return nil
16210}
16211
16212// SetAttributes sets the Attributes field's value.
16213func (s *EventDimensions) SetAttributes(v map[string]*AttributeDimension) *EventDimensions {
16214	s.Attributes = v
16215	return s
16216}
16217
16218// SetEventType sets the EventType field's value.
16219func (s *EventDimensions) SetEventType(v *SetDimension) *EventDimensions {
16220	s.EventType = v
16221	return s
16222}
16223
16224// SetMetrics sets the Metrics field's value.
16225func (s *EventDimensions) SetMetrics(v map[string]*MetricDimension) *EventDimensions {
16226	s.Metrics = v
16227	return s
16228}
16229
16230// Provides the status code and message that result from processing an event.
16231type EventItemResponse struct {
16232	_ struct{} `type:"structure"`
16233
16234	// A custom message that's returned in the response as a result of processing
16235	// the event.
16236	Message *string `type:"string"`
16237
16238	// The status code that's returned in the response as a result of processing
16239	// the event. Possible values are: 202, for events that were accepted; and,
16240	// 400, for events that weren't valid.
16241	StatusCode *int64 `type:"integer"`
16242}
16243
16244// String returns the string representation
16245func (s EventItemResponse) String() string {
16246	return awsutil.Prettify(s)
16247}
16248
16249// GoString returns the string representation
16250func (s EventItemResponse) GoString() string {
16251	return s.String()
16252}
16253
16254// SetMessage sets the Message field's value.
16255func (s *EventItemResponse) SetMessage(v string) *EventItemResponse {
16256	s.Message = &v
16257	return s
16258}
16259
16260// SetStatusCode sets the StatusCode field's value.
16261func (s *EventItemResponse) SetStatusCode(v int64) *EventItemResponse {
16262	s.StatusCode = &v
16263	return s
16264}
16265
16266// Specifies settings for publishing event data to an Amazon Kinesis data stream
16267// or an Amazon Kinesis Data Firehose delivery stream.
16268type EventStream struct {
16269	_ struct{} `type:"structure"`
16270
16271	// The unique identifier for the application to publish event data for.
16272	//
16273	// ApplicationId is a required field
16274	ApplicationId *string `type:"string" required:"true"`
16275
16276	// The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon
16277	// Kinesis Data Firehose delivery stream to publish event data to.
16278	//
16279	// For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name
16280	//
16281	// For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name
16282	//
16283	// DestinationStreamArn is a required field
16284	DestinationStreamArn *string `type:"string" required:"true"`
16285
16286	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
16287	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
16288	// an IAM role when publishing event data, but we removed this requirement.
16289	// We don't recommend use of external IDs for IAM roles that are assumed by
16290	// Amazon Pinpoint.
16291	ExternalId *string `type:"string"`
16292
16293	// The date, in ISO 8601 format, when the event stream was last modified.
16294	LastModifiedDate *string `type:"string"`
16295
16296	// The IAM user who last modified the event stream.
16297	LastUpdatedBy *string `type:"string"`
16298
16299	// The AWS Identity and Access Management (IAM) role that authorizes Amazon
16300	// Pinpoint to publish event data to the stream in your AWS account.
16301	//
16302	// RoleArn is a required field
16303	RoleArn *string `type:"string" required:"true"`
16304}
16305
16306// String returns the string representation
16307func (s EventStream) String() string {
16308	return awsutil.Prettify(s)
16309}
16310
16311// GoString returns the string representation
16312func (s EventStream) GoString() string {
16313	return s.String()
16314}
16315
16316// SetApplicationId sets the ApplicationId field's value.
16317func (s *EventStream) SetApplicationId(v string) *EventStream {
16318	s.ApplicationId = &v
16319	return s
16320}
16321
16322// SetDestinationStreamArn sets the DestinationStreamArn field's value.
16323func (s *EventStream) SetDestinationStreamArn(v string) *EventStream {
16324	s.DestinationStreamArn = &v
16325	return s
16326}
16327
16328// SetExternalId sets the ExternalId field's value.
16329func (s *EventStream) SetExternalId(v string) *EventStream {
16330	s.ExternalId = &v
16331	return s
16332}
16333
16334// SetLastModifiedDate sets the LastModifiedDate field's value.
16335func (s *EventStream) SetLastModifiedDate(v string) *EventStream {
16336	s.LastModifiedDate = &v
16337	return s
16338}
16339
16340// SetLastUpdatedBy sets the LastUpdatedBy field's value.
16341func (s *EventStream) SetLastUpdatedBy(v string) *EventStream {
16342	s.LastUpdatedBy = &v
16343	return s
16344}
16345
16346// SetRoleArn sets the RoleArn field's value.
16347func (s *EventStream) SetRoleArn(v string) *EventStream {
16348	s.RoleArn = &v
16349	return s
16350}
16351
16352// Specifies a batch of endpoints and events to process.
16353type EventsBatch struct {
16354	_ struct{} `type:"structure"`
16355
16356	// A set of properties and attributes that are associated with the endpoint.
16357	//
16358	// Endpoint is a required field
16359	Endpoint *PublicEndpoint `type:"structure" required:"true"`
16360
16361	// A set of properties that are associated with the event.
16362	//
16363	// Events is a required field
16364	Events map[string]*Event `type:"map" required:"true"`
16365}
16366
16367// String returns the string representation
16368func (s EventsBatch) String() string {
16369	return awsutil.Prettify(s)
16370}
16371
16372// GoString returns the string representation
16373func (s EventsBatch) GoString() string {
16374	return s.String()
16375}
16376
16377// Validate inspects the fields of the type to determine if they are valid.
16378func (s *EventsBatch) Validate() error {
16379	invalidParams := request.ErrInvalidParams{Context: "EventsBatch"}
16380	if s.Endpoint == nil {
16381		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
16382	}
16383	if s.Events == nil {
16384		invalidParams.Add(request.NewErrParamRequired("Events"))
16385	}
16386	if s.Events != nil {
16387		for i, v := range s.Events {
16388			if v == nil {
16389				continue
16390			}
16391			if err := v.Validate(); err != nil {
16392				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams))
16393			}
16394		}
16395	}
16396
16397	if invalidParams.Len() > 0 {
16398		return invalidParams
16399	}
16400	return nil
16401}
16402
16403// SetEndpoint sets the Endpoint field's value.
16404func (s *EventsBatch) SetEndpoint(v *PublicEndpoint) *EventsBatch {
16405	s.Endpoint = v
16406	return s
16407}
16408
16409// SetEvents sets the Events field's value.
16410func (s *EventsBatch) SetEvents(v map[string]*Event) *EventsBatch {
16411	s.Events = v
16412	return s
16413}
16414
16415// Specifies a batch of events to process.
16416type EventsRequest struct {
16417	_ struct{} `type:"structure"`
16418
16419	// The batch of events to process. For each item in a batch, the endpoint ID
16420	// acts as a key that has an EventsBatch object as its value.
16421	//
16422	// BatchItem is a required field
16423	BatchItem map[string]*EventsBatch `type:"map" required:"true"`
16424}
16425
16426// String returns the string representation
16427func (s EventsRequest) String() string {
16428	return awsutil.Prettify(s)
16429}
16430
16431// GoString returns the string representation
16432func (s EventsRequest) GoString() string {
16433	return s.String()
16434}
16435
16436// Validate inspects the fields of the type to determine if they are valid.
16437func (s *EventsRequest) Validate() error {
16438	invalidParams := request.ErrInvalidParams{Context: "EventsRequest"}
16439	if s.BatchItem == nil {
16440		invalidParams.Add(request.NewErrParamRequired("BatchItem"))
16441	}
16442	if s.BatchItem != nil {
16443		for i, v := range s.BatchItem {
16444			if v == nil {
16445				continue
16446			}
16447			if err := v.Validate(); err != nil {
16448				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BatchItem", i), err.(request.ErrInvalidParams))
16449			}
16450		}
16451	}
16452
16453	if invalidParams.Len() > 0 {
16454		return invalidParams
16455	}
16456	return nil
16457}
16458
16459// SetBatchItem sets the BatchItem field's value.
16460func (s *EventsRequest) SetBatchItem(v map[string]*EventsBatch) *EventsRequest {
16461	s.BatchItem = v
16462	return s
16463}
16464
16465// Provides information about endpoints and the events that they're associated
16466// with.
16467type EventsResponse struct {
16468	_ struct{} `type:"structure"`
16469
16470	// A map that contains a multipart response for each endpoint. For each item
16471	// in this object, the endpoint ID is the key and the item response is the value.
16472	// If no item response exists, the value can also be one of the following: 202,
16473	// the request was processed successfully; or 400, the payload wasn't valid
16474	// or required fields were missing.
16475	Results map[string]*ItemResponse `type:"map"`
16476}
16477
16478// String returns the string representation
16479func (s EventsResponse) String() string {
16480	return awsutil.Prettify(s)
16481}
16482
16483// GoString returns the string representation
16484func (s EventsResponse) GoString() string {
16485	return s.String()
16486}
16487
16488// SetResults sets the Results field's value.
16489func (s *EventsResponse) SetResults(v map[string]*ItemResponse) *EventsResponse {
16490	s.Results = v
16491	return s
16492}
16493
16494// Specifies the settings for a job that exports endpoint definitions to an
16495// Amazon Simple Storage Service (Amazon S3) bucket.
16496type ExportJobRequest struct {
16497	_ struct{} `type:"structure"`
16498
16499	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
16500	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
16501	// where you want to export endpoint definitions to.
16502	//
16503	// RoleArn is a required field
16504	RoleArn *string `type:"string" required:"true"`
16505
16506	// The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket
16507	// where you want to export endpoint definitions to. This location is typically
16508	// a folder that contains multiple files. The URL should be in the following
16509	// format: s3://bucket-name/folder-name/.
16510	//
16511	// S3UrlPrefix is a required field
16512	S3UrlPrefix *string `type:"string" required:"true"`
16513
16514	// The identifier for the segment to export endpoint definitions from. If you
16515	// don't specify this value, Amazon Pinpoint exports definitions for all the
16516	// endpoints that are associated with the application.
16517	SegmentId *string `type:"string"`
16518
16519	// The version of the segment to export endpoint definitions from, if specified.
16520	SegmentVersion *int64 `type:"integer"`
16521}
16522
16523// String returns the string representation
16524func (s ExportJobRequest) String() string {
16525	return awsutil.Prettify(s)
16526}
16527
16528// GoString returns the string representation
16529func (s ExportJobRequest) GoString() string {
16530	return s.String()
16531}
16532
16533// Validate inspects the fields of the type to determine if they are valid.
16534func (s *ExportJobRequest) Validate() error {
16535	invalidParams := request.ErrInvalidParams{Context: "ExportJobRequest"}
16536	if s.RoleArn == nil {
16537		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
16538	}
16539	if s.S3UrlPrefix == nil {
16540		invalidParams.Add(request.NewErrParamRequired("S3UrlPrefix"))
16541	}
16542
16543	if invalidParams.Len() > 0 {
16544		return invalidParams
16545	}
16546	return nil
16547}
16548
16549// SetRoleArn sets the RoleArn field's value.
16550func (s *ExportJobRequest) SetRoleArn(v string) *ExportJobRequest {
16551	s.RoleArn = &v
16552	return s
16553}
16554
16555// SetS3UrlPrefix sets the S3UrlPrefix field's value.
16556func (s *ExportJobRequest) SetS3UrlPrefix(v string) *ExportJobRequest {
16557	s.S3UrlPrefix = &v
16558	return s
16559}
16560
16561// SetSegmentId sets the SegmentId field's value.
16562func (s *ExportJobRequest) SetSegmentId(v string) *ExportJobRequest {
16563	s.SegmentId = &v
16564	return s
16565}
16566
16567// SetSegmentVersion sets the SegmentVersion field's value.
16568func (s *ExportJobRequest) SetSegmentVersion(v int64) *ExportJobRequest {
16569	s.SegmentVersion = &v
16570	return s
16571}
16572
16573// Provides information about the resource settings for a job that exports endpoint
16574// definitions to a file. The file can be added directly to an Amazon Simple
16575// Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API or downloaded
16576// directly to a computer by using the Amazon Pinpoint console.
16577type ExportJobResource struct {
16578	_ struct{} `type:"structure"`
16579
16580	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
16581	// (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location
16582	// where the endpoint definitions were exported to.
16583	//
16584	// RoleArn is a required field
16585	RoleArn *string `type:"string" required:"true"`
16586
16587	// The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket
16588	// where the endpoint definitions were exported to. This location is typically
16589	// a folder that contains multiple files. The URL should be in the following
16590	// format: s3://bucket-name/folder-name/.
16591	//
16592	// S3UrlPrefix is a required field
16593	S3UrlPrefix *string `type:"string" required:"true"`
16594
16595	// The identifier for the segment that the endpoint definitions were exported
16596	// from. If this value isn't present, Amazon Pinpoint exported definitions for
16597	// all the endpoints that are associated with the application.
16598	SegmentId *string `type:"string"`
16599
16600	// The version of the segment that the endpoint definitions were exported from.
16601	SegmentVersion *int64 `type:"integer"`
16602}
16603
16604// String returns the string representation
16605func (s ExportJobResource) String() string {
16606	return awsutil.Prettify(s)
16607}
16608
16609// GoString returns the string representation
16610func (s ExportJobResource) GoString() string {
16611	return s.String()
16612}
16613
16614// SetRoleArn sets the RoleArn field's value.
16615func (s *ExportJobResource) SetRoleArn(v string) *ExportJobResource {
16616	s.RoleArn = &v
16617	return s
16618}
16619
16620// SetS3UrlPrefix sets the S3UrlPrefix field's value.
16621func (s *ExportJobResource) SetS3UrlPrefix(v string) *ExportJobResource {
16622	s.S3UrlPrefix = &v
16623	return s
16624}
16625
16626// SetSegmentId sets the SegmentId field's value.
16627func (s *ExportJobResource) SetSegmentId(v string) *ExportJobResource {
16628	s.SegmentId = &v
16629	return s
16630}
16631
16632// SetSegmentVersion sets the SegmentVersion field's value.
16633func (s *ExportJobResource) SetSegmentVersion(v int64) *ExportJobResource {
16634	s.SegmentVersion = &v
16635	return s
16636}
16637
16638// Provides information about the status and settings of a job that exports
16639// endpoint definitions to a file. The file can be added directly to an Amazon
16640// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
16641// or downloaded directly to a computer by using the Amazon Pinpoint console.
16642type ExportJobResponse struct {
16643	_ struct{} `type:"structure"`
16644
16645	// The unique identifier for the application that's associated with the export
16646	// job.
16647	//
16648	// ApplicationId is a required field
16649	ApplicationId *string `type:"string" required:"true"`
16650
16651	// The number of pieces that were processed successfully (completed) by the
16652	// export job, as of the time of the request.
16653	CompletedPieces *int64 `type:"integer"`
16654
16655	// The date, in ISO 8601 format, when the export job was completed.
16656	CompletionDate *string `type:"string"`
16657
16658	// The date, in ISO 8601 format, when the export job was created.
16659	//
16660	// CreationDate is a required field
16661	CreationDate *string `type:"string" required:"true"`
16662
16663	// The resource settings that apply to the export job.
16664	//
16665	// Definition is a required field
16666	Definition *ExportJobResource `type:"structure" required:"true"`
16667
16668	// The number of pieces that weren't processed successfully (failed) by the
16669	// export job, as of the time of the request.
16670	FailedPieces *int64 `type:"integer"`
16671
16672	// An array of entries, one for each of the first 100 entries that weren't processed
16673	// successfully (failed) by the export job, if any.
16674	Failures []*string `type:"list"`
16675
16676	// The unique identifier for the export job.
16677	//
16678	// Id is a required field
16679	Id *string `type:"string" required:"true"`
16680
16681	// The status of the export job. The job status is FAILED if Amazon Pinpoint
16682	// wasn't able to process one or more pieces in the job.
16683	//
16684	// JobStatus is a required field
16685	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
16686
16687	// The total number of endpoint definitions that weren't processed successfully
16688	// (failed) by the export job, typically because an error, such as a syntax
16689	// error, occurred.
16690	TotalFailures *int64 `type:"integer"`
16691
16692	// The total number of pieces that must be processed to complete the export
16693	// job. Each piece consists of an approximately equal portion of the endpoint
16694	// definitions that are part of the export job.
16695	TotalPieces *int64 `type:"integer"`
16696
16697	// The total number of endpoint definitions that were processed by the export
16698	// job.
16699	TotalProcessed *int64 `type:"integer"`
16700
16701	// The job type. This value is EXPORT for export jobs.
16702	//
16703	// Type is a required field
16704	Type *string `type:"string" required:"true"`
16705}
16706
16707// String returns the string representation
16708func (s ExportJobResponse) String() string {
16709	return awsutil.Prettify(s)
16710}
16711
16712// GoString returns the string representation
16713func (s ExportJobResponse) GoString() string {
16714	return s.String()
16715}
16716
16717// SetApplicationId sets the ApplicationId field's value.
16718func (s *ExportJobResponse) SetApplicationId(v string) *ExportJobResponse {
16719	s.ApplicationId = &v
16720	return s
16721}
16722
16723// SetCompletedPieces sets the CompletedPieces field's value.
16724func (s *ExportJobResponse) SetCompletedPieces(v int64) *ExportJobResponse {
16725	s.CompletedPieces = &v
16726	return s
16727}
16728
16729// SetCompletionDate sets the CompletionDate field's value.
16730func (s *ExportJobResponse) SetCompletionDate(v string) *ExportJobResponse {
16731	s.CompletionDate = &v
16732	return s
16733}
16734
16735// SetCreationDate sets the CreationDate field's value.
16736func (s *ExportJobResponse) SetCreationDate(v string) *ExportJobResponse {
16737	s.CreationDate = &v
16738	return s
16739}
16740
16741// SetDefinition sets the Definition field's value.
16742func (s *ExportJobResponse) SetDefinition(v *ExportJobResource) *ExportJobResponse {
16743	s.Definition = v
16744	return s
16745}
16746
16747// SetFailedPieces sets the FailedPieces field's value.
16748func (s *ExportJobResponse) SetFailedPieces(v int64) *ExportJobResponse {
16749	s.FailedPieces = &v
16750	return s
16751}
16752
16753// SetFailures sets the Failures field's value.
16754func (s *ExportJobResponse) SetFailures(v []*string) *ExportJobResponse {
16755	s.Failures = v
16756	return s
16757}
16758
16759// SetId sets the Id field's value.
16760func (s *ExportJobResponse) SetId(v string) *ExportJobResponse {
16761	s.Id = &v
16762	return s
16763}
16764
16765// SetJobStatus sets the JobStatus field's value.
16766func (s *ExportJobResponse) SetJobStatus(v string) *ExportJobResponse {
16767	s.JobStatus = &v
16768	return s
16769}
16770
16771// SetTotalFailures sets the TotalFailures field's value.
16772func (s *ExportJobResponse) SetTotalFailures(v int64) *ExportJobResponse {
16773	s.TotalFailures = &v
16774	return s
16775}
16776
16777// SetTotalPieces sets the TotalPieces field's value.
16778func (s *ExportJobResponse) SetTotalPieces(v int64) *ExportJobResponse {
16779	s.TotalPieces = &v
16780	return s
16781}
16782
16783// SetTotalProcessed sets the TotalProcessed field's value.
16784func (s *ExportJobResponse) SetTotalProcessed(v int64) *ExportJobResponse {
16785	s.TotalProcessed = &v
16786	return s
16787}
16788
16789// SetType sets the Type field's value.
16790func (s *ExportJobResponse) SetType(v string) *ExportJobResponse {
16791	s.Type = &v
16792	return s
16793}
16794
16795// Provides information about all the export jobs that are associated with an
16796// application or segment. An export job is a job that exports endpoint definitions
16797// to a file.
16798type ExportJobsResponse struct {
16799	_ struct{} `type:"structure"`
16800
16801	// An array of responses, one for each export job that's associated with the
16802	// application (Export Jobs resource) or segment (Segment Export Jobs resource).
16803	//
16804	// Item is a required field
16805	Item []*ExportJobResponse `type:"list" required:"true"`
16806
16807	// The string to use in a subsequent request to get the next page of results
16808	// in a paginated response. This value is null if there are no additional pages.
16809	NextToken *string `type:"string"`
16810}
16811
16812// String returns the string representation
16813func (s ExportJobsResponse) String() string {
16814	return awsutil.Prettify(s)
16815}
16816
16817// GoString returns the string representation
16818func (s ExportJobsResponse) GoString() string {
16819	return s.String()
16820}
16821
16822// SetItem sets the Item field's value.
16823func (s *ExportJobsResponse) SetItem(v []*ExportJobResponse) *ExportJobsResponse {
16824	s.Item = v
16825	return s
16826}
16827
16828// SetNextToken sets the NextToken field's value.
16829func (s *ExportJobsResponse) SetNextToken(v string) *ExportJobsResponse {
16830	s.NextToken = &v
16831	return s
16832}
16833
16834// Specifies the status and settings of the GCM channel for an application.
16835// This channel enables Amazon Pinpoint to send push notifications through the
16836// Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.
16837type GCMChannelRequest struct {
16838	_ struct{} `type:"structure"`
16839
16840	// The Web API Key, also referred to as an API_KEY or server key, that you received
16841	// from Google to communicate with Google services.
16842	//
16843	// ApiKey is a required field
16844	ApiKey *string `type:"string" required:"true"`
16845
16846	// Specifies whether to enable the GCM channel for the application.
16847	Enabled *bool `type:"boolean"`
16848}
16849
16850// String returns the string representation
16851func (s GCMChannelRequest) String() string {
16852	return awsutil.Prettify(s)
16853}
16854
16855// GoString returns the string representation
16856func (s GCMChannelRequest) GoString() string {
16857	return s.String()
16858}
16859
16860// Validate inspects the fields of the type to determine if they are valid.
16861func (s *GCMChannelRequest) Validate() error {
16862	invalidParams := request.ErrInvalidParams{Context: "GCMChannelRequest"}
16863	if s.ApiKey == nil {
16864		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
16865	}
16866
16867	if invalidParams.Len() > 0 {
16868		return invalidParams
16869	}
16870	return nil
16871}
16872
16873// SetApiKey sets the ApiKey field's value.
16874func (s *GCMChannelRequest) SetApiKey(v string) *GCMChannelRequest {
16875	s.ApiKey = &v
16876	return s
16877}
16878
16879// SetEnabled sets the Enabled field's value.
16880func (s *GCMChannelRequest) SetEnabled(v bool) *GCMChannelRequest {
16881	s.Enabled = &v
16882	return s
16883}
16884
16885// Provides information about the status and settings of the GCM channel for
16886// an application. The GCM channel enables Amazon Pinpoint to send push notifications
16887// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
16888// (GCM), service.
16889type GCMChannelResponse struct {
16890	_ struct{} `type:"structure"`
16891
16892	// The unique identifier for the application that the GCM channel applies to.
16893	ApplicationId *string `type:"string"`
16894
16895	// The date and time when the GCM channel was enabled.
16896	CreationDate *string `type:"string"`
16897
16898	// The Web API Key, also referred to as an API_KEY or server key, that you received
16899	// from Google to communicate with Google services.
16900	//
16901	// Credential is a required field
16902	Credential *string `type:"string" required:"true"`
16903
16904	// Specifies whether the GCM channel is enabled for the application.
16905	Enabled *bool `type:"boolean"`
16906
16907	// (Not used) This property is retained only for backward compatibility.
16908	HasCredential *bool `type:"boolean"`
16909
16910	// (Deprecated) An identifier for the GCM channel. This property is retained
16911	// only for backward compatibility.
16912	Id *string `type:"string"`
16913
16914	// Specifies whether the GCM channel is archived.
16915	IsArchived *bool `type:"boolean"`
16916
16917	// The user who last modified the GCM channel.
16918	LastModifiedBy *string `type:"string"`
16919
16920	// The date and time when the GCM channel was last modified.
16921	LastModifiedDate *string `type:"string"`
16922
16923	// The type of messaging or notification platform for the channel. For the GCM
16924	// channel, this value is GCM.
16925	//
16926	// Platform is a required field
16927	Platform *string `type:"string" required:"true"`
16928
16929	// The current version of the GCM channel.
16930	Version *int64 `type:"integer"`
16931}
16932
16933// String returns the string representation
16934func (s GCMChannelResponse) String() string {
16935	return awsutil.Prettify(s)
16936}
16937
16938// GoString returns the string representation
16939func (s GCMChannelResponse) GoString() string {
16940	return s.String()
16941}
16942
16943// SetApplicationId sets the ApplicationId field's value.
16944func (s *GCMChannelResponse) SetApplicationId(v string) *GCMChannelResponse {
16945	s.ApplicationId = &v
16946	return s
16947}
16948
16949// SetCreationDate sets the CreationDate field's value.
16950func (s *GCMChannelResponse) SetCreationDate(v string) *GCMChannelResponse {
16951	s.CreationDate = &v
16952	return s
16953}
16954
16955// SetCredential sets the Credential field's value.
16956func (s *GCMChannelResponse) SetCredential(v string) *GCMChannelResponse {
16957	s.Credential = &v
16958	return s
16959}
16960
16961// SetEnabled sets the Enabled field's value.
16962func (s *GCMChannelResponse) SetEnabled(v bool) *GCMChannelResponse {
16963	s.Enabled = &v
16964	return s
16965}
16966
16967// SetHasCredential sets the HasCredential field's value.
16968func (s *GCMChannelResponse) SetHasCredential(v bool) *GCMChannelResponse {
16969	s.HasCredential = &v
16970	return s
16971}
16972
16973// SetId sets the Id field's value.
16974func (s *GCMChannelResponse) SetId(v string) *GCMChannelResponse {
16975	s.Id = &v
16976	return s
16977}
16978
16979// SetIsArchived sets the IsArchived field's value.
16980func (s *GCMChannelResponse) SetIsArchived(v bool) *GCMChannelResponse {
16981	s.IsArchived = &v
16982	return s
16983}
16984
16985// SetLastModifiedBy sets the LastModifiedBy field's value.
16986func (s *GCMChannelResponse) SetLastModifiedBy(v string) *GCMChannelResponse {
16987	s.LastModifiedBy = &v
16988	return s
16989}
16990
16991// SetLastModifiedDate sets the LastModifiedDate field's value.
16992func (s *GCMChannelResponse) SetLastModifiedDate(v string) *GCMChannelResponse {
16993	s.LastModifiedDate = &v
16994	return s
16995}
16996
16997// SetPlatform sets the Platform field's value.
16998func (s *GCMChannelResponse) SetPlatform(v string) *GCMChannelResponse {
16999	s.Platform = &v
17000	return s
17001}
17002
17003// SetVersion sets the Version field's value.
17004func (s *GCMChannelResponse) SetVersion(v int64) *GCMChannelResponse {
17005	s.Version = &v
17006	return s
17007}
17008
17009// Specifies the settings for a one-time message that's sent directly to an
17010// endpoint through the GCM channel. The GCM channel enables Amazon Pinpoint
17011// to send messages to the Firebase Cloud Messaging (FCM), formerly Google Cloud
17012// Messaging (GCM), service.
17013type GCMMessage struct {
17014	_ struct{} `type:"structure"`
17015
17016	// The action to occur if the recipient taps the push notification. Valid values
17017	// are:
17018	//
17019	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
17020	//    sent to the background. This is the default action.
17021	//
17022	//    * DEEP_LINK - Your app opens and displays a designated user interface
17023	//    in the app. This action uses the deep-linking features of the Android
17024	//    platform.
17025	//
17026	//    * URL - The default mobile browser on the recipient's device opens and
17027	//    loads the web page at a URL that you specify.
17028	Action *string `type:"string" enum:"Action"`
17029
17030	// The body of the notification message.
17031	Body *string `type:"string"`
17032
17033	// An arbitrary string that identifies a group of messages that can be collapsed
17034	// to ensure that only the last message is sent when delivery can resume. This
17035	// helps avoid sending too many instances of the same messages when the recipient's
17036	// device comes online again or becomes active.
17037	//
17038	// Amazon Pinpoint specifies this value in the Firebase Cloud Messaging (FCM)
17039	// collapse_key parameter when it sends the notification message to FCM.
17040	CollapseKey *string `type:"string"`
17041
17042	// The JSON data payload to use for the push notification, if the notification
17043	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
17044	// object of the notification.
17045	Data map[string]*string `type:"map"`
17046
17047	// The icon image name of the asset saved in your app.
17048	IconReference *string `type:"string"`
17049
17050	// The URL of the large icon image to display in the content view of the push
17051	// notification.
17052	ImageIconUrl *string `type:"string"`
17053
17054	// The URL of an image to display in the push notification.
17055	ImageUrl *string `type:"string"`
17056
17057	// para>normal - The notification might be delayed. Delivery is optimized for
17058	// battery usage on the recipient's device. Use this value unless immediate
17059	// delivery is required.
17060	// /listitem>
17061	// high - The notification is sent immediately and might wake a sleeping device.
17062	// /para>
17063	// Amazon Pinpoint specifies this value in the FCM priority parameter when it
17064	// sends the notification message to FCM.
17065	//
17066	// The equivalent values for Apple Push Notification service (APNs) are 5, for
17067	// normal, and 10, for high. If you specify an APNs value for this property,
17068	// Amazon Pinpoint accepts and converts the value to the corresponding FCM value.
17069	Priority *string `type:"string"`
17070
17071	// The raw, JSON-formatted string to use as the payload for the notification
17072	// message. This value overrides the message.
17073	RawContent *string `type:"string"`
17074
17075	// The package name of the application where registration tokens must match
17076	// in order for the recipient to receive the message.
17077	RestrictedPackageName *string `type:"string"`
17078
17079	// Specifies whether the notification is a silent push notification, which is
17080	// a push notification that doesn't display on a recipient's device. Silent
17081	// push notifications can be used for cases such as updating an app's configuration
17082	// or supporting phone home functionality.
17083	SilentPush *bool `type:"boolean"`
17084
17085	// The URL of the small icon image to display in the status bar and the content
17086	// view of the push notification.
17087	SmallImageIconUrl *string `type:"string"`
17088
17089	// The sound to play when the recipient receives the push notification. You
17090	// can use the default stream or specify the file name of a sound resource that's
17091	// bundled in your app. On an Android platform, the sound file must reside in
17092	// /res/raw/.
17093	Sound *string `type:"string"`
17094
17095	// The default message variables to use in the notification message. You can
17096	// override the default variables with individual address variables.
17097	Substitutions map[string][]*string `type:"map"`
17098
17099	// The amount of time, in seconds, that FCM should store and attempt to deliver
17100	// the push notification, if the service is unable to deliver the notification
17101	// the first time. If you don't specify this value, FCM defaults to the maximum
17102	// value, which is 2,419,200 seconds (28 days).
17103	//
17104	// Amazon Pinpoint specifies this value in the FCM time_to_live parameter when
17105	// it sends the notification message to FCM.
17106	TimeToLive *int64 `type:"integer"`
17107
17108	// The title to display above the notification message on the recipient's device.
17109	Title *string `type:"string"`
17110
17111	// The URL to open in the recipient's default mobile browser, if a recipient
17112	// taps the push notification and the value of the Action property is URL.
17113	Url *string `type:"string"`
17114}
17115
17116// String returns the string representation
17117func (s GCMMessage) String() string {
17118	return awsutil.Prettify(s)
17119}
17120
17121// GoString returns the string representation
17122func (s GCMMessage) GoString() string {
17123	return s.String()
17124}
17125
17126// SetAction sets the Action field's value.
17127func (s *GCMMessage) SetAction(v string) *GCMMessage {
17128	s.Action = &v
17129	return s
17130}
17131
17132// SetBody sets the Body field's value.
17133func (s *GCMMessage) SetBody(v string) *GCMMessage {
17134	s.Body = &v
17135	return s
17136}
17137
17138// SetCollapseKey sets the CollapseKey field's value.
17139func (s *GCMMessage) SetCollapseKey(v string) *GCMMessage {
17140	s.CollapseKey = &v
17141	return s
17142}
17143
17144// SetData sets the Data field's value.
17145func (s *GCMMessage) SetData(v map[string]*string) *GCMMessage {
17146	s.Data = v
17147	return s
17148}
17149
17150// SetIconReference sets the IconReference field's value.
17151func (s *GCMMessage) SetIconReference(v string) *GCMMessage {
17152	s.IconReference = &v
17153	return s
17154}
17155
17156// SetImageIconUrl sets the ImageIconUrl field's value.
17157func (s *GCMMessage) SetImageIconUrl(v string) *GCMMessage {
17158	s.ImageIconUrl = &v
17159	return s
17160}
17161
17162// SetImageUrl sets the ImageUrl field's value.
17163func (s *GCMMessage) SetImageUrl(v string) *GCMMessage {
17164	s.ImageUrl = &v
17165	return s
17166}
17167
17168// SetPriority sets the Priority field's value.
17169func (s *GCMMessage) SetPriority(v string) *GCMMessage {
17170	s.Priority = &v
17171	return s
17172}
17173
17174// SetRawContent sets the RawContent field's value.
17175func (s *GCMMessage) SetRawContent(v string) *GCMMessage {
17176	s.RawContent = &v
17177	return s
17178}
17179
17180// SetRestrictedPackageName sets the RestrictedPackageName field's value.
17181func (s *GCMMessage) SetRestrictedPackageName(v string) *GCMMessage {
17182	s.RestrictedPackageName = &v
17183	return s
17184}
17185
17186// SetSilentPush sets the SilentPush field's value.
17187func (s *GCMMessage) SetSilentPush(v bool) *GCMMessage {
17188	s.SilentPush = &v
17189	return s
17190}
17191
17192// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
17193func (s *GCMMessage) SetSmallImageIconUrl(v string) *GCMMessage {
17194	s.SmallImageIconUrl = &v
17195	return s
17196}
17197
17198// SetSound sets the Sound field's value.
17199func (s *GCMMessage) SetSound(v string) *GCMMessage {
17200	s.Sound = &v
17201	return s
17202}
17203
17204// SetSubstitutions sets the Substitutions field's value.
17205func (s *GCMMessage) SetSubstitutions(v map[string][]*string) *GCMMessage {
17206	s.Substitutions = v
17207	return s
17208}
17209
17210// SetTimeToLive sets the TimeToLive field's value.
17211func (s *GCMMessage) SetTimeToLive(v int64) *GCMMessage {
17212	s.TimeToLive = &v
17213	return s
17214}
17215
17216// SetTitle sets the Title field's value.
17217func (s *GCMMessage) SetTitle(v string) *GCMMessage {
17218	s.Title = &v
17219	return s
17220}
17221
17222// SetUrl sets the Url field's value.
17223func (s *GCMMessage) SetUrl(v string) *GCMMessage {
17224	s.Url = &v
17225	return s
17226}
17227
17228// Specifies the GPS coordinates of a location.
17229type GPSCoordinates struct {
17230	_ struct{} `type:"structure"`
17231
17232	// The latitude coordinate of the location.
17233	//
17234	// Latitude is a required field
17235	Latitude *float64 `type:"double" required:"true"`
17236
17237	// The longitude coordinate of the location.
17238	//
17239	// Longitude is a required field
17240	Longitude *float64 `type:"double" required:"true"`
17241}
17242
17243// String returns the string representation
17244func (s GPSCoordinates) String() string {
17245	return awsutil.Prettify(s)
17246}
17247
17248// GoString returns the string representation
17249func (s GPSCoordinates) GoString() string {
17250	return s.String()
17251}
17252
17253// Validate inspects the fields of the type to determine if they are valid.
17254func (s *GPSCoordinates) Validate() error {
17255	invalidParams := request.ErrInvalidParams{Context: "GPSCoordinates"}
17256	if s.Latitude == nil {
17257		invalidParams.Add(request.NewErrParamRequired("Latitude"))
17258	}
17259	if s.Longitude == nil {
17260		invalidParams.Add(request.NewErrParamRequired("Longitude"))
17261	}
17262
17263	if invalidParams.Len() > 0 {
17264		return invalidParams
17265	}
17266	return nil
17267}
17268
17269// SetLatitude sets the Latitude field's value.
17270func (s *GPSCoordinates) SetLatitude(v float64) *GPSCoordinates {
17271	s.Latitude = &v
17272	return s
17273}
17274
17275// SetLongitude sets the Longitude field's value.
17276func (s *GPSCoordinates) SetLongitude(v float64) *GPSCoordinates {
17277	s.Longitude = &v
17278	return s
17279}
17280
17281// Specifies GPS-based criteria for including or excluding endpoints from a
17282// segment.
17283type GPSPointDimension struct {
17284	_ struct{} `type:"structure"`
17285
17286	// The GPS coordinates to measure distance from.
17287	//
17288	// Coordinates is a required field
17289	Coordinates *GPSCoordinates `type:"structure" required:"true"`
17290
17291	// The range, in kilometers, from the GPS coordinates.
17292	RangeInKilometers *float64 `type:"double"`
17293}
17294
17295// String returns the string representation
17296func (s GPSPointDimension) String() string {
17297	return awsutil.Prettify(s)
17298}
17299
17300// GoString returns the string representation
17301func (s GPSPointDimension) GoString() string {
17302	return s.String()
17303}
17304
17305// Validate inspects the fields of the type to determine if they are valid.
17306func (s *GPSPointDimension) Validate() error {
17307	invalidParams := request.ErrInvalidParams{Context: "GPSPointDimension"}
17308	if s.Coordinates == nil {
17309		invalidParams.Add(request.NewErrParamRequired("Coordinates"))
17310	}
17311	if s.Coordinates != nil {
17312		if err := s.Coordinates.Validate(); err != nil {
17313			invalidParams.AddNested("Coordinates", err.(request.ErrInvalidParams))
17314		}
17315	}
17316
17317	if invalidParams.Len() > 0 {
17318		return invalidParams
17319	}
17320	return nil
17321}
17322
17323// SetCoordinates sets the Coordinates field's value.
17324func (s *GPSPointDimension) SetCoordinates(v *GPSCoordinates) *GPSPointDimension {
17325	s.Coordinates = v
17326	return s
17327}
17328
17329// SetRangeInKilometers sets the RangeInKilometers field's value.
17330func (s *GPSPointDimension) SetRangeInKilometers(v float64) *GPSPointDimension {
17331	s.RangeInKilometers = &v
17332	return s
17333}
17334
17335type GetAdmChannelInput struct {
17336	_ struct{} `type:"structure"`
17337
17338	// ApplicationId is a required field
17339	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17340}
17341
17342// String returns the string representation
17343func (s GetAdmChannelInput) String() string {
17344	return awsutil.Prettify(s)
17345}
17346
17347// GoString returns the string representation
17348func (s GetAdmChannelInput) GoString() string {
17349	return s.String()
17350}
17351
17352// Validate inspects the fields of the type to determine if they are valid.
17353func (s *GetAdmChannelInput) Validate() error {
17354	invalidParams := request.ErrInvalidParams{Context: "GetAdmChannelInput"}
17355	if s.ApplicationId == nil {
17356		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17357	}
17358	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17359		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17360	}
17361
17362	if invalidParams.Len() > 0 {
17363		return invalidParams
17364	}
17365	return nil
17366}
17367
17368// SetApplicationId sets the ApplicationId field's value.
17369func (s *GetAdmChannelInput) SetApplicationId(v string) *GetAdmChannelInput {
17370	s.ApplicationId = &v
17371	return s
17372}
17373
17374type GetAdmChannelOutput struct {
17375	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
17376
17377	// Provides information about the status and settings of the ADM (Amazon Device
17378	// Messaging) channel for an application.
17379	//
17380	// ADMChannelResponse is a required field
17381	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
17382}
17383
17384// String returns the string representation
17385func (s GetAdmChannelOutput) String() string {
17386	return awsutil.Prettify(s)
17387}
17388
17389// GoString returns the string representation
17390func (s GetAdmChannelOutput) GoString() string {
17391	return s.String()
17392}
17393
17394// SetADMChannelResponse sets the ADMChannelResponse field's value.
17395func (s *GetAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *GetAdmChannelOutput {
17396	s.ADMChannelResponse = v
17397	return s
17398}
17399
17400type GetApnsChannelInput struct {
17401	_ struct{} `type:"structure"`
17402
17403	// ApplicationId is a required field
17404	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17405}
17406
17407// String returns the string representation
17408func (s GetApnsChannelInput) String() string {
17409	return awsutil.Prettify(s)
17410}
17411
17412// GoString returns the string representation
17413func (s GetApnsChannelInput) GoString() string {
17414	return s.String()
17415}
17416
17417// Validate inspects the fields of the type to determine if they are valid.
17418func (s *GetApnsChannelInput) Validate() error {
17419	invalidParams := request.ErrInvalidParams{Context: "GetApnsChannelInput"}
17420	if s.ApplicationId == nil {
17421		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17422	}
17423	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17424		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17425	}
17426
17427	if invalidParams.Len() > 0 {
17428		return invalidParams
17429	}
17430	return nil
17431}
17432
17433// SetApplicationId sets the ApplicationId field's value.
17434func (s *GetApnsChannelInput) SetApplicationId(v string) *GetApnsChannelInput {
17435	s.ApplicationId = &v
17436	return s
17437}
17438
17439type GetApnsChannelOutput struct {
17440	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
17441
17442	// Provides information about the status and settings of the APNs (Apple Push
17443	// Notification service) channel for an application.
17444	//
17445	// APNSChannelResponse is a required field
17446	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
17447}
17448
17449// String returns the string representation
17450func (s GetApnsChannelOutput) String() string {
17451	return awsutil.Prettify(s)
17452}
17453
17454// GoString returns the string representation
17455func (s GetApnsChannelOutput) GoString() string {
17456	return s.String()
17457}
17458
17459// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
17460func (s *GetApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *GetApnsChannelOutput {
17461	s.APNSChannelResponse = v
17462	return s
17463}
17464
17465type GetApnsSandboxChannelInput struct {
17466	_ struct{} `type:"structure"`
17467
17468	// ApplicationId is a required field
17469	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17470}
17471
17472// String returns the string representation
17473func (s GetApnsSandboxChannelInput) String() string {
17474	return awsutil.Prettify(s)
17475}
17476
17477// GoString returns the string representation
17478func (s GetApnsSandboxChannelInput) GoString() string {
17479	return s.String()
17480}
17481
17482// Validate inspects the fields of the type to determine if they are valid.
17483func (s *GetApnsSandboxChannelInput) Validate() error {
17484	invalidParams := request.ErrInvalidParams{Context: "GetApnsSandboxChannelInput"}
17485	if s.ApplicationId == nil {
17486		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17487	}
17488	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17489		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17490	}
17491
17492	if invalidParams.Len() > 0 {
17493		return invalidParams
17494	}
17495	return nil
17496}
17497
17498// SetApplicationId sets the ApplicationId field's value.
17499func (s *GetApnsSandboxChannelInput) SetApplicationId(v string) *GetApnsSandboxChannelInput {
17500	s.ApplicationId = &v
17501	return s
17502}
17503
17504type GetApnsSandboxChannelOutput struct {
17505	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
17506
17507	// Provides information about the status and settings of the APNs (Apple Push
17508	// Notification service) sandbox channel for an application.
17509	//
17510	// APNSSandboxChannelResponse is a required field
17511	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
17512}
17513
17514// String returns the string representation
17515func (s GetApnsSandboxChannelOutput) String() string {
17516	return awsutil.Prettify(s)
17517}
17518
17519// GoString returns the string representation
17520func (s GetApnsSandboxChannelOutput) GoString() string {
17521	return s.String()
17522}
17523
17524// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
17525func (s *GetApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *GetApnsSandboxChannelOutput {
17526	s.APNSSandboxChannelResponse = v
17527	return s
17528}
17529
17530type GetApnsVoipChannelInput struct {
17531	_ struct{} `type:"structure"`
17532
17533	// ApplicationId is a required field
17534	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17535}
17536
17537// String returns the string representation
17538func (s GetApnsVoipChannelInput) String() string {
17539	return awsutil.Prettify(s)
17540}
17541
17542// GoString returns the string representation
17543func (s GetApnsVoipChannelInput) GoString() string {
17544	return s.String()
17545}
17546
17547// Validate inspects the fields of the type to determine if they are valid.
17548func (s *GetApnsVoipChannelInput) Validate() error {
17549	invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipChannelInput"}
17550	if s.ApplicationId == nil {
17551		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17552	}
17553	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17554		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17555	}
17556
17557	if invalidParams.Len() > 0 {
17558		return invalidParams
17559	}
17560	return nil
17561}
17562
17563// SetApplicationId sets the ApplicationId field's value.
17564func (s *GetApnsVoipChannelInput) SetApplicationId(v string) *GetApnsVoipChannelInput {
17565	s.ApplicationId = &v
17566	return s
17567}
17568
17569type GetApnsVoipChannelOutput struct {
17570	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
17571
17572	// Provides information about the status and settings of the APNs (Apple Push
17573	// Notification service) VoIP channel for an application.
17574	//
17575	// APNSVoipChannelResponse is a required field
17576	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
17577}
17578
17579// String returns the string representation
17580func (s GetApnsVoipChannelOutput) String() string {
17581	return awsutil.Prettify(s)
17582}
17583
17584// GoString returns the string representation
17585func (s GetApnsVoipChannelOutput) GoString() string {
17586	return s.String()
17587}
17588
17589// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
17590func (s *GetApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *GetApnsVoipChannelOutput {
17591	s.APNSVoipChannelResponse = v
17592	return s
17593}
17594
17595type GetApnsVoipSandboxChannelInput struct {
17596	_ struct{} `type:"structure"`
17597
17598	// ApplicationId is a required field
17599	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17600}
17601
17602// String returns the string representation
17603func (s GetApnsVoipSandboxChannelInput) String() string {
17604	return awsutil.Prettify(s)
17605}
17606
17607// GoString returns the string representation
17608func (s GetApnsVoipSandboxChannelInput) GoString() string {
17609	return s.String()
17610}
17611
17612// Validate inspects the fields of the type to determine if they are valid.
17613func (s *GetApnsVoipSandboxChannelInput) Validate() error {
17614	invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipSandboxChannelInput"}
17615	if s.ApplicationId == nil {
17616		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17617	}
17618	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17619		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17620	}
17621
17622	if invalidParams.Len() > 0 {
17623		return invalidParams
17624	}
17625	return nil
17626}
17627
17628// SetApplicationId sets the ApplicationId field's value.
17629func (s *GetApnsVoipSandboxChannelInput) SetApplicationId(v string) *GetApnsVoipSandboxChannelInput {
17630	s.ApplicationId = &v
17631	return s
17632}
17633
17634type GetApnsVoipSandboxChannelOutput struct {
17635	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
17636
17637	// Provides information about the status and settings of the APNs (Apple Push
17638	// Notification service) VoIP sandbox channel for an application.
17639	//
17640	// APNSVoipSandboxChannelResponse is a required field
17641	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
17642}
17643
17644// String returns the string representation
17645func (s GetApnsVoipSandboxChannelOutput) String() string {
17646	return awsutil.Prettify(s)
17647}
17648
17649// GoString returns the string representation
17650func (s GetApnsVoipSandboxChannelOutput) GoString() string {
17651	return s.String()
17652}
17653
17654// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
17655func (s *GetApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *GetApnsVoipSandboxChannelOutput {
17656	s.APNSVoipSandboxChannelResponse = v
17657	return s
17658}
17659
17660type GetAppInput struct {
17661	_ struct{} `type:"structure"`
17662
17663	// ApplicationId is a required field
17664	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17665}
17666
17667// String returns the string representation
17668func (s GetAppInput) String() string {
17669	return awsutil.Prettify(s)
17670}
17671
17672// GoString returns the string representation
17673func (s GetAppInput) GoString() string {
17674	return s.String()
17675}
17676
17677// Validate inspects the fields of the type to determine if they are valid.
17678func (s *GetAppInput) Validate() error {
17679	invalidParams := request.ErrInvalidParams{Context: "GetAppInput"}
17680	if s.ApplicationId == nil {
17681		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17682	}
17683	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17684		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17685	}
17686
17687	if invalidParams.Len() > 0 {
17688		return invalidParams
17689	}
17690	return nil
17691}
17692
17693// SetApplicationId sets the ApplicationId field's value.
17694func (s *GetAppInput) SetApplicationId(v string) *GetAppInput {
17695	s.ApplicationId = &v
17696	return s
17697}
17698
17699type GetAppOutput struct {
17700	_ struct{} `type:"structure" payload:"ApplicationResponse"`
17701
17702	// Provides information about an application.
17703	//
17704	// ApplicationResponse is a required field
17705	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
17706}
17707
17708// String returns the string representation
17709func (s GetAppOutput) String() string {
17710	return awsutil.Prettify(s)
17711}
17712
17713// GoString returns the string representation
17714func (s GetAppOutput) GoString() string {
17715	return s.String()
17716}
17717
17718// SetApplicationResponse sets the ApplicationResponse field's value.
17719func (s *GetAppOutput) SetApplicationResponse(v *ApplicationResponse) *GetAppOutput {
17720	s.ApplicationResponse = v
17721	return s
17722}
17723
17724type GetApplicationDateRangeKpiInput struct {
17725	_ struct{} `type:"structure"`
17726
17727	// ApplicationId is a required field
17728	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17729
17730	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
17731
17732	// KpiName is a required field
17733	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
17734
17735	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
17736
17737	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
17738
17739	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
17740}
17741
17742// String returns the string representation
17743func (s GetApplicationDateRangeKpiInput) String() string {
17744	return awsutil.Prettify(s)
17745}
17746
17747// GoString returns the string representation
17748func (s GetApplicationDateRangeKpiInput) GoString() string {
17749	return s.String()
17750}
17751
17752// Validate inspects the fields of the type to determine if they are valid.
17753func (s *GetApplicationDateRangeKpiInput) Validate() error {
17754	invalidParams := request.ErrInvalidParams{Context: "GetApplicationDateRangeKpiInput"}
17755	if s.ApplicationId == nil {
17756		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17757	}
17758	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17759		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17760	}
17761	if s.KpiName == nil {
17762		invalidParams.Add(request.NewErrParamRequired("KpiName"))
17763	}
17764	if s.KpiName != nil && len(*s.KpiName) < 1 {
17765		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
17766	}
17767
17768	if invalidParams.Len() > 0 {
17769		return invalidParams
17770	}
17771	return nil
17772}
17773
17774// SetApplicationId sets the ApplicationId field's value.
17775func (s *GetApplicationDateRangeKpiInput) SetApplicationId(v string) *GetApplicationDateRangeKpiInput {
17776	s.ApplicationId = &v
17777	return s
17778}
17779
17780// SetEndTime sets the EndTime field's value.
17781func (s *GetApplicationDateRangeKpiInput) SetEndTime(v time.Time) *GetApplicationDateRangeKpiInput {
17782	s.EndTime = &v
17783	return s
17784}
17785
17786// SetKpiName sets the KpiName field's value.
17787func (s *GetApplicationDateRangeKpiInput) SetKpiName(v string) *GetApplicationDateRangeKpiInput {
17788	s.KpiName = &v
17789	return s
17790}
17791
17792// SetNextToken sets the NextToken field's value.
17793func (s *GetApplicationDateRangeKpiInput) SetNextToken(v string) *GetApplicationDateRangeKpiInput {
17794	s.NextToken = &v
17795	return s
17796}
17797
17798// SetPageSize sets the PageSize field's value.
17799func (s *GetApplicationDateRangeKpiInput) SetPageSize(v string) *GetApplicationDateRangeKpiInput {
17800	s.PageSize = &v
17801	return s
17802}
17803
17804// SetStartTime sets the StartTime field's value.
17805func (s *GetApplicationDateRangeKpiInput) SetStartTime(v time.Time) *GetApplicationDateRangeKpiInput {
17806	s.StartTime = &v
17807	return s
17808}
17809
17810type GetApplicationDateRangeKpiOutput struct {
17811	_ struct{} `type:"structure" payload:"ApplicationDateRangeKpiResponse"`
17812
17813	// Provides the results of a query that retrieved the data for a standard metric
17814	// that applies to an application, and provides information about that query.
17815	//
17816	// ApplicationDateRangeKpiResponse is a required field
17817	ApplicationDateRangeKpiResponse *ApplicationDateRangeKpiResponse `type:"structure" required:"true"`
17818}
17819
17820// String returns the string representation
17821func (s GetApplicationDateRangeKpiOutput) String() string {
17822	return awsutil.Prettify(s)
17823}
17824
17825// GoString returns the string representation
17826func (s GetApplicationDateRangeKpiOutput) GoString() string {
17827	return s.String()
17828}
17829
17830// SetApplicationDateRangeKpiResponse sets the ApplicationDateRangeKpiResponse field's value.
17831func (s *GetApplicationDateRangeKpiOutput) SetApplicationDateRangeKpiResponse(v *ApplicationDateRangeKpiResponse) *GetApplicationDateRangeKpiOutput {
17832	s.ApplicationDateRangeKpiResponse = v
17833	return s
17834}
17835
17836type GetApplicationSettingsInput struct {
17837	_ struct{} `type:"structure"`
17838
17839	// ApplicationId is a required field
17840	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17841}
17842
17843// String returns the string representation
17844func (s GetApplicationSettingsInput) String() string {
17845	return awsutil.Prettify(s)
17846}
17847
17848// GoString returns the string representation
17849func (s GetApplicationSettingsInput) GoString() string {
17850	return s.String()
17851}
17852
17853// Validate inspects the fields of the type to determine if they are valid.
17854func (s *GetApplicationSettingsInput) Validate() error {
17855	invalidParams := request.ErrInvalidParams{Context: "GetApplicationSettingsInput"}
17856	if s.ApplicationId == nil {
17857		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17858	}
17859	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17860		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17861	}
17862
17863	if invalidParams.Len() > 0 {
17864		return invalidParams
17865	}
17866	return nil
17867}
17868
17869// SetApplicationId sets the ApplicationId field's value.
17870func (s *GetApplicationSettingsInput) SetApplicationId(v string) *GetApplicationSettingsInput {
17871	s.ApplicationId = &v
17872	return s
17873}
17874
17875type GetApplicationSettingsOutput struct {
17876	_ struct{} `type:"structure" payload:"ApplicationSettingsResource"`
17877
17878	// Provides information about an application, including the default settings
17879	// for an application.
17880	//
17881	// ApplicationSettingsResource is a required field
17882	ApplicationSettingsResource *ApplicationSettingsResource `type:"structure" required:"true"`
17883}
17884
17885// String returns the string representation
17886func (s GetApplicationSettingsOutput) String() string {
17887	return awsutil.Prettify(s)
17888}
17889
17890// GoString returns the string representation
17891func (s GetApplicationSettingsOutput) GoString() string {
17892	return s.String()
17893}
17894
17895// SetApplicationSettingsResource sets the ApplicationSettingsResource field's value.
17896func (s *GetApplicationSettingsOutput) SetApplicationSettingsResource(v *ApplicationSettingsResource) *GetApplicationSettingsOutput {
17897	s.ApplicationSettingsResource = v
17898	return s
17899}
17900
17901type GetAppsInput struct {
17902	_ struct{} `type:"structure"`
17903
17904	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
17905
17906	Token *string `location:"querystring" locationName:"token" type:"string"`
17907}
17908
17909// String returns the string representation
17910func (s GetAppsInput) String() string {
17911	return awsutil.Prettify(s)
17912}
17913
17914// GoString returns the string representation
17915func (s GetAppsInput) GoString() string {
17916	return s.String()
17917}
17918
17919// SetPageSize sets the PageSize field's value.
17920func (s *GetAppsInput) SetPageSize(v string) *GetAppsInput {
17921	s.PageSize = &v
17922	return s
17923}
17924
17925// SetToken sets the Token field's value.
17926func (s *GetAppsInput) SetToken(v string) *GetAppsInput {
17927	s.Token = &v
17928	return s
17929}
17930
17931type GetAppsOutput struct {
17932	_ struct{} `type:"structure" payload:"ApplicationsResponse"`
17933
17934	// Provides information about all of your applications.
17935	//
17936	// ApplicationsResponse is a required field
17937	ApplicationsResponse *ApplicationsResponse `type:"structure" required:"true"`
17938}
17939
17940// String returns the string representation
17941func (s GetAppsOutput) String() string {
17942	return awsutil.Prettify(s)
17943}
17944
17945// GoString returns the string representation
17946func (s GetAppsOutput) GoString() string {
17947	return s.String()
17948}
17949
17950// SetApplicationsResponse sets the ApplicationsResponse field's value.
17951func (s *GetAppsOutput) SetApplicationsResponse(v *ApplicationsResponse) *GetAppsOutput {
17952	s.ApplicationsResponse = v
17953	return s
17954}
17955
17956type GetBaiduChannelInput struct {
17957	_ struct{} `type:"structure"`
17958
17959	// ApplicationId is a required field
17960	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17961}
17962
17963// String returns the string representation
17964func (s GetBaiduChannelInput) String() string {
17965	return awsutil.Prettify(s)
17966}
17967
17968// GoString returns the string representation
17969func (s GetBaiduChannelInput) GoString() string {
17970	return s.String()
17971}
17972
17973// Validate inspects the fields of the type to determine if they are valid.
17974func (s *GetBaiduChannelInput) Validate() error {
17975	invalidParams := request.ErrInvalidParams{Context: "GetBaiduChannelInput"}
17976	if s.ApplicationId == nil {
17977		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17978	}
17979	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17980		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17981	}
17982
17983	if invalidParams.Len() > 0 {
17984		return invalidParams
17985	}
17986	return nil
17987}
17988
17989// SetApplicationId sets the ApplicationId field's value.
17990func (s *GetBaiduChannelInput) SetApplicationId(v string) *GetBaiduChannelInput {
17991	s.ApplicationId = &v
17992	return s
17993}
17994
17995type GetBaiduChannelOutput struct {
17996	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
17997
17998	// Provides information about the status and settings of the Baidu (Baidu Cloud
17999	// Push) channel for an application.
18000	//
18001	// BaiduChannelResponse is a required field
18002	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
18003}
18004
18005// String returns the string representation
18006func (s GetBaiduChannelOutput) String() string {
18007	return awsutil.Prettify(s)
18008}
18009
18010// GoString returns the string representation
18011func (s GetBaiduChannelOutput) GoString() string {
18012	return s.String()
18013}
18014
18015// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
18016func (s *GetBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *GetBaiduChannelOutput {
18017	s.BaiduChannelResponse = v
18018	return s
18019}
18020
18021type GetCampaignActivitiesInput struct {
18022	_ struct{} `type:"structure"`
18023
18024	// ApplicationId is a required field
18025	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18026
18027	// CampaignId is a required field
18028	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
18029
18030	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
18031
18032	Token *string `location:"querystring" locationName:"token" type:"string"`
18033}
18034
18035// String returns the string representation
18036func (s GetCampaignActivitiesInput) String() string {
18037	return awsutil.Prettify(s)
18038}
18039
18040// GoString returns the string representation
18041func (s GetCampaignActivitiesInput) GoString() string {
18042	return s.String()
18043}
18044
18045// Validate inspects the fields of the type to determine if they are valid.
18046func (s *GetCampaignActivitiesInput) Validate() error {
18047	invalidParams := request.ErrInvalidParams{Context: "GetCampaignActivitiesInput"}
18048	if s.ApplicationId == nil {
18049		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18050	}
18051	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18052		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18053	}
18054	if s.CampaignId == nil {
18055		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
18056	}
18057	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
18058		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
18059	}
18060
18061	if invalidParams.Len() > 0 {
18062		return invalidParams
18063	}
18064	return nil
18065}
18066
18067// SetApplicationId sets the ApplicationId field's value.
18068func (s *GetCampaignActivitiesInput) SetApplicationId(v string) *GetCampaignActivitiesInput {
18069	s.ApplicationId = &v
18070	return s
18071}
18072
18073// SetCampaignId sets the CampaignId field's value.
18074func (s *GetCampaignActivitiesInput) SetCampaignId(v string) *GetCampaignActivitiesInput {
18075	s.CampaignId = &v
18076	return s
18077}
18078
18079// SetPageSize sets the PageSize field's value.
18080func (s *GetCampaignActivitiesInput) SetPageSize(v string) *GetCampaignActivitiesInput {
18081	s.PageSize = &v
18082	return s
18083}
18084
18085// SetToken sets the Token field's value.
18086func (s *GetCampaignActivitiesInput) SetToken(v string) *GetCampaignActivitiesInput {
18087	s.Token = &v
18088	return s
18089}
18090
18091type GetCampaignActivitiesOutput struct {
18092	_ struct{} `type:"structure" payload:"ActivitiesResponse"`
18093
18094	// Provides information about the activities that were performed by a campaign.
18095	//
18096	// ActivitiesResponse is a required field
18097	ActivitiesResponse *ActivitiesResponse `type:"structure" required:"true"`
18098}
18099
18100// String returns the string representation
18101func (s GetCampaignActivitiesOutput) String() string {
18102	return awsutil.Prettify(s)
18103}
18104
18105// GoString returns the string representation
18106func (s GetCampaignActivitiesOutput) GoString() string {
18107	return s.String()
18108}
18109
18110// SetActivitiesResponse sets the ActivitiesResponse field's value.
18111func (s *GetCampaignActivitiesOutput) SetActivitiesResponse(v *ActivitiesResponse) *GetCampaignActivitiesOutput {
18112	s.ActivitiesResponse = v
18113	return s
18114}
18115
18116type GetCampaignDateRangeKpiInput struct {
18117	_ struct{} `type:"structure"`
18118
18119	// ApplicationId is a required field
18120	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18121
18122	// CampaignId is a required field
18123	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
18124
18125	EndTime *time.Time `location:"querystring" locationName:"end-time" type:"timestamp" timestampFormat:"iso8601"`
18126
18127	// KpiName is a required field
18128	KpiName *string `location:"uri" locationName:"kpi-name" type:"string" required:"true"`
18129
18130	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
18131
18132	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
18133
18134	StartTime *time.Time `location:"querystring" locationName:"start-time" type:"timestamp" timestampFormat:"iso8601"`
18135}
18136
18137// String returns the string representation
18138func (s GetCampaignDateRangeKpiInput) String() string {
18139	return awsutil.Prettify(s)
18140}
18141
18142// GoString returns the string representation
18143func (s GetCampaignDateRangeKpiInput) GoString() string {
18144	return s.String()
18145}
18146
18147// Validate inspects the fields of the type to determine if they are valid.
18148func (s *GetCampaignDateRangeKpiInput) Validate() error {
18149	invalidParams := request.ErrInvalidParams{Context: "GetCampaignDateRangeKpiInput"}
18150	if s.ApplicationId == nil {
18151		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18152	}
18153	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18154		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18155	}
18156	if s.CampaignId == nil {
18157		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
18158	}
18159	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
18160		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
18161	}
18162	if s.KpiName == nil {
18163		invalidParams.Add(request.NewErrParamRequired("KpiName"))
18164	}
18165	if s.KpiName != nil && len(*s.KpiName) < 1 {
18166		invalidParams.Add(request.NewErrParamMinLen("KpiName", 1))
18167	}
18168
18169	if invalidParams.Len() > 0 {
18170		return invalidParams
18171	}
18172	return nil
18173}
18174
18175// SetApplicationId sets the ApplicationId field's value.
18176func (s *GetCampaignDateRangeKpiInput) SetApplicationId(v string) *GetCampaignDateRangeKpiInput {
18177	s.ApplicationId = &v
18178	return s
18179}
18180
18181// SetCampaignId sets the CampaignId field's value.
18182func (s *GetCampaignDateRangeKpiInput) SetCampaignId(v string) *GetCampaignDateRangeKpiInput {
18183	s.CampaignId = &v
18184	return s
18185}
18186
18187// SetEndTime sets the EndTime field's value.
18188func (s *GetCampaignDateRangeKpiInput) SetEndTime(v time.Time) *GetCampaignDateRangeKpiInput {
18189	s.EndTime = &v
18190	return s
18191}
18192
18193// SetKpiName sets the KpiName field's value.
18194func (s *GetCampaignDateRangeKpiInput) SetKpiName(v string) *GetCampaignDateRangeKpiInput {
18195	s.KpiName = &v
18196	return s
18197}
18198
18199// SetNextToken sets the NextToken field's value.
18200func (s *GetCampaignDateRangeKpiInput) SetNextToken(v string) *GetCampaignDateRangeKpiInput {
18201	s.NextToken = &v
18202	return s
18203}
18204
18205// SetPageSize sets the PageSize field's value.
18206func (s *GetCampaignDateRangeKpiInput) SetPageSize(v string) *GetCampaignDateRangeKpiInput {
18207	s.PageSize = &v
18208	return s
18209}
18210
18211// SetStartTime sets the StartTime field's value.
18212func (s *GetCampaignDateRangeKpiInput) SetStartTime(v time.Time) *GetCampaignDateRangeKpiInput {
18213	s.StartTime = &v
18214	return s
18215}
18216
18217type GetCampaignDateRangeKpiOutput struct {
18218	_ struct{} `type:"structure" payload:"CampaignDateRangeKpiResponse"`
18219
18220	// Provides the results of a query that retrieved the data for a standard metric
18221	// that applies to a campaign, and provides information about that query.
18222	//
18223	// CampaignDateRangeKpiResponse is a required field
18224	CampaignDateRangeKpiResponse *CampaignDateRangeKpiResponse `type:"structure" required:"true"`
18225}
18226
18227// String returns the string representation
18228func (s GetCampaignDateRangeKpiOutput) String() string {
18229	return awsutil.Prettify(s)
18230}
18231
18232// GoString returns the string representation
18233func (s GetCampaignDateRangeKpiOutput) GoString() string {
18234	return s.String()
18235}
18236
18237// SetCampaignDateRangeKpiResponse sets the CampaignDateRangeKpiResponse field's value.
18238func (s *GetCampaignDateRangeKpiOutput) SetCampaignDateRangeKpiResponse(v *CampaignDateRangeKpiResponse) *GetCampaignDateRangeKpiOutput {
18239	s.CampaignDateRangeKpiResponse = v
18240	return s
18241}
18242
18243type GetCampaignInput struct {
18244	_ struct{} `type:"structure"`
18245
18246	// ApplicationId is a required field
18247	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18248
18249	// CampaignId is a required field
18250	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
18251}
18252
18253// String returns the string representation
18254func (s GetCampaignInput) String() string {
18255	return awsutil.Prettify(s)
18256}
18257
18258// GoString returns the string representation
18259func (s GetCampaignInput) GoString() string {
18260	return s.String()
18261}
18262
18263// Validate inspects the fields of the type to determine if they are valid.
18264func (s *GetCampaignInput) Validate() error {
18265	invalidParams := request.ErrInvalidParams{Context: "GetCampaignInput"}
18266	if s.ApplicationId == nil {
18267		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18268	}
18269	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18270		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18271	}
18272	if s.CampaignId == nil {
18273		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
18274	}
18275	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
18276		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
18277	}
18278
18279	if invalidParams.Len() > 0 {
18280		return invalidParams
18281	}
18282	return nil
18283}
18284
18285// SetApplicationId sets the ApplicationId field's value.
18286func (s *GetCampaignInput) SetApplicationId(v string) *GetCampaignInput {
18287	s.ApplicationId = &v
18288	return s
18289}
18290
18291// SetCampaignId sets the CampaignId field's value.
18292func (s *GetCampaignInput) SetCampaignId(v string) *GetCampaignInput {
18293	s.CampaignId = &v
18294	return s
18295}
18296
18297type GetCampaignOutput struct {
18298	_ struct{} `type:"structure" payload:"CampaignResponse"`
18299
18300	// Provides information about the status, configuration, and other settings
18301	// for a campaign.
18302	//
18303	// CampaignResponse is a required field
18304	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
18305}
18306
18307// String returns the string representation
18308func (s GetCampaignOutput) String() string {
18309	return awsutil.Prettify(s)
18310}
18311
18312// GoString returns the string representation
18313func (s GetCampaignOutput) GoString() string {
18314	return s.String()
18315}
18316
18317// SetCampaignResponse sets the CampaignResponse field's value.
18318func (s *GetCampaignOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignOutput {
18319	s.CampaignResponse = v
18320	return s
18321}
18322
18323type GetCampaignVersionInput struct {
18324	_ struct{} `type:"structure"`
18325
18326	// ApplicationId is a required field
18327	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18328
18329	// CampaignId is a required field
18330	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
18331
18332	// Version is a required field
18333	Version *string `location:"uri" locationName:"version" type:"string" required:"true"`
18334}
18335
18336// String returns the string representation
18337func (s GetCampaignVersionInput) String() string {
18338	return awsutil.Prettify(s)
18339}
18340
18341// GoString returns the string representation
18342func (s GetCampaignVersionInput) GoString() string {
18343	return s.String()
18344}
18345
18346// Validate inspects the fields of the type to determine if they are valid.
18347func (s *GetCampaignVersionInput) Validate() error {
18348	invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionInput"}
18349	if s.ApplicationId == nil {
18350		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18351	}
18352	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18353		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18354	}
18355	if s.CampaignId == nil {
18356		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
18357	}
18358	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
18359		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
18360	}
18361	if s.Version == nil {
18362		invalidParams.Add(request.NewErrParamRequired("Version"))
18363	}
18364	if s.Version != nil && len(*s.Version) < 1 {
18365		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
18366	}
18367
18368	if invalidParams.Len() > 0 {
18369		return invalidParams
18370	}
18371	return nil
18372}
18373
18374// SetApplicationId sets the ApplicationId field's value.
18375func (s *GetCampaignVersionInput) SetApplicationId(v string) *GetCampaignVersionInput {
18376	s.ApplicationId = &v
18377	return s
18378}
18379
18380// SetCampaignId sets the CampaignId field's value.
18381func (s *GetCampaignVersionInput) SetCampaignId(v string) *GetCampaignVersionInput {
18382	s.CampaignId = &v
18383	return s
18384}
18385
18386// SetVersion sets the Version field's value.
18387func (s *GetCampaignVersionInput) SetVersion(v string) *GetCampaignVersionInput {
18388	s.Version = &v
18389	return s
18390}
18391
18392type GetCampaignVersionOutput struct {
18393	_ struct{} `type:"structure" payload:"CampaignResponse"`
18394
18395	// Provides information about the status, configuration, and other settings
18396	// for a campaign.
18397	//
18398	// CampaignResponse is a required field
18399	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
18400}
18401
18402// String returns the string representation
18403func (s GetCampaignVersionOutput) String() string {
18404	return awsutil.Prettify(s)
18405}
18406
18407// GoString returns the string representation
18408func (s GetCampaignVersionOutput) GoString() string {
18409	return s.String()
18410}
18411
18412// SetCampaignResponse sets the CampaignResponse field's value.
18413func (s *GetCampaignVersionOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignVersionOutput {
18414	s.CampaignResponse = v
18415	return s
18416}
18417
18418type GetCampaignVersionsInput struct {
18419	_ struct{} `type:"structure"`
18420
18421	// ApplicationId is a required field
18422	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18423
18424	// CampaignId is a required field
18425	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
18426
18427	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
18428
18429	Token *string `location:"querystring" locationName:"token" type:"string"`
18430}
18431
18432// String returns the string representation
18433func (s GetCampaignVersionsInput) String() string {
18434	return awsutil.Prettify(s)
18435}
18436
18437// GoString returns the string representation
18438func (s GetCampaignVersionsInput) GoString() string {
18439	return s.String()
18440}
18441
18442// Validate inspects the fields of the type to determine if they are valid.
18443func (s *GetCampaignVersionsInput) Validate() error {
18444	invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionsInput"}
18445	if s.ApplicationId == nil {
18446		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18447	}
18448	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18449		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18450	}
18451	if s.CampaignId == nil {
18452		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
18453	}
18454	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
18455		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
18456	}
18457
18458	if invalidParams.Len() > 0 {
18459		return invalidParams
18460	}
18461	return nil
18462}
18463
18464// SetApplicationId sets the ApplicationId field's value.
18465func (s *GetCampaignVersionsInput) SetApplicationId(v string) *GetCampaignVersionsInput {
18466	s.ApplicationId = &v
18467	return s
18468}
18469
18470// SetCampaignId sets the CampaignId field's value.
18471func (s *GetCampaignVersionsInput) SetCampaignId(v string) *GetCampaignVersionsInput {
18472	s.CampaignId = &v
18473	return s
18474}
18475
18476// SetPageSize sets the PageSize field's value.
18477func (s *GetCampaignVersionsInput) SetPageSize(v string) *GetCampaignVersionsInput {
18478	s.PageSize = &v
18479	return s
18480}
18481
18482// SetToken sets the Token field's value.
18483func (s *GetCampaignVersionsInput) SetToken(v string) *GetCampaignVersionsInput {
18484	s.Token = &v
18485	return s
18486}
18487
18488type GetCampaignVersionsOutput struct {
18489	_ struct{} `type:"structure" payload:"CampaignsResponse"`
18490
18491	// Provides information about the configuration and other settings for all the
18492	// campaigns that are associated with an application.
18493	//
18494	// CampaignsResponse is a required field
18495	CampaignsResponse *CampaignsResponse `type:"structure" required:"true"`
18496}
18497
18498// String returns the string representation
18499func (s GetCampaignVersionsOutput) String() string {
18500	return awsutil.Prettify(s)
18501}
18502
18503// GoString returns the string representation
18504func (s GetCampaignVersionsOutput) GoString() string {
18505	return s.String()
18506}
18507
18508// SetCampaignsResponse sets the CampaignsResponse field's value.
18509func (s *GetCampaignVersionsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignVersionsOutput {
18510	s.CampaignsResponse = v
18511	return s
18512}
18513
18514type GetCampaignsInput struct {
18515	_ struct{} `type:"structure"`
18516
18517	// ApplicationId is a required field
18518	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18519
18520	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
18521
18522	Token *string `location:"querystring" locationName:"token" type:"string"`
18523}
18524
18525// String returns the string representation
18526func (s GetCampaignsInput) String() string {
18527	return awsutil.Prettify(s)
18528}
18529
18530// GoString returns the string representation
18531func (s GetCampaignsInput) GoString() string {
18532	return s.String()
18533}
18534
18535// Validate inspects the fields of the type to determine if they are valid.
18536func (s *GetCampaignsInput) Validate() error {
18537	invalidParams := request.ErrInvalidParams{Context: "GetCampaignsInput"}
18538	if s.ApplicationId == nil {
18539		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18540	}
18541	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18542		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18543	}
18544
18545	if invalidParams.Len() > 0 {
18546		return invalidParams
18547	}
18548	return nil
18549}
18550
18551// SetApplicationId sets the ApplicationId field's value.
18552func (s *GetCampaignsInput) SetApplicationId(v string) *GetCampaignsInput {
18553	s.ApplicationId = &v
18554	return s
18555}
18556
18557// SetPageSize sets the PageSize field's value.
18558func (s *GetCampaignsInput) SetPageSize(v string) *GetCampaignsInput {
18559	s.PageSize = &v
18560	return s
18561}
18562
18563// SetToken sets the Token field's value.
18564func (s *GetCampaignsInput) SetToken(v string) *GetCampaignsInput {
18565	s.Token = &v
18566	return s
18567}
18568
18569type GetCampaignsOutput struct {
18570	_ struct{} `type:"structure" payload:"CampaignsResponse"`
18571
18572	// Provides information about the configuration and other settings for all the
18573	// campaigns that are associated with an application.
18574	//
18575	// CampaignsResponse is a required field
18576	CampaignsResponse *CampaignsResponse `type:"structure" required:"true"`
18577}
18578
18579// String returns the string representation
18580func (s GetCampaignsOutput) String() string {
18581	return awsutil.Prettify(s)
18582}
18583
18584// GoString returns the string representation
18585func (s GetCampaignsOutput) GoString() string {
18586	return s.String()
18587}
18588
18589// SetCampaignsResponse sets the CampaignsResponse field's value.
18590func (s *GetCampaignsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignsOutput {
18591	s.CampaignsResponse = v
18592	return s
18593}
18594
18595type GetChannelsInput struct {
18596	_ struct{} `type:"structure"`
18597
18598	// ApplicationId is a required field
18599	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18600}
18601
18602// String returns the string representation
18603func (s GetChannelsInput) String() string {
18604	return awsutil.Prettify(s)
18605}
18606
18607// GoString returns the string representation
18608func (s GetChannelsInput) GoString() string {
18609	return s.String()
18610}
18611
18612// Validate inspects the fields of the type to determine if they are valid.
18613func (s *GetChannelsInput) Validate() error {
18614	invalidParams := request.ErrInvalidParams{Context: "GetChannelsInput"}
18615	if s.ApplicationId == nil {
18616		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18617	}
18618	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18619		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18620	}
18621
18622	if invalidParams.Len() > 0 {
18623		return invalidParams
18624	}
18625	return nil
18626}
18627
18628// SetApplicationId sets the ApplicationId field's value.
18629func (s *GetChannelsInput) SetApplicationId(v string) *GetChannelsInput {
18630	s.ApplicationId = &v
18631	return s
18632}
18633
18634type GetChannelsOutput struct {
18635	_ struct{} `type:"structure" payload:"ChannelsResponse"`
18636
18637	// Provides information about the general settings and status of all channels
18638	// for an application, including channels that aren't enabled for the application.
18639	//
18640	// ChannelsResponse is a required field
18641	ChannelsResponse *ChannelsResponse `type:"structure" required:"true"`
18642}
18643
18644// String returns the string representation
18645func (s GetChannelsOutput) String() string {
18646	return awsutil.Prettify(s)
18647}
18648
18649// GoString returns the string representation
18650func (s GetChannelsOutput) GoString() string {
18651	return s.String()
18652}
18653
18654// SetChannelsResponse sets the ChannelsResponse field's value.
18655func (s *GetChannelsOutput) SetChannelsResponse(v *ChannelsResponse) *GetChannelsOutput {
18656	s.ChannelsResponse = v
18657	return s
18658}
18659
18660type GetEmailChannelInput struct {
18661	_ struct{} `type:"structure"`
18662
18663	// ApplicationId is a required field
18664	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18665}
18666
18667// String returns the string representation
18668func (s GetEmailChannelInput) String() string {
18669	return awsutil.Prettify(s)
18670}
18671
18672// GoString returns the string representation
18673func (s GetEmailChannelInput) GoString() string {
18674	return s.String()
18675}
18676
18677// Validate inspects the fields of the type to determine if they are valid.
18678func (s *GetEmailChannelInput) Validate() error {
18679	invalidParams := request.ErrInvalidParams{Context: "GetEmailChannelInput"}
18680	if s.ApplicationId == nil {
18681		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18682	}
18683	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18684		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18685	}
18686
18687	if invalidParams.Len() > 0 {
18688		return invalidParams
18689	}
18690	return nil
18691}
18692
18693// SetApplicationId sets the ApplicationId field's value.
18694func (s *GetEmailChannelInput) SetApplicationId(v string) *GetEmailChannelInput {
18695	s.ApplicationId = &v
18696	return s
18697}
18698
18699type GetEmailChannelOutput struct {
18700	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
18701
18702	// Provides information about the status and settings of the email channel for
18703	// an application.
18704	//
18705	// EmailChannelResponse is a required field
18706	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
18707}
18708
18709// String returns the string representation
18710func (s GetEmailChannelOutput) String() string {
18711	return awsutil.Prettify(s)
18712}
18713
18714// GoString returns the string representation
18715func (s GetEmailChannelOutput) GoString() string {
18716	return s.String()
18717}
18718
18719// SetEmailChannelResponse sets the EmailChannelResponse field's value.
18720func (s *GetEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *GetEmailChannelOutput {
18721	s.EmailChannelResponse = v
18722	return s
18723}
18724
18725type GetEmailTemplateInput struct {
18726	_ struct{} `type:"structure"`
18727
18728	// TemplateName is a required field
18729	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
18730}
18731
18732// String returns the string representation
18733func (s GetEmailTemplateInput) String() string {
18734	return awsutil.Prettify(s)
18735}
18736
18737// GoString returns the string representation
18738func (s GetEmailTemplateInput) GoString() string {
18739	return s.String()
18740}
18741
18742// Validate inspects the fields of the type to determine if they are valid.
18743func (s *GetEmailTemplateInput) Validate() error {
18744	invalidParams := request.ErrInvalidParams{Context: "GetEmailTemplateInput"}
18745	if s.TemplateName == nil {
18746		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
18747	}
18748	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
18749		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
18750	}
18751
18752	if invalidParams.Len() > 0 {
18753		return invalidParams
18754	}
18755	return nil
18756}
18757
18758// SetTemplateName sets the TemplateName field's value.
18759func (s *GetEmailTemplateInput) SetTemplateName(v string) *GetEmailTemplateInput {
18760	s.TemplateName = &v
18761	return s
18762}
18763
18764type GetEmailTemplateOutput struct {
18765	_ struct{} `type:"structure" payload:"EmailTemplateResponse"`
18766
18767	// Provides information about the content and settings for a message template
18768	// that can be used in messages that are sent through the email channel.
18769	//
18770	// EmailTemplateResponse is a required field
18771	EmailTemplateResponse *EmailTemplateResponse `type:"structure" required:"true"`
18772}
18773
18774// String returns the string representation
18775func (s GetEmailTemplateOutput) String() string {
18776	return awsutil.Prettify(s)
18777}
18778
18779// GoString returns the string representation
18780func (s GetEmailTemplateOutput) GoString() string {
18781	return s.String()
18782}
18783
18784// SetEmailTemplateResponse sets the EmailTemplateResponse field's value.
18785func (s *GetEmailTemplateOutput) SetEmailTemplateResponse(v *EmailTemplateResponse) *GetEmailTemplateOutput {
18786	s.EmailTemplateResponse = v
18787	return s
18788}
18789
18790type GetEndpointInput struct {
18791	_ struct{} `type:"structure"`
18792
18793	// ApplicationId is a required field
18794	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18795
18796	// EndpointId is a required field
18797	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
18798}
18799
18800// String returns the string representation
18801func (s GetEndpointInput) String() string {
18802	return awsutil.Prettify(s)
18803}
18804
18805// GoString returns the string representation
18806func (s GetEndpointInput) GoString() string {
18807	return s.String()
18808}
18809
18810// Validate inspects the fields of the type to determine if they are valid.
18811func (s *GetEndpointInput) Validate() error {
18812	invalidParams := request.ErrInvalidParams{Context: "GetEndpointInput"}
18813	if s.ApplicationId == nil {
18814		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18815	}
18816	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18817		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18818	}
18819	if s.EndpointId == nil {
18820		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
18821	}
18822	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
18823		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
18824	}
18825
18826	if invalidParams.Len() > 0 {
18827		return invalidParams
18828	}
18829	return nil
18830}
18831
18832// SetApplicationId sets the ApplicationId field's value.
18833func (s *GetEndpointInput) SetApplicationId(v string) *GetEndpointInput {
18834	s.ApplicationId = &v
18835	return s
18836}
18837
18838// SetEndpointId sets the EndpointId field's value.
18839func (s *GetEndpointInput) SetEndpointId(v string) *GetEndpointInput {
18840	s.EndpointId = &v
18841	return s
18842}
18843
18844type GetEndpointOutput struct {
18845	_ struct{} `type:"structure" payload:"EndpointResponse"`
18846
18847	// Provides information about the channel type and other settings for an endpoint.
18848	//
18849	// EndpointResponse is a required field
18850	EndpointResponse *EndpointResponse `type:"structure" required:"true"`
18851}
18852
18853// String returns the string representation
18854func (s GetEndpointOutput) String() string {
18855	return awsutil.Prettify(s)
18856}
18857
18858// GoString returns the string representation
18859func (s GetEndpointOutput) GoString() string {
18860	return s.String()
18861}
18862
18863// SetEndpointResponse sets the EndpointResponse field's value.
18864func (s *GetEndpointOutput) SetEndpointResponse(v *EndpointResponse) *GetEndpointOutput {
18865	s.EndpointResponse = v
18866	return s
18867}
18868
18869type GetEventStreamInput struct {
18870	_ struct{} `type:"structure"`
18871
18872	// ApplicationId is a required field
18873	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18874}
18875
18876// String returns the string representation
18877func (s GetEventStreamInput) String() string {
18878	return awsutil.Prettify(s)
18879}
18880
18881// GoString returns the string representation
18882func (s GetEventStreamInput) GoString() string {
18883	return s.String()
18884}
18885
18886// Validate inspects the fields of the type to determine if they are valid.
18887func (s *GetEventStreamInput) Validate() error {
18888	invalidParams := request.ErrInvalidParams{Context: "GetEventStreamInput"}
18889	if s.ApplicationId == nil {
18890		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18891	}
18892	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18893		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18894	}
18895
18896	if invalidParams.Len() > 0 {
18897		return invalidParams
18898	}
18899	return nil
18900}
18901
18902// SetApplicationId sets the ApplicationId field's value.
18903func (s *GetEventStreamInput) SetApplicationId(v string) *GetEventStreamInput {
18904	s.ApplicationId = &v
18905	return s
18906}
18907
18908type GetEventStreamOutput struct {
18909	_ struct{} `type:"structure" payload:"EventStream"`
18910
18911	// Specifies settings for publishing event data to an Amazon Kinesis data stream
18912	// or an Amazon Kinesis Data Firehose delivery stream.
18913	//
18914	// EventStream is a required field
18915	EventStream *EventStream `type:"structure" required:"true"`
18916}
18917
18918// String returns the string representation
18919func (s GetEventStreamOutput) String() string {
18920	return awsutil.Prettify(s)
18921}
18922
18923// GoString returns the string representation
18924func (s GetEventStreamOutput) GoString() string {
18925	return s.String()
18926}
18927
18928// SetEventStream sets the EventStream field's value.
18929func (s *GetEventStreamOutput) SetEventStream(v *EventStream) *GetEventStreamOutput {
18930	s.EventStream = v
18931	return s
18932}
18933
18934type GetExportJobInput struct {
18935	_ struct{} `type:"structure"`
18936
18937	// ApplicationId is a required field
18938	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18939
18940	// JobId is a required field
18941	JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"`
18942}
18943
18944// String returns the string representation
18945func (s GetExportJobInput) String() string {
18946	return awsutil.Prettify(s)
18947}
18948
18949// GoString returns the string representation
18950func (s GetExportJobInput) GoString() string {
18951	return s.String()
18952}
18953
18954// Validate inspects the fields of the type to determine if they are valid.
18955func (s *GetExportJobInput) Validate() error {
18956	invalidParams := request.ErrInvalidParams{Context: "GetExportJobInput"}
18957	if s.ApplicationId == nil {
18958		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18959	}
18960	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18961		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18962	}
18963	if s.JobId == nil {
18964		invalidParams.Add(request.NewErrParamRequired("JobId"))
18965	}
18966	if s.JobId != nil && len(*s.JobId) < 1 {
18967		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
18968	}
18969
18970	if invalidParams.Len() > 0 {
18971		return invalidParams
18972	}
18973	return nil
18974}
18975
18976// SetApplicationId sets the ApplicationId field's value.
18977func (s *GetExportJobInput) SetApplicationId(v string) *GetExportJobInput {
18978	s.ApplicationId = &v
18979	return s
18980}
18981
18982// SetJobId sets the JobId field's value.
18983func (s *GetExportJobInput) SetJobId(v string) *GetExportJobInput {
18984	s.JobId = &v
18985	return s
18986}
18987
18988type GetExportJobOutput struct {
18989	_ struct{} `type:"structure" payload:"ExportJobResponse"`
18990
18991	// Provides information about the status and settings of a job that exports
18992	// endpoint definitions to a file. The file can be added directly to an Amazon
18993	// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
18994	// or downloaded directly to a computer by using the Amazon Pinpoint console.
18995	//
18996	// ExportJobResponse is a required field
18997	ExportJobResponse *ExportJobResponse `type:"structure" required:"true"`
18998}
18999
19000// String returns the string representation
19001func (s GetExportJobOutput) String() string {
19002	return awsutil.Prettify(s)
19003}
19004
19005// GoString returns the string representation
19006func (s GetExportJobOutput) GoString() string {
19007	return s.String()
19008}
19009
19010// SetExportJobResponse sets the ExportJobResponse field's value.
19011func (s *GetExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *GetExportJobOutput {
19012	s.ExportJobResponse = v
19013	return s
19014}
19015
19016type GetExportJobsInput struct {
19017	_ struct{} `type:"structure"`
19018
19019	// ApplicationId is a required field
19020	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19021
19022	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
19023
19024	Token *string `location:"querystring" locationName:"token" type:"string"`
19025}
19026
19027// String returns the string representation
19028func (s GetExportJobsInput) String() string {
19029	return awsutil.Prettify(s)
19030}
19031
19032// GoString returns the string representation
19033func (s GetExportJobsInput) GoString() string {
19034	return s.String()
19035}
19036
19037// Validate inspects the fields of the type to determine if they are valid.
19038func (s *GetExportJobsInput) Validate() error {
19039	invalidParams := request.ErrInvalidParams{Context: "GetExportJobsInput"}
19040	if s.ApplicationId == nil {
19041		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19042	}
19043	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19044		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19045	}
19046
19047	if invalidParams.Len() > 0 {
19048		return invalidParams
19049	}
19050	return nil
19051}
19052
19053// SetApplicationId sets the ApplicationId field's value.
19054func (s *GetExportJobsInput) SetApplicationId(v string) *GetExportJobsInput {
19055	s.ApplicationId = &v
19056	return s
19057}
19058
19059// SetPageSize sets the PageSize field's value.
19060func (s *GetExportJobsInput) SetPageSize(v string) *GetExportJobsInput {
19061	s.PageSize = &v
19062	return s
19063}
19064
19065// SetToken sets the Token field's value.
19066func (s *GetExportJobsInput) SetToken(v string) *GetExportJobsInput {
19067	s.Token = &v
19068	return s
19069}
19070
19071type GetExportJobsOutput struct {
19072	_ struct{} `type:"structure" payload:"ExportJobsResponse"`
19073
19074	// Provides information about all the export jobs that are associated with an
19075	// application or segment. An export job is a job that exports endpoint definitions
19076	// to a file.
19077	//
19078	// ExportJobsResponse is a required field
19079	ExportJobsResponse *ExportJobsResponse `type:"structure" required:"true"`
19080}
19081
19082// String returns the string representation
19083func (s GetExportJobsOutput) String() string {
19084	return awsutil.Prettify(s)
19085}
19086
19087// GoString returns the string representation
19088func (s GetExportJobsOutput) GoString() string {
19089	return s.String()
19090}
19091
19092// SetExportJobsResponse sets the ExportJobsResponse field's value.
19093func (s *GetExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetExportJobsOutput {
19094	s.ExportJobsResponse = v
19095	return s
19096}
19097
19098type GetGcmChannelInput struct {
19099	_ struct{} `type:"structure"`
19100
19101	// ApplicationId is a required field
19102	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19103}
19104
19105// String returns the string representation
19106func (s GetGcmChannelInput) String() string {
19107	return awsutil.Prettify(s)
19108}
19109
19110// GoString returns the string representation
19111func (s GetGcmChannelInput) GoString() string {
19112	return s.String()
19113}
19114
19115// Validate inspects the fields of the type to determine if they are valid.
19116func (s *GetGcmChannelInput) Validate() error {
19117	invalidParams := request.ErrInvalidParams{Context: "GetGcmChannelInput"}
19118	if s.ApplicationId == nil {
19119		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19120	}
19121	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19122		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19123	}
19124
19125	if invalidParams.Len() > 0 {
19126		return invalidParams
19127	}
19128	return nil
19129}
19130
19131// SetApplicationId sets the ApplicationId field's value.
19132func (s *GetGcmChannelInput) SetApplicationId(v string) *GetGcmChannelInput {
19133	s.ApplicationId = &v
19134	return s
19135}
19136
19137type GetGcmChannelOutput struct {
19138	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
19139
19140	// Provides information about the status and settings of the GCM channel for
19141	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
19142	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
19143	// (GCM), service.
19144	//
19145	// GCMChannelResponse is a required field
19146	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
19147}
19148
19149// String returns the string representation
19150func (s GetGcmChannelOutput) String() string {
19151	return awsutil.Prettify(s)
19152}
19153
19154// GoString returns the string representation
19155func (s GetGcmChannelOutput) GoString() string {
19156	return s.String()
19157}
19158
19159// SetGCMChannelResponse sets the GCMChannelResponse field's value.
19160func (s *GetGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *GetGcmChannelOutput {
19161	s.GCMChannelResponse = v
19162	return s
19163}
19164
19165type GetImportJobInput struct {
19166	_ struct{} `type:"structure"`
19167
19168	// ApplicationId is a required field
19169	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19170
19171	// JobId is a required field
19172	JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"`
19173}
19174
19175// String returns the string representation
19176func (s GetImportJobInput) String() string {
19177	return awsutil.Prettify(s)
19178}
19179
19180// GoString returns the string representation
19181func (s GetImportJobInput) GoString() string {
19182	return s.String()
19183}
19184
19185// Validate inspects the fields of the type to determine if they are valid.
19186func (s *GetImportJobInput) Validate() error {
19187	invalidParams := request.ErrInvalidParams{Context: "GetImportJobInput"}
19188	if s.ApplicationId == nil {
19189		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19190	}
19191	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19192		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19193	}
19194	if s.JobId == nil {
19195		invalidParams.Add(request.NewErrParamRequired("JobId"))
19196	}
19197	if s.JobId != nil && len(*s.JobId) < 1 {
19198		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
19199	}
19200
19201	if invalidParams.Len() > 0 {
19202		return invalidParams
19203	}
19204	return nil
19205}
19206
19207// SetApplicationId sets the ApplicationId field's value.
19208func (s *GetImportJobInput) SetApplicationId(v string) *GetImportJobInput {
19209	s.ApplicationId = &v
19210	return s
19211}
19212
19213// SetJobId sets the JobId field's value.
19214func (s *GetImportJobInput) SetJobId(v string) *GetImportJobInput {
19215	s.JobId = &v
19216	return s
19217}
19218
19219type GetImportJobOutput struct {
19220	_ struct{} `type:"structure" payload:"ImportJobResponse"`
19221
19222	// Provides information about the status and settings of a job that imports
19223	// endpoint definitions from one or more files. The files can be stored in an
19224	// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
19225	// a computer by using the Amazon Pinpoint console.
19226	//
19227	// ImportJobResponse is a required field
19228	ImportJobResponse *ImportJobResponse `type:"structure" required:"true"`
19229}
19230
19231// String returns the string representation
19232func (s GetImportJobOutput) String() string {
19233	return awsutil.Prettify(s)
19234}
19235
19236// GoString returns the string representation
19237func (s GetImportJobOutput) GoString() string {
19238	return s.String()
19239}
19240
19241// SetImportJobResponse sets the ImportJobResponse field's value.
19242func (s *GetImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *GetImportJobOutput {
19243	s.ImportJobResponse = v
19244	return s
19245}
19246
19247type GetImportJobsInput struct {
19248	_ struct{} `type:"structure"`
19249
19250	// ApplicationId is a required field
19251	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19252
19253	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
19254
19255	Token *string `location:"querystring" locationName:"token" type:"string"`
19256}
19257
19258// String returns the string representation
19259func (s GetImportJobsInput) String() string {
19260	return awsutil.Prettify(s)
19261}
19262
19263// GoString returns the string representation
19264func (s GetImportJobsInput) GoString() string {
19265	return s.String()
19266}
19267
19268// Validate inspects the fields of the type to determine if they are valid.
19269func (s *GetImportJobsInput) Validate() error {
19270	invalidParams := request.ErrInvalidParams{Context: "GetImportJobsInput"}
19271	if s.ApplicationId == nil {
19272		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19273	}
19274	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19275		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19276	}
19277
19278	if invalidParams.Len() > 0 {
19279		return invalidParams
19280	}
19281	return nil
19282}
19283
19284// SetApplicationId sets the ApplicationId field's value.
19285func (s *GetImportJobsInput) SetApplicationId(v string) *GetImportJobsInput {
19286	s.ApplicationId = &v
19287	return s
19288}
19289
19290// SetPageSize sets the PageSize field's value.
19291func (s *GetImportJobsInput) SetPageSize(v string) *GetImportJobsInput {
19292	s.PageSize = &v
19293	return s
19294}
19295
19296// SetToken sets the Token field's value.
19297func (s *GetImportJobsInput) SetToken(v string) *GetImportJobsInput {
19298	s.Token = &v
19299	return s
19300}
19301
19302type GetImportJobsOutput struct {
19303	_ struct{} `type:"structure" payload:"ImportJobsResponse"`
19304
19305	// Provides information about the status and settings of all the import jobs
19306	// that are associated with an application or segment. An import job is a job
19307	// that imports endpoint definitions from one or more files.
19308	//
19309	// ImportJobsResponse is a required field
19310	ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"`
19311}
19312
19313// String returns the string representation
19314func (s GetImportJobsOutput) String() string {
19315	return awsutil.Prettify(s)
19316}
19317
19318// GoString returns the string representation
19319func (s GetImportJobsOutput) GoString() string {
19320	return s.String()
19321}
19322
19323// SetImportJobsResponse sets the ImportJobsResponse field's value.
19324func (s *GetImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetImportJobsOutput {
19325	s.ImportJobsResponse = v
19326	return s
19327}
19328
19329type GetPushTemplateInput struct {
19330	_ struct{} `type:"structure"`
19331
19332	// TemplateName is a required field
19333	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
19334}
19335
19336// String returns the string representation
19337func (s GetPushTemplateInput) String() string {
19338	return awsutil.Prettify(s)
19339}
19340
19341// GoString returns the string representation
19342func (s GetPushTemplateInput) GoString() string {
19343	return s.String()
19344}
19345
19346// Validate inspects the fields of the type to determine if they are valid.
19347func (s *GetPushTemplateInput) Validate() error {
19348	invalidParams := request.ErrInvalidParams{Context: "GetPushTemplateInput"}
19349	if s.TemplateName == nil {
19350		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
19351	}
19352	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
19353		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
19354	}
19355
19356	if invalidParams.Len() > 0 {
19357		return invalidParams
19358	}
19359	return nil
19360}
19361
19362// SetTemplateName sets the TemplateName field's value.
19363func (s *GetPushTemplateInput) SetTemplateName(v string) *GetPushTemplateInput {
19364	s.TemplateName = &v
19365	return s
19366}
19367
19368type GetPushTemplateOutput struct {
19369	_ struct{} `type:"structure" payload:"PushNotificationTemplateResponse"`
19370
19371	// Provides information about the content and settings for a message template
19372	// that can be used in messages that are sent through a push notification channel.
19373	//
19374	// PushNotificationTemplateResponse is a required field
19375	PushNotificationTemplateResponse *PushNotificationTemplateResponse `type:"structure" required:"true"`
19376}
19377
19378// String returns the string representation
19379func (s GetPushTemplateOutput) String() string {
19380	return awsutil.Prettify(s)
19381}
19382
19383// GoString returns the string representation
19384func (s GetPushTemplateOutput) GoString() string {
19385	return s.String()
19386}
19387
19388// SetPushNotificationTemplateResponse sets the PushNotificationTemplateResponse field's value.
19389func (s *GetPushTemplateOutput) SetPushNotificationTemplateResponse(v *PushNotificationTemplateResponse) *GetPushTemplateOutput {
19390	s.PushNotificationTemplateResponse = v
19391	return s
19392}
19393
19394type GetSegmentExportJobsInput struct {
19395	_ struct{} `type:"structure"`
19396
19397	// ApplicationId is a required field
19398	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19399
19400	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
19401
19402	// SegmentId is a required field
19403	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
19404
19405	Token *string `location:"querystring" locationName:"token" type:"string"`
19406}
19407
19408// String returns the string representation
19409func (s GetSegmentExportJobsInput) String() string {
19410	return awsutil.Prettify(s)
19411}
19412
19413// GoString returns the string representation
19414func (s GetSegmentExportJobsInput) GoString() string {
19415	return s.String()
19416}
19417
19418// Validate inspects the fields of the type to determine if they are valid.
19419func (s *GetSegmentExportJobsInput) Validate() error {
19420	invalidParams := request.ErrInvalidParams{Context: "GetSegmentExportJobsInput"}
19421	if s.ApplicationId == nil {
19422		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19423	}
19424	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19425		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19426	}
19427	if s.SegmentId == nil {
19428		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
19429	}
19430	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
19431		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
19432	}
19433
19434	if invalidParams.Len() > 0 {
19435		return invalidParams
19436	}
19437	return nil
19438}
19439
19440// SetApplicationId sets the ApplicationId field's value.
19441func (s *GetSegmentExportJobsInput) SetApplicationId(v string) *GetSegmentExportJobsInput {
19442	s.ApplicationId = &v
19443	return s
19444}
19445
19446// SetPageSize sets the PageSize field's value.
19447func (s *GetSegmentExportJobsInput) SetPageSize(v string) *GetSegmentExportJobsInput {
19448	s.PageSize = &v
19449	return s
19450}
19451
19452// SetSegmentId sets the SegmentId field's value.
19453func (s *GetSegmentExportJobsInput) SetSegmentId(v string) *GetSegmentExportJobsInput {
19454	s.SegmentId = &v
19455	return s
19456}
19457
19458// SetToken sets the Token field's value.
19459func (s *GetSegmentExportJobsInput) SetToken(v string) *GetSegmentExportJobsInput {
19460	s.Token = &v
19461	return s
19462}
19463
19464type GetSegmentExportJobsOutput struct {
19465	_ struct{} `type:"structure" payload:"ExportJobsResponse"`
19466
19467	// Provides information about all the export jobs that are associated with an
19468	// application or segment. An export job is a job that exports endpoint definitions
19469	// to a file.
19470	//
19471	// ExportJobsResponse is a required field
19472	ExportJobsResponse *ExportJobsResponse `type:"structure" required:"true"`
19473}
19474
19475// String returns the string representation
19476func (s GetSegmentExportJobsOutput) String() string {
19477	return awsutil.Prettify(s)
19478}
19479
19480// GoString returns the string representation
19481func (s GetSegmentExportJobsOutput) GoString() string {
19482	return s.String()
19483}
19484
19485// SetExportJobsResponse sets the ExportJobsResponse field's value.
19486func (s *GetSegmentExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetSegmentExportJobsOutput {
19487	s.ExportJobsResponse = v
19488	return s
19489}
19490
19491type GetSegmentImportJobsInput struct {
19492	_ struct{} `type:"structure"`
19493
19494	// ApplicationId is a required field
19495	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19496
19497	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
19498
19499	// SegmentId is a required field
19500	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
19501
19502	Token *string `location:"querystring" locationName:"token" type:"string"`
19503}
19504
19505// String returns the string representation
19506func (s GetSegmentImportJobsInput) String() string {
19507	return awsutil.Prettify(s)
19508}
19509
19510// GoString returns the string representation
19511func (s GetSegmentImportJobsInput) GoString() string {
19512	return s.String()
19513}
19514
19515// Validate inspects the fields of the type to determine if they are valid.
19516func (s *GetSegmentImportJobsInput) Validate() error {
19517	invalidParams := request.ErrInvalidParams{Context: "GetSegmentImportJobsInput"}
19518	if s.ApplicationId == nil {
19519		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19520	}
19521	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19522		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19523	}
19524	if s.SegmentId == nil {
19525		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
19526	}
19527	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
19528		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
19529	}
19530
19531	if invalidParams.Len() > 0 {
19532		return invalidParams
19533	}
19534	return nil
19535}
19536
19537// SetApplicationId sets the ApplicationId field's value.
19538func (s *GetSegmentImportJobsInput) SetApplicationId(v string) *GetSegmentImportJobsInput {
19539	s.ApplicationId = &v
19540	return s
19541}
19542
19543// SetPageSize sets the PageSize field's value.
19544func (s *GetSegmentImportJobsInput) SetPageSize(v string) *GetSegmentImportJobsInput {
19545	s.PageSize = &v
19546	return s
19547}
19548
19549// SetSegmentId sets the SegmentId field's value.
19550func (s *GetSegmentImportJobsInput) SetSegmentId(v string) *GetSegmentImportJobsInput {
19551	s.SegmentId = &v
19552	return s
19553}
19554
19555// SetToken sets the Token field's value.
19556func (s *GetSegmentImportJobsInput) SetToken(v string) *GetSegmentImportJobsInput {
19557	s.Token = &v
19558	return s
19559}
19560
19561type GetSegmentImportJobsOutput struct {
19562	_ struct{} `type:"structure" payload:"ImportJobsResponse"`
19563
19564	// Provides information about the status and settings of all the import jobs
19565	// that are associated with an application or segment. An import job is a job
19566	// that imports endpoint definitions from one or more files.
19567	//
19568	// ImportJobsResponse is a required field
19569	ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"`
19570}
19571
19572// String returns the string representation
19573func (s GetSegmentImportJobsOutput) String() string {
19574	return awsutil.Prettify(s)
19575}
19576
19577// GoString returns the string representation
19578func (s GetSegmentImportJobsOutput) GoString() string {
19579	return s.String()
19580}
19581
19582// SetImportJobsResponse sets the ImportJobsResponse field's value.
19583func (s *GetSegmentImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetSegmentImportJobsOutput {
19584	s.ImportJobsResponse = v
19585	return s
19586}
19587
19588type GetSegmentInput struct {
19589	_ struct{} `type:"structure"`
19590
19591	// ApplicationId is a required field
19592	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19593
19594	// SegmentId is a required field
19595	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
19596}
19597
19598// String returns the string representation
19599func (s GetSegmentInput) String() string {
19600	return awsutil.Prettify(s)
19601}
19602
19603// GoString returns the string representation
19604func (s GetSegmentInput) GoString() string {
19605	return s.String()
19606}
19607
19608// Validate inspects the fields of the type to determine if they are valid.
19609func (s *GetSegmentInput) Validate() error {
19610	invalidParams := request.ErrInvalidParams{Context: "GetSegmentInput"}
19611	if s.ApplicationId == nil {
19612		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19613	}
19614	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19615		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19616	}
19617	if s.SegmentId == nil {
19618		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
19619	}
19620	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
19621		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
19622	}
19623
19624	if invalidParams.Len() > 0 {
19625		return invalidParams
19626	}
19627	return nil
19628}
19629
19630// SetApplicationId sets the ApplicationId field's value.
19631func (s *GetSegmentInput) SetApplicationId(v string) *GetSegmentInput {
19632	s.ApplicationId = &v
19633	return s
19634}
19635
19636// SetSegmentId sets the SegmentId field's value.
19637func (s *GetSegmentInput) SetSegmentId(v string) *GetSegmentInput {
19638	s.SegmentId = &v
19639	return s
19640}
19641
19642type GetSegmentOutput struct {
19643	_ struct{} `type:"structure" payload:"SegmentResponse"`
19644
19645	// Provides information about the configuration, dimension, and other settings
19646	// for a segment.
19647	//
19648	// SegmentResponse is a required field
19649	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
19650}
19651
19652// String returns the string representation
19653func (s GetSegmentOutput) String() string {
19654	return awsutil.Prettify(s)
19655}
19656
19657// GoString returns the string representation
19658func (s GetSegmentOutput) GoString() string {
19659	return s.String()
19660}
19661
19662// SetSegmentResponse sets the SegmentResponse field's value.
19663func (s *GetSegmentOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentOutput {
19664	s.SegmentResponse = v
19665	return s
19666}
19667
19668type GetSegmentVersionInput struct {
19669	_ struct{} `type:"structure"`
19670
19671	// ApplicationId is a required field
19672	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19673
19674	// SegmentId is a required field
19675	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
19676
19677	// Version is a required field
19678	Version *string `location:"uri" locationName:"version" type:"string" required:"true"`
19679}
19680
19681// String returns the string representation
19682func (s GetSegmentVersionInput) String() string {
19683	return awsutil.Prettify(s)
19684}
19685
19686// GoString returns the string representation
19687func (s GetSegmentVersionInput) GoString() string {
19688	return s.String()
19689}
19690
19691// Validate inspects the fields of the type to determine if they are valid.
19692func (s *GetSegmentVersionInput) Validate() error {
19693	invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionInput"}
19694	if s.ApplicationId == nil {
19695		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19696	}
19697	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19698		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19699	}
19700	if s.SegmentId == nil {
19701		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
19702	}
19703	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
19704		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
19705	}
19706	if s.Version == nil {
19707		invalidParams.Add(request.NewErrParamRequired("Version"))
19708	}
19709	if s.Version != nil && len(*s.Version) < 1 {
19710		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
19711	}
19712
19713	if invalidParams.Len() > 0 {
19714		return invalidParams
19715	}
19716	return nil
19717}
19718
19719// SetApplicationId sets the ApplicationId field's value.
19720func (s *GetSegmentVersionInput) SetApplicationId(v string) *GetSegmentVersionInput {
19721	s.ApplicationId = &v
19722	return s
19723}
19724
19725// SetSegmentId sets the SegmentId field's value.
19726func (s *GetSegmentVersionInput) SetSegmentId(v string) *GetSegmentVersionInput {
19727	s.SegmentId = &v
19728	return s
19729}
19730
19731// SetVersion sets the Version field's value.
19732func (s *GetSegmentVersionInput) SetVersion(v string) *GetSegmentVersionInput {
19733	s.Version = &v
19734	return s
19735}
19736
19737type GetSegmentVersionOutput struct {
19738	_ struct{} `type:"structure" payload:"SegmentResponse"`
19739
19740	// Provides information about the configuration, dimension, and other settings
19741	// for a segment.
19742	//
19743	// SegmentResponse is a required field
19744	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
19745}
19746
19747// String returns the string representation
19748func (s GetSegmentVersionOutput) String() string {
19749	return awsutil.Prettify(s)
19750}
19751
19752// GoString returns the string representation
19753func (s GetSegmentVersionOutput) GoString() string {
19754	return s.String()
19755}
19756
19757// SetSegmentResponse sets the SegmentResponse field's value.
19758func (s *GetSegmentVersionOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentVersionOutput {
19759	s.SegmentResponse = v
19760	return s
19761}
19762
19763type GetSegmentVersionsInput struct {
19764	_ struct{} `type:"structure"`
19765
19766	// ApplicationId is a required field
19767	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19768
19769	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
19770
19771	// SegmentId is a required field
19772	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
19773
19774	Token *string `location:"querystring" locationName:"token" type:"string"`
19775}
19776
19777// String returns the string representation
19778func (s GetSegmentVersionsInput) String() string {
19779	return awsutil.Prettify(s)
19780}
19781
19782// GoString returns the string representation
19783func (s GetSegmentVersionsInput) GoString() string {
19784	return s.String()
19785}
19786
19787// Validate inspects the fields of the type to determine if they are valid.
19788func (s *GetSegmentVersionsInput) Validate() error {
19789	invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionsInput"}
19790	if s.ApplicationId == nil {
19791		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19792	}
19793	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19794		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19795	}
19796	if s.SegmentId == nil {
19797		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
19798	}
19799	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
19800		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
19801	}
19802
19803	if invalidParams.Len() > 0 {
19804		return invalidParams
19805	}
19806	return nil
19807}
19808
19809// SetApplicationId sets the ApplicationId field's value.
19810func (s *GetSegmentVersionsInput) SetApplicationId(v string) *GetSegmentVersionsInput {
19811	s.ApplicationId = &v
19812	return s
19813}
19814
19815// SetPageSize sets the PageSize field's value.
19816func (s *GetSegmentVersionsInput) SetPageSize(v string) *GetSegmentVersionsInput {
19817	s.PageSize = &v
19818	return s
19819}
19820
19821// SetSegmentId sets the SegmentId field's value.
19822func (s *GetSegmentVersionsInput) SetSegmentId(v string) *GetSegmentVersionsInput {
19823	s.SegmentId = &v
19824	return s
19825}
19826
19827// SetToken sets the Token field's value.
19828func (s *GetSegmentVersionsInput) SetToken(v string) *GetSegmentVersionsInput {
19829	s.Token = &v
19830	return s
19831}
19832
19833type GetSegmentVersionsOutput struct {
19834	_ struct{} `type:"structure" payload:"SegmentsResponse"`
19835
19836	// Provides information about all the segments that are associated with an application.
19837	//
19838	// SegmentsResponse is a required field
19839	SegmentsResponse *SegmentsResponse `type:"structure" required:"true"`
19840}
19841
19842// String returns the string representation
19843func (s GetSegmentVersionsOutput) String() string {
19844	return awsutil.Prettify(s)
19845}
19846
19847// GoString returns the string representation
19848func (s GetSegmentVersionsOutput) GoString() string {
19849	return s.String()
19850}
19851
19852// SetSegmentsResponse sets the SegmentsResponse field's value.
19853func (s *GetSegmentVersionsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentVersionsOutput {
19854	s.SegmentsResponse = v
19855	return s
19856}
19857
19858type GetSegmentsInput struct {
19859	_ struct{} `type:"structure"`
19860
19861	// ApplicationId is a required field
19862	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19863
19864	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
19865
19866	Token *string `location:"querystring" locationName:"token" type:"string"`
19867}
19868
19869// String returns the string representation
19870func (s GetSegmentsInput) String() string {
19871	return awsutil.Prettify(s)
19872}
19873
19874// GoString returns the string representation
19875func (s GetSegmentsInput) GoString() string {
19876	return s.String()
19877}
19878
19879// Validate inspects the fields of the type to determine if they are valid.
19880func (s *GetSegmentsInput) Validate() error {
19881	invalidParams := request.ErrInvalidParams{Context: "GetSegmentsInput"}
19882	if s.ApplicationId == nil {
19883		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19884	}
19885	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19886		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19887	}
19888
19889	if invalidParams.Len() > 0 {
19890		return invalidParams
19891	}
19892	return nil
19893}
19894
19895// SetApplicationId sets the ApplicationId field's value.
19896func (s *GetSegmentsInput) SetApplicationId(v string) *GetSegmentsInput {
19897	s.ApplicationId = &v
19898	return s
19899}
19900
19901// SetPageSize sets the PageSize field's value.
19902func (s *GetSegmentsInput) SetPageSize(v string) *GetSegmentsInput {
19903	s.PageSize = &v
19904	return s
19905}
19906
19907// SetToken sets the Token field's value.
19908func (s *GetSegmentsInput) SetToken(v string) *GetSegmentsInput {
19909	s.Token = &v
19910	return s
19911}
19912
19913type GetSegmentsOutput struct {
19914	_ struct{} `type:"structure" payload:"SegmentsResponse"`
19915
19916	// Provides information about all the segments that are associated with an application.
19917	//
19918	// SegmentsResponse is a required field
19919	SegmentsResponse *SegmentsResponse `type:"structure" required:"true"`
19920}
19921
19922// String returns the string representation
19923func (s GetSegmentsOutput) String() string {
19924	return awsutil.Prettify(s)
19925}
19926
19927// GoString returns the string representation
19928func (s GetSegmentsOutput) GoString() string {
19929	return s.String()
19930}
19931
19932// SetSegmentsResponse sets the SegmentsResponse field's value.
19933func (s *GetSegmentsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentsOutput {
19934	s.SegmentsResponse = v
19935	return s
19936}
19937
19938type GetSmsChannelInput struct {
19939	_ struct{} `type:"structure"`
19940
19941	// ApplicationId is a required field
19942	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
19943}
19944
19945// String returns the string representation
19946func (s GetSmsChannelInput) String() string {
19947	return awsutil.Prettify(s)
19948}
19949
19950// GoString returns the string representation
19951func (s GetSmsChannelInput) GoString() string {
19952	return s.String()
19953}
19954
19955// Validate inspects the fields of the type to determine if they are valid.
19956func (s *GetSmsChannelInput) Validate() error {
19957	invalidParams := request.ErrInvalidParams{Context: "GetSmsChannelInput"}
19958	if s.ApplicationId == nil {
19959		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
19960	}
19961	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
19962		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
19963	}
19964
19965	if invalidParams.Len() > 0 {
19966		return invalidParams
19967	}
19968	return nil
19969}
19970
19971// SetApplicationId sets the ApplicationId field's value.
19972func (s *GetSmsChannelInput) SetApplicationId(v string) *GetSmsChannelInput {
19973	s.ApplicationId = &v
19974	return s
19975}
19976
19977type GetSmsChannelOutput struct {
19978	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
19979
19980	// Provides information about the status and settings of the SMS channel for
19981	// an application.
19982	//
19983	// SMSChannelResponse is a required field
19984	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
19985}
19986
19987// String returns the string representation
19988func (s GetSmsChannelOutput) String() string {
19989	return awsutil.Prettify(s)
19990}
19991
19992// GoString returns the string representation
19993func (s GetSmsChannelOutput) GoString() string {
19994	return s.String()
19995}
19996
19997// SetSMSChannelResponse sets the SMSChannelResponse field's value.
19998func (s *GetSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *GetSmsChannelOutput {
19999	s.SMSChannelResponse = v
20000	return s
20001}
20002
20003type GetSmsTemplateInput struct {
20004	_ struct{} `type:"structure"`
20005
20006	// TemplateName is a required field
20007	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
20008}
20009
20010// String returns the string representation
20011func (s GetSmsTemplateInput) String() string {
20012	return awsutil.Prettify(s)
20013}
20014
20015// GoString returns the string representation
20016func (s GetSmsTemplateInput) GoString() string {
20017	return s.String()
20018}
20019
20020// Validate inspects the fields of the type to determine if they are valid.
20021func (s *GetSmsTemplateInput) Validate() error {
20022	invalidParams := request.ErrInvalidParams{Context: "GetSmsTemplateInput"}
20023	if s.TemplateName == nil {
20024		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
20025	}
20026	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
20027		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
20028	}
20029
20030	if invalidParams.Len() > 0 {
20031		return invalidParams
20032	}
20033	return nil
20034}
20035
20036// SetTemplateName sets the TemplateName field's value.
20037func (s *GetSmsTemplateInput) SetTemplateName(v string) *GetSmsTemplateInput {
20038	s.TemplateName = &v
20039	return s
20040}
20041
20042type GetSmsTemplateOutput struct {
20043	_ struct{} `type:"structure" payload:"SMSTemplateResponse"`
20044
20045	// Provides information about the content and settings for a message template
20046	// that can be used in text messages that are sent through the SMS channel.
20047	//
20048	// SMSTemplateResponse is a required field
20049	SMSTemplateResponse *SMSTemplateResponse `type:"structure" required:"true"`
20050}
20051
20052// String returns the string representation
20053func (s GetSmsTemplateOutput) String() string {
20054	return awsutil.Prettify(s)
20055}
20056
20057// GoString returns the string representation
20058func (s GetSmsTemplateOutput) GoString() string {
20059	return s.String()
20060}
20061
20062// SetSMSTemplateResponse sets the SMSTemplateResponse field's value.
20063func (s *GetSmsTemplateOutput) SetSMSTemplateResponse(v *SMSTemplateResponse) *GetSmsTemplateOutput {
20064	s.SMSTemplateResponse = v
20065	return s
20066}
20067
20068type GetUserEndpointsInput struct {
20069	_ struct{} `type:"structure"`
20070
20071	// ApplicationId is a required field
20072	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
20073
20074	// UserId is a required field
20075	UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"`
20076}
20077
20078// String returns the string representation
20079func (s GetUserEndpointsInput) String() string {
20080	return awsutil.Prettify(s)
20081}
20082
20083// GoString returns the string representation
20084func (s GetUserEndpointsInput) GoString() string {
20085	return s.String()
20086}
20087
20088// Validate inspects the fields of the type to determine if they are valid.
20089func (s *GetUserEndpointsInput) Validate() error {
20090	invalidParams := request.ErrInvalidParams{Context: "GetUserEndpointsInput"}
20091	if s.ApplicationId == nil {
20092		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
20093	}
20094	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
20095		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
20096	}
20097	if s.UserId == nil {
20098		invalidParams.Add(request.NewErrParamRequired("UserId"))
20099	}
20100	if s.UserId != nil && len(*s.UserId) < 1 {
20101		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
20102	}
20103
20104	if invalidParams.Len() > 0 {
20105		return invalidParams
20106	}
20107	return nil
20108}
20109
20110// SetApplicationId sets the ApplicationId field's value.
20111func (s *GetUserEndpointsInput) SetApplicationId(v string) *GetUserEndpointsInput {
20112	s.ApplicationId = &v
20113	return s
20114}
20115
20116// SetUserId sets the UserId field's value.
20117func (s *GetUserEndpointsInput) SetUserId(v string) *GetUserEndpointsInput {
20118	s.UserId = &v
20119	return s
20120}
20121
20122type GetUserEndpointsOutput struct {
20123	_ struct{} `type:"structure" payload:"EndpointsResponse"`
20124
20125	// Provides information about all the endpoints that are associated with a user
20126	// ID.
20127	//
20128	// EndpointsResponse is a required field
20129	EndpointsResponse *EndpointsResponse `type:"structure" required:"true"`
20130}
20131
20132// String returns the string representation
20133func (s GetUserEndpointsOutput) String() string {
20134	return awsutil.Prettify(s)
20135}
20136
20137// GoString returns the string representation
20138func (s GetUserEndpointsOutput) GoString() string {
20139	return s.String()
20140}
20141
20142// SetEndpointsResponse sets the EndpointsResponse field's value.
20143func (s *GetUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *GetUserEndpointsOutput {
20144	s.EndpointsResponse = v
20145	return s
20146}
20147
20148type GetVoiceChannelInput struct {
20149	_ struct{} `type:"structure"`
20150
20151	// ApplicationId is a required field
20152	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
20153}
20154
20155// String returns the string representation
20156func (s GetVoiceChannelInput) String() string {
20157	return awsutil.Prettify(s)
20158}
20159
20160// GoString returns the string representation
20161func (s GetVoiceChannelInput) GoString() string {
20162	return s.String()
20163}
20164
20165// Validate inspects the fields of the type to determine if they are valid.
20166func (s *GetVoiceChannelInput) Validate() error {
20167	invalidParams := request.ErrInvalidParams{Context: "GetVoiceChannelInput"}
20168	if s.ApplicationId == nil {
20169		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
20170	}
20171	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
20172		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
20173	}
20174
20175	if invalidParams.Len() > 0 {
20176		return invalidParams
20177	}
20178	return nil
20179}
20180
20181// SetApplicationId sets the ApplicationId field's value.
20182func (s *GetVoiceChannelInput) SetApplicationId(v string) *GetVoiceChannelInput {
20183	s.ApplicationId = &v
20184	return s
20185}
20186
20187type GetVoiceChannelOutput struct {
20188	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
20189
20190	// Provides information about the status and settings of the voice channel for
20191	// an application.
20192	//
20193	// VoiceChannelResponse is a required field
20194	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
20195}
20196
20197// String returns the string representation
20198func (s GetVoiceChannelOutput) String() string {
20199	return awsutil.Prettify(s)
20200}
20201
20202// GoString returns the string representation
20203func (s GetVoiceChannelOutput) GoString() string {
20204	return s.String()
20205}
20206
20207// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
20208func (s *GetVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *GetVoiceChannelOutput {
20209	s.VoiceChannelResponse = v
20210	return s
20211}
20212
20213// Specifies the settings for a job that imports endpoint definitions from an
20214// Amazon Simple Storage Service (Amazon S3) bucket.
20215type ImportJobRequest struct {
20216	_ struct{} `type:"structure"`
20217
20218	// Specifies whether to create a segment that contains the endpoints, when the
20219	// endpoint definitions are imported.
20220	DefineSegment *bool `type:"boolean"`
20221
20222	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
20223	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
20224	// an IAM role when importing endpoint definitions, but we removed this requirement.
20225	// We don't recommend use of external IDs for IAM roles that are assumed by
20226	// Amazon Pinpoint.
20227	ExternalId *string `type:"string"`
20228
20229	// The format of the files that contain the endpoint definitions to import.
20230	// Valid values are: CSV, for comma-separated values format; and, JSON, for
20231	// newline-delimited JSON format. If the Amazon S3 location stores multiple
20232	// files that use different formats, Amazon Pinpoint imports data only from
20233	// the files that use the specified format.
20234	//
20235	// Format is a required field
20236	Format *string `type:"string" required:"true" enum:"Format"`
20237
20238	// Specifies whether to register the endpoints with Amazon Pinpoint, when the
20239	// endpoint definitions are imported.
20240	RegisterEndpoints *bool `type:"boolean"`
20241
20242	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
20243	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
20244	// to import endpoint definitions from.
20245	//
20246	// RoleArn is a required field
20247	RoleArn *string `type:"string" required:"true"`
20248
20249	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains
20250	// the endpoint definitions to import. This location can be a folder or a single
20251	// file. If the location is a folder, Amazon Pinpoint imports endpoint definitions
20252	// from the files in this location, including any subfolders that the folder
20253	// contains.
20254	//
20255	// The URL should be in the following format: s3://bucket-name/folder-name/file-name.
20256	// The location can end with the key for an individual object or a prefix that
20257	// qualifies multiple objects.
20258	//
20259	// S3Url is a required field
20260	S3Url *string `type:"string" required:"true"`
20261
20262	// The identifier for the segment to update or add the imported endpoint definitions
20263	// to, if the import job is meant to update an existing segment.
20264	SegmentId *string `type:"string"`
20265
20266	// The custom name for the segment that's created by the import job, if the
20267	// value of the DefineSegment property is true.
20268	SegmentName *string `type:"string"`
20269}
20270
20271// String returns the string representation
20272func (s ImportJobRequest) String() string {
20273	return awsutil.Prettify(s)
20274}
20275
20276// GoString returns the string representation
20277func (s ImportJobRequest) GoString() string {
20278	return s.String()
20279}
20280
20281// Validate inspects the fields of the type to determine if they are valid.
20282func (s *ImportJobRequest) Validate() error {
20283	invalidParams := request.ErrInvalidParams{Context: "ImportJobRequest"}
20284	if s.Format == nil {
20285		invalidParams.Add(request.NewErrParamRequired("Format"))
20286	}
20287	if s.RoleArn == nil {
20288		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
20289	}
20290	if s.S3Url == nil {
20291		invalidParams.Add(request.NewErrParamRequired("S3Url"))
20292	}
20293
20294	if invalidParams.Len() > 0 {
20295		return invalidParams
20296	}
20297	return nil
20298}
20299
20300// SetDefineSegment sets the DefineSegment field's value.
20301func (s *ImportJobRequest) SetDefineSegment(v bool) *ImportJobRequest {
20302	s.DefineSegment = &v
20303	return s
20304}
20305
20306// SetExternalId sets the ExternalId field's value.
20307func (s *ImportJobRequest) SetExternalId(v string) *ImportJobRequest {
20308	s.ExternalId = &v
20309	return s
20310}
20311
20312// SetFormat sets the Format field's value.
20313func (s *ImportJobRequest) SetFormat(v string) *ImportJobRequest {
20314	s.Format = &v
20315	return s
20316}
20317
20318// SetRegisterEndpoints sets the RegisterEndpoints field's value.
20319func (s *ImportJobRequest) SetRegisterEndpoints(v bool) *ImportJobRequest {
20320	s.RegisterEndpoints = &v
20321	return s
20322}
20323
20324// SetRoleArn sets the RoleArn field's value.
20325func (s *ImportJobRequest) SetRoleArn(v string) *ImportJobRequest {
20326	s.RoleArn = &v
20327	return s
20328}
20329
20330// SetS3Url sets the S3Url field's value.
20331func (s *ImportJobRequest) SetS3Url(v string) *ImportJobRequest {
20332	s.S3Url = &v
20333	return s
20334}
20335
20336// SetSegmentId sets the SegmentId field's value.
20337func (s *ImportJobRequest) SetSegmentId(v string) *ImportJobRequest {
20338	s.SegmentId = &v
20339	return s
20340}
20341
20342// SetSegmentName sets the SegmentName field's value.
20343func (s *ImportJobRequest) SetSegmentName(v string) *ImportJobRequest {
20344	s.SegmentName = &v
20345	return s
20346}
20347
20348// Provides information about the resource settings for a job that imports endpoint
20349// definitions from one or more files. The files can be stored in an Amazon
20350// Simple Storage Service (Amazon S3) bucket or uploaded directly from a computer
20351// by using the Amazon Pinpoint console.
20352type ImportJobResource struct {
20353	_ struct{} `type:"structure"`
20354
20355	// Specifies whether the import job creates a segment that contains the endpoints,
20356	// when the endpoint definitions are imported.
20357	DefineSegment *bool `type:"boolean"`
20358
20359	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
20360	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
20361	// an IAM role when importing endpoint definitions, but we removed this requirement.
20362	// We don't recommend use of external IDs for IAM roles that are assumed by
20363	// Amazon Pinpoint.
20364	ExternalId *string `type:"string"`
20365
20366	// The format of the files that contain the endpoint definitions to import.
20367	// Valid values are: CSV, for comma-separated values format; and, JSON, for
20368	// newline-delimited JSON format.
20369	//
20370	// If the files are stored in an Amazon S3 location and that location contains
20371	// multiple files that use different formats, Amazon Pinpoint imports data only
20372	// from the files that use the specified format.
20373	//
20374	// Format is a required field
20375	Format *string `type:"string" required:"true" enum:"Format"`
20376
20377	// Specifies whether the import job registers the endpoints with Amazon Pinpoint,
20378	// when the endpoint definitions are imported.
20379	RegisterEndpoints *bool `type:"boolean"`
20380
20381	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
20382	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
20383	// to import endpoint definitions from.
20384	//
20385	// RoleArn is a required field
20386	RoleArn *string `type:"string" required:"true"`
20387
20388	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains
20389	// the endpoint definitions to import. This location can be a folder or a single
20390	// file. If the location is a folder, Amazon Pinpoint imports endpoint definitions
20391	// from the files in this location, including any subfolders that the folder
20392	// contains.
20393	//
20394	// The URL should be in the following format: s3://bucket-name/folder-name/file-name.
20395	// The location can end with the key for an individual object or a prefix that
20396	// qualifies multiple objects.
20397	//
20398	// S3Url is a required field
20399	S3Url *string `type:"string" required:"true"`
20400
20401	// The identifier for the segment that the import job updates or adds endpoint
20402	// definitions to, if the import job updates an existing segment.
20403	SegmentId *string `type:"string"`
20404
20405	// The custom name for the segment that's created by the import job, if the
20406	// value of the DefineSegment property is true.
20407	SegmentName *string `type:"string"`
20408}
20409
20410// String returns the string representation
20411func (s ImportJobResource) String() string {
20412	return awsutil.Prettify(s)
20413}
20414
20415// GoString returns the string representation
20416func (s ImportJobResource) GoString() string {
20417	return s.String()
20418}
20419
20420// SetDefineSegment sets the DefineSegment field's value.
20421func (s *ImportJobResource) SetDefineSegment(v bool) *ImportJobResource {
20422	s.DefineSegment = &v
20423	return s
20424}
20425
20426// SetExternalId sets the ExternalId field's value.
20427func (s *ImportJobResource) SetExternalId(v string) *ImportJobResource {
20428	s.ExternalId = &v
20429	return s
20430}
20431
20432// SetFormat sets the Format field's value.
20433func (s *ImportJobResource) SetFormat(v string) *ImportJobResource {
20434	s.Format = &v
20435	return s
20436}
20437
20438// SetRegisterEndpoints sets the RegisterEndpoints field's value.
20439func (s *ImportJobResource) SetRegisterEndpoints(v bool) *ImportJobResource {
20440	s.RegisterEndpoints = &v
20441	return s
20442}
20443
20444// SetRoleArn sets the RoleArn field's value.
20445func (s *ImportJobResource) SetRoleArn(v string) *ImportJobResource {
20446	s.RoleArn = &v
20447	return s
20448}
20449
20450// SetS3Url sets the S3Url field's value.
20451func (s *ImportJobResource) SetS3Url(v string) *ImportJobResource {
20452	s.S3Url = &v
20453	return s
20454}
20455
20456// SetSegmentId sets the SegmentId field's value.
20457func (s *ImportJobResource) SetSegmentId(v string) *ImportJobResource {
20458	s.SegmentId = &v
20459	return s
20460}
20461
20462// SetSegmentName sets the SegmentName field's value.
20463func (s *ImportJobResource) SetSegmentName(v string) *ImportJobResource {
20464	s.SegmentName = &v
20465	return s
20466}
20467
20468// Provides information about the status and settings of a job that imports
20469// endpoint definitions from one or more files. The files can be stored in an
20470// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
20471// a computer by using the Amazon Pinpoint console.
20472type ImportJobResponse struct {
20473	_ struct{} `type:"structure"`
20474
20475	// The unique identifier for the application that's associated with the import
20476	// job.
20477	//
20478	// ApplicationId is a required field
20479	ApplicationId *string `type:"string" required:"true"`
20480
20481	// The number of pieces that were processed successfully (completed) by the
20482	// import job, as of the time of the request.
20483	CompletedPieces *int64 `type:"integer"`
20484
20485	// The date, in ISO 8601 format, when the import job was completed.
20486	CompletionDate *string `type:"string"`
20487
20488	// The date, in ISO 8601 format, when the import job was created.
20489	//
20490	// CreationDate is a required field
20491	CreationDate *string `type:"string" required:"true"`
20492
20493	// The resource settings that apply to the import job.
20494	//
20495	// Definition is a required field
20496	Definition *ImportJobResource `type:"structure" required:"true"`
20497
20498	// The number of pieces that weren't processed successfully (failed) by the
20499	// import job, as of the time of the request.
20500	FailedPieces *int64 `type:"integer"`
20501
20502	// An array of entries, one for each of the first 100 entries that weren't processed
20503	// successfully (failed) by the import job, if any.
20504	Failures []*string `type:"list"`
20505
20506	// The unique identifier for the import job.
20507	//
20508	// Id is a required field
20509	Id *string `type:"string" required:"true"`
20510
20511	// The status of the import job. The job status is FAILED if Amazon Pinpoint
20512	// wasn't able to process one or more pieces in the job.
20513	//
20514	// JobStatus is a required field
20515	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
20516
20517	// The total number of endpoint definitions that weren't processed successfully
20518	// (failed) by the import job, typically because an error, such as a syntax
20519	// error, occurred.
20520	TotalFailures *int64 `type:"integer"`
20521
20522	// The total number of pieces that must be processed to complete the import
20523	// job. Each piece consists of an approximately equal portion of the endpoint
20524	// definitions that are part of the import job.
20525	TotalPieces *int64 `type:"integer"`
20526
20527	// The total number of endpoint definitions that were processed by the import
20528	// job.
20529	TotalProcessed *int64 `type:"integer"`
20530
20531	// The job type. This value is IMPORT for import jobs.
20532	//
20533	// Type is a required field
20534	Type *string `type:"string" required:"true"`
20535}
20536
20537// String returns the string representation
20538func (s ImportJobResponse) String() string {
20539	return awsutil.Prettify(s)
20540}
20541
20542// GoString returns the string representation
20543func (s ImportJobResponse) GoString() string {
20544	return s.String()
20545}
20546
20547// SetApplicationId sets the ApplicationId field's value.
20548func (s *ImportJobResponse) SetApplicationId(v string) *ImportJobResponse {
20549	s.ApplicationId = &v
20550	return s
20551}
20552
20553// SetCompletedPieces sets the CompletedPieces field's value.
20554func (s *ImportJobResponse) SetCompletedPieces(v int64) *ImportJobResponse {
20555	s.CompletedPieces = &v
20556	return s
20557}
20558
20559// SetCompletionDate sets the CompletionDate field's value.
20560func (s *ImportJobResponse) SetCompletionDate(v string) *ImportJobResponse {
20561	s.CompletionDate = &v
20562	return s
20563}
20564
20565// SetCreationDate sets the CreationDate field's value.
20566func (s *ImportJobResponse) SetCreationDate(v string) *ImportJobResponse {
20567	s.CreationDate = &v
20568	return s
20569}
20570
20571// SetDefinition sets the Definition field's value.
20572func (s *ImportJobResponse) SetDefinition(v *ImportJobResource) *ImportJobResponse {
20573	s.Definition = v
20574	return s
20575}
20576
20577// SetFailedPieces sets the FailedPieces field's value.
20578func (s *ImportJobResponse) SetFailedPieces(v int64) *ImportJobResponse {
20579	s.FailedPieces = &v
20580	return s
20581}
20582
20583// SetFailures sets the Failures field's value.
20584func (s *ImportJobResponse) SetFailures(v []*string) *ImportJobResponse {
20585	s.Failures = v
20586	return s
20587}
20588
20589// SetId sets the Id field's value.
20590func (s *ImportJobResponse) SetId(v string) *ImportJobResponse {
20591	s.Id = &v
20592	return s
20593}
20594
20595// SetJobStatus sets the JobStatus field's value.
20596func (s *ImportJobResponse) SetJobStatus(v string) *ImportJobResponse {
20597	s.JobStatus = &v
20598	return s
20599}
20600
20601// SetTotalFailures sets the TotalFailures field's value.
20602func (s *ImportJobResponse) SetTotalFailures(v int64) *ImportJobResponse {
20603	s.TotalFailures = &v
20604	return s
20605}
20606
20607// SetTotalPieces sets the TotalPieces field's value.
20608func (s *ImportJobResponse) SetTotalPieces(v int64) *ImportJobResponse {
20609	s.TotalPieces = &v
20610	return s
20611}
20612
20613// SetTotalProcessed sets the TotalProcessed field's value.
20614func (s *ImportJobResponse) SetTotalProcessed(v int64) *ImportJobResponse {
20615	s.TotalProcessed = &v
20616	return s
20617}
20618
20619// SetType sets the Type field's value.
20620func (s *ImportJobResponse) SetType(v string) *ImportJobResponse {
20621	s.Type = &v
20622	return s
20623}
20624
20625// Provides information about the status and settings of all the import jobs
20626// that are associated with an application or segment. An import job is a job
20627// that imports endpoint definitions from one or more files.
20628type ImportJobsResponse struct {
20629	_ struct{} `type:"structure"`
20630
20631	// An array of responses, one for each import job that's associated with the
20632	// application (Import Jobs resource) or segment (Segment Import Jobs resource).
20633	//
20634	// Item is a required field
20635	Item []*ImportJobResponse `type:"list" required:"true"`
20636
20637	// The string to use in a subsequent request to get the next page of results
20638	// in a paginated response. This value is null if there are no additional pages.
20639	NextToken *string `type:"string"`
20640}
20641
20642// String returns the string representation
20643func (s ImportJobsResponse) String() string {
20644	return awsutil.Prettify(s)
20645}
20646
20647// GoString returns the string representation
20648func (s ImportJobsResponse) GoString() string {
20649	return s.String()
20650}
20651
20652// SetItem sets the Item field's value.
20653func (s *ImportJobsResponse) SetItem(v []*ImportJobResponse) *ImportJobsResponse {
20654	s.Item = v
20655	return s
20656}
20657
20658// SetNextToken sets the NextToken field's value.
20659func (s *ImportJobsResponse) SetNextToken(v string) *ImportJobsResponse {
20660	s.NextToken = &v
20661	return s
20662}
20663
20664// Provides information about the results of a request to create or update an
20665// endpoint that's associated with an event.
20666type ItemResponse struct {
20667	_ struct{} `type:"structure"`
20668
20669	// The response that was received after the endpoint data was accepted.
20670	EndpointItemResponse *EndpointItemResponse `type:"structure"`
20671
20672	// A multipart response object that contains a key and a value for each event
20673	// in the request. In each object, the event ID is the key and an EventItemResponse
20674	// object is the value.
20675	EventsItemResponse map[string]*EventItemResponse `type:"map"`
20676}
20677
20678// String returns the string representation
20679func (s ItemResponse) String() string {
20680	return awsutil.Prettify(s)
20681}
20682
20683// GoString returns the string representation
20684func (s ItemResponse) GoString() string {
20685	return s.String()
20686}
20687
20688// SetEndpointItemResponse sets the EndpointItemResponse field's value.
20689func (s *ItemResponse) SetEndpointItemResponse(v *EndpointItemResponse) *ItemResponse {
20690	s.EndpointItemResponse = v
20691	return s
20692}
20693
20694// SetEventsItemResponse sets the EventsItemResponse field's value.
20695func (s *ItemResponse) SetEventsItemResponse(v map[string]*EventItemResponse) *ItemResponse {
20696	s.EventsItemResponse = v
20697	return s
20698}
20699
20700type ListTagsForResourceInput struct {
20701	_ struct{} `type:"structure"`
20702
20703	// ResourceArn is a required field
20704	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
20705}
20706
20707// String returns the string representation
20708func (s ListTagsForResourceInput) String() string {
20709	return awsutil.Prettify(s)
20710}
20711
20712// GoString returns the string representation
20713func (s ListTagsForResourceInput) GoString() string {
20714	return s.String()
20715}
20716
20717// Validate inspects the fields of the type to determine if they are valid.
20718func (s *ListTagsForResourceInput) Validate() error {
20719	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
20720	if s.ResourceArn == nil {
20721		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
20722	}
20723	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
20724		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
20725	}
20726
20727	if invalidParams.Len() > 0 {
20728		return invalidParams
20729	}
20730	return nil
20731}
20732
20733// SetResourceArn sets the ResourceArn field's value.
20734func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
20735	s.ResourceArn = &v
20736	return s
20737}
20738
20739type ListTagsForResourceOutput struct {
20740	_ struct{} `type:"structure" payload:"TagsModel"`
20741
20742	// Specifies the tags (keys and values) for an application, campaign, message
20743	// template, or segment.
20744	//
20745	// TagsModel is a required field
20746	TagsModel *TagsModel `type:"structure" required:"true"`
20747}
20748
20749// String returns the string representation
20750func (s ListTagsForResourceOutput) String() string {
20751	return awsutil.Prettify(s)
20752}
20753
20754// GoString returns the string representation
20755func (s ListTagsForResourceOutput) GoString() string {
20756	return s.String()
20757}
20758
20759// SetTagsModel sets the TagsModel field's value.
20760func (s *ListTagsForResourceOutput) SetTagsModel(v *TagsModel) *ListTagsForResourceOutput {
20761	s.TagsModel = v
20762	return s
20763}
20764
20765type ListTemplatesInput struct {
20766	_ struct{} `type:"structure"`
20767
20768	NextToken *string `location:"querystring" locationName:"next-token" type:"string"`
20769
20770	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
20771
20772	Prefix *string `location:"querystring" locationName:"prefix" type:"string"`
20773
20774	TemplateType *string `location:"querystring" locationName:"template-type" type:"string"`
20775}
20776
20777// String returns the string representation
20778func (s ListTemplatesInput) String() string {
20779	return awsutil.Prettify(s)
20780}
20781
20782// GoString returns the string representation
20783func (s ListTemplatesInput) GoString() string {
20784	return s.String()
20785}
20786
20787// SetNextToken sets the NextToken field's value.
20788func (s *ListTemplatesInput) SetNextToken(v string) *ListTemplatesInput {
20789	s.NextToken = &v
20790	return s
20791}
20792
20793// SetPageSize sets the PageSize field's value.
20794func (s *ListTemplatesInput) SetPageSize(v string) *ListTemplatesInput {
20795	s.PageSize = &v
20796	return s
20797}
20798
20799// SetPrefix sets the Prefix field's value.
20800func (s *ListTemplatesInput) SetPrefix(v string) *ListTemplatesInput {
20801	s.Prefix = &v
20802	return s
20803}
20804
20805// SetTemplateType sets the TemplateType field's value.
20806func (s *ListTemplatesInput) SetTemplateType(v string) *ListTemplatesInput {
20807	s.TemplateType = &v
20808	return s
20809}
20810
20811type ListTemplatesOutput struct {
20812	_ struct{} `type:"structure" payload:"TemplatesResponse"`
20813
20814	// Provides information about all the message templates that are associated
20815	// with your Amazon Pinpoint account.
20816	//
20817	// TemplatesResponse is a required field
20818	TemplatesResponse *TemplatesResponse `type:"structure" required:"true"`
20819}
20820
20821// String returns the string representation
20822func (s ListTemplatesOutput) String() string {
20823	return awsutil.Prettify(s)
20824}
20825
20826// GoString returns the string representation
20827func (s ListTemplatesOutput) GoString() string {
20828	return s.String()
20829}
20830
20831// SetTemplatesResponse sets the TemplatesResponse field's value.
20832func (s *ListTemplatesOutput) SetTemplatesResponse(v *TemplatesResponse) *ListTemplatesOutput {
20833	s.TemplatesResponse = v
20834	return s
20835}
20836
20837// Specifies the content and settings for a push notification that's sent to
20838// recipients of a campaign.
20839type Message struct {
20840	_ struct{} `type:"structure"`
20841
20842	// The action to occur if a recipient taps the push notification. Valid values
20843	// are:
20844	//
20845	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
20846	//    sent to the background. This is the default action.
20847	//
20848	//    * DEEP_LINK - Your app opens and displays a designated user interface
20849	//    in the app. This setting uses the deep-linking features of iOS and Android.
20850	//
20851	//    * URL - The default mobile browser on the recipient's device opens and
20852	//    loads the web page at a URL that you specify.
20853	Action *string `type:"string" enum:"Action"`
20854
20855	// The body of the notification message. The maximum number of characters is
20856	// 200.
20857	Body *string `type:"string"`
20858
20859	// The URL of the image to display as the push-notification icon, such as the
20860	// icon for the app.
20861	ImageIconUrl *string `type:"string"`
20862
20863	// The URL of the image to display as the small, push-notification icon, such
20864	// as a small version of the icon for the app.
20865	ImageSmallIconUrl *string `type:"string"`
20866
20867	// The URL of an image to display in the push notification.
20868	ImageUrl *string `type:"string"`
20869
20870	// The JSON payload to use for a silent push notification.
20871	JsonBody *string `type:"string"`
20872
20873	// The URL of the image or video to display in the push notification.
20874	MediaUrl *string `type:"string"`
20875
20876	// The raw, JSON-formatted string to use as the payload for the notification
20877	// message. This value overrides other values for the message.
20878	RawContent *string `type:"string"`
20879
20880	// Specifies whether the notification is a silent push notification, which is
20881	// a push notification that doesn't display on a recipient's device. Silent
20882	// push notifications can be used for cases such as updating an app's configuration,
20883	// displaying messages in an in-app message center, or supporting phone home
20884	// functionality.
20885	SilentPush *bool `type:"boolean"`
20886
20887	// The number of seconds that the push-notification service should keep the
20888	// message, if the service is unable to deliver the notification the first time.
20889	// This value is converted to an expiration value when it's sent to a push-notification
20890	// service. If this value is 0, the service treats the notification as if it
20891	// expires immediately and the service doesn't store or try to deliver the notification
20892	// again.
20893	//
20894	// This value doesn't apply to messages that are sent through the Amazon Device
20895	// Messaging (ADM) service.
20896	TimeToLive *int64 `type:"integer"`
20897
20898	// The title to display above the notification message on a recipient's device.
20899	Title *string `type:"string"`
20900
20901	// The URL to open in a recipient's default mobile browser, if a recipient taps
20902	// the push notification and the value of the Action property is URL.
20903	Url *string `type:"string"`
20904}
20905
20906// String returns the string representation
20907func (s Message) String() string {
20908	return awsutil.Prettify(s)
20909}
20910
20911// GoString returns the string representation
20912func (s Message) GoString() string {
20913	return s.String()
20914}
20915
20916// SetAction sets the Action field's value.
20917func (s *Message) SetAction(v string) *Message {
20918	s.Action = &v
20919	return s
20920}
20921
20922// SetBody sets the Body field's value.
20923func (s *Message) SetBody(v string) *Message {
20924	s.Body = &v
20925	return s
20926}
20927
20928// SetImageIconUrl sets the ImageIconUrl field's value.
20929func (s *Message) SetImageIconUrl(v string) *Message {
20930	s.ImageIconUrl = &v
20931	return s
20932}
20933
20934// SetImageSmallIconUrl sets the ImageSmallIconUrl field's value.
20935func (s *Message) SetImageSmallIconUrl(v string) *Message {
20936	s.ImageSmallIconUrl = &v
20937	return s
20938}
20939
20940// SetImageUrl sets the ImageUrl field's value.
20941func (s *Message) SetImageUrl(v string) *Message {
20942	s.ImageUrl = &v
20943	return s
20944}
20945
20946// SetJsonBody sets the JsonBody field's value.
20947func (s *Message) SetJsonBody(v string) *Message {
20948	s.JsonBody = &v
20949	return s
20950}
20951
20952// SetMediaUrl sets the MediaUrl field's value.
20953func (s *Message) SetMediaUrl(v string) *Message {
20954	s.MediaUrl = &v
20955	return s
20956}
20957
20958// SetRawContent sets the RawContent field's value.
20959func (s *Message) SetRawContent(v string) *Message {
20960	s.RawContent = &v
20961	return s
20962}
20963
20964// SetSilentPush sets the SilentPush field's value.
20965func (s *Message) SetSilentPush(v bool) *Message {
20966	s.SilentPush = &v
20967	return s
20968}
20969
20970// SetTimeToLive sets the TimeToLive field's value.
20971func (s *Message) SetTimeToLive(v int64) *Message {
20972	s.TimeToLive = &v
20973	return s
20974}
20975
20976// SetTitle sets the Title field's value.
20977func (s *Message) SetTitle(v string) *Message {
20978	s.Title = &v
20979	return s
20980}
20981
20982// SetUrl sets the Url field's value.
20983func (s *Message) SetUrl(v string) *Message {
20984	s.Url = &v
20985	return s
20986}
20987
20988// Provides information about an API request or response.
20989type MessageBody struct {
20990	_ struct{} `type:"structure"`
20991
20992	// The message that's returned from the API.
20993	Message *string `type:"string"`
20994
20995	// The unique identifier for the request or response.
20996	RequestID *string `type:"string"`
20997}
20998
20999// String returns the string representation
21000func (s MessageBody) String() string {
21001	return awsutil.Prettify(s)
21002}
21003
21004// GoString returns the string representation
21005func (s MessageBody) GoString() string {
21006	return s.String()
21007}
21008
21009// SetMessage sets the Message field's value.
21010func (s *MessageBody) SetMessage(v string) *MessageBody {
21011	s.Message = &v
21012	return s
21013}
21014
21015// SetRequestID sets the RequestID field's value.
21016func (s *MessageBody) SetRequestID(v string) *MessageBody {
21017	s.RequestID = &v
21018	return s
21019}
21020
21021// Specifies the message configuration settings for a campaign.
21022type MessageConfiguration struct {
21023	_ struct{} `type:"structure"`
21024
21025	// The message that the campaign sends through the ADM (Amazon Device Messaging)
21026	// channel. This message overrides the default message.
21027	ADMMessage *Message `type:"structure"`
21028
21029	// The message that the campaign sends through the APNs (Apple Push Notification
21030	// service) channel. This message overrides the default message.
21031	APNSMessage *Message `type:"structure"`
21032
21033	// The message that the campaign sends through the Baidu (Baidu Cloud Push)
21034	// channel. This message overrides the default message.
21035	BaiduMessage *Message `type:"structure"`
21036
21037	// The default message that the campaign sends through all the channels that
21038	// are configured for the campaign.
21039	DefaultMessage *Message `type:"structure"`
21040
21041	// The message that the campaign sends through the email channel.
21042	EmailMessage *CampaignEmailMessage `type:"structure"`
21043
21044	// The message that the campaign sends through the GCM channel, which enables
21045	// Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging
21046	// (FCM), formerly Google Cloud Messaging (GCM), service. This message overrides
21047	// the default message.
21048	GCMMessage *Message `type:"structure"`
21049
21050	// The message that the campaign sends through the SMS channel.
21051	SMSMessage *CampaignSmsMessage `type:"structure"`
21052}
21053
21054// String returns the string representation
21055func (s MessageConfiguration) String() string {
21056	return awsutil.Prettify(s)
21057}
21058
21059// GoString returns the string representation
21060func (s MessageConfiguration) GoString() string {
21061	return s.String()
21062}
21063
21064// Validate inspects the fields of the type to determine if they are valid.
21065func (s *MessageConfiguration) Validate() error {
21066	invalidParams := request.ErrInvalidParams{Context: "MessageConfiguration"}
21067	if s.EmailMessage != nil {
21068		if err := s.EmailMessage.Validate(); err != nil {
21069			invalidParams.AddNested("EmailMessage", err.(request.ErrInvalidParams))
21070		}
21071	}
21072
21073	if invalidParams.Len() > 0 {
21074		return invalidParams
21075	}
21076	return nil
21077}
21078
21079// SetADMMessage sets the ADMMessage field's value.
21080func (s *MessageConfiguration) SetADMMessage(v *Message) *MessageConfiguration {
21081	s.ADMMessage = v
21082	return s
21083}
21084
21085// SetAPNSMessage sets the APNSMessage field's value.
21086func (s *MessageConfiguration) SetAPNSMessage(v *Message) *MessageConfiguration {
21087	s.APNSMessage = v
21088	return s
21089}
21090
21091// SetBaiduMessage sets the BaiduMessage field's value.
21092func (s *MessageConfiguration) SetBaiduMessage(v *Message) *MessageConfiguration {
21093	s.BaiduMessage = v
21094	return s
21095}
21096
21097// SetDefaultMessage sets the DefaultMessage field's value.
21098func (s *MessageConfiguration) SetDefaultMessage(v *Message) *MessageConfiguration {
21099	s.DefaultMessage = v
21100	return s
21101}
21102
21103// SetEmailMessage sets the EmailMessage field's value.
21104func (s *MessageConfiguration) SetEmailMessage(v *CampaignEmailMessage) *MessageConfiguration {
21105	s.EmailMessage = v
21106	return s
21107}
21108
21109// SetGCMMessage sets the GCMMessage field's value.
21110func (s *MessageConfiguration) SetGCMMessage(v *Message) *MessageConfiguration {
21111	s.GCMMessage = v
21112	return s
21113}
21114
21115// SetSMSMessage sets the SMSMessage field's value.
21116func (s *MessageConfiguration) SetSMSMessage(v *CampaignSmsMessage) *MessageConfiguration {
21117	s.SMSMessage = v
21118	return s
21119}
21120
21121// Specifies the objects that define configuration and other settings for a
21122// message.
21123type MessageRequest struct {
21124	_ struct{} `type:"structure"`
21125
21126	// A map of key-value pairs, where each key is an address and each value is
21127	// an AddressConfiguration object. An address can be a push notification token,
21128	// a phone number, or an email address. You can use an AddressConfiguration
21129	// object to tailor the message for an address by specifying settings such as
21130	// content overrides and message variables.
21131	Addresses map[string]*AddressConfiguration `type:"map"`
21132
21133	// A map of custom attributes to attach to the message. For a push notification,
21134	// this payload is added to the data.pinpoint object. For an email or text message,
21135	// this payload is added to email/SMS delivery receipt event attributes.
21136	Context map[string]*string `type:"map"`
21137
21138	// A map of key-value pairs, where each key is an endpoint ID and each value
21139	// is an EndpointSendConfiguration object. You can use an EndpointSendConfiguration
21140	// object to tailor the message for an endpoint by specifying settings such
21141	// as content overrides and message variables.
21142	Endpoints map[string]*EndpointSendConfiguration `type:"map"`
21143
21144	// The set of properties that defines the configuration settings for the message.
21145	//
21146	// MessageConfiguration is a required field
21147	MessageConfiguration *DirectMessageConfiguration `type:"structure" required:"true"`
21148
21149	// The message template to use for the message.
21150	TemplateConfiguration *TemplateConfiguration `type:"structure"`
21151
21152	// The unique identifier for tracing the message. This identifier is visible
21153	// to message recipients.
21154	TraceId *string `type:"string"`
21155}
21156
21157// String returns the string representation
21158func (s MessageRequest) String() string {
21159	return awsutil.Prettify(s)
21160}
21161
21162// GoString returns the string representation
21163func (s MessageRequest) GoString() string {
21164	return s.String()
21165}
21166
21167// Validate inspects the fields of the type to determine if they are valid.
21168func (s *MessageRequest) Validate() error {
21169	invalidParams := request.ErrInvalidParams{Context: "MessageRequest"}
21170	if s.MessageConfiguration == nil {
21171		invalidParams.Add(request.NewErrParamRequired("MessageConfiguration"))
21172	}
21173
21174	if invalidParams.Len() > 0 {
21175		return invalidParams
21176	}
21177	return nil
21178}
21179
21180// SetAddresses sets the Addresses field's value.
21181func (s *MessageRequest) SetAddresses(v map[string]*AddressConfiguration) *MessageRequest {
21182	s.Addresses = v
21183	return s
21184}
21185
21186// SetContext sets the Context field's value.
21187func (s *MessageRequest) SetContext(v map[string]*string) *MessageRequest {
21188	s.Context = v
21189	return s
21190}
21191
21192// SetEndpoints sets the Endpoints field's value.
21193func (s *MessageRequest) SetEndpoints(v map[string]*EndpointSendConfiguration) *MessageRequest {
21194	s.Endpoints = v
21195	return s
21196}
21197
21198// SetMessageConfiguration sets the MessageConfiguration field's value.
21199func (s *MessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) *MessageRequest {
21200	s.MessageConfiguration = v
21201	return s
21202}
21203
21204// SetTemplateConfiguration sets the TemplateConfiguration field's value.
21205func (s *MessageRequest) SetTemplateConfiguration(v *TemplateConfiguration) *MessageRequest {
21206	s.TemplateConfiguration = v
21207	return s
21208}
21209
21210// SetTraceId sets the TraceId field's value.
21211func (s *MessageRequest) SetTraceId(v string) *MessageRequest {
21212	s.TraceId = &v
21213	return s
21214}
21215
21216// Provides information about the results of a request to send a message to
21217// an endpoint address.
21218type MessageResponse struct {
21219	_ struct{} `type:"structure"`
21220
21221	// The unique identifier for the application that was used to send the message.
21222	//
21223	// ApplicationId is a required field
21224	ApplicationId *string `type:"string" required:"true"`
21225
21226	// A map that contains a multipart response for each address that the message
21227	// was sent to. In the map, the endpoint ID is the key and the result is the
21228	// value.
21229	EndpointResult map[string]*EndpointMessageResult `type:"map"`
21230
21231	// The identifier for the original request that the message was delivered for.
21232	RequestId *string `type:"string"`
21233
21234	// A map that contains a multipart response for each address (email address,
21235	// phone number, or push notification token) that the message was sent to. In
21236	// the map, the address is the key and the result is the value.
21237	Result map[string]*MessageResult `type:"map"`
21238}
21239
21240// String returns the string representation
21241func (s MessageResponse) String() string {
21242	return awsutil.Prettify(s)
21243}
21244
21245// GoString returns the string representation
21246func (s MessageResponse) GoString() string {
21247	return s.String()
21248}
21249
21250// SetApplicationId sets the ApplicationId field's value.
21251func (s *MessageResponse) SetApplicationId(v string) *MessageResponse {
21252	s.ApplicationId = &v
21253	return s
21254}
21255
21256// SetEndpointResult sets the EndpointResult field's value.
21257func (s *MessageResponse) SetEndpointResult(v map[string]*EndpointMessageResult) *MessageResponse {
21258	s.EndpointResult = v
21259	return s
21260}
21261
21262// SetRequestId sets the RequestId field's value.
21263func (s *MessageResponse) SetRequestId(v string) *MessageResponse {
21264	s.RequestId = &v
21265	return s
21266}
21267
21268// SetResult sets the Result field's value.
21269func (s *MessageResponse) SetResult(v map[string]*MessageResult) *MessageResponse {
21270	s.Result = v
21271	return s
21272}
21273
21274// Provides information about the results of sending a message directly to an
21275// endpoint address.
21276type MessageResult struct {
21277	_ struct{} `type:"structure"`
21278
21279	// The delivery status of the message. Possible values are:
21280	//
21281	//    * DUPLICATE - The endpoint address is a duplicate of another endpoint
21282	//    address. Amazon Pinpoint won't attempt to send the message again.
21283	//
21284	//    * OPT_OUT - The user who's associated with the endpoint address has opted
21285	//    out of receiving messages from you. Amazon Pinpoint won't attempt to send
21286	//    the message again.
21287	//
21288	//    * PERMANENT_FAILURE - An error occurred when delivering the message to
21289	//    the endpoint address. Amazon Pinpoint won't attempt to send the message
21290	//    again.
21291	//
21292	//    * SUCCESSFUL - The message was successfully delivered to the endpoint
21293	//    address.
21294	//
21295	//    * TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint will
21296	//    attempt to deliver the message again later.
21297	//
21298	//    * THROTTLED - Amazon Pinpoint throttled the operation to send the message
21299	//    to the endpoint address.
21300	//
21301	//    * TIMEOUT - The message couldn't be sent within the timeout period.
21302	//
21303	//    * UNKNOWN_FAILURE - An unknown error occurred.
21304	//
21305	// DeliveryStatus is a required field
21306	DeliveryStatus *string `type:"string" required:"true" enum:"DeliveryStatus"`
21307
21308	// The unique identifier for the message that was sent.
21309	MessageId *string `type:"string"`
21310
21311	// The downstream service status code for delivering the message.
21312	//
21313	// StatusCode is a required field
21314	StatusCode *int64 `type:"integer" required:"true"`
21315
21316	// The status message for delivering the message.
21317	StatusMessage *string `type:"string"`
21318
21319	// For push notifications that are sent through the GCM channel, specifies whether
21320	// the endpoint's device registration token was updated as part of delivering
21321	// the message.
21322	UpdatedToken *string `type:"string"`
21323}
21324
21325// String returns the string representation
21326func (s MessageResult) String() string {
21327	return awsutil.Prettify(s)
21328}
21329
21330// GoString returns the string representation
21331func (s MessageResult) GoString() string {
21332	return s.String()
21333}
21334
21335// SetDeliveryStatus sets the DeliveryStatus field's value.
21336func (s *MessageResult) SetDeliveryStatus(v string) *MessageResult {
21337	s.DeliveryStatus = &v
21338	return s
21339}
21340
21341// SetMessageId sets the MessageId field's value.
21342func (s *MessageResult) SetMessageId(v string) *MessageResult {
21343	s.MessageId = &v
21344	return s
21345}
21346
21347// SetStatusCode sets the StatusCode field's value.
21348func (s *MessageResult) SetStatusCode(v int64) *MessageResult {
21349	s.StatusCode = &v
21350	return s
21351}
21352
21353// SetStatusMessage sets the StatusMessage field's value.
21354func (s *MessageResult) SetStatusMessage(v string) *MessageResult {
21355	s.StatusMessage = &v
21356	return s
21357}
21358
21359// SetUpdatedToken sets the UpdatedToken field's value.
21360func (s *MessageResult) SetUpdatedToken(v string) *MessageResult {
21361	s.UpdatedToken = &v
21362	return s
21363}
21364
21365// Specifies metric-based criteria for including or excluding endpoints from
21366// a segment. These criteria derive from custom metrics that you define for
21367// endpoints.
21368type MetricDimension struct {
21369	_ struct{} `type:"structure"`
21370
21371	// The operator to use when comparing metric values. Valid values are: GREATER_THAN,
21372	// LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, and EQUAL.
21373	//
21374	// ComparisonOperator is a required field
21375	ComparisonOperator *string `type:"string" required:"true"`
21376
21377	// The value to compare.
21378	//
21379	// Value is a required field
21380	Value *float64 `type:"double" required:"true"`
21381}
21382
21383// String returns the string representation
21384func (s MetricDimension) String() string {
21385	return awsutil.Prettify(s)
21386}
21387
21388// GoString returns the string representation
21389func (s MetricDimension) GoString() string {
21390	return s.String()
21391}
21392
21393// Validate inspects the fields of the type to determine if they are valid.
21394func (s *MetricDimension) Validate() error {
21395	invalidParams := request.ErrInvalidParams{Context: "MetricDimension"}
21396	if s.ComparisonOperator == nil {
21397		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
21398	}
21399	if s.Value == nil {
21400		invalidParams.Add(request.NewErrParamRequired("Value"))
21401	}
21402
21403	if invalidParams.Len() > 0 {
21404		return invalidParams
21405	}
21406	return nil
21407}
21408
21409// SetComparisonOperator sets the ComparisonOperator field's value.
21410func (s *MetricDimension) SetComparisonOperator(v string) *MetricDimension {
21411	s.ComparisonOperator = &v
21412	return s
21413}
21414
21415// SetValue sets the Value field's value.
21416func (s *MetricDimension) SetValue(v float64) *MetricDimension {
21417	s.Value = &v
21418	return s
21419}
21420
21421// Specifies a phone number to validate and retrieve information about.
21422type NumberValidateRequest struct {
21423	_ struct{} `type:"structure"`
21424
21425	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
21426	// region where the phone number was originally registered.
21427	IsoCountryCode *string `type:"string"`
21428
21429	// The phone number to retrieve information about. The phone number that you
21430	// provide should include a valid numeric country code. Otherwise, the operation
21431	// might result in an error.
21432	PhoneNumber *string `type:"string"`
21433}
21434
21435// String returns the string representation
21436func (s NumberValidateRequest) String() string {
21437	return awsutil.Prettify(s)
21438}
21439
21440// GoString returns the string representation
21441func (s NumberValidateRequest) GoString() string {
21442	return s.String()
21443}
21444
21445// SetIsoCountryCode sets the IsoCountryCode field's value.
21446func (s *NumberValidateRequest) SetIsoCountryCode(v string) *NumberValidateRequest {
21447	s.IsoCountryCode = &v
21448	return s
21449}
21450
21451// SetPhoneNumber sets the PhoneNumber field's value.
21452func (s *NumberValidateRequest) SetPhoneNumber(v string) *NumberValidateRequest {
21453	s.PhoneNumber = &v
21454	return s
21455}
21456
21457// Provides information about a phone number.
21458type NumberValidateResponse struct {
21459	_ struct{} `type:"structure"`
21460
21461	// The carrier or service provider that the phone number is currently registered
21462	// with. In some countries and regions, this value may be the carrier or service
21463	// provider that the phone number was originally registered with.
21464	Carrier *string `type:"string"`
21465
21466	// The name of the city where the phone number was originally registered.
21467	City *string `type:"string"`
21468
21469	// The cleansed phone number, in E.164 format, for the location where the phone
21470	// number was originally registered.
21471	CleansedPhoneNumberE164 *string `type:"string"`
21472
21473	// The cleansed phone number, in the format for the location where the phone
21474	// number was originally registered.
21475	CleansedPhoneNumberNational *string `type:"string"`
21476
21477	// The name of the country or region where the phone number was originally registered.
21478	Country *string `type:"string"`
21479
21480	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
21481	// region where the phone number was originally registered.
21482	CountryCodeIso2 *string `type:"string"`
21483
21484	// The numeric code for the country or region where the phone number was originally
21485	// registered.
21486	CountryCodeNumeric *string `type:"string"`
21487
21488	// The name of the county where the phone number was originally registered.
21489	County *string `type:"string"`
21490
21491	// The two-character code, in ISO 3166-1 alpha-2 format, that was sent in the
21492	// request body.
21493	OriginalCountryCodeIso2 *string `type:"string"`
21494
21495	// The phone number that was sent in the request body.
21496	OriginalPhoneNumber *string `type:"string"`
21497
21498	// The description of the phone type. Valid values are: MOBILE, LANDLINE, VOIP,
21499	// INVALID, PREPAID, and OTHER.
21500	PhoneType *string `type:"string"`
21501
21502	// The phone type, represented by an integer. Valid values are: 0 (mobile),
21503	// 1 (landline), 2 (VoIP), 3 (invalid), 4 (other), and 5 (prepaid).
21504	PhoneTypeCode *int64 `type:"integer"`
21505
21506	// The time zone for the location where the phone number was originally registered.
21507	Timezone *string `type:"string"`
21508
21509	// The postal or ZIP code for the location where the phone number was originally
21510	// registered.
21511	ZipCode *string `type:"string"`
21512}
21513
21514// String returns the string representation
21515func (s NumberValidateResponse) String() string {
21516	return awsutil.Prettify(s)
21517}
21518
21519// GoString returns the string representation
21520func (s NumberValidateResponse) GoString() string {
21521	return s.String()
21522}
21523
21524// SetCarrier sets the Carrier field's value.
21525func (s *NumberValidateResponse) SetCarrier(v string) *NumberValidateResponse {
21526	s.Carrier = &v
21527	return s
21528}
21529
21530// SetCity sets the City field's value.
21531func (s *NumberValidateResponse) SetCity(v string) *NumberValidateResponse {
21532	s.City = &v
21533	return s
21534}
21535
21536// SetCleansedPhoneNumberE164 sets the CleansedPhoneNumberE164 field's value.
21537func (s *NumberValidateResponse) SetCleansedPhoneNumberE164(v string) *NumberValidateResponse {
21538	s.CleansedPhoneNumberE164 = &v
21539	return s
21540}
21541
21542// SetCleansedPhoneNumberNational sets the CleansedPhoneNumberNational field's value.
21543func (s *NumberValidateResponse) SetCleansedPhoneNumberNational(v string) *NumberValidateResponse {
21544	s.CleansedPhoneNumberNational = &v
21545	return s
21546}
21547
21548// SetCountry sets the Country field's value.
21549func (s *NumberValidateResponse) SetCountry(v string) *NumberValidateResponse {
21550	s.Country = &v
21551	return s
21552}
21553
21554// SetCountryCodeIso2 sets the CountryCodeIso2 field's value.
21555func (s *NumberValidateResponse) SetCountryCodeIso2(v string) *NumberValidateResponse {
21556	s.CountryCodeIso2 = &v
21557	return s
21558}
21559
21560// SetCountryCodeNumeric sets the CountryCodeNumeric field's value.
21561func (s *NumberValidateResponse) SetCountryCodeNumeric(v string) *NumberValidateResponse {
21562	s.CountryCodeNumeric = &v
21563	return s
21564}
21565
21566// SetCounty sets the County field's value.
21567func (s *NumberValidateResponse) SetCounty(v string) *NumberValidateResponse {
21568	s.County = &v
21569	return s
21570}
21571
21572// SetOriginalCountryCodeIso2 sets the OriginalCountryCodeIso2 field's value.
21573func (s *NumberValidateResponse) SetOriginalCountryCodeIso2(v string) *NumberValidateResponse {
21574	s.OriginalCountryCodeIso2 = &v
21575	return s
21576}
21577
21578// SetOriginalPhoneNumber sets the OriginalPhoneNumber field's value.
21579func (s *NumberValidateResponse) SetOriginalPhoneNumber(v string) *NumberValidateResponse {
21580	s.OriginalPhoneNumber = &v
21581	return s
21582}
21583
21584// SetPhoneType sets the PhoneType field's value.
21585func (s *NumberValidateResponse) SetPhoneType(v string) *NumberValidateResponse {
21586	s.PhoneType = &v
21587	return s
21588}
21589
21590// SetPhoneTypeCode sets the PhoneTypeCode field's value.
21591func (s *NumberValidateResponse) SetPhoneTypeCode(v int64) *NumberValidateResponse {
21592	s.PhoneTypeCode = &v
21593	return s
21594}
21595
21596// SetTimezone sets the Timezone field's value.
21597func (s *NumberValidateResponse) SetTimezone(v string) *NumberValidateResponse {
21598	s.Timezone = &v
21599	return s
21600}
21601
21602// SetZipCode sets the ZipCode field's value.
21603func (s *NumberValidateResponse) SetZipCode(v string) *NumberValidateResponse {
21604	s.ZipCode = &v
21605	return s
21606}
21607
21608type PhoneNumberValidateInput struct {
21609	_ struct{} `type:"structure" payload:"NumberValidateRequest"`
21610
21611	// Specifies a phone number to validate and retrieve information about.
21612	//
21613	// NumberValidateRequest is a required field
21614	NumberValidateRequest *NumberValidateRequest `type:"structure" required:"true"`
21615}
21616
21617// String returns the string representation
21618func (s PhoneNumberValidateInput) String() string {
21619	return awsutil.Prettify(s)
21620}
21621
21622// GoString returns the string representation
21623func (s PhoneNumberValidateInput) GoString() string {
21624	return s.String()
21625}
21626
21627// Validate inspects the fields of the type to determine if they are valid.
21628func (s *PhoneNumberValidateInput) Validate() error {
21629	invalidParams := request.ErrInvalidParams{Context: "PhoneNumberValidateInput"}
21630	if s.NumberValidateRequest == nil {
21631		invalidParams.Add(request.NewErrParamRequired("NumberValidateRequest"))
21632	}
21633
21634	if invalidParams.Len() > 0 {
21635		return invalidParams
21636	}
21637	return nil
21638}
21639
21640// SetNumberValidateRequest sets the NumberValidateRequest field's value.
21641func (s *PhoneNumberValidateInput) SetNumberValidateRequest(v *NumberValidateRequest) *PhoneNumberValidateInput {
21642	s.NumberValidateRequest = v
21643	return s
21644}
21645
21646type PhoneNumberValidateOutput struct {
21647	_ struct{} `type:"structure" payload:"NumberValidateResponse"`
21648
21649	// Provides information about a phone number.
21650	//
21651	// NumberValidateResponse is a required field
21652	NumberValidateResponse *NumberValidateResponse `type:"structure" required:"true"`
21653}
21654
21655// String returns the string representation
21656func (s PhoneNumberValidateOutput) String() string {
21657	return awsutil.Prettify(s)
21658}
21659
21660// GoString returns the string representation
21661func (s PhoneNumberValidateOutput) GoString() string {
21662	return s.String()
21663}
21664
21665// SetNumberValidateResponse sets the NumberValidateResponse field's value.
21666func (s *PhoneNumberValidateOutput) SetNumberValidateResponse(v *NumberValidateResponse) *PhoneNumberValidateOutput {
21667	s.NumberValidateResponse = v
21668	return s
21669}
21670
21671// Specifies the properties and attributes of an endpoint that's associated
21672// with an event.
21673type PublicEndpoint struct {
21674	_ struct{} `type:"structure"`
21675
21676	// The unique identifier for the recipient, such as a device token, email address,
21677	// or mobile phone number.
21678	Address *string `type:"string"`
21679
21680	// One or more custom attributes that describe the endpoint by associating a
21681	// name with an array of values. You can use these attributes as filter criteria
21682	// when you create segments.
21683	Attributes map[string][]*string `type:"map"`
21684
21685	// The channel that's used when sending messages or push notifications to the
21686	// endpoint.
21687	ChannelType *string `type:"string" enum:"ChannelType"`
21688
21689	// The demographic information for the endpoint, such as the time zone and platform.
21690	Demographic *EndpointDemographic `type:"structure"`
21691
21692	// The date and time, in ISO 8601 format, when the endpoint was last updated.
21693	EffectiveDate *string `type:"string"`
21694
21695	// Specifies whether to send messages or push notifications to the endpoint.
21696	// Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE,
21697	// messages aren’t sent to the endpoint.
21698	//
21699	// Amazon Pinpoint automatically sets this value to ACTIVE when you create an
21700	// endpoint or update an existing endpoint. Amazon Pinpoint automatically sets
21701	// this value to INACTIVE if you update another endpoint that has the same address
21702	// specified by the Address property.
21703	EndpointStatus *string `type:"string"`
21704
21705	// The geographic information for the endpoint.
21706	Location *EndpointLocation `type:"structure"`
21707
21708	// One or more custom metrics that your app reports to Amazon Pinpoint for the
21709	// endpoint.
21710	Metrics map[string]*float64 `type:"map"`
21711
21712	// Specifies whether the user who's associated with the endpoint has opted out
21713	// of receiving messages and push notifications from you. Possible values are:
21714	// ALL, the user has opted out and doesn't want to receive any messages or push
21715	// notifications; and, NONE, the user hasn't opted out and wants to receive
21716	// all messages and push notifications.
21717	OptOut *string `type:"string"`
21718
21719	// A unique identifier that's generated each time the endpoint is updated.
21720	RequestId *string `type:"string"`
21721
21722	// One or more custom user attributes that your app reports to Amazon Pinpoint
21723	// for the user who's associated with the endpoint.
21724	User *EndpointUser `type:"structure"`
21725}
21726
21727// String returns the string representation
21728func (s PublicEndpoint) String() string {
21729	return awsutil.Prettify(s)
21730}
21731
21732// GoString returns the string representation
21733func (s PublicEndpoint) GoString() string {
21734	return s.String()
21735}
21736
21737// SetAddress sets the Address field's value.
21738func (s *PublicEndpoint) SetAddress(v string) *PublicEndpoint {
21739	s.Address = &v
21740	return s
21741}
21742
21743// SetAttributes sets the Attributes field's value.
21744func (s *PublicEndpoint) SetAttributes(v map[string][]*string) *PublicEndpoint {
21745	s.Attributes = v
21746	return s
21747}
21748
21749// SetChannelType sets the ChannelType field's value.
21750func (s *PublicEndpoint) SetChannelType(v string) *PublicEndpoint {
21751	s.ChannelType = &v
21752	return s
21753}
21754
21755// SetDemographic sets the Demographic field's value.
21756func (s *PublicEndpoint) SetDemographic(v *EndpointDemographic) *PublicEndpoint {
21757	s.Demographic = v
21758	return s
21759}
21760
21761// SetEffectiveDate sets the EffectiveDate field's value.
21762func (s *PublicEndpoint) SetEffectiveDate(v string) *PublicEndpoint {
21763	s.EffectiveDate = &v
21764	return s
21765}
21766
21767// SetEndpointStatus sets the EndpointStatus field's value.
21768func (s *PublicEndpoint) SetEndpointStatus(v string) *PublicEndpoint {
21769	s.EndpointStatus = &v
21770	return s
21771}
21772
21773// SetLocation sets the Location field's value.
21774func (s *PublicEndpoint) SetLocation(v *EndpointLocation) *PublicEndpoint {
21775	s.Location = v
21776	return s
21777}
21778
21779// SetMetrics sets the Metrics field's value.
21780func (s *PublicEndpoint) SetMetrics(v map[string]*float64) *PublicEndpoint {
21781	s.Metrics = v
21782	return s
21783}
21784
21785// SetOptOut sets the OptOut field's value.
21786func (s *PublicEndpoint) SetOptOut(v string) *PublicEndpoint {
21787	s.OptOut = &v
21788	return s
21789}
21790
21791// SetRequestId sets the RequestId field's value.
21792func (s *PublicEndpoint) SetRequestId(v string) *PublicEndpoint {
21793	s.RequestId = &v
21794	return s
21795}
21796
21797// SetUser sets the User field's value.
21798func (s *PublicEndpoint) SetUser(v *EndpointUser) *PublicEndpoint {
21799	s.User = v
21800	return s
21801}
21802
21803// Specifies the content and settings for a message template that can be used
21804// in messages that are sent through a push notification channel.
21805type PushNotificationTemplateRequest struct {
21806	_ struct{} `type:"structure"`
21807
21808	// The message template to use for the ADM (Amazon Device Messaging) channel.
21809	// This message template overrides the default template for push notification
21810	// channels (DefaultPushNotificationTemplate).
21811	ADM *AndroidPushNotificationTemplate `type:"structure"`
21812
21813	// The message template to use for the APNs (Apple Push Notification service)
21814	// channel. This message template overrides the default template for push notification
21815	// channels (DefaultPushNotificationTemplate).
21816	APNS *APNSPushNotificationTemplate `type:"structure"`
21817
21818	// The message template to use for the Baidu (Baidu Cloud Push) channel. This
21819	// message template overrides the default template for push notification channels
21820	// (DefaultPushNotificationTemplate).
21821	Baidu *AndroidPushNotificationTemplate `type:"structure"`
21822
21823	// The default message template to use for push notification channels.
21824	Default *DefaultPushNotificationTemplate `type:"structure"`
21825
21826	// The message template to use for the GCM channel, which is used to send notifications
21827	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
21828	// (GCM), service. This message template overrides the default template for
21829	// push notification channels (DefaultPushNotificationTemplate).
21830	GCM *AndroidPushNotificationTemplate `type:"structure"`
21831
21832	// A string-to-string map of key-value pairs that defines the tags to associate
21833	// with the message template. Each tag consists of a required tag key and an
21834	// associated tag value.
21835	Tags map[string]*string `locationName:"tags" type:"map"`
21836}
21837
21838// String returns the string representation
21839func (s PushNotificationTemplateRequest) String() string {
21840	return awsutil.Prettify(s)
21841}
21842
21843// GoString returns the string representation
21844func (s PushNotificationTemplateRequest) GoString() string {
21845	return s.String()
21846}
21847
21848// SetADM sets the ADM field's value.
21849func (s *PushNotificationTemplateRequest) SetADM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
21850	s.ADM = v
21851	return s
21852}
21853
21854// SetAPNS sets the APNS field's value.
21855func (s *PushNotificationTemplateRequest) SetAPNS(v *APNSPushNotificationTemplate) *PushNotificationTemplateRequest {
21856	s.APNS = v
21857	return s
21858}
21859
21860// SetBaidu sets the Baidu field's value.
21861func (s *PushNotificationTemplateRequest) SetBaidu(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
21862	s.Baidu = v
21863	return s
21864}
21865
21866// SetDefault sets the Default field's value.
21867func (s *PushNotificationTemplateRequest) SetDefault(v *DefaultPushNotificationTemplate) *PushNotificationTemplateRequest {
21868	s.Default = v
21869	return s
21870}
21871
21872// SetGCM sets the GCM field's value.
21873func (s *PushNotificationTemplateRequest) SetGCM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateRequest {
21874	s.GCM = v
21875	return s
21876}
21877
21878// SetTags sets the Tags field's value.
21879func (s *PushNotificationTemplateRequest) SetTags(v map[string]*string) *PushNotificationTemplateRequest {
21880	s.Tags = v
21881	return s
21882}
21883
21884// Provides information about the content and settings for a message template
21885// that can be used in messages that are sent through a push notification channel.
21886type PushNotificationTemplateResponse struct {
21887	_ struct{} `type:"structure"`
21888
21889	// The message template that's used for the ADM (Amazon Device Messaging) channel.
21890	// This message template overrides the default template for push notification
21891	// channels (DefaultPushNotificationTemplate).
21892	ADM *AndroidPushNotificationTemplate `type:"structure"`
21893
21894	// The message template that's used for the APNs (Apple Push Notification service)
21895	// channel. This message template overrides the default template for push notification
21896	// channels (DefaultPushNotificationTemplate).
21897	APNS *APNSPushNotificationTemplate `type:"structure"`
21898
21899	Arn *string `type:"string"`
21900
21901	// The message template that's used for the Baidu (Baidu Cloud Push) channel.
21902	// This message template overrides the default template for push notification
21903	// channels (DefaultPushNotificationTemplate).
21904	Baidu *AndroidPushNotificationTemplate `type:"structure"`
21905
21906	// The date when the message template was created.
21907	//
21908	// CreationDate is a required field
21909	CreationDate *string `type:"string" required:"true"`
21910
21911	// The default message template that's used for push notification channels.
21912	Default *DefaultPushNotificationTemplate `type:"structure"`
21913
21914	// The message template that's used for the GCM channel, which is used to send
21915	// notifications through the Firebase Cloud Messaging (FCM), formerly Google
21916	// Cloud Messaging (GCM), service. This message template overrides the default
21917	// template for push notification channels (DefaultPushNotificationTemplate).
21918	GCM *AndroidPushNotificationTemplate `type:"structure"`
21919
21920	// The date when the message template was last modified.
21921	//
21922	// LastModifiedDate is a required field
21923	LastModifiedDate *string `type:"string" required:"true"`
21924
21925	// A string-to-string map of key-value pairs that identifies the tags that are
21926	// associated with the message template. Each tag consists of a required tag
21927	// key and an associated tag value.
21928	Tags map[string]*string `locationName:"tags" type:"map"`
21929
21930	// The name of the message template.
21931	//
21932	// TemplateName is a required field
21933	TemplateName *string `type:"string" required:"true"`
21934
21935	// The type of channel that the message template is designed for. For a push
21936	// notification template, this value is PUSH.
21937	//
21938	// TemplateType is a required field
21939	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
21940}
21941
21942// String returns the string representation
21943func (s PushNotificationTemplateResponse) String() string {
21944	return awsutil.Prettify(s)
21945}
21946
21947// GoString returns the string representation
21948func (s PushNotificationTemplateResponse) GoString() string {
21949	return s.String()
21950}
21951
21952// SetADM sets the ADM field's value.
21953func (s *PushNotificationTemplateResponse) SetADM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
21954	s.ADM = v
21955	return s
21956}
21957
21958// SetAPNS sets the APNS field's value.
21959func (s *PushNotificationTemplateResponse) SetAPNS(v *APNSPushNotificationTemplate) *PushNotificationTemplateResponse {
21960	s.APNS = v
21961	return s
21962}
21963
21964// SetArn sets the Arn field's value.
21965func (s *PushNotificationTemplateResponse) SetArn(v string) *PushNotificationTemplateResponse {
21966	s.Arn = &v
21967	return s
21968}
21969
21970// SetBaidu sets the Baidu field's value.
21971func (s *PushNotificationTemplateResponse) SetBaidu(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
21972	s.Baidu = v
21973	return s
21974}
21975
21976// SetCreationDate sets the CreationDate field's value.
21977func (s *PushNotificationTemplateResponse) SetCreationDate(v string) *PushNotificationTemplateResponse {
21978	s.CreationDate = &v
21979	return s
21980}
21981
21982// SetDefault sets the Default field's value.
21983func (s *PushNotificationTemplateResponse) SetDefault(v *DefaultPushNotificationTemplate) *PushNotificationTemplateResponse {
21984	s.Default = v
21985	return s
21986}
21987
21988// SetGCM sets the GCM field's value.
21989func (s *PushNotificationTemplateResponse) SetGCM(v *AndroidPushNotificationTemplate) *PushNotificationTemplateResponse {
21990	s.GCM = v
21991	return s
21992}
21993
21994// SetLastModifiedDate sets the LastModifiedDate field's value.
21995func (s *PushNotificationTemplateResponse) SetLastModifiedDate(v string) *PushNotificationTemplateResponse {
21996	s.LastModifiedDate = &v
21997	return s
21998}
21999
22000// SetTags sets the Tags field's value.
22001func (s *PushNotificationTemplateResponse) SetTags(v map[string]*string) *PushNotificationTemplateResponse {
22002	s.Tags = v
22003	return s
22004}
22005
22006// SetTemplateName sets the TemplateName field's value.
22007func (s *PushNotificationTemplateResponse) SetTemplateName(v string) *PushNotificationTemplateResponse {
22008	s.TemplateName = &v
22009	return s
22010}
22011
22012// SetTemplateType sets the TemplateType field's value.
22013func (s *PushNotificationTemplateResponse) SetTemplateType(v string) *PushNotificationTemplateResponse {
22014	s.TemplateType = &v
22015	return s
22016}
22017
22018type PutEventStreamInput struct {
22019	_ struct{} `type:"structure" payload:"WriteEventStream"`
22020
22021	// ApplicationId is a required field
22022	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22023
22024	// Specifies the Amazon Resource Name (ARN) of an event stream to publish events
22025	// to and the AWS Identity and Access Management (IAM) role to use when publishing
22026	// those events.
22027	//
22028	// WriteEventStream is a required field
22029	WriteEventStream *WriteEventStream `type:"structure" required:"true"`
22030}
22031
22032// String returns the string representation
22033func (s PutEventStreamInput) String() string {
22034	return awsutil.Prettify(s)
22035}
22036
22037// GoString returns the string representation
22038func (s PutEventStreamInput) GoString() string {
22039	return s.String()
22040}
22041
22042// Validate inspects the fields of the type to determine if they are valid.
22043func (s *PutEventStreamInput) Validate() error {
22044	invalidParams := request.ErrInvalidParams{Context: "PutEventStreamInput"}
22045	if s.ApplicationId == nil {
22046		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22047	}
22048	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22049		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22050	}
22051	if s.WriteEventStream == nil {
22052		invalidParams.Add(request.NewErrParamRequired("WriteEventStream"))
22053	}
22054	if s.WriteEventStream != nil {
22055		if err := s.WriteEventStream.Validate(); err != nil {
22056			invalidParams.AddNested("WriteEventStream", err.(request.ErrInvalidParams))
22057		}
22058	}
22059
22060	if invalidParams.Len() > 0 {
22061		return invalidParams
22062	}
22063	return nil
22064}
22065
22066// SetApplicationId sets the ApplicationId field's value.
22067func (s *PutEventStreamInput) SetApplicationId(v string) *PutEventStreamInput {
22068	s.ApplicationId = &v
22069	return s
22070}
22071
22072// SetWriteEventStream sets the WriteEventStream field's value.
22073func (s *PutEventStreamInput) SetWriteEventStream(v *WriteEventStream) *PutEventStreamInput {
22074	s.WriteEventStream = v
22075	return s
22076}
22077
22078type PutEventStreamOutput struct {
22079	_ struct{} `type:"structure" payload:"EventStream"`
22080
22081	// Specifies settings for publishing event data to an Amazon Kinesis data stream
22082	// or an Amazon Kinesis Data Firehose delivery stream.
22083	//
22084	// EventStream is a required field
22085	EventStream *EventStream `type:"structure" required:"true"`
22086}
22087
22088// String returns the string representation
22089func (s PutEventStreamOutput) String() string {
22090	return awsutil.Prettify(s)
22091}
22092
22093// GoString returns the string representation
22094func (s PutEventStreamOutput) GoString() string {
22095	return s.String()
22096}
22097
22098// SetEventStream sets the EventStream field's value.
22099func (s *PutEventStreamOutput) SetEventStream(v *EventStream) *PutEventStreamOutput {
22100	s.EventStream = v
22101	return s
22102}
22103
22104type PutEventsInput struct {
22105	_ struct{} `type:"structure" payload:"EventsRequest"`
22106
22107	// ApplicationId is a required field
22108	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22109
22110	// Specifies a batch of events to process.
22111	//
22112	// EventsRequest is a required field
22113	EventsRequest *EventsRequest `type:"structure" required:"true"`
22114}
22115
22116// String returns the string representation
22117func (s PutEventsInput) String() string {
22118	return awsutil.Prettify(s)
22119}
22120
22121// GoString returns the string representation
22122func (s PutEventsInput) GoString() string {
22123	return s.String()
22124}
22125
22126// Validate inspects the fields of the type to determine if they are valid.
22127func (s *PutEventsInput) Validate() error {
22128	invalidParams := request.ErrInvalidParams{Context: "PutEventsInput"}
22129	if s.ApplicationId == nil {
22130		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22131	}
22132	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22133		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22134	}
22135	if s.EventsRequest == nil {
22136		invalidParams.Add(request.NewErrParamRequired("EventsRequest"))
22137	}
22138	if s.EventsRequest != nil {
22139		if err := s.EventsRequest.Validate(); err != nil {
22140			invalidParams.AddNested("EventsRequest", err.(request.ErrInvalidParams))
22141		}
22142	}
22143
22144	if invalidParams.Len() > 0 {
22145		return invalidParams
22146	}
22147	return nil
22148}
22149
22150// SetApplicationId sets the ApplicationId field's value.
22151func (s *PutEventsInput) SetApplicationId(v string) *PutEventsInput {
22152	s.ApplicationId = &v
22153	return s
22154}
22155
22156// SetEventsRequest sets the EventsRequest field's value.
22157func (s *PutEventsInput) SetEventsRequest(v *EventsRequest) *PutEventsInput {
22158	s.EventsRequest = v
22159	return s
22160}
22161
22162type PutEventsOutput struct {
22163	_ struct{} `type:"structure" payload:"EventsResponse"`
22164
22165	// Provides information about endpoints and the events that they're associated
22166	// with.
22167	//
22168	// EventsResponse is a required field
22169	EventsResponse *EventsResponse `type:"structure" required:"true"`
22170}
22171
22172// String returns the string representation
22173func (s PutEventsOutput) String() string {
22174	return awsutil.Prettify(s)
22175}
22176
22177// GoString returns the string representation
22178func (s PutEventsOutput) GoString() string {
22179	return s.String()
22180}
22181
22182// SetEventsResponse sets the EventsResponse field's value.
22183func (s *PutEventsOutput) SetEventsResponse(v *EventsResponse) *PutEventsOutput {
22184	s.EventsResponse = v
22185	return s
22186}
22187
22188// Specifies the start and end times that define a time range when messages
22189// aren't sent to endpoints.
22190type QuietTime struct {
22191	_ struct{} `type:"structure"`
22192
22193	// The specific time when quiet time ends. This value has to use 24-hour notation
22194	// and be in HH:MM format, where HH is the hour (with a leading zero, if applicable)
22195	// and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30
22196	// to represent 2:30 PM.
22197	End *string `type:"string"`
22198
22199	// The specific time when quiet time begins. This value has to use 24-hour notation
22200	// and be in HH:MM format, where HH is the hour (with a leading zero, if applicable)
22201	// and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30
22202	// to represent 2:30 PM.
22203	Start *string `type:"string"`
22204}
22205
22206// String returns the string representation
22207func (s QuietTime) String() string {
22208	return awsutil.Prettify(s)
22209}
22210
22211// GoString returns the string representation
22212func (s QuietTime) GoString() string {
22213	return s.String()
22214}
22215
22216// SetEnd sets the End field's value.
22217func (s *QuietTime) SetEnd(v string) *QuietTime {
22218	s.End = &v
22219	return s
22220}
22221
22222// SetStart sets the Start field's value.
22223func (s *QuietTime) SetStart(v string) *QuietTime {
22224	s.Start = &v
22225	return s
22226}
22227
22228// Specifies the contents of an email message, represented as a raw MIME message.
22229type RawEmail struct {
22230	_ struct{} `type:"structure"`
22231
22232	// Data is automatically base64 encoded/decoded by the SDK.
22233	Data []byte `type:"blob"`
22234}
22235
22236// String returns the string representation
22237func (s RawEmail) String() string {
22238	return awsutil.Prettify(s)
22239}
22240
22241// GoString returns the string representation
22242func (s RawEmail) GoString() string {
22243	return s.String()
22244}
22245
22246// SetData sets the Data field's value.
22247func (s *RawEmail) SetData(v []byte) *RawEmail {
22248	s.Data = v
22249	return s
22250}
22251
22252// Specifies criteria for including or excluding endpoints from a segment based
22253// on how recently an endpoint was active.
22254type RecencyDimension struct {
22255	_ struct{} `type:"structure"`
22256
22257	// The duration to use when determining whether an endpoint is active or inactive.
22258	//
22259	// Duration is a required field
22260	Duration *string `type:"string" required:"true" enum:"Duration"`
22261
22262	// The type of recency dimension to use for the segment. Valid values are: ACTIVE,
22263	// endpoints that were active within the specified duration are included in
22264	// the segment; and, INACTIVE, endpoints that weren't active within the specified
22265	// duration are included in the segment.
22266	//
22267	// RecencyType is a required field
22268	RecencyType *string `type:"string" required:"true" enum:"RecencyType"`
22269}
22270
22271// String returns the string representation
22272func (s RecencyDimension) String() string {
22273	return awsutil.Prettify(s)
22274}
22275
22276// GoString returns the string representation
22277func (s RecencyDimension) GoString() string {
22278	return s.String()
22279}
22280
22281// Validate inspects the fields of the type to determine if they are valid.
22282func (s *RecencyDimension) Validate() error {
22283	invalidParams := request.ErrInvalidParams{Context: "RecencyDimension"}
22284	if s.Duration == nil {
22285		invalidParams.Add(request.NewErrParamRequired("Duration"))
22286	}
22287	if s.RecencyType == nil {
22288		invalidParams.Add(request.NewErrParamRequired("RecencyType"))
22289	}
22290
22291	if invalidParams.Len() > 0 {
22292		return invalidParams
22293	}
22294	return nil
22295}
22296
22297// SetDuration sets the Duration field's value.
22298func (s *RecencyDimension) SetDuration(v string) *RecencyDimension {
22299	s.Duration = &v
22300	return s
22301}
22302
22303// SetRecencyType sets the RecencyType field's value.
22304func (s *RecencyDimension) SetRecencyType(v string) *RecencyDimension {
22305	s.RecencyType = &v
22306	return s
22307}
22308
22309type RemoveAttributesInput struct {
22310	_ struct{} `type:"structure" payload:"UpdateAttributesRequest"`
22311
22312	// ApplicationId is a required field
22313	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22314
22315	// AttributeType is a required field
22316	AttributeType *string `location:"uri" locationName:"attribute-type" type:"string" required:"true"`
22317
22318	// Specifies one or more attributes to remove from all the endpoints that are
22319	// associated with an application.
22320	//
22321	// UpdateAttributesRequest is a required field
22322	UpdateAttributesRequest *UpdateAttributesRequest `type:"structure" required:"true"`
22323}
22324
22325// String returns the string representation
22326func (s RemoveAttributesInput) String() string {
22327	return awsutil.Prettify(s)
22328}
22329
22330// GoString returns the string representation
22331func (s RemoveAttributesInput) GoString() string {
22332	return s.String()
22333}
22334
22335// Validate inspects the fields of the type to determine if they are valid.
22336func (s *RemoveAttributesInput) Validate() error {
22337	invalidParams := request.ErrInvalidParams{Context: "RemoveAttributesInput"}
22338	if s.ApplicationId == nil {
22339		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22340	}
22341	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22342		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22343	}
22344	if s.AttributeType == nil {
22345		invalidParams.Add(request.NewErrParamRequired("AttributeType"))
22346	}
22347	if s.AttributeType != nil && len(*s.AttributeType) < 1 {
22348		invalidParams.Add(request.NewErrParamMinLen("AttributeType", 1))
22349	}
22350	if s.UpdateAttributesRequest == nil {
22351		invalidParams.Add(request.NewErrParamRequired("UpdateAttributesRequest"))
22352	}
22353
22354	if invalidParams.Len() > 0 {
22355		return invalidParams
22356	}
22357	return nil
22358}
22359
22360// SetApplicationId sets the ApplicationId field's value.
22361func (s *RemoveAttributesInput) SetApplicationId(v string) *RemoveAttributesInput {
22362	s.ApplicationId = &v
22363	return s
22364}
22365
22366// SetAttributeType sets the AttributeType field's value.
22367func (s *RemoveAttributesInput) SetAttributeType(v string) *RemoveAttributesInput {
22368	s.AttributeType = &v
22369	return s
22370}
22371
22372// SetUpdateAttributesRequest sets the UpdateAttributesRequest field's value.
22373func (s *RemoveAttributesInput) SetUpdateAttributesRequest(v *UpdateAttributesRequest) *RemoveAttributesInput {
22374	s.UpdateAttributesRequest = v
22375	return s
22376}
22377
22378type RemoveAttributesOutput struct {
22379	_ struct{} `type:"structure" payload:"AttributesResource"`
22380
22381	// Provides information about the type and the names of attributes that were
22382	// removed from all the endpoints that are associated with an application.
22383	//
22384	// AttributesResource is a required field
22385	AttributesResource *AttributesResource `type:"structure" required:"true"`
22386}
22387
22388// String returns the string representation
22389func (s RemoveAttributesOutput) String() string {
22390	return awsutil.Prettify(s)
22391}
22392
22393// GoString returns the string representation
22394func (s RemoveAttributesOutput) GoString() string {
22395	return s.String()
22396}
22397
22398// SetAttributesResource sets the AttributesResource field's value.
22399func (s *RemoveAttributesOutput) SetAttributesResource(v *AttributesResource) *RemoveAttributesOutput {
22400	s.AttributesResource = v
22401	return s
22402}
22403
22404// Provides the results of a query that retrieved the data for a standard metric
22405// that applies to an application or campaign.
22406type ResultRow struct {
22407	_ struct{} `type:"structure"`
22408
22409	// An array of objects that defines the field and field values that were used
22410	// to group data in a result set that contains multiple results. This value
22411	// is null if the data in a result set isn’t grouped.
22412	//
22413	// GroupedBys is a required field
22414	GroupedBys []*ResultRowValue `type:"list" required:"true"`
22415
22416	// An array of objects that provides pre-aggregated values for a standard metric
22417	// that applies to an application or campaign.
22418	//
22419	// Values is a required field
22420	Values []*ResultRowValue `type:"list" required:"true"`
22421}
22422
22423// String returns the string representation
22424func (s ResultRow) String() string {
22425	return awsutil.Prettify(s)
22426}
22427
22428// GoString returns the string representation
22429func (s ResultRow) GoString() string {
22430	return s.String()
22431}
22432
22433// SetGroupedBys sets the GroupedBys field's value.
22434func (s *ResultRow) SetGroupedBys(v []*ResultRowValue) *ResultRow {
22435	s.GroupedBys = v
22436	return s
22437}
22438
22439// SetValues sets the Values field's value.
22440func (s *ResultRow) SetValues(v []*ResultRowValue) *ResultRow {
22441	s.Values = v
22442	return s
22443}
22444
22445// Provides a single value and metadata about that value as part of an array
22446// of query results for a standard metric that applies to an application or
22447// campaign.
22448type ResultRowValue struct {
22449	_ struct{} `type:"structure"`
22450
22451	// The name of the field that Amazon Pinpoint uses to store the value specified
22452	// by the Value property.
22453	//
22454	// Key is a required field
22455	Key *string `type:"string" required:"true"`
22456
22457	// The data type of the value specified by the Value property.
22458	//
22459	// Type is a required field
22460	Type *string `type:"string" required:"true"`
22461
22462	// In a Values object, the value for the metric that the query retrieved data
22463	// for. In a GroupedBys object, the value for the field that was used to group
22464	// data in a result set that contains multiple results (Values objects).
22465	//
22466	// Value is a required field
22467	Value *string `type:"string" required:"true"`
22468}
22469
22470// String returns the string representation
22471func (s ResultRowValue) String() string {
22472	return awsutil.Prettify(s)
22473}
22474
22475// GoString returns the string representation
22476func (s ResultRowValue) GoString() string {
22477	return s.String()
22478}
22479
22480// SetKey sets the Key field's value.
22481func (s *ResultRowValue) SetKey(v string) *ResultRowValue {
22482	s.Key = &v
22483	return s
22484}
22485
22486// SetType sets the Type field's value.
22487func (s *ResultRowValue) SetType(v string) *ResultRowValue {
22488	s.Type = &v
22489	return s
22490}
22491
22492// SetValue sets the Value field's value.
22493func (s *ResultRowValue) SetValue(v string) *ResultRowValue {
22494	s.Value = &v
22495	return s
22496}
22497
22498// Specifies the status and settings of the SMS channel for an application.
22499type SMSChannelRequest struct {
22500	_ struct{} `type:"structure"`
22501
22502	// Specifies whether to enable the SMS channel for the application.
22503	Enabled *bool `type:"boolean"`
22504
22505	// The identity that you want to display on recipients' devices when they receive
22506	// messages from the SMS channel.
22507	SenderId *string `type:"string"`
22508
22509	// The registered short code that you want to use when you send messages through
22510	// the SMS channel.
22511	ShortCode *string `type:"string"`
22512}
22513
22514// String returns the string representation
22515func (s SMSChannelRequest) String() string {
22516	return awsutil.Prettify(s)
22517}
22518
22519// GoString returns the string representation
22520func (s SMSChannelRequest) GoString() string {
22521	return s.String()
22522}
22523
22524// SetEnabled sets the Enabled field's value.
22525func (s *SMSChannelRequest) SetEnabled(v bool) *SMSChannelRequest {
22526	s.Enabled = &v
22527	return s
22528}
22529
22530// SetSenderId sets the SenderId field's value.
22531func (s *SMSChannelRequest) SetSenderId(v string) *SMSChannelRequest {
22532	s.SenderId = &v
22533	return s
22534}
22535
22536// SetShortCode sets the ShortCode field's value.
22537func (s *SMSChannelRequest) SetShortCode(v string) *SMSChannelRequest {
22538	s.ShortCode = &v
22539	return s
22540}
22541
22542// Provides information about the status and settings of the SMS channel for
22543// an application.
22544type SMSChannelResponse struct {
22545	_ struct{} `type:"structure"`
22546
22547	// The unique identifier for the application that the SMS channel applies to.
22548	ApplicationId *string `type:"string"`
22549
22550	// The date and time, in ISO 8601 format, when the SMS channel was enabled.
22551	CreationDate *string `type:"string"`
22552
22553	// Specifies whether the SMS channel is enabled for the application.
22554	Enabled *bool `type:"boolean"`
22555
22556	// (Not used) This property is retained only for backward compatibility.
22557	HasCredential *bool `type:"boolean"`
22558
22559	// (Deprecated) An identifier for the SMS channel. This property is retained
22560	// only for backward compatibility.
22561	Id *string `type:"string"`
22562
22563	// Specifies whether the SMS channel is archived.
22564	IsArchived *bool `type:"boolean"`
22565
22566	// The user who last modified the SMS channel.
22567	LastModifiedBy *string `type:"string"`
22568
22569	// The date and time, in ISO 8601 format, when the SMS channel was last modified.
22570	LastModifiedDate *string `type:"string"`
22571
22572	// The type of messaging or notification platform for the channel. For the SMS
22573	// channel, this value is SMS.
22574	//
22575	// Platform is a required field
22576	Platform *string `type:"string" required:"true"`
22577
22578	// The maximum number of promotional messages that you can send through the
22579	// SMS channel each second.
22580	PromotionalMessagesPerSecond *int64 `type:"integer"`
22581
22582	// The identity that displays on recipients' devices when they receive messages
22583	// from the SMS channel.
22584	SenderId *string `type:"string"`
22585
22586	// The registered short code to use when you send messages through the SMS channel.
22587	ShortCode *string `type:"string"`
22588
22589	// The maximum number of transactional messages that you can send through the
22590	// SMS channel each second.
22591	TransactionalMessagesPerSecond *int64 `type:"integer"`
22592
22593	// The current version of the SMS channel.
22594	Version *int64 `type:"integer"`
22595}
22596
22597// String returns the string representation
22598func (s SMSChannelResponse) String() string {
22599	return awsutil.Prettify(s)
22600}
22601
22602// GoString returns the string representation
22603func (s SMSChannelResponse) GoString() string {
22604	return s.String()
22605}
22606
22607// SetApplicationId sets the ApplicationId field's value.
22608func (s *SMSChannelResponse) SetApplicationId(v string) *SMSChannelResponse {
22609	s.ApplicationId = &v
22610	return s
22611}
22612
22613// SetCreationDate sets the CreationDate field's value.
22614func (s *SMSChannelResponse) SetCreationDate(v string) *SMSChannelResponse {
22615	s.CreationDate = &v
22616	return s
22617}
22618
22619// SetEnabled sets the Enabled field's value.
22620func (s *SMSChannelResponse) SetEnabled(v bool) *SMSChannelResponse {
22621	s.Enabled = &v
22622	return s
22623}
22624
22625// SetHasCredential sets the HasCredential field's value.
22626func (s *SMSChannelResponse) SetHasCredential(v bool) *SMSChannelResponse {
22627	s.HasCredential = &v
22628	return s
22629}
22630
22631// SetId sets the Id field's value.
22632func (s *SMSChannelResponse) SetId(v string) *SMSChannelResponse {
22633	s.Id = &v
22634	return s
22635}
22636
22637// SetIsArchived sets the IsArchived field's value.
22638func (s *SMSChannelResponse) SetIsArchived(v bool) *SMSChannelResponse {
22639	s.IsArchived = &v
22640	return s
22641}
22642
22643// SetLastModifiedBy sets the LastModifiedBy field's value.
22644func (s *SMSChannelResponse) SetLastModifiedBy(v string) *SMSChannelResponse {
22645	s.LastModifiedBy = &v
22646	return s
22647}
22648
22649// SetLastModifiedDate sets the LastModifiedDate field's value.
22650func (s *SMSChannelResponse) SetLastModifiedDate(v string) *SMSChannelResponse {
22651	s.LastModifiedDate = &v
22652	return s
22653}
22654
22655// SetPlatform sets the Platform field's value.
22656func (s *SMSChannelResponse) SetPlatform(v string) *SMSChannelResponse {
22657	s.Platform = &v
22658	return s
22659}
22660
22661// SetPromotionalMessagesPerSecond sets the PromotionalMessagesPerSecond field's value.
22662func (s *SMSChannelResponse) SetPromotionalMessagesPerSecond(v int64) *SMSChannelResponse {
22663	s.PromotionalMessagesPerSecond = &v
22664	return s
22665}
22666
22667// SetSenderId sets the SenderId field's value.
22668func (s *SMSChannelResponse) SetSenderId(v string) *SMSChannelResponse {
22669	s.SenderId = &v
22670	return s
22671}
22672
22673// SetShortCode sets the ShortCode field's value.
22674func (s *SMSChannelResponse) SetShortCode(v string) *SMSChannelResponse {
22675	s.ShortCode = &v
22676	return s
22677}
22678
22679// SetTransactionalMessagesPerSecond sets the TransactionalMessagesPerSecond field's value.
22680func (s *SMSChannelResponse) SetTransactionalMessagesPerSecond(v int64) *SMSChannelResponse {
22681	s.TransactionalMessagesPerSecond = &v
22682	return s
22683}
22684
22685// SetVersion sets the Version field's value.
22686func (s *SMSChannelResponse) SetVersion(v int64) *SMSChannelResponse {
22687	s.Version = &v
22688	return s
22689}
22690
22691// Specifies the default settings for a one-time SMS message that's sent directly
22692// to an endpoint.
22693type SMSMessage struct {
22694	_ struct{} `type:"structure"`
22695
22696	// The body of the SMS message.
22697	Body *string `type:"string"`
22698
22699	// The SMS program name that you provided to AWS Support when you requested
22700	// your dedicated number.
22701	Keyword *string `type:"string"`
22702
22703	// The SMS message type. Valid values are: TRANSACTIONAL, the message is critical
22704	// or time-sensitive, such as a one-time password that supports a customer transaction;
22705	// and, PROMOTIONAL, the message is not critical or time-sensitive, such as
22706	// a marketing message.
22707	MessageType *string `type:"string" enum:"MessageType"`
22708
22709	// The number to send the SMS message from. This value should be one of the
22710	// dedicated long or short codes that's assigned to your AWS account. If you
22711	// don't specify a long or short code, Amazon Pinpoint assigns a random long
22712	// code to the SMS message and sends the message from that code.
22713	OriginationNumber *string `type:"string"`
22714
22715	// The sender ID to display as the sender of the message on a recipient's device.
22716	// Support for sender IDs varies by country or region.
22717	SenderId *string `type:"string"`
22718
22719	// The message variables to use in the SMS message. You can override the default
22720	// variables with individual address variables.
22721	Substitutions map[string][]*string `type:"map"`
22722}
22723
22724// String returns the string representation
22725func (s SMSMessage) String() string {
22726	return awsutil.Prettify(s)
22727}
22728
22729// GoString returns the string representation
22730func (s SMSMessage) GoString() string {
22731	return s.String()
22732}
22733
22734// SetBody sets the Body field's value.
22735func (s *SMSMessage) SetBody(v string) *SMSMessage {
22736	s.Body = &v
22737	return s
22738}
22739
22740// SetKeyword sets the Keyword field's value.
22741func (s *SMSMessage) SetKeyword(v string) *SMSMessage {
22742	s.Keyword = &v
22743	return s
22744}
22745
22746// SetMessageType sets the MessageType field's value.
22747func (s *SMSMessage) SetMessageType(v string) *SMSMessage {
22748	s.MessageType = &v
22749	return s
22750}
22751
22752// SetOriginationNumber sets the OriginationNumber field's value.
22753func (s *SMSMessage) SetOriginationNumber(v string) *SMSMessage {
22754	s.OriginationNumber = &v
22755	return s
22756}
22757
22758// SetSenderId sets the SenderId field's value.
22759func (s *SMSMessage) SetSenderId(v string) *SMSMessage {
22760	s.SenderId = &v
22761	return s
22762}
22763
22764// SetSubstitutions sets the Substitutions field's value.
22765func (s *SMSMessage) SetSubstitutions(v map[string][]*string) *SMSMessage {
22766	s.Substitutions = v
22767	return s
22768}
22769
22770// Specifies the content and settings for a message template that can be used
22771// in text messages that are sent through the SMS channel.
22772type SMSTemplateRequest struct {
22773	_ struct{} `type:"structure"`
22774
22775	// The message body to use in text messages that are based on the message template.
22776	Body *string `type:"string"`
22777
22778	// A string-to-string map of key-value pairs that defines the tags to associate
22779	// with the message template. Each tag consists of a required tag key and an
22780	// associated tag value.
22781	Tags map[string]*string `locationName:"tags" type:"map"`
22782}
22783
22784// String returns the string representation
22785func (s SMSTemplateRequest) String() string {
22786	return awsutil.Prettify(s)
22787}
22788
22789// GoString returns the string representation
22790func (s SMSTemplateRequest) GoString() string {
22791	return s.String()
22792}
22793
22794// SetBody sets the Body field's value.
22795func (s *SMSTemplateRequest) SetBody(v string) *SMSTemplateRequest {
22796	s.Body = &v
22797	return s
22798}
22799
22800// SetTags sets the Tags field's value.
22801func (s *SMSTemplateRequest) SetTags(v map[string]*string) *SMSTemplateRequest {
22802	s.Tags = v
22803	return s
22804}
22805
22806// Provides information about the content and settings for a message template
22807// that can be used in text messages that are sent through the SMS channel.
22808type SMSTemplateResponse struct {
22809	_ struct{} `type:"structure"`
22810
22811	Arn *string `type:"string"`
22812
22813	// The message body that's used in text messages that are based on the message
22814	// template.
22815	Body *string `type:"string"`
22816
22817	// The date when the message template was created.
22818	//
22819	// CreationDate is a required field
22820	CreationDate *string `type:"string" required:"true"`
22821
22822	// The date when the message template was last modified.
22823	//
22824	// LastModifiedDate is a required field
22825	LastModifiedDate *string `type:"string" required:"true"`
22826
22827	// A string-to-string map of key-value pairs that identifies the tags that are
22828	// associated with the message template. Each tag consists of a required tag
22829	// key and an associated tag value.
22830	Tags map[string]*string `locationName:"tags" type:"map"`
22831
22832	// The name of the message template.
22833	//
22834	// TemplateName is a required field
22835	TemplateName *string `type:"string" required:"true"`
22836
22837	// The type of channel that the message template is designed for. For an SMS
22838	// template, this value is SMS.
22839	//
22840	// TemplateType is a required field
22841	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
22842}
22843
22844// String returns the string representation
22845func (s SMSTemplateResponse) String() string {
22846	return awsutil.Prettify(s)
22847}
22848
22849// GoString returns the string representation
22850func (s SMSTemplateResponse) GoString() string {
22851	return s.String()
22852}
22853
22854// SetArn sets the Arn field's value.
22855func (s *SMSTemplateResponse) SetArn(v string) *SMSTemplateResponse {
22856	s.Arn = &v
22857	return s
22858}
22859
22860// SetBody sets the Body field's value.
22861func (s *SMSTemplateResponse) SetBody(v string) *SMSTemplateResponse {
22862	s.Body = &v
22863	return s
22864}
22865
22866// SetCreationDate sets the CreationDate field's value.
22867func (s *SMSTemplateResponse) SetCreationDate(v string) *SMSTemplateResponse {
22868	s.CreationDate = &v
22869	return s
22870}
22871
22872// SetLastModifiedDate sets the LastModifiedDate field's value.
22873func (s *SMSTemplateResponse) SetLastModifiedDate(v string) *SMSTemplateResponse {
22874	s.LastModifiedDate = &v
22875	return s
22876}
22877
22878// SetTags sets the Tags field's value.
22879func (s *SMSTemplateResponse) SetTags(v map[string]*string) *SMSTemplateResponse {
22880	s.Tags = v
22881	return s
22882}
22883
22884// SetTemplateName sets the TemplateName field's value.
22885func (s *SMSTemplateResponse) SetTemplateName(v string) *SMSTemplateResponse {
22886	s.TemplateName = &v
22887	return s
22888}
22889
22890// SetTemplateType sets the TemplateType field's value.
22891func (s *SMSTemplateResponse) SetTemplateType(v string) *SMSTemplateResponse {
22892	s.TemplateType = &v
22893	return s
22894}
22895
22896// Specifies the schedule settings for a campaign.
22897type Schedule struct {
22898	_ struct{} `type:"structure"`
22899
22900	// The scheduled time, in ISO 8601 format, for the campaign to end.
22901	EndTime *string `type:"string"`
22902
22903	// The type of event that causes the campaign to be sent, if the value of the
22904	// Frequency property is EVENT.
22905	EventFilter *CampaignEventFilter `type:"structure"`
22906
22907	// Specifies how often the campaign is sent or whether the campaign is sent
22908	// in response to a specific event.
22909	Frequency *string `type:"string" enum:"Frequency"`
22910
22911	// Specifies whether the start and end times for the campaign schedule use each
22912	// recipient's local time. To base the schedule on each recipient's local time,
22913	// set this value to true.
22914	IsLocalTime *bool `type:"boolean"`
22915
22916	// The default quiet time for the campaign. Quiet time is a specific time range
22917	// when a campaign doesn't send messages to endpoints, if all the following
22918	// conditions are met:
22919	//
22920	//    * The EndpointDemographic.Timezone property of the endpoint is set to
22921	//    a valid value.
22922	//
22923	//    * The current time in the endpoint's time zone is later than or equal
22924	//    to the time specified by the QuietTime.Start property for the campaign.
22925	//
22926	//    * The current time in the endpoint's time zone is earlier than or equal
22927	//    to the time specified by the QuietTime.End property for the campaign.
22928	//
22929	// If any of the preceding conditions isn't met, the endpoint will receive messages
22930	// from the campaign, even if quiet time is enabled.
22931	QuietTime *QuietTime `type:"structure"`
22932
22933	// The scheduled time, in ISO 8601 format, for the campaign to begin.
22934	//
22935	// StartTime is a required field
22936	StartTime *string `type:"string" required:"true"`
22937
22938	// The starting UTC offset for the campaign schedule, if the value of the IsLocalTime
22939	// property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, UTC+03:30,
22940	// UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30, UTC+07,
22941	// UTC+08, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02,
22942	// UTC-03, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.
22943	Timezone *string `type:"string"`
22944}
22945
22946// String returns the string representation
22947func (s Schedule) String() string {
22948	return awsutil.Prettify(s)
22949}
22950
22951// GoString returns the string representation
22952func (s Schedule) GoString() string {
22953	return s.String()
22954}
22955
22956// Validate inspects the fields of the type to determine if they are valid.
22957func (s *Schedule) Validate() error {
22958	invalidParams := request.ErrInvalidParams{Context: "Schedule"}
22959	if s.StartTime == nil {
22960		invalidParams.Add(request.NewErrParamRequired("StartTime"))
22961	}
22962	if s.EventFilter != nil {
22963		if err := s.EventFilter.Validate(); err != nil {
22964			invalidParams.AddNested("EventFilter", err.(request.ErrInvalidParams))
22965		}
22966	}
22967
22968	if invalidParams.Len() > 0 {
22969		return invalidParams
22970	}
22971	return nil
22972}
22973
22974// SetEndTime sets the EndTime field's value.
22975func (s *Schedule) SetEndTime(v string) *Schedule {
22976	s.EndTime = &v
22977	return s
22978}
22979
22980// SetEventFilter sets the EventFilter field's value.
22981func (s *Schedule) SetEventFilter(v *CampaignEventFilter) *Schedule {
22982	s.EventFilter = v
22983	return s
22984}
22985
22986// SetFrequency sets the Frequency field's value.
22987func (s *Schedule) SetFrequency(v string) *Schedule {
22988	s.Frequency = &v
22989	return s
22990}
22991
22992// SetIsLocalTime sets the IsLocalTime field's value.
22993func (s *Schedule) SetIsLocalTime(v bool) *Schedule {
22994	s.IsLocalTime = &v
22995	return s
22996}
22997
22998// SetQuietTime sets the QuietTime field's value.
22999func (s *Schedule) SetQuietTime(v *QuietTime) *Schedule {
23000	s.QuietTime = v
23001	return s
23002}
23003
23004// SetStartTime sets the StartTime field's value.
23005func (s *Schedule) SetStartTime(v string) *Schedule {
23006	s.StartTime = &v
23007	return s
23008}
23009
23010// SetTimezone sets the Timezone field's value.
23011func (s *Schedule) SetTimezone(v string) *Schedule {
23012	s.Timezone = &v
23013	return s
23014}
23015
23016// Specifies dimension settings for including or excluding endpoints from a
23017// segment based on how recently an endpoint was active.
23018type SegmentBehaviors struct {
23019	_ struct{} `type:"structure"`
23020
23021	// The dimension settings that are based on how recently an endpoint was active.
23022	Recency *RecencyDimension `type:"structure"`
23023}
23024
23025// String returns the string representation
23026func (s SegmentBehaviors) String() string {
23027	return awsutil.Prettify(s)
23028}
23029
23030// GoString returns the string representation
23031func (s SegmentBehaviors) GoString() string {
23032	return s.String()
23033}
23034
23035// Validate inspects the fields of the type to determine if they are valid.
23036func (s *SegmentBehaviors) Validate() error {
23037	invalidParams := request.ErrInvalidParams{Context: "SegmentBehaviors"}
23038	if s.Recency != nil {
23039		if err := s.Recency.Validate(); err != nil {
23040			invalidParams.AddNested("Recency", err.(request.ErrInvalidParams))
23041		}
23042	}
23043
23044	if invalidParams.Len() > 0 {
23045		return invalidParams
23046	}
23047	return nil
23048}
23049
23050// SetRecency sets the Recency field's value.
23051func (s *SegmentBehaviors) SetRecency(v *RecencyDimension) *SegmentBehaviors {
23052	s.Recency = v
23053	return s
23054}
23055
23056// Specifies demographic-based dimension settings for including or excluding
23057// endpoints from a segment. These settings derive from characteristics of endpoint
23058// devices, such as platform, make, and model.
23059type SegmentDemographics struct {
23060	_ struct{} `type:"structure"`
23061
23062	// The app version criteria for the segment.
23063	AppVersion *SetDimension `type:"structure"`
23064
23065	// The channel criteria for the segment.
23066	Channel *SetDimension `type:"structure"`
23067
23068	// The device type criteria for the segment.
23069	DeviceType *SetDimension `type:"structure"`
23070
23071	// The device make criteria for the segment.
23072	Make *SetDimension `type:"structure"`
23073
23074	// The device model criteria for the segment.
23075	Model *SetDimension `type:"structure"`
23076
23077	// The device platform criteria for the segment.
23078	Platform *SetDimension `type:"structure"`
23079}
23080
23081// String returns the string representation
23082func (s SegmentDemographics) String() string {
23083	return awsutil.Prettify(s)
23084}
23085
23086// GoString returns the string representation
23087func (s SegmentDemographics) GoString() string {
23088	return s.String()
23089}
23090
23091// Validate inspects the fields of the type to determine if they are valid.
23092func (s *SegmentDemographics) Validate() error {
23093	invalidParams := request.ErrInvalidParams{Context: "SegmentDemographics"}
23094	if s.AppVersion != nil {
23095		if err := s.AppVersion.Validate(); err != nil {
23096			invalidParams.AddNested("AppVersion", err.(request.ErrInvalidParams))
23097		}
23098	}
23099	if s.Channel != nil {
23100		if err := s.Channel.Validate(); err != nil {
23101			invalidParams.AddNested("Channel", err.(request.ErrInvalidParams))
23102		}
23103	}
23104	if s.DeviceType != nil {
23105		if err := s.DeviceType.Validate(); err != nil {
23106			invalidParams.AddNested("DeviceType", err.(request.ErrInvalidParams))
23107		}
23108	}
23109	if s.Make != nil {
23110		if err := s.Make.Validate(); err != nil {
23111			invalidParams.AddNested("Make", err.(request.ErrInvalidParams))
23112		}
23113	}
23114	if s.Model != nil {
23115		if err := s.Model.Validate(); err != nil {
23116			invalidParams.AddNested("Model", err.(request.ErrInvalidParams))
23117		}
23118	}
23119	if s.Platform != nil {
23120		if err := s.Platform.Validate(); err != nil {
23121			invalidParams.AddNested("Platform", err.(request.ErrInvalidParams))
23122		}
23123	}
23124
23125	if invalidParams.Len() > 0 {
23126		return invalidParams
23127	}
23128	return nil
23129}
23130
23131// SetAppVersion sets the AppVersion field's value.
23132func (s *SegmentDemographics) SetAppVersion(v *SetDimension) *SegmentDemographics {
23133	s.AppVersion = v
23134	return s
23135}
23136
23137// SetChannel sets the Channel field's value.
23138func (s *SegmentDemographics) SetChannel(v *SetDimension) *SegmentDemographics {
23139	s.Channel = v
23140	return s
23141}
23142
23143// SetDeviceType sets the DeviceType field's value.
23144func (s *SegmentDemographics) SetDeviceType(v *SetDimension) *SegmentDemographics {
23145	s.DeviceType = v
23146	return s
23147}
23148
23149// SetMake sets the Make field's value.
23150func (s *SegmentDemographics) SetMake(v *SetDimension) *SegmentDemographics {
23151	s.Make = v
23152	return s
23153}
23154
23155// SetModel sets the Model field's value.
23156func (s *SegmentDemographics) SetModel(v *SetDimension) *SegmentDemographics {
23157	s.Model = v
23158	return s
23159}
23160
23161// SetPlatform sets the Platform field's value.
23162func (s *SegmentDemographics) SetPlatform(v *SetDimension) *SegmentDemographics {
23163	s.Platform = v
23164	return s
23165}
23166
23167// Specifies the dimension settings for a segment.
23168type SegmentDimensions struct {
23169	_ struct{} `type:"structure"`
23170
23171	// One or more custom attributes to use as criteria for the segment.
23172	Attributes map[string]*AttributeDimension `type:"map"`
23173
23174	// The behavior-based criteria, such as how recently users have used your app,
23175	// for the segment.
23176	Behavior *SegmentBehaviors `type:"structure"`
23177
23178	// The demographic-based criteria, such as device platform, for the segment.
23179	Demographic *SegmentDemographics `type:"structure"`
23180
23181	// The location-based criteria, such as region or GPS coordinates, for the segment.
23182	Location *SegmentLocation `type:"structure"`
23183
23184	// One or more custom metrics to use as criteria for the segment.
23185	Metrics map[string]*MetricDimension `type:"map"`
23186
23187	// One or more custom user attributes to use as criteria for the segment.
23188	UserAttributes map[string]*AttributeDimension `type:"map"`
23189}
23190
23191// String returns the string representation
23192func (s SegmentDimensions) String() string {
23193	return awsutil.Prettify(s)
23194}
23195
23196// GoString returns the string representation
23197func (s SegmentDimensions) GoString() string {
23198	return s.String()
23199}
23200
23201// Validate inspects the fields of the type to determine if they are valid.
23202func (s *SegmentDimensions) Validate() error {
23203	invalidParams := request.ErrInvalidParams{Context: "SegmentDimensions"}
23204	if s.Attributes != nil {
23205		for i, v := range s.Attributes {
23206			if v == nil {
23207				continue
23208			}
23209			if err := v.Validate(); err != nil {
23210				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
23211			}
23212		}
23213	}
23214	if s.Behavior != nil {
23215		if err := s.Behavior.Validate(); err != nil {
23216			invalidParams.AddNested("Behavior", err.(request.ErrInvalidParams))
23217		}
23218	}
23219	if s.Demographic != nil {
23220		if err := s.Demographic.Validate(); err != nil {
23221			invalidParams.AddNested("Demographic", err.(request.ErrInvalidParams))
23222		}
23223	}
23224	if s.Location != nil {
23225		if err := s.Location.Validate(); err != nil {
23226			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
23227		}
23228	}
23229	if s.Metrics != nil {
23230		for i, v := range s.Metrics {
23231			if v == nil {
23232				continue
23233			}
23234			if err := v.Validate(); err != nil {
23235				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams))
23236			}
23237		}
23238	}
23239	if s.UserAttributes != nil {
23240		for i, v := range s.UserAttributes {
23241			if v == nil {
23242				continue
23243			}
23244			if err := v.Validate(); err != nil {
23245				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAttributes", i), err.(request.ErrInvalidParams))
23246			}
23247		}
23248	}
23249
23250	if invalidParams.Len() > 0 {
23251		return invalidParams
23252	}
23253	return nil
23254}
23255
23256// SetAttributes sets the Attributes field's value.
23257func (s *SegmentDimensions) SetAttributes(v map[string]*AttributeDimension) *SegmentDimensions {
23258	s.Attributes = v
23259	return s
23260}
23261
23262// SetBehavior sets the Behavior field's value.
23263func (s *SegmentDimensions) SetBehavior(v *SegmentBehaviors) *SegmentDimensions {
23264	s.Behavior = v
23265	return s
23266}
23267
23268// SetDemographic sets the Demographic field's value.
23269func (s *SegmentDimensions) SetDemographic(v *SegmentDemographics) *SegmentDimensions {
23270	s.Demographic = v
23271	return s
23272}
23273
23274// SetLocation sets the Location field's value.
23275func (s *SegmentDimensions) SetLocation(v *SegmentLocation) *SegmentDimensions {
23276	s.Location = v
23277	return s
23278}
23279
23280// SetMetrics sets the Metrics field's value.
23281func (s *SegmentDimensions) SetMetrics(v map[string]*MetricDimension) *SegmentDimensions {
23282	s.Metrics = v
23283	return s
23284}
23285
23286// SetUserAttributes sets the UserAttributes field's value.
23287func (s *SegmentDimensions) SetUserAttributes(v map[string]*AttributeDimension) *SegmentDimensions {
23288	s.UserAttributes = v
23289	return s
23290}
23291
23292// Specifies the base segments and dimensions for a segment, and the relationships
23293// between these base segments and dimensions.
23294type SegmentGroup struct {
23295	_ struct{} `type:"structure"`
23296
23297	// An array that defines the dimensions for the segment.
23298	Dimensions []*SegmentDimensions `type:"list"`
23299
23300	// The base segment to build the segment on. A base segment, also referred to
23301	// as a source segment, defines the initial population of endpoints for a segment.
23302	// When you add dimensions to a segment, Amazon Pinpoint filters the base segment
23303	// by using the dimensions that you specify.
23304	//
23305	// You can specify more than one dimensional segment or only one imported segment.
23306	// If you specify an imported segment, the Amazon Pinpoint console displays
23307	// a segment size estimate that indicates the size of the imported segment without
23308	// any filters applied to it.
23309	SourceSegments []*SegmentReference `type:"list"`
23310
23311	// Specifies how to handle multiple base segments for the segment. For example,
23312	// if you specify three base segments for the segment, whether the resulting
23313	// segment is based on all, any, or none of the base segments.
23314	SourceType *string `type:"string" enum:"SourceType"`
23315
23316	// Specifies how to handle multiple dimensions for the segment. For example,
23317	// if you specify three dimensions for the segment, whether the resulting segment
23318	// includes endpoints that match all, any, or none of the dimensions.
23319	Type *string `type:"string" enum:"Type"`
23320}
23321
23322// String returns the string representation
23323func (s SegmentGroup) String() string {
23324	return awsutil.Prettify(s)
23325}
23326
23327// GoString returns the string representation
23328func (s SegmentGroup) GoString() string {
23329	return s.String()
23330}
23331
23332// Validate inspects the fields of the type to determine if they are valid.
23333func (s *SegmentGroup) Validate() error {
23334	invalidParams := request.ErrInvalidParams{Context: "SegmentGroup"}
23335	if s.Dimensions != nil {
23336		for i, v := range s.Dimensions {
23337			if v == nil {
23338				continue
23339			}
23340			if err := v.Validate(); err != nil {
23341				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
23342			}
23343		}
23344	}
23345	if s.SourceSegments != nil {
23346		for i, v := range s.SourceSegments {
23347			if v == nil {
23348				continue
23349			}
23350			if err := v.Validate(); err != nil {
23351				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SourceSegments", i), err.(request.ErrInvalidParams))
23352			}
23353		}
23354	}
23355
23356	if invalidParams.Len() > 0 {
23357		return invalidParams
23358	}
23359	return nil
23360}
23361
23362// SetDimensions sets the Dimensions field's value.
23363func (s *SegmentGroup) SetDimensions(v []*SegmentDimensions) *SegmentGroup {
23364	s.Dimensions = v
23365	return s
23366}
23367
23368// SetSourceSegments sets the SourceSegments field's value.
23369func (s *SegmentGroup) SetSourceSegments(v []*SegmentReference) *SegmentGroup {
23370	s.SourceSegments = v
23371	return s
23372}
23373
23374// SetSourceType sets the SourceType field's value.
23375func (s *SegmentGroup) SetSourceType(v string) *SegmentGroup {
23376	s.SourceType = &v
23377	return s
23378}
23379
23380// SetType sets the Type field's value.
23381func (s *SegmentGroup) SetType(v string) *SegmentGroup {
23382	s.Type = &v
23383	return s
23384}
23385
23386// Specifies the settings that define the relationships between segment groups
23387// for a segment.
23388type SegmentGroupList struct {
23389	_ struct{} `type:"structure"`
23390
23391	// An array that defines the set of segment criteria to evaluate when handling
23392	// segment groups for the segment.
23393	Groups []*SegmentGroup `type:"list"`
23394
23395	// Specifies how to handle multiple segment groups for the segment. For example,
23396	// if the segment includes three segment groups, whether the resulting segment
23397	// includes endpoints that match all, any, or none of the segment groups.
23398	Include *string `type:"string" enum:"Include"`
23399}
23400
23401// String returns the string representation
23402func (s SegmentGroupList) String() string {
23403	return awsutil.Prettify(s)
23404}
23405
23406// GoString returns the string representation
23407func (s SegmentGroupList) GoString() string {
23408	return s.String()
23409}
23410
23411// Validate inspects the fields of the type to determine if they are valid.
23412func (s *SegmentGroupList) Validate() error {
23413	invalidParams := request.ErrInvalidParams{Context: "SegmentGroupList"}
23414	if s.Groups != nil {
23415		for i, v := range s.Groups {
23416			if v == nil {
23417				continue
23418			}
23419			if err := v.Validate(); err != nil {
23420				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Groups", i), err.(request.ErrInvalidParams))
23421			}
23422		}
23423	}
23424
23425	if invalidParams.Len() > 0 {
23426		return invalidParams
23427	}
23428	return nil
23429}
23430
23431// SetGroups sets the Groups field's value.
23432func (s *SegmentGroupList) SetGroups(v []*SegmentGroup) *SegmentGroupList {
23433	s.Groups = v
23434	return s
23435}
23436
23437// SetInclude sets the Include field's value.
23438func (s *SegmentGroupList) SetInclude(v string) *SegmentGroupList {
23439	s.Include = &v
23440	return s
23441}
23442
23443// Provides information about the import job that created a segment. An import
23444// job is a job that creates a user segment by importing endpoint definitions.
23445type SegmentImportResource struct {
23446	_ struct{} `type:"structure"`
23447
23448	// The number of channel types in the endpoint definitions that were imported
23449	// to create the segment.
23450	ChannelCounts map[string]*int64 `type:"map"`
23451
23452	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
23453	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
23454	// an IAM role when importing endpoint definitions, but we removed this requirement.
23455	// We don't recommend use of external IDs for IAM roles that are assumed by
23456	// Amazon Pinpoint.
23457	//
23458	// ExternalId is a required field
23459	ExternalId *string `type:"string" required:"true"`
23460
23461	// The format of the files that were imported to create the segment. Valid values
23462	// are: CSV, for comma-separated values format; and, JSON, for newline-delimited
23463	// JSON format.
23464	//
23465	// Format is a required field
23466	Format *string `type:"string" required:"true" enum:"Format"`
23467
23468	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
23469	// (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location
23470	// to import endpoint definitions from.
23471	//
23472	// RoleArn is a required field
23473	RoleArn *string `type:"string" required:"true"`
23474
23475	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that the
23476	// endpoint definitions were imported from to create the segment.
23477	//
23478	// S3Url is a required field
23479	S3Url *string `type:"string" required:"true"`
23480
23481	// The number of endpoint definitions that were imported successfully to create
23482	// the segment.
23483	//
23484	// Size is a required field
23485	Size *int64 `type:"integer" required:"true"`
23486}
23487
23488// String returns the string representation
23489func (s SegmentImportResource) String() string {
23490	return awsutil.Prettify(s)
23491}
23492
23493// GoString returns the string representation
23494func (s SegmentImportResource) GoString() string {
23495	return s.String()
23496}
23497
23498// SetChannelCounts sets the ChannelCounts field's value.
23499func (s *SegmentImportResource) SetChannelCounts(v map[string]*int64) *SegmentImportResource {
23500	s.ChannelCounts = v
23501	return s
23502}
23503
23504// SetExternalId sets the ExternalId field's value.
23505func (s *SegmentImportResource) SetExternalId(v string) *SegmentImportResource {
23506	s.ExternalId = &v
23507	return s
23508}
23509
23510// SetFormat sets the Format field's value.
23511func (s *SegmentImportResource) SetFormat(v string) *SegmentImportResource {
23512	s.Format = &v
23513	return s
23514}
23515
23516// SetRoleArn sets the RoleArn field's value.
23517func (s *SegmentImportResource) SetRoleArn(v string) *SegmentImportResource {
23518	s.RoleArn = &v
23519	return s
23520}
23521
23522// SetS3Url sets the S3Url field's value.
23523func (s *SegmentImportResource) SetS3Url(v string) *SegmentImportResource {
23524	s.S3Url = &v
23525	return s
23526}
23527
23528// SetSize sets the Size field's value.
23529func (s *SegmentImportResource) SetSize(v int64) *SegmentImportResource {
23530	s.Size = &v
23531	return s
23532}
23533
23534// Specifies geographical dimension settings for a segment.
23535type SegmentLocation struct {
23536	_ struct{} `type:"structure"`
23537
23538	// The country or region code, in ISO 3166-1 alpha-2 format, for the segment.
23539	Country *SetDimension `type:"structure"`
23540
23541	// The GPS location and range for the segment.
23542	GPSPoint *GPSPointDimension `type:"structure"`
23543}
23544
23545// String returns the string representation
23546func (s SegmentLocation) String() string {
23547	return awsutil.Prettify(s)
23548}
23549
23550// GoString returns the string representation
23551func (s SegmentLocation) GoString() string {
23552	return s.String()
23553}
23554
23555// Validate inspects the fields of the type to determine if they are valid.
23556func (s *SegmentLocation) Validate() error {
23557	invalidParams := request.ErrInvalidParams{Context: "SegmentLocation"}
23558	if s.Country != nil {
23559		if err := s.Country.Validate(); err != nil {
23560			invalidParams.AddNested("Country", err.(request.ErrInvalidParams))
23561		}
23562	}
23563	if s.GPSPoint != nil {
23564		if err := s.GPSPoint.Validate(); err != nil {
23565			invalidParams.AddNested("GPSPoint", err.(request.ErrInvalidParams))
23566		}
23567	}
23568
23569	if invalidParams.Len() > 0 {
23570		return invalidParams
23571	}
23572	return nil
23573}
23574
23575// SetCountry sets the Country field's value.
23576func (s *SegmentLocation) SetCountry(v *SetDimension) *SegmentLocation {
23577	s.Country = v
23578	return s
23579}
23580
23581// SetGPSPoint sets the GPSPoint field's value.
23582func (s *SegmentLocation) SetGPSPoint(v *GPSPointDimension) *SegmentLocation {
23583	s.GPSPoint = v
23584	return s
23585}
23586
23587// Specifies the segment identifier and version of a segment.
23588type SegmentReference struct {
23589	_ struct{} `type:"structure"`
23590
23591	// The unique identifier for the segment.
23592	//
23593	// Id is a required field
23594	Id *string `type:"string" required:"true"`
23595
23596	// The version number of the segment.
23597	Version *int64 `type:"integer"`
23598}
23599
23600// String returns the string representation
23601func (s SegmentReference) String() string {
23602	return awsutil.Prettify(s)
23603}
23604
23605// GoString returns the string representation
23606func (s SegmentReference) GoString() string {
23607	return s.String()
23608}
23609
23610// Validate inspects the fields of the type to determine if they are valid.
23611func (s *SegmentReference) Validate() error {
23612	invalidParams := request.ErrInvalidParams{Context: "SegmentReference"}
23613	if s.Id == nil {
23614		invalidParams.Add(request.NewErrParamRequired("Id"))
23615	}
23616
23617	if invalidParams.Len() > 0 {
23618		return invalidParams
23619	}
23620	return nil
23621}
23622
23623// SetId sets the Id field's value.
23624func (s *SegmentReference) SetId(v string) *SegmentReference {
23625	s.Id = &v
23626	return s
23627}
23628
23629// SetVersion sets the Version field's value.
23630func (s *SegmentReference) SetVersion(v int64) *SegmentReference {
23631	s.Version = &v
23632	return s
23633}
23634
23635// Provides information about the configuration, dimension, and other settings
23636// for a segment.
23637type SegmentResponse struct {
23638	_ struct{} `type:"structure"`
23639
23640	// The unique identifier for the application that the segment is associated
23641	// with.
23642	//
23643	// ApplicationId is a required field
23644	ApplicationId *string `type:"string" required:"true"`
23645
23646	// The Amazon Resource Name (ARN) of the segment.
23647	//
23648	// Arn is a required field
23649	Arn *string `type:"string" required:"true"`
23650
23651	// The date and time when the segment was created.
23652	//
23653	// CreationDate is a required field
23654	CreationDate *string `type:"string" required:"true"`
23655
23656	// The dimension settings for the segment.
23657	Dimensions *SegmentDimensions `type:"structure"`
23658
23659	// The unique identifier for the segment.
23660	//
23661	// Id is a required field
23662	Id *string `type:"string" required:"true"`
23663
23664	// The settings for the import job that's associated with the segment.
23665	ImportDefinition *SegmentImportResource `type:"structure"`
23666
23667	// The date and time when the segment was last modified.
23668	LastModifiedDate *string `type:"string"`
23669
23670	// The name of the segment.
23671	Name *string `type:"string"`
23672
23673	// A list of one or more segment groups that apply to the segment. Each segment
23674	// group consists of zero or more base segments and the dimensions that are
23675	// applied to those base segments.
23676	SegmentGroups *SegmentGroupList `type:"structure"`
23677
23678	// The segment type. Valid values are:
23679	//
23680	//    * DIMENSIONAL - A dynamic segment, which is a segment that uses selection
23681	//    criteria that you specify and is based on endpoint data that's reported
23682	//    by your app. Dynamic segments can change over time.
23683	//
23684	//    * IMPORT - A static segment, which is a segment that uses selection criteria
23685	//    that you specify and is based on endpoint definitions that you import
23686	//    from a file. Imported segments are static; they don't change over time.
23687	//
23688	// SegmentType is a required field
23689	SegmentType *string `type:"string" required:"true" enum:"SegmentType"`
23690
23691	// A string-to-string map of key-value pairs that identifies the tags that are
23692	// associated with the segment. Each tag consists of a required tag key and
23693	// an associated tag value.
23694	Tags map[string]*string `locationName:"tags" type:"map"`
23695
23696	// The version number of the segment.
23697	Version *int64 `type:"integer"`
23698}
23699
23700// String returns the string representation
23701func (s SegmentResponse) String() string {
23702	return awsutil.Prettify(s)
23703}
23704
23705// GoString returns the string representation
23706func (s SegmentResponse) GoString() string {
23707	return s.String()
23708}
23709
23710// SetApplicationId sets the ApplicationId field's value.
23711func (s *SegmentResponse) SetApplicationId(v string) *SegmentResponse {
23712	s.ApplicationId = &v
23713	return s
23714}
23715
23716// SetArn sets the Arn field's value.
23717func (s *SegmentResponse) SetArn(v string) *SegmentResponse {
23718	s.Arn = &v
23719	return s
23720}
23721
23722// SetCreationDate sets the CreationDate field's value.
23723func (s *SegmentResponse) SetCreationDate(v string) *SegmentResponse {
23724	s.CreationDate = &v
23725	return s
23726}
23727
23728// SetDimensions sets the Dimensions field's value.
23729func (s *SegmentResponse) SetDimensions(v *SegmentDimensions) *SegmentResponse {
23730	s.Dimensions = v
23731	return s
23732}
23733
23734// SetId sets the Id field's value.
23735func (s *SegmentResponse) SetId(v string) *SegmentResponse {
23736	s.Id = &v
23737	return s
23738}
23739
23740// SetImportDefinition sets the ImportDefinition field's value.
23741func (s *SegmentResponse) SetImportDefinition(v *SegmentImportResource) *SegmentResponse {
23742	s.ImportDefinition = v
23743	return s
23744}
23745
23746// SetLastModifiedDate sets the LastModifiedDate field's value.
23747func (s *SegmentResponse) SetLastModifiedDate(v string) *SegmentResponse {
23748	s.LastModifiedDate = &v
23749	return s
23750}
23751
23752// SetName sets the Name field's value.
23753func (s *SegmentResponse) SetName(v string) *SegmentResponse {
23754	s.Name = &v
23755	return s
23756}
23757
23758// SetSegmentGroups sets the SegmentGroups field's value.
23759func (s *SegmentResponse) SetSegmentGroups(v *SegmentGroupList) *SegmentResponse {
23760	s.SegmentGroups = v
23761	return s
23762}
23763
23764// SetSegmentType sets the SegmentType field's value.
23765func (s *SegmentResponse) SetSegmentType(v string) *SegmentResponse {
23766	s.SegmentType = &v
23767	return s
23768}
23769
23770// SetTags sets the Tags field's value.
23771func (s *SegmentResponse) SetTags(v map[string]*string) *SegmentResponse {
23772	s.Tags = v
23773	return s
23774}
23775
23776// SetVersion sets the Version field's value.
23777func (s *SegmentResponse) SetVersion(v int64) *SegmentResponse {
23778	s.Version = &v
23779	return s
23780}
23781
23782// Provides information about all the segments that are associated with an application.
23783type SegmentsResponse struct {
23784	_ struct{} `type:"structure"`
23785
23786	// An array of responses, one for each segment that's associated with the application
23787	// (Segments resource) or each version of a segment that's associated with the
23788	// application (Segment Versions resource).
23789	//
23790	// Item is a required field
23791	Item []*SegmentResponse `type:"list" required:"true"`
23792
23793	// The string to use in a subsequent request to get the next page of results
23794	// in a paginated response. This value is null if there are no additional pages.
23795	NextToken *string `type:"string"`
23796}
23797
23798// String returns the string representation
23799func (s SegmentsResponse) String() string {
23800	return awsutil.Prettify(s)
23801}
23802
23803// GoString returns the string representation
23804func (s SegmentsResponse) GoString() string {
23805	return s.String()
23806}
23807
23808// SetItem sets the Item field's value.
23809func (s *SegmentsResponse) SetItem(v []*SegmentResponse) *SegmentsResponse {
23810	s.Item = v
23811	return s
23812}
23813
23814// SetNextToken sets the NextToken field's value.
23815func (s *SegmentsResponse) SetNextToken(v string) *SegmentsResponse {
23816	s.NextToken = &v
23817	return s
23818}
23819
23820type SendMessagesInput struct {
23821	_ struct{} `type:"structure" payload:"MessageRequest"`
23822
23823	// ApplicationId is a required field
23824	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
23825
23826	// Specifies the objects that define configuration and other settings for a
23827	// message.
23828	//
23829	// MessageRequest is a required field
23830	MessageRequest *MessageRequest `type:"structure" required:"true"`
23831}
23832
23833// String returns the string representation
23834func (s SendMessagesInput) String() string {
23835	return awsutil.Prettify(s)
23836}
23837
23838// GoString returns the string representation
23839func (s SendMessagesInput) GoString() string {
23840	return s.String()
23841}
23842
23843// Validate inspects the fields of the type to determine if they are valid.
23844func (s *SendMessagesInput) Validate() error {
23845	invalidParams := request.ErrInvalidParams{Context: "SendMessagesInput"}
23846	if s.ApplicationId == nil {
23847		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
23848	}
23849	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
23850		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
23851	}
23852	if s.MessageRequest == nil {
23853		invalidParams.Add(request.NewErrParamRequired("MessageRequest"))
23854	}
23855	if s.MessageRequest != nil {
23856		if err := s.MessageRequest.Validate(); err != nil {
23857			invalidParams.AddNested("MessageRequest", err.(request.ErrInvalidParams))
23858		}
23859	}
23860
23861	if invalidParams.Len() > 0 {
23862		return invalidParams
23863	}
23864	return nil
23865}
23866
23867// SetApplicationId sets the ApplicationId field's value.
23868func (s *SendMessagesInput) SetApplicationId(v string) *SendMessagesInput {
23869	s.ApplicationId = &v
23870	return s
23871}
23872
23873// SetMessageRequest sets the MessageRequest field's value.
23874func (s *SendMessagesInput) SetMessageRequest(v *MessageRequest) *SendMessagesInput {
23875	s.MessageRequest = v
23876	return s
23877}
23878
23879type SendMessagesOutput struct {
23880	_ struct{} `type:"structure" payload:"MessageResponse"`
23881
23882	// Provides information about the results of a request to send a message to
23883	// an endpoint address.
23884	//
23885	// MessageResponse is a required field
23886	MessageResponse *MessageResponse `type:"structure" required:"true"`
23887}
23888
23889// String returns the string representation
23890func (s SendMessagesOutput) String() string {
23891	return awsutil.Prettify(s)
23892}
23893
23894// GoString returns the string representation
23895func (s SendMessagesOutput) GoString() string {
23896	return s.String()
23897}
23898
23899// SetMessageResponse sets the MessageResponse field's value.
23900func (s *SendMessagesOutput) SetMessageResponse(v *MessageResponse) *SendMessagesOutput {
23901	s.MessageResponse = v
23902	return s
23903}
23904
23905// Specifies the configuration and other settings for a message to send to all
23906// the endpoints that are associated with a list of users.
23907type SendUsersMessageRequest struct {
23908	_ struct{} `type:"structure"`
23909
23910	// A map of custom attribute-value pairs. For a push notification, Amazon Pinpoint
23911	// adds these attributes to the data.pinpoint object in the body of the notification
23912	// payload. Amazon Pinpoint also provides these attributes in the events that
23913	// it generates for users-messages deliveries.
23914	Context map[string]*string `type:"map"`
23915
23916	// The message definitions for the default message and any default messages
23917	// that you defined for specific channels.
23918	//
23919	// MessageConfiguration is a required field
23920	MessageConfiguration *DirectMessageConfiguration `type:"structure" required:"true"`
23921
23922	// The message template to use for the message.
23923	TemplateConfiguration *TemplateConfiguration `type:"structure"`
23924
23925	// The unique identifier for tracing the message. This identifier is visible
23926	// to message recipients.
23927	TraceId *string `type:"string"`
23928
23929	// A map that associates user IDs with EndpointSendConfiguration objects. You
23930	// can use an EndpointSendConfiguration object to tailor the message for a user
23931	// by specifying settings such as content overrides and message variables.
23932	//
23933	// Users is a required field
23934	Users map[string]*EndpointSendConfiguration `type:"map" required:"true"`
23935}
23936
23937// String returns the string representation
23938func (s SendUsersMessageRequest) String() string {
23939	return awsutil.Prettify(s)
23940}
23941
23942// GoString returns the string representation
23943func (s SendUsersMessageRequest) GoString() string {
23944	return s.String()
23945}
23946
23947// Validate inspects the fields of the type to determine if they are valid.
23948func (s *SendUsersMessageRequest) Validate() error {
23949	invalidParams := request.ErrInvalidParams{Context: "SendUsersMessageRequest"}
23950	if s.MessageConfiguration == nil {
23951		invalidParams.Add(request.NewErrParamRequired("MessageConfiguration"))
23952	}
23953	if s.Users == nil {
23954		invalidParams.Add(request.NewErrParamRequired("Users"))
23955	}
23956
23957	if invalidParams.Len() > 0 {
23958		return invalidParams
23959	}
23960	return nil
23961}
23962
23963// SetContext sets the Context field's value.
23964func (s *SendUsersMessageRequest) SetContext(v map[string]*string) *SendUsersMessageRequest {
23965	s.Context = v
23966	return s
23967}
23968
23969// SetMessageConfiguration sets the MessageConfiguration field's value.
23970func (s *SendUsersMessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) *SendUsersMessageRequest {
23971	s.MessageConfiguration = v
23972	return s
23973}
23974
23975// SetTemplateConfiguration sets the TemplateConfiguration field's value.
23976func (s *SendUsersMessageRequest) SetTemplateConfiguration(v *TemplateConfiguration) *SendUsersMessageRequest {
23977	s.TemplateConfiguration = v
23978	return s
23979}
23980
23981// SetTraceId sets the TraceId field's value.
23982func (s *SendUsersMessageRequest) SetTraceId(v string) *SendUsersMessageRequest {
23983	s.TraceId = &v
23984	return s
23985}
23986
23987// SetUsers sets the Users field's value.
23988func (s *SendUsersMessageRequest) SetUsers(v map[string]*EndpointSendConfiguration) *SendUsersMessageRequest {
23989	s.Users = v
23990	return s
23991}
23992
23993// Provides information about which users and endpoints a message was sent to.
23994type SendUsersMessageResponse struct {
23995	_ struct{} `type:"structure"`
23996
23997	// The unique identifier for the application that was used to send the message.
23998	//
23999	// ApplicationId is a required field
24000	ApplicationId *string `type:"string" required:"true"`
24001
24002	// The unique identifier that was assigned to the message request.
24003	RequestId *string `type:"string"`
24004
24005	// An object that indicates which endpoints the message was sent to, for each
24006	// user. The object lists user IDs and, for each user ID, provides the endpoint
24007	// IDs that the message was sent to. For each endpoint ID, it provides an EndpointMessageResult
24008	// object.
24009	Result map[string]map[string]*EndpointMessageResult `type:"map"`
24010}
24011
24012// String returns the string representation
24013func (s SendUsersMessageResponse) String() string {
24014	return awsutil.Prettify(s)
24015}
24016
24017// GoString returns the string representation
24018func (s SendUsersMessageResponse) GoString() string {
24019	return s.String()
24020}
24021
24022// SetApplicationId sets the ApplicationId field's value.
24023func (s *SendUsersMessageResponse) SetApplicationId(v string) *SendUsersMessageResponse {
24024	s.ApplicationId = &v
24025	return s
24026}
24027
24028// SetRequestId sets the RequestId field's value.
24029func (s *SendUsersMessageResponse) SetRequestId(v string) *SendUsersMessageResponse {
24030	s.RequestId = &v
24031	return s
24032}
24033
24034// SetResult sets the Result field's value.
24035func (s *SendUsersMessageResponse) SetResult(v map[string]map[string]*EndpointMessageResult) *SendUsersMessageResponse {
24036	s.Result = v
24037	return s
24038}
24039
24040type SendUsersMessagesInput struct {
24041	_ struct{} `type:"structure" payload:"SendUsersMessageRequest"`
24042
24043	// ApplicationId is a required field
24044	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24045
24046	// Specifies the configuration and other settings for a message to send to all
24047	// the endpoints that are associated with a list of users.
24048	//
24049	// SendUsersMessageRequest is a required field
24050	SendUsersMessageRequest *SendUsersMessageRequest `type:"structure" required:"true"`
24051}
24052
24053// String returns the string representation
24054func (s SendUsersMessagesInput) String() string {
24055	return awsutil.Prettify(s)
24056}
24057
24058// GoString returns the string representation
24059func (s SendUsersMessagesInput) GoString() string {
24060	return s.String()
24061}
24062
24063// Validate inspects the fields of the type to determine if they are valid.
24064func (s *SendUsersMessagesInput) Validate() error {
24065	invalidParams := request.ErrInvalidParams{Context: "SendUsersMessagesInput"}
24066	if s.ApplicationId == nil {
24067		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24068	}
24069	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24070		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24071	}
24072	if s.SendUsersMessageRequest == nil {
24073		invalidParams.Add(request.NewErrParamRequired("SendUsersMessageRequest"))
24074	}
24075	if s.SendUsersMessageRequest != nil {
24076		if err := s.SendUsersMessageRequest.Validate(); err != nil {
24077			invalidParams.AddNested("SendUsersMessageRequest", err.(request.ErrInvalidParams))
24078		}
24079	}
24080
24081	if invalidParams.Len() > 0 {
24082		return invalidParams
24083	}
24084	return nil
24085}
24086
24087// SetApplicationId sets the ApplicationId field's value.
24088func (s *SendUsersMessagesInput) SetApplicationId(v string) *SendUsersMessagesInput {
24089	s.ApplicationId = &v
24090	return s
24091}
24092
24093// SetSendUsersMessageRequest sets the SendUsersMessageRequest field's value.
24094func (s *SendUsersMessagesInput) SetSendUsersMessageRequest(v *SendUsersMessageRequest) *SendUsersMessagesInput {
24095	s.SendUsersMessageRequest = v
24096	return s
24097}
24098
24099type SendUsersMessagesOutput struct {
24100	_ struct{} `type:"structure" payload:"SendUsersMessageResponse"`
24101
24102	// Provides information about which users and endpoints a message was sent to.
24103	//
24104	// SendUsersMessageResponse is a required field
24105	SendUsersMessageResponse *SendUsersMessageResponse `type:"structure" required:"true"`
24106}
24107
24108// String returns the string representation
24109func (s SendUsersMessagesOutput) String() string {
24110	return awsutil.Prettify(s)
24111}
24112
24113// GoString returns the string representation
24114func (s SendUsersMessagesOutput) GoString() string {
24115	return s.String()
24116}
24117
24118// SetSendUsersMessageResponse sets the SendUsersMessageResponse field's value.
24119func (s *SendUsersMessagesOutput) SetSendUsersMessageResponse(v *SendUsersMessageResponse) *SendUsersMessagesOutput {
24120	s.SendUsersMessageResponse = v
24121	return s
24122}
24123
24124// Provides information about a session.
24125type Session struct {
24126	_ struct{} `type:"structure"`
24127
24128	// The duration of the session, in milliseconds.
24129	Duration *int64 `type:"integer"`
24130
24131	// The unique identifier for the session.
24132	//
24133	// Id is a required field
24134	Id *string `type:"string" required:"true"`
24135
24136	// The date and time when the session began.
24137	//
24138	// StartTimestamp is a required field
24139	StartTimestamp *string `type:"string" required:"true"`
24140
24141	// The date and time when the session ended.
24142	StopTimestamp *string `type:"string"`
24143}
24144
24145// String returns the string representation
24146func (s Session) String() string {
24147	return awsutil.Prettify(s)
24148}
24149
24150// GoString returns the string representation
24151func (s Session) GoString() string {
24152	return s.String()
24153}
24154
24155// Validate inspects the fields of the type to determine if they are valid.
24156func (s *Session) Validate() error {
24157	invalidParams := request.ErrInvalidParams{Context: "Session"}
24158	if s.Id == nil {
24159		invalidParams.Add(request.NewErrParamRequired("Id"))
24160	}
24161	if s.StartTimestamp == nil {
24162		invalidParams.Add(request.NewErrParamRequired("StartTimestamp"))
24163	}
24164
24165	if invalidParams.Len() > 0 {
24166		return invalidParams
24167	}
24168	return nil
24169}
24170
24171// SetDuration sets the Duration field's value.
24172func (s *Session) SetDuration(v int64) *Session {
24173	s.Duration = &v
24174	return s
24175}
24176
24177// SetId sets the Id field's value.
24178func (s *Session) SetId(v string) *Session {
24179	s.Id = &v
24180	return s
24181}
24182
24183// SetStartTimestamp sets the StartTimestamp field's value.
24184func (s *Session) SetStartTimestamp(v string) *Session {
24185	s.StartTimestamp = &v
24186	return s
24187}
24188
24189// SetStopTimestamp sets the StopTimestamp field's value.
24190func (s *Session) SetStopTimestamp(v string) *Session {
24191	s.StopTimestamp = &v
24192	return s
24193}
24194
24195// Specifies the dimension type and values for a segment dimension.
24196type SetDimension struct {
24197	_ struct{} `type:"structure"`
24198
24199	// The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints
24200	// that match the criteria are included in the segment; and, EXCLUSIVE, endpoints
24201	// that match the criteria are excluded from the segment.
24202	DimensionType *string `type:"string" enum:"DimensionType"`
24203
24204	// The criteria values to use for the segment dimension. Depending on the value
24205	// of the DimensionType property, endpoints are included or excluded from the
24206	// segment if their values match the criteria values.
24207	//
24208	// Values is a required field
24209	Values []*string `type:"list" required:"true"`
24210}
24211
24212// String returns the string representation
24213func (s SetDimension) String() string {
24214	return awsutil.Prettify(s)
24215}
24216
24217// GoString returns the string representation
24218func (s SetDimension) GoString() string {
24219	return s.String()
24220}
24221
24222// Validate inspects the fields of the type to determine if they are valid.
24223func (s *SetDimension) Validate() error {
24224	invalidParams := request.ErrInvalidParams{Context: "SetDimension"}
24225	if s.Values == nil {
24226		invalidParams.Add(request.NewErrParamRequired("Values"))
24227	}
24228
24229	if invalidParams.Len() > 0 {
24230		return invalidParams
24231	}
24232	return nil
24233}
24234
24235// SetDimensionType sets the DimensionType field's value.
24236func (s *SetDimension) SetDimensionType(v string) *SetDimension {
24237	s.DimensionType = &v
24238	return s
24239}
24240
24241// SetValues sets the Values field's value.
24242func (s *SetDimension) SetValues(v []*string) *SetDimension {
24243	s.Values = v
24244	return s
24245}
24246
24247// Specifies the contents of an email message, composed of a subject, a text
24248// part, and an HTML part.
24249type SimpleEmail struct {
24250	_ struct{} `type:"structure"`
24251
24252	// The body of the email message, in HTML format. We recommend using an HTML
24253	// part for email clients that support HTML. You can include links, formatted
24254	// text, and more in an HTML message.
24255	HtmlPart *SimpleEmailPart `type:"structure"`
24256
24257	// The subject line, or title, of the email.
24258	Subject *SimpleEmailPart `type:"structure"`
24259
24260	// The body of the email message, in text format. We recommend using a text
24261	// part for email clients that don't support HTML and clients that are connected
24262	// to high-latency networks, such as mobile devices.
24263	TextPart *SimpleEmailPart `type:"structure"`
24264}
24265
24266// String returns the string representation
24267func (s SimpleEmail) String() string {
24268	return awsutil.Prettify(s)
24269}
24270
24271// GoString returns the string representation
24272func (s SimpleEmail) GoString() string {
24273	return s.String()
24274}
24275
24276// SetHtmlPart sets the HtmlPart field's value.
24277func (s *SimpleEmail) SetHtmlPart(v *SimpleEmailPart) *SimpleEmail {
24278	s.HtmlPart = v
24279	return s
24280}
24281
24282// SetSubject sets the Subject field's value.
24283func (s *SimpleEmail) SetSubject(v *SimpleEmailPart) *SimpleEmail {
24284	s.Subject = v
24285	return s
24286}
24287
24288// SetTextPart sets the TextPart field's value.
24289func (s *SimpleEmail) SetTextPart(v *SimpleEmailPart) *SimpleEmail {
24290	s.TextPart = v
24291	return s
24292}
24293
24294// Specifies the subject or body of an email message, represented as textual
24295// email data and the applicable character set.
24296type SimpleEmailPart struct {
24297	_ struct{} `type:"structure"`
24298
24299	// The applicable character set for the message content.
24300	Charset *string `type:"string"`
24301
24302	// The textual data of the message content.
24303	Data *string `type:"string"`
24304}
24305
24306// String returns the string representation
24307func (s SimpleEmailPart) String() string {
24308	return awsutil.Prettify(s)
24309}
24310
24311// GoString returns the string representation
24312func (s SimpleEmailPart) GoString() string {
24313	return s.String()
24314}
24315
24316// SetCharset sets the Charset field's value.
24317func (s *SimpleEmailPart) SetCharset(v string) *SimpleEmailPart {
24318	s.Charset = &v
24319	return s
24320}
24321
24322// SetData sets the Data field's value.
24323func (s *SimpleEmailPart) SetData(v string) *SimpleEmailPart {
24324	s.Data = &v
24325	return s
24326}
24327
24328type TagResourceInput struct {
24329	_ struct{} `type:"structure" payload:"TagsModel"`
24330
24331	// ResourceArn is a required field
24332	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
24333
24334	// Specifies the tags (keys and values) for an application, campaign, message
24335	// template, or segment.
24336	//
24337	// TagsModel is a required field
24338	TagsModel *TagsModel `type:"structure" required:"true"`
24339}
24340
24341// String returns the string representation
24342func (s TagResourceInput) String() string {
24343	return awsutil.Prettify(s)
24344}
24345
24346// GoString returns the string representation
24347func (s TagResourceInput) GoString() string {
24348	return s.String()
24349}
24350
24351// Validate inspects the fields of the type to determine if they are valid.
24352func (s *TagResourceInput) Validate() error {
24353	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
24354	if s.ResourceArn == nil {
24355		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
24356	}
24357	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
24358		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
24359	}
24360	if s.TagsModel == nil {
24361		invalidParams.Add(request.NewErrParamRequired("TagsModel"))
24362	}
24363	if s.TagsModel != nil {
24364		if err := s.TagsModel.Validate(); err != nil {
24365			invalidParams.AddNested("TagsModel", err.(request.ErrInvalidParams))
24366		}
24367	}
24368
24369	if invalidParams.Len() > 0 {
24370		return invalidParams
24371	}
24372	return nil
24373}
24374
24375// SetResourceArn sets the ResourceArn field's value.
24376func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
24377	s.ResourceArn = &v
24378	return s
24379}
24380
24381// SetTagsModel sets the TagsModel field's value.
24382func (s *TagResourceInput) SetTagsModel(v *TagsModel) *TagResourceInput {
24383	s.TagsModel = v
24384	return s
24385}
24386
24387type TagResourceOutput struct {
24388	_ struct{} `type:"structure"`
24389}
24390
24391// String returns the string representation
24392func (s TagResourceOutput) String() string {
24393	return awsutil.Prettify(s)
24394}
24395
24396// GoString returns the string representation
24397func (s TagResourceOutput) GoString() string {
24398	return s.String()
24399}
24400
24401// Specifies the tags (keys and values) for an application, campaign, message
24402// template, or segment.
24403type TagsModel struct {
24404	_ struct{} `type:"structure"`
24405
24406	// A string-to-string map of key-value pairs that defines the tags for an application,
24407	// campaign, message template, or segment. Each project, campaign, message template,
24408	// or segment can have a maximum of 50 tags.
24409	//
24410	// Each tag consists of a required tag key and an associated tag value. The
24411	// maximum length of a tag key is 128 characters. The maximum length of a tag
24412	// value is 256 characters.
24413	//
24414	// Tags is a required field
24415	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
24416}
24417
24418// String returns the string representation
24419func (s TagsModel) String() string {
24420	return awsutil.Prettify(s)
24421}
24422
24423// GoString returns the string representation
24424func (s TagsModel) GoString() string {
24425	return s.String()
24426}
24427
24428// Validate inspects the fields of the type to determine if they are valid.
24429func (s *TagsModel) Validate() error {
24430	invalidParams := request.ErrInvalidParams{Context: "TagsModel"}
24431	if s.Tags == nil {
24432		invalidParams.Add(request.NewErrParamRequired("Tags"))
24433	}
24434
24435	if invalidParams.Len() > 0 {
24436		return invalidParams
24437	}
24438	return nil
24439}
24440
24441// SetTags sets the Tags field's value.
24442func (s *TagsModel) SetTags(v map[string]*string) *TagsModel {
24443	s.Tags = v
24444	return s
24445}
24446
24447// Specifies the name of the message template to use for the message.
24448type Template struct {
24449	_ struct{} `type:"structure"`
24450
24451	// The name of the message template to use for the message. If specified, this
24452	// value must match the name of an existing message template.
24453	Name *string `type:"string"`
24454}
24455
24456// String returns the string representation
24457func (s Template) String() string {
24458	return awsutil.Prettify(s)
24459}
24460
24461// GoString returns the string representation
24462func (s Template) GoString() string {
24463	return s.String()
24464}
24465
24466// SetName sets the Name field's value.
24467func (s *Template) SetName(v string) *Template {
24468	s.Name = &v
24469	return s
24470}
24471
24472// Specifies the message template to use for the message, for each type of channel.
24473type TemplateConfiguration struct {
24474	_ struct{} `type:"structure"`
24475
24476	// The email template to use for the message.
24477	EmailTemplate *Template `type:"structure"`
24478
24479	// The push notification template to use for the message.
24480	PushTemplate *Template `type:"structure"`
24481
24482	// The SMS template to use for the message.
24483	SMSTemplate *Template `type:"structure"`
24484}
24485
24486// String returns the string representation
24487func (s TemplateConfiguration) String() string {
24488	return awsutil.Prettify(s)
24489}
24490
24491// GoString returns the string representation
24492func (s TemplateConfiguration) GoString() string {
24493	return s.String()
24494}
24495
24496// SetEmailTemplate sets the EmailTemplate field's value.
24497func (s *TemplateConfiguration) SetEmailTemplate(v *Template) *TemplateConfiguration {
24498	s.EmailTemplate = v
24499	return s
24500}
24501
24502// SetPushTemplate sets the PushTemplate field's value.
24503func (s *TemplateConfiguration) SetPushTemplate(v *Template) *TemplateConfiguration {
24504	s.PushTemplate = v
24505	return s
24506}
24507
24508// SetSMSTemplate sets the SMSTemplate field's value.
24509func (s *TemplateConfiguration) SetSMSTemplate(v *Template) *TemplateConfiguration {
24510	s.SMSTemplate = v
24511	return s
24512}
24513
24514// Provides information about a message template that's associated with your
24515// Amazon Pinpoint account.
24516type TemplateResponse struct {
24517	_ struct{} `type:"structure"`
24518
24519	// The Amazon Resource Name (ARN) of the message template.
24520	Arn *string `type:"string"`
24521
24522	// The date when the message template was created.
24523	//
24524	// CreationDate is a required field
24525	CreationDate *string `type:"string" required:"true"`
24526
24527	// The date when the message template was last modified.
24528	//
24529	// LastModifiedDate is a required field
24530	LastModifiedDate *string `type:"string" required:"true"`
24531
24532	// A string-to-string map of key-value pairs that identifies the tags that are
24533	// associated with the message template. Each tag consists of a required tag
24534	// key and an associated tag value.
24535	Tags map[string]*string `locationName:"tags" type:"map"`
24536
24537	// The name of the message template.
24538	//
24539	// TemplateName is a required field
24540	TemplateName *string `type:"string" required:"true"`
24541
24542	// The type of channel that the message template is designed for.
24543	//
24544	// TemplateType is a required field
24545	TemplateType *string `type:"string" required:"true" enum:"TemplateType"`
24546}
24547
24548// String returns the string representation
24549func (s TemplateResponse) String() string {
24550	return awsutil.Prettify(s)
24551}
24552
24553// GoString returns the string representation
24554func (s TemplateResponse) GoString() string {
24555	return s.String()
24556}
24557
24558// SetArn sets the Arn field's value.
24559func (s *TemplateResponse) SetArn(v string) *TemplateResponse {
24560	s.Arn = &v
24561	return s
24562}
24563
24564// SetCreationDate sets the CreationDate field's value.
24565func (s *TemplateResponse) SetCreationDate(v string) *TemplateResponse {
24566	s.CreationDate = &v
24567	return s
24568}
24569
24570// SetLastModifiedDate sets the LastModifiedDate field's value.
24571func (s *TemplateResponse) SetLastModifiedDate(v string) *TemplateResponse {
24572	s.LastModifiedDate = &v
24573	return s
24574}
24575
24576// SetTags sets the Tags field's value.
24577func (s *TemplateResponse) SetTags(v map[string]*string) *TemplateResponse {
24578	s.Tags = v
24579	return s
24580}
24581
24582// SetTemplateName sets the TemplateName field's value.
24583func (s *TemplateResponse) SetTemplateName(v string) *TemplateResponse {
24584	s.TemplateName = &v
24585	return s
24586}
24587
24588// SetTemplateType sets the TemplateType field's value.
24589func (s *TemplateResponse) SetTemplateType(v string) *TemplateResponse {
24590	s.TemplateType = &v
24591	return s
24592}
24593
24594// Provides information about all the message templates that are associated
24595// with your Amazon Pinpoint account.
24596type TemplatesResponse struct {
24597	_ struct{} `type:"structure"`
24598
24599	// An array of responses, one for each message template that's associated with
24600	// your Amazon Pinpoint account and meets any filter criteria that you specified
24601	// in the request.
24602	//
24603	// Item is a required field
24604	Item []*TemplateResponse `type:"list" required:"true"`
24605
24606	// The string to use in a subsequent request to get the next page of results
24607	// in a paginated response. This value is null if there are no additional pages.
24608	NextToken *string `type:"string"`
24609}
24610
24611// String returns the string representation
24612func (s TemplatesResponse) String() string {
24613	return awsutil.Prettify(s)
24614}
24615
24616// GoString returns the string representation
24617func (s TemplatesResponse) GoString() string {
24618	return s.String()
24619}
24620
24621// SetItem sets the Item field's value.
24622func (s *TemplatesResponse) SetItem(v []*TemplateResponse) *TemplatesResponse {
24623	s.Item = v
24624	return s
24625}
24626
24627// SetNextToken sets the NextToken field's value.
24628func (s *TemplatesResponse) SetNextToken(v string) *TemplatesResponse {
24629	s.NextToken = &v
24630	return s
24631}
24632
24633// Specifies the settings for a campaign treatment. A treatment is a variation
24634// of a campaign that's used for A/B testing of a campaign.
24635type TreatmentResource struct {
24636	_ struct{} `type:"structure"`
24637
24638	// The unique identifier for the treatment.
24639	//
24640	// Id is a required field
24641	Id *string `type:"string" required:"true"`
24642
24643	// The message configuration settings for the treatment.
24644	MessageConfiguration *MessageConfiguration `type:"structure"`
24645
24646	// The schedule settings for the treatment.
24647	Schedule *Schedule `type:"structure"`
24648
24649	// The allocated percentage of users (segment members) that the treatment is
24650	// sent to.
24651	//
24652	// SizePercent is a required field
24653	SizePercent *int64 `type:"integer" required:"true"`
24654
24655	// The status of the treatment.
24656	State *CampaignState `type:"structure"`
24657
24658	// The message template that’s used for the treatment.
24659	TemplateConfiguration *TemplateConfiguration `type:"structure"`
24660
24661	// The custom description of the treatment.
24662	TreatmentDescription *string `type:"string"`
24663
24664	// The custom name of the treatment. A treatment is a variation of a campaign
24665	// that's used for A/B testing of a campaign.
24666	TreatmentName *string `type:"string"`
24667}
24668
24669// String returns the string representation
24670func (s TreatmentResource) String() string {
24671	return awsutil.Prettify(s)
24672}
24673
24674// GoString returns the string representation
24675func (s TreatmentResource) GoString() string {
24676	return s.String()
24677}
24678
24679// SetId sets the Id field's value.
24680func (s *TreatmentResource) SetId(v string) *TreatmentResource {
24681	s.Id = &v
24682	return s
24683}
24684
24685// SetMessageConfiguration sets the MessageConfiguration field's value.
24686func (s *TreatmentResource) SetMessageConfiguration(v *MessageConfiguration) *TreatmentResource {
24687	s.MessageConfiguration = v
24688	return s
24689}
24690
24691// SetSchedule sets the Schedule field's value.
24692func (s *TreatmentResource) SetSchedule(v *Schedule) *TreatmentResource {
24693	s.Schedule = v
24694	return s
24695}
24696
24697// SetSizePercent sets the SizePercent field's value.
24698func (s *TreatmentResource) SetSizePercent(v int64) *TreatmentResource {
24699	s.SizePercent = &v
24700	return s
24701}
24702
24703// SetState sets the State field's value.
24704func (s *TreatmentResource) SetState(v *CampaignState) *TreatmentResource {
24705	s.State = v
24706	return s
24707}
24708
24709// SetTemplateConfiguration sets the TemplateConfiguration field's value.
24710func (s *TreatmentResource) SetTemplateConfiguration(v *TemplateConfiguration) *TreatmentResource {
24711	s.TemplateConfiguration = v
24712	return s
24713}
24714
24715// SetTreatmentDescription sets the TreatmentDescription field's value.
24716func (s *TreatmentResource) SetTreatmentDescription(v string) *TreatmentResource {
24717	s.TreatmentDescription = &v
24718	return s
24719}
24720
24721// SetTreatmentName sets the TreatmentName field's value.
24722func (s *TreatmentResource) SetTreatmentName(v string) *TreatmentResource {
24723	s.TreatmentName = &v
24724	return s
24725}
24726
24727type UntagResourceInput struct {
24728	_ struct{} `type:"structure"`
24729
24730	// ResourceArn is a required field
24731	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
24732
24733	// TagKeys is a required field
24734	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
24735}
24736
24737// String returns the string representation
24738func (s UntagResourceInput) String() string {
24739	return awsutil.Prettify(s)
24740}
24741
24742// GoString returns the string representation
24743func (s UntagResourceInput) GoString() string {
24744	return s.String()
24745}
24746
24747// Validate inspects the fields of the type to determine if they are valid.
24748func (s *UntagResourceInput) Validate() error {
24749	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
24750	if s.ResourceArn == nil {
24751		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
24752	}
24753	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
24754		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
24755	}
24756	if s.TagKeys == nil {
24757		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
24758	}
24759
24760	if invalidParams.Len() > 0 {
24761		return invalidParams
24762	}
24763	return nil
24764}
24765
24766// SetResourceArn sets the ResourceArn field's value.
24767func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
24768	s.ResourceArn = &v
24769	return s
24770}
24771
24772// SetTagKeys sets the TagKeys field's value.
24773func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
24774	s.TagKeys = v
24775	return s
24776}
24777
24778type UntagResourceOutput struct {
24779	_ struct{} `type:"structure"`
24780}
24781
24782// String returns the string representation
24783func (s UntagResourceOutput) String() string {
24784	return awsutil.Prettify(s)
24785}
24786
24787// GoString returns the string representation
24788func (s UntagResourceOutput) GoString() string {
24789	return s.String()
24790}
24791
24792type UpdateAdmChannelInput struct {
24793	_ struct{} `type:"structure" payload:"ADMChannelRequest"`
24794
24795	// Specifies the status and settings of the ADM (Amazon Device Messaging) channel
24796	// for an application.
24797	//
24798	// ADMChannelRequest is a required field
24799	ADMChannelRequest *ADMChannelRequest `type:"structure" required:"true"`
24800
24801	// ApplicationId is a required field
24802	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24803}
24804
24805// String returns the string representation
24806func (s UpdateAdmChannelInput) String() string {
24807	return awsutil.Prettify(s)
24808}
24809
24810// GoString returns the string representation
24811func (s UpdateAdmChannelInput) GoString() string {
24812	return s.String()
24813}
24814
24815// Validate inspects the fields of the type to determine if they are valid.
24816func (s *UpdateAdmChannelInput) Validate() error {
24817	invalidParams := request.ErrInvalidParams{Context: "UpdateAdmChannelInput"}
24818	if s.ADMChannelRequest == nil {
24819		invalidParams.Add(request.NewErrParamRequired("ADMChannelRequest"))
24820	}
24821	if s.ApplicationId == nil {
24822		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24823	}
24824	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24825		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24826	}
24827	if s.ADMChannelRequest != nil {
24828		if err := s.ADMChannelRequest.Validate(); err != nil {
24829			invalidParams.AddNested("ADMChannelRequest", err.(request.ErrInvalidParams))
24830		}
24831	}
24832
24833	if invalidParams.Len() > 0 {
24834		return invalidParams
24835	}
24836	return nil
24837}
24838
24839// SetADMChannelRequest sets the ADMChannelRequest field's value.
24840func (s *UpdateAdmChannelInput) SetADMChannelRequest(v *ADMChannelRequest) *UpdateAdmChannelInput {
24841	s.ADMChannelRequest = v
24842	return s
24843}
24844
24845// SetApplicationId sets the ApplicationId field's value.
24846func (s *UpdateAdmChannelInput) SetApplicationId(v string) *UpdateAdmChannelInput {
24847	s.ApplicationId = &v
24848	return s
24849}
24850
24851type UpdateAdmChannelOutput struct {
24852	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
24853
24854	// Provides information about the status and settings of the ADM (Amazon Device
24855	// Messaging) channel for an application.
24856	//
24857	// ADMChannelResponse is a required field
24858	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
24859}
24860
24861// String returns the string representation
24862func (s UpdateAdmChannelOutput) String() string {
24863	return awsutil.Prettify(s)
24864}
24865
24866// GoString returns the string representation
24867func (s UpdateAdmChannelOutput) GoString() string {
24868	return s.String()
24869}
24870
24871// SetADMChannelResponse sets the ADMChannelResponse field's value.
24872func (s *UpdateAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *UpdateAdmChannelOutput {
24873	s.ADMChannelResponse = v
24874	return s
24875}
24876
24877type UpdateApnsChannelInput struct {
24878	_ struct{} `type:"structure" payload:"APNSChannelRequest"`
24879
24880	// Specifies the status and settings of the APNs (Apple Push Notification service)
24881	// channel for an application.
24882	//
24883	// APNSChannelRequest is a required field
24884	APNSChannelRequest *APNSChannelRequest `type:"structure" required:"true"`
24885
24886	// ApplicationId is a required field
24887	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24888}
24889
24890// String returns the string representation
24891func (s UpdateApnsChannelInput) String() string {
24892	return awsutil.Prettify(s)
24893}
24894
24895// GoString returns the string representation
24896func (s UpdateApnsChannelInput) GoString() string {
24897	return s.String()
24898}
24899
24900// Validate inspects the fields of the type to determine if they are valid.
24901func (s *UpdateApnsChannelInput) Validate() error {
24902	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsChannelInput"}
24903	if s.APNSChannelRequest == nil {
24904		invalidParams.Add(request.NewErrParamRequired("APNSChannelRequest"))
24905	}
24906	if s.ApplicationId == nil {
24907		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24908	}
24909	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24910		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24911	}
24912
24913	if invalidParams.Len() > 0 {
24914		return invalidParams
24915	}
24916	return nil
24917}
24918
24919// SetAPNSChannelRequest sets the APNSChannelRequest field's value.
24920func (s *UpdateApnsChannelInput) SetAPNSChannelRequest(v *APNSChannelRequest) *UpdateApnsChannelInput {
24921	s.APNSChannelRequest = v
24922	return s
24923}
24924
24925// SetApplicationId sets the ApplicationId field's value.
24926func (s *UpdateApnsChannelInput) SetApplicationId(v string) *UpdateApnsChannelInput {
24927	s.ApplicationId = &v
24928	return s
24929}
24930
24931type UpdateApnsChannelOutput struct {
24932	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
24933
24934	// Provides information about the status and settings of the APNs (Apple Push
24935	// Notification service) channel for an application.
24936	//
24937	// APNSChannelResponse is a required field
24938	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
24939}
24940
24941// String returns the string representation
24942func (s UpdateApnsChannelOutput) String() string {
24943	return awsutil.Prettify(s)
24944}
24945
24946// GoString returns the string representation
24947func (s UpdateApnsChannelOutput) GoString() string {
24948	return s.String()
24949}
24950
24951// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
24952func (s *UpdateApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *UpdateApnsChannelOutput {
24953	s.APNSChannelResponse = v
24954	return s
24955}
24956
24957type UpdateApnsSandboxChannelInput struct {
24958	_ struct{} `type:"structure" payload:"APNSSandboxChannelRequest"`
24959
24960	// Specifies the status and settings of the APNs (Apple Push Notification service)
24961	// sandbox channel for an application.
24962	//
24963	// APNSSandboxChannelRequest is a required field
24964	APNSSandboxChannelRequest *APNSSandboxChannelRequest `type:"structure" required:"true"`
24965
24966	// ApplicationId is a required field
24967	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
24968}
24969
24970// String returns the string representation
24971func (s UpdateApnsSandboxChannelInput) String() string {
24972	return awsutil.Prettify(s)
24973}
24974
24975// GoString returns the string representation
24976func (s UpdateApnsSandboxChannelInput) GoString() string {
24977	return s.String()
24978}
24979
24980// Validate inspects the fields of the type to determine if they are valid.
24981func (s *UpdateApnsSandboxChannelInput) Validate() error {
24982	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsSandboxChannelInput"}
24983	if s.APNSSandboxChannelRequest == nil {
24984		invalidParams.Add(request.NewErrParamRequired("APNSSandboxChannelRequest"))
24985	}
24986	if s.ApplicationId == nil {
24987		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
24988	}
24989	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
24990		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
24991	}
24992
24993	if invalidParams.Len() > 0 {
24994		return invalidParams
24995	}
24996	return nil
24997}
24998
24999// SetAPNSSandboxChannelRequest sets the APNSSandboxChannelRequest field's value.
25000func (s *UpdateApnsSandboxChannelInput) SetAPNSSandboxChannelRequest(v *APNSSandboxChannelRequest) *UpdateApnsSandboxChannelInput {
25001	s.APNSSandboxChannelRequest = v
25002	return s
25003}
25004
25005// SetApplicationId sets the ApplicationId field's value.
25006func (s *UpdateApnsSandboxChannelInput) SetApplicationId(v string) *UpdateApnsSandboxChannelInput {
25007	s.ApplicationId = &v
25008	return s
25009}
25010
25011type UpdateApnsSandboxChannelOutput struct {
25012	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
25013
25014	// Provides information about the status and settings of the APNs (Apple Push
25015	// Notification service) sandbox channel for an application.
25016	//
25017	// APNSSandboxChannelResponse is a required field
25018	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
25019}
25020
25021// String returns the string representation
25022func (s UpdateApnsSandboxChannelOutput) String() string {
25023	return awsutil.Prettify(s)
25024}
25025
25026// GoString returns the string representation
25027func (s UpdateApnsSandboxChannelOutput) GoString() string {
25028	return s.String()
25029}
25030
25031// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
25032func (s *UpdateApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *UpdateApnsSandboxChannelOutput {
25033	s.APNSSandboxChannelResponse = v
25034	return s
25035}
25036
25037type UpdateApnsVoipChannelInput struct {
25038	_ struct{} `type:"structure" payload:"APNSVoipChannelRequest"`
25039
25040	// Specifies the status and settings of the APNs (Apple Push Notification service)
25041	// VoIP channel for an application.
25042	//
25043	// APNSVoipChannelRequest is a required field
25044	APNSVoipChannelRequest *APNSVoipChannelRequest `type:"structure" required:"true"`
25045
25046	// ApplicationId is a required field
25047	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25048}
25049
25050// String returns the string representation
25051func (s UpdateApnsVoipChannelInput) String() string {
25052	return awsutil.Prettify(s)
25053}
25054
25055// GoString returns the string representation
25056func (s UpdateApnsVoipChannelInput) GoString() string {
25057	return s.String()
25058}
25059
25060// Validate inspects the fields of the type to determine if they are valid.
25061func (s *UpdateApnsVoipChannelInput) Validate() error {
25062	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsVoipChannelInput"}
25063	if s.APNSVoipChannelRequest == nil {
25064		invalidParams.Add(request.NewErrParamRequired("APNSVoipChannelRequest"))
25065	}
25066	if s.ApplicationId == nil {
25067		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25068	}
25069	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25070		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25071	}
25072
25073	if invalidParams.Len() > 0 {
25074		return invalidParams
25075	}
25076	return nil
25077}
25078
25079// SetAPNSVoipChannelRequest sets the APNSVoipChannelRequest field's value.
25080func (s *UpdateApnsVoipChannelInput) SetAPNSVoipChannelRequest(v *APNSVoipChannelRequest) *UpdateApnsVoipChannelInput {
25081	s.APNSVoipChannelRequest = v
25082	return s
25083}
25084
25085// SetApplicationId sets the ApplicationId field's value.
25086func (s *UpdateApnsVoipChannelInput) SetApplicationId(v string) *UpdateApnsVoipChannelInput {
25087	s.ApplicationId = &v
25088	return s
25089}
25090
25091type UpdateApnsVoipChannelOutput struct {
25092	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
25093
25094	// Provides information about the status and settings of the APNs (Apple Push
25095	// Notification service) VoIP channel for an application.
25096	//
25097	// APNSVoipChannelResponse is a required field
25098	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
25099}
25100
25101// String returns the string representation
25102func (s UpdateApnsVoipChannelOutput) String() string {
25103	return awsutil.Prettify(s)
25104}
25105
25106// GoString returns the string representation
25107func (s UpdateApnsVoipChannelOutput) GoString() string {
25108	return s.String()
25109}
25110
25111// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
25112func (s *UpdateApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *UpdateApnsVoipChannelOutput {
25113	s.APNSVoipChannelResponse = v
25114	return s
25115}
25116
25117type UpdateApnsVoipSandboxChannelInput struct {
25118	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelRequest"`
25119
25120	// Specifies the status and settings of the APNs (Apple Push Notification service)
25121	// VoIP sandbox channel for an application.
25122	//
25123	// APNSVoipSandboxChannelRequest is a required field
25124	APNSVoipSandboxChannelRequest *APNSVoipSandboxChannelRequest `type:"structure" required:"true"`
25125
25126	// ApplicationId is a required field
25127	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25128}
25129
25130// String returns the string representation
25131func (s UpdateApnsVoipSandboxChannelInput) String() string {
25132	return awsutil.Prettify(s)
25133}
25134
25135// GoString returns the string representation
25136func (s UpdateApnsVoipSandboxChannelInput) GoString() string {
25137	return s.String()
25138}
25139
25140// Validate inspects the fields of the type to determine if they are valid.
25141func (s *UpdateApnsVoipSandboxChannelInput) Validate() error {
25142	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsVoipSandboxChannelInput"}
25143	if s.APNSVoipSandboxChannelRequest == nil {
25144		invalidParams.Add(request.NewErrParamRequired("APNSVoipSandboxChannelRequest"))
25145	}
25146	if s.ApplicationId == nil {
25147		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25148	}
25149	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25150		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25151	}
25152
25153	if invalidParams.Len() > 0 {
25154		return invalidParams
25155	}
25156	return nil
25157}
25158
25159// SetAPNSVoipSandboxChannelRequest sets the APNSVoipSandboxChannelRequest field's value.
25160func (s *UpdateApnsVoipSandboxChannelInput) SetAPNSVoipSandboxChannelRequest(v *APNSVoipSandboxChannelRequest) *UpdateApnsVoipSandboxChannelInput {
25161	s.APNSVoipSandboxChannelRequest = v
25162	return s
25163}
25164
25165// SetApplicationId sets the ApplicationId field's value.
25166func (s *UpdateApnsVoipSandboxChannelInput) SetApplicationId(v string) *UpdateApnsVoipSandboxChannelInput {
25167	s.ApplicationId = &v
25168	return s
25169}
25170
25171type UpdateApnsVoipSandboxChannelOutput struct {
25172	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
25173
25174	// Provides information about the status and settings of the APNs (Apple Push
25175	// Notification service) VoIP sandbox channel for an application.
25176	//
25177	// APNSVoipSandboxChannelResponse is a required field
25178	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
25179}
25180
25181// String returns the string representation
25182func (s UpdateApnsVoipSandboxChannelOutput) String() string {
25183	return awsutil.Prettify(s)
25184}
25185
25186// GoString returns the string representation
25187func (s UpdateApnsVoipSandboxChannelOutput) GoString() string {
25188	return s.String()
25189}
25190
25191// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
25192func (s *UpdateApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *UpdateApnsVoipSandboxChannelOutput {
25193	s.APNSVoipSandboxChannelResponse = v
25194	return s
25195}
25196
25197type UpdateApplicationSettingsInput struct {
25198	_ struct{} `type:"structure" payload:"WriteApplicationSettingsRequest"`
25199
25200	// ApplicationId is a required field
25201	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25202
25203	// Specifies the default settings for an application.
25204	//
25205	// WriteApplicationSettingsRequest is a required field
25206	WriteApplicationSettingsRequest *WriteApplicationSettingsRequest `type:"structure" required:"true"`
25207}
25208
25209// String returns the string representation
25210func (s UpdateApplicationSettingsInput) String() string {
25211	return awsutil.Prettify(s)
25212}
25213
25214// GoString returns the string representation
25215func (s UpdateApplicationSettingsInput) GoString() string {
25216	return s.String()
25217}
25218
25219// Validate inspects the fields of the type to determine if they are valid.
25220func (s *UpdateApplicationSettingsInput) Validate() error {
25221	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationSettingsInput"}
25222	if s.ApplicationId == nil {
25223		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25224	}
25225	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25226		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25227	}
25228	if s.WriteApplicationSettingsRequest == nil {
25229		invalidParams.Add(request.NewErrParamRequired("WriteApplicationSettingsRequest"))
25230	}
25231
25232	if invalidParams.Len() > 0 {
25233		return invalidParams
25234	}
25235	return nil
25236}
25237
25238// SetApplicationId sets the ApplicationId field's value.
25239func (s *UpdateApplicationSettingsInput) SetApplicationId(v string) *UpdateApplicationSettingsInput {
25240	s.ApplicationId = &v
25241	return s
25242}
25243
25244// SetWriteApplicationSettingsRequest sets the WriteApplicationSettingsRequest field's value.
25245func (s *UpdateApplicationSettingsInput) SetWriteApplicationSettingsRequest(v *WriteApplicationSettingsRequest) *UpdateApplicationSettingsInput {
25246	s.WriteApplicationSettingsRequest = v
25247	return s
25248}
25249
25250type UpdateApplicationSettingsOutput struct {
25251	_ struct{} `type:"structure" payload:"ApplicationSettingsResource"`
25252
25253	// Provides information about an application, including the default settings
25254	// for an application.
25255	//
25256	// ApplicationSettingsResource is a required field
25257	ApplicationSettingsResource *ApplicationSettingsResource `type:"structure" required:"true"`
25258}
25259
25260// String returns the string representation
25261func (s UpdateApplicationSettingsOutput) String() string {
25262	return awsutil.Prettify(s)
25263}
25264
25265// GoString returns the string representation
25266func (s UpdateApplicationSettingsOutput) GoString() string {
25267	return s.String()
25268}
25269
25270// SetApplicationSettingsResource sets the ApplicationSettingsResource field's value.
25271func (s *UpdateApplicationSettingsOutput) SetApplicationSettingsResource(v *ApplicationSettingsResource) *UpdateApplicationSettingsOutput {
25272	s.ApplicationSettingsResource = v
25273	return s
25274}
25275
25276// Specifies one or more attributes to remove from all the endpoints that are
25277// associated with an application.
25278type UpdateAttributesRequest struct {
25279	_ struct{} `type:"structure"`
25280
25281	// An array of the attributes to remove from all the endpoints that are associated
25282	// with the application. The array can specify the complete, exact name of each
25283	// attribute to remove or it can specify a glob pattern that an attribute name
25284	// must match in order for the attribute to be removed.
25285	Blacklist []*string `type:"list"`
25286}
25287
25288// String returns the string representation
25289func (s UpdateAttributesRequest) String() string {
25290	return awsutil.Prettify(s)
25291}
25292
25293// GoString returns the string representation
25294func (s UpdateAttributesRequest) GoString() string {
25295	return s.String()
25296}
25297
25298// SetBlacklist sets the Blacklist field's value.
25299func (s *UpdateAttributesRequest) SetBlacklist(v []*string) *UpdateAttributesRequest {
25300	s.Blacklist = v
25301	return s
25302}
25303
25304type UpdateBaiduChannelInput struct {
25305	_ struct{} `type:"structure" payload:"BaiduChannelRequest"`
25306
25307	// ApplicationId is a required field
25308	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25309
25310	// Specifies the status and settings of the Baidu (Baidu Cloud Push) channel
25311	// for an application.
25312	//
25313	// BaiduChannelRequest is a required field
25314	BaiduChannelRequest *BaiduChannelRequest `type:"structure" required:"true"`
25315}
25316
25317// String returns the string representation
25318func (s UpdateBaiduChannelInput) String() string {
25319	return awsutil.Prettify(s)
25320}
25321
25322// GoString returns the string representation
25323func (s UpdateBaiduChannelInput) GoString() string {
25324	return s.String()
25325}
25326
25327// Validate inspects the fields of the type to determine if they are valid.
25328func (s *UpdateBaiduChannelInput) Validate() error {
25329	invalidParams := request.ErrInvalidParams{Context: "UpdateBaiduChannelInput"}
25330	if s.ApplicationId == nil {
25331		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25332	}
25333	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25334		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25335	}
25336	if s.BaiduChannelRequest == nil {
25337		invalidParams.Add(request.NewErrParamRequired("BaiduChannelRequest"))
25338	}
25339	if s.BaiduChannelRequest != nil {
25340		if err := s.BaiduChannelRequest.Validate(); err != nil {
25341			invalidParams.AddNested("BaiduChannelRequest", err.(request.ErrInvalidParams))
25342		}
25343	}
25344
25345	if invalidParams.Len() > 0 {
25346		return invalidParams
25347	}
25348	return nil
25349}
25350
25351// SetApplicationId sets the ApplicationId field's value.
25352func (s *UpdateBaiduChannelInput) SetApplicationId(v string) *UpdateBaiduChannelInput {
25353	s.ApplicationId = &v
25354	return s
25355}
25356
25357// SetBaiduChannelRequest sets the BaiduChannelRequest field's value.
25358func (s *UpdateBaiduChannelInput) SetBaiduChannelRequest(v *BaiduChannelRequest) *UpdateBaiduChannelInput {
25359	s.BaiduChannelRequest = v
25360	return s
25361}
25362
25363type UpdateBaiduChannelOutput struct {
25364	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
25365
25366	// Provides information about the status and settings of the Baidu (Baidu Cloud
25367	// Push) channel for an application.
25368	//
25369	// BaiduChannelResponse is a required field
25370	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
25371}
25372
25373// String returns the string representation
25374func (s UpdateBaiduChannelOutput) String() string {
25375	return awsutil.Prettify(s)
25376}
25377
25378// GoString returns the string representation
25379func (s UpdateBaiduChannelOutput) GoString() string {
25380	return s.String()
25381}
25382
25383// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
25384func (s *UpdateBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *UpdateBaiduChannelOutput {
25385	s.BaiduChannelResponse = v
25386	return s
25387}
25388
25389type UpdateCampaignInput struct {
25390	_ struct{} `type:"structure" payload:"WriteCampaignRequest"`
25391
25392	// ApplicationId is a required field
25393	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25394
25395	// CampaignId is a required field
25396	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
25397
25398	// Specifies the configuration and other settings for a campaign.
25399	//
25400	// WriteCampaignRequest is a required field
25401	WriteCampaignRequest *WriteCampaignRequest `type:"structure" required:"true"`
25402}
25403
25404// String returns the string representation
25405func (s UpdateCampaignInput) String() string {
25406	return awsutil.Prettify(s)
25407}
25408
25409// GoString returns the string representation
25410func (s UpdateCampaignInput) GoString() string {
25411	return s.String()
25412}
25413
25414// Validate inspects the fields of the type to determine if they are valid.
25415func (s *UpdateCampaignInput) Validate() error {
25416	invalidParams := request.ErrInvalidParams{Context: "UpdateCampaignInput"}
25417	if s.ApplicationId == nil {
25418		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25419	}
25420	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25421		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25422	}
25423	if s.CampaignId == nil {
25424		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
25425	}
25426	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
25427		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
25428	}
25429	if s.WriteCampaignRequest == nil {
25430		invalidParams.Add(request.NewErrParamRequired("WriteCampaignRequest"))
25431	}
25432	if s.WriteCampaignRequest != nil {
25433		if err := s.WriteCampaignRequest.Validate(); err != nil {
25434			invalidParams.AddNested("WriteCampaignRequest", err.(request.ErrInvalidParams))
25435		}
25436	}
25437
25438	if invalidParams.Len() > 0 {
25439		return invalidParams
25440	}
25441	return nil
25442}
25443
25444// SetApplicationId sets the ApplicationId field's value.
25445func (s *UpdateCampaignInput) SetApplicationId(v string) *UpdateCampaignInput {
25446	s.ApplicationId = &v
25447	return s
25448}
25449
25450// SetCampaignId sets the CampaignId field's value.
25451func (s *UpdateCampaignInput) SetCampaignId(v string) *UpdateCampaignInput {
25452	s.CampaignId = &v
25453	return s
25454}
25455
25456// SetWriteCampaignRequest sets the WriteCampaignRequest field's value.
25457func (s *UpdateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) *UpdateCampaignInput {
25458	s.WriteCampaignRequest = v
25459	return s
25460}
25461
25462type UpdateCampaignOutput struct {
25463	_ struct{} `type:"structure" payload:"CampaignResponse"`
25464
25465	// Provides information about the status, configuration, and other settings
25466	// for a campaign.
25467	//
25468	// CampaignResponse is a required field
25469	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
25470}
25471
25472// String returns the string representation
25473func (s UpdateCampaignOutput) String() string {
25474	return awsutil.Prettify(s)
25475}
25476
25477// GoString returns the string representation
25478func (s UpdateCampaignOutput) GoString() string {
25479	return s.String()
25480}
25481
25482// SetCampaignResponse sets the CampaignResponse field's value.
25483func (s *UpdateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *UpdateCampaignOutput {
25484	s.CampaignResponse = v
25485	return s
25486}
25487
25488type UpdateEmailChannelInput struct {
25489	_ struct{} `type:"structure" payload:"EmailChannelRequest"`
25490
25491	// ApplicationId is a required field
25492	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25493
25494	// Specifies the status and settings of the email channel for an application.
25495	//
25496	// EmailChannelRequest is a required field
25497	EmailChannelRequest *EmailChannelRequest `type:"structure" required:"true"`
25498}
25499
25500// String returns the string representation
25501func (s UpdateEmailChannelInput) String() string {
25502	return awsutil.Prettify(s)
25503}
25504
25505// GoString returns the string representation
25506func (s UpdateEmailChannelInput) GoString() string {
25507	return s.String()
25508}
25509
25510// Validate inspects the fields of the type to determine if they are valid.
25511func (s *UpdateEmailChannelInput) Validate() error {
25512	invalidParams := request.ErrInvalidParams{Context: "UpdateEmailChannelInput"}
25513	if s.ApplicationId == nil {
25514		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25515	}
25516	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25517		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25518	}
25519	if s.EmailChannelRequest == nil {
25520		invalidParams.Add(request.NewErrParamRequired("EmailChannelRequest"))
25521	}
25522	if s.EmailChannelRequest != nil {
25523		if err := s.EmailChannelRequest.Validate(); err != nil {
25524			invalidParams.AddNested("EmailChannelRequest", err.(request.ErrInvalidParams))
25525		}
25526	}
25527
25528	if invalidParams.Len() > 0 {
25529		return invalidParams
25530	}
25531	return nil
25532}
25533
25534// SetApplicationId sets the ApplicationId field's value.
25535func (s *UpdateEmailChannelInput) SetApplicationId(v string) *UpdateEmailChannelInput {
25536	s.ApplicationId = &v
25537	return s
25538}
25539
25540// SetEmailChannelRequest sets the EmailChannelRequest field's value.
25541func (s *UpdateEmailChannelInput) SetEmailChannelRequest(v *EmailChannelRequest) *UpdateEmailChannelInput {
25542	s.EmailChannelRequest = v
25543	return s
25544}
25545
25546type UpdateEmailChannelOutput struct {
25547	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
25548
25549	// Provides information about the status and settings of the email channel for
25550	// an application.
25551	//
25552	// EmailChannelResponse is a required field
25553	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
25554}
25555
25556// String returns the string representation
25557func (s UpdateEmailChannelOutput) String() string {
25558	return awsutil.Prettify(s)
25559}
25560
25561// GoString returns the string representation
25562func (s UpdateEmailChannelOutput) GoString() string {
25563	return s.String()
25564}
25565
25566// SetEmailChannelResponse sets the EmailChannelResponse field's value.
25567func (s *UpdateEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *UpdateEmailChannelOutput {
25568	s.EmailChannelResponse = v
25569	return s
25570}
25571
25572type UpdateEmailTemplateInput struct {
25573	_ struct{} `type:"structure" payload:"EmailTemplateRequest"`
25574
25575	// Specifies the content and settings for a message template that can be used
25576	// in messages that are sent through the email channel.
25577	//
25578	// EmailTemplateRequest is a required field
25579	EmailTemplateRequest *EmailTemplateRequest `type:"structure" required:"true"`
25580
25581	// TemplateName is a required field
25582	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
25583}
25584
25585// String returns the string representation
25586func (s UpdateEmailTemplateInput) String() string {
25587	return awsutil.Prettify(s)
25588}
25589
25590// GoString returns the string representation
25591func (s UpdateEmailTemplateInput) GoString() string {
25592	return s.String()
25593}
25594
25595// Validate inspects the fields of the type to determine if they are valid.
25596func (s *UpdateEmailTemplateInput) Validate() error {
25597	invalidParams := request.ErrInvalidParams{Context: "UpdateEmailTemplateInput"}
25598	if s.EmailTemplateRequest == nil {
25599		invalidParams.Add(request.NewErrParamRequired("EmailTemplateRequest"))
25600	}
25601	if s.TemplateName == nil {
25602		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
25603	}
25604	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
25605		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
25606	}
25607
25608	if invalidParams.Len() > 0 {
25609		return invalidParams
25610	}
25611	return nil
25612}
25613
25614// SetEmailTemplateRequest sets the EmailTemplateRequest field's value.
25615func (s *UpdateEmailTemplateInput) SetEmailTemplateRequest(v *EmailTemplateRequest) *UpdateEmailTemplateInput {
25616	s.EmailTemplateRequest = v
25617	return s
25618}
25619
25620// SetTemplateName sets the TemplateName field's value.
25621func (s *UpdateEmailTemplateInput) SetTemplateName(v string) *UpdateEmailTemplateInput {
25622	s.TemplateName = &v
25623	return s
25624}
25625
25626type UpdateEmailTemplateOutput struct {
25627	_ struct{} `type:"structure" payload:"MessageBody"`
25628
25629	// Provides information about an API request or response.
25630	//
25631	// MessageBody is a required field
25632	MessageBody *MessageBody `type:"structure" required:"true"`
25633}
25634
25635// String returns the string representation
25636func (s UpdateEmailTemplateOutput) String() string {
25637	return awsutil.Prettify(s)
25638}
25639
25640// GoString returns the string representation
25641func (s UpdateEmailTemplateOutput) GoString() string {
25642	return s.String()
25643}
25644
25645// SetMessageBody sets the MessageBody field's value.
25646func (s *UpdateEmailTemplateOutput) SetMessageBody(v *MessageBody) *UpdateEmailTemplateOutput {
25647	s.MessageBody = v
25648	return s
25649}
25650
25651type UpdateEndpointInput struct {
25652	_ struct{} `type:"structure" payload:"EndpointRequest"`
25653
25654	// ApplicationId is a required field
25655	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25656
25657	// EndpointId is a required field
25658	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
25659
25660	// Specifies the channel type and other settings for an endpoint.
25661	//
25662	// EndpointRequest is a required field
25663	EndpointRequest *EndpointRequest `type:"structure" required:"true"`
25664}
25665
25666// String returns the string representation
25667func (s UpdateEndpointInput) String() string {
25668	return awsutil.Prettify(s)
25669}
25670
25671// GoString returns the string representation
25672func (s UpdateEndpointInput) GoString() string {
25673	return s.String()
25674}
25675
25676// Validate inspects the fields of the type to determine if they are valid.
25677func (s *UpdateEndpointInput) Validate() error {
25678	invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointInput"}
25679	if s.ApplicationId == nil {
25680		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25681	}
25682	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25683		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25684	}
25685	if s.EndpointId == nil {
25686		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
25687	}
25688	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
25689		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
25690	}
25691	if s.EndpointRequest == nil {
25692		invalidParams.Add(request.NewErrParamRequired("EndpointRequest"))
25693	}
25694
25695	if invalidParams.Len() > 0 {
25696		return invalidParams
25697	}
25698	return nil
25699}
25700
25701// SetApplicationId sets the ApplicationId field's value.
25702func (s *UpdateEndpointInput) SetApplicationId(v string) *UpdateEndpointInput {
25703	s.ApplicationId = &v
25704	return s
25705}
25706
25707// SetEndpointId sets the EndpointId field's value.
25708func (s *UpdateEndpointInput) SetEndpointId(v string) *UpdateEndpointInput {
25709	s.EndpointId = &v
25710	return s
25711}
25712
25713// SetEndpointRequest sets the EndpointRequest field's value.
25714func (s *UpdateEndpointInput) SetEndpointRequest(v *EndpointRequest) *UpdateEndpointInput {
25715	s.EndpointRequest = v
25716	return s
25717}
25718
25719type UpdateEndpointOutput struct {
25720	_ struct{} `type:"structure" payload:"MessageBody"`
25721
25722	// Provides information about an API request or response.
25723	//
25724	// MessageBody is a required field
25725	MessageBody *MessageBody `type:"structure" required:"true"`
25726}
25727
25728// String returns the string representation
25729func (s UpdateEndpointOutput) String() string {
25730	return awsutil.Prettify(s)
25731}
25732
25733// GoString returns the string representation
25734func (s UpdateEndpointOutput) GoString() string {
25735	return s.String()
25736}
25737
25738// SetMessageBody sets the MessageBody field's value.
25739func (s *UpdateEndpointOutput) SetMessageBody(v *MessageBody) *UpdateEndpointOutput {
25740	s.MessageBody = v
25741	return s
25742}
25743
25744type UpdateEndpointsBatchInput struct {
25745	_ struct{} `type:"structure" payload:"EndpointBatchRequest"`
25746
25747	// ApplicationId is a required field
25748	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25749
25750	// Specifies a batch of endpoints to create or update and the settings and attributes
25751	// to set or change for each endpoint.
25752	//
25753	// EndpointBatchRequest is a required field
25754	EndpointBatchRequest *EndpointBatchRequest `type:"structure" required:"true"`
25755}
25756
25757// String returns the string representation
25758func (s UpdateEndpointsBatchInput) String() string {
25759	return awsutil.Prettify(s)
25760}
25761
25762// GoString returns the string representation
25763func (s UpdateEndpointsBatchInput) GoString() string {
25764	return s.String()
25765}
25766
25767// Validate inspects the fields of the type to determine if they are valid.
25768func (s *UpdateEndpointsBatchInput) Validate() error {
25769	invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointsBatchInput"}
25770	if s.ApplicationId == nil {
25771		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25772	}
25773	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25774		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25775	}
25776	if s.EndpointBatchRequest == nil {
25777		invalidParams.Add(request.NewErrParamRequired("EndpointBatchRequest"))
25778	}
25779	if s.EndpointBatchRequest != nil {
25780		if err := s.EndpointBatchRequest.Validate(); err != nil {
25781			invalidParams.AddNested("EndpointBatchRequest", err.(request.ErrInvalidParams))
25782		}
25783	}
25784
25785	if invalidParams.Len() > 0 {
25786		return invalidParams
25787	}
25788	return nil
25789}
25790
25791// SetApplicationId sets the ApplicationId field's value.
25792func (s *UpdateEndpointsBatchInput) SetApplicationId(v string) *UpdateEndpointsBatchInput {
25793	s.ApplicationId = &v
25794	return s
25795}
25796
25797// SetEndpointBatchRequest sets the EndpointBatchRequest field's value.
25798func (s *UpdateEndpointsBatchInput) SetEndpointBatchRequest(v *EndpointBatchRequest) *UpdateEndpointsBatchInput {
25799	s.EndpointBatchRequest = v
25800	return s
25801}
25802
25803type UpdateEndpointsBatchOutput struct {
25804	_ struct{} `type:"structure" payload:"MessageBody"`
25805
25806	// Provides information about an API request or response.
25807	//
25808	// MessageBody is a required field
25809	MessageBody *MessageBody `type:"structure" required:"true"`
25810}
25811
25812// String returns the string representation
25813func (s UpdateEndpointsBatchOutput) String() string {
25814	return awsutil.Prettify(s)
25815}
25816
25817// GoString returns the string representation
25818func (s UpdateEndpointsBatchOutput) GoString() string {
25819	return s.String()
25820}
25821
25822// SetMessageBody sets the MessageBody field's value.
25823func (s *UpdateEndpointsBatchOutput) SetMessageBody(v *MessageBody) *UpdateEndpointsBatchOutput {
25824	s.MessageBody = v
25825	return s
25826}
25827
25828type UpdateGcmChannelInput struct {
25829	_ struct{} `type:"structure" payload:"GCMChannelRequest"`
25830
25831	// ApplicationId is a required field
25832	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
25833
25834	// Specifies the status and settings of the GCM channel for an application.
25835	// This channel enables Amazon Pinpoint to send push notifications through the
25836	// Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.
25837	//
25838	// GCMChannelRequest is a required field
25839	GCMChannelRequest *GCMChannelRequest `type:"structure" required:"true"`
25840}
25841
25842// String returns the string representation
25843func (s UpdateGcmChannelInput) String() string {
25844	return awsutil.Prettify(s)
25845}
25846
25847// GoString returns the string representation
25848func (s UpdateGcmChannelInput) GoString() string {
25849	return s.String()
25850}
25851
25852// Validate inspects the fields of the type to determine if they are valid.
25853func (s *UpdateGcmChannelInput) Validate() error {
25854	invalidParams := request.ErrInvalidParams{Context: "UpdateGcmChannelInput"}
25855	if s.ApplicationId == nil {
25856		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
25857	}
25858	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
25859		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
25860	}
25861	if s.GCMChannelRequest == nil {
25862		invalidParams.Add(request.NewErrParamRequired("GCMChannelRequest"))
25863	}
25864	if s.GCMChannelRequest != nil {
25865		if err := s.GCMChannelRequest.Validate(); err != nil {
25866			invalidParams.AddNested("GCMChannelRequest", err.(request.ErrInvalidParams))
25867		}
25868	}
25869
25870	if invalidParams.Len() > 0 {
25871		return invalidParams
25872	}
25873	return nil
25874}
25875
25876// SetApplicationId sets the ApplicationId field's value.
25877func (s *UpdateGcmChannelInput) SetApplicationId(v string) *UpdateGcmChannelInput {
25878	s.ApplicationId = &v
25879	return s
25880}
25881
25882// SetGCMChannelRequest sets the GCMChannelRequest field's value.
25883func (s *UpdateGcmChannelInput) SetGCMChannelRequest(v *GCMChannelRequest) *UpdateGcmChannelInput {
25884	s.GCMChannelRequest = v
25885	return s
25886}
25887
25888type UpdateGcmChannelOutput struct {
25889	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
25890
25891	// Provides information about the status and settings of the GCM channel for
25892	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
25893	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
25894	// (GCM), service.
25895	//
25896	// GCMChannelResponse is a required field
25897	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
25898}
25899
25900// String returns the string representation
25901func (s UpdateGcmChannelOutput) String() string {
25902	return awsutil.Prettify(s)
25903}
25904
25905// GoString returns the string representation
25906func (s UpdateGcmChannelOutput) GoString() string {
25907	return s.String()
25908}
25909
25910// SetGCMChannelResponse sets the GCMChannelResponse field's value.
25911func (s *UpdateGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *UpdateGcmChannelOutput {
25912	s.GCMChannelResponse = v
25913	return s
25914}
25915
25916type UpdatePushTemplateInput struct {
25917	_ struct{} `type:"structure" payload:"PushNotificationTemplateRequest"`
25918
25919	// Specifies the content and settings for a message template that can be used
25920	// in messages that are sent through a push notification channel.
25921	//
25922	// PushNotificationTemplateRequest is a required field
25923	PushNotificationTemplateRequest *PushNotificationTemplateRequest `type:"structure" required:"true"`
25924
25925	// TemplateName is a required field
25926	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
25927}
25928
25929// String returns the string representation
25930func (s UpdatePushTemplateInput) String() string {
25931	return awsutil.Prettify(s)
25932}
25933
25934// GoString returns the string representation
25935func (s UpdatePushTemplateInput) GoString() string {
25936	return s.String()
25937}
25938
25939// Validate inspects the fields of the type to determine if they are valid.
25940func (s *UpdatePushTemplateInput) Validate() error {
25941	invalidParams := request.ErrInvalidParams{Context: "UpdatePushTemplateInput"}
25942	if s.PushNotificationTemplateRequest == nil {
25943		invalidParams.Add(request.NewErrParamRequired("PushNotificationTemplateRequest"))
25944	}
25945	if s.TemplateName == nil {
25946		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
25947	}
25948	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
25949		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
25950	}
25951
25952	if invalidParams.Len() > 0 {
25953		return invalidParams
25954	}
25955	return nil
25956}
25957
25958// SetPushNotificationTemplateRequest sets the PushNotificationTemplateRequest field's value.
25959func (s *UpdatePushTemplateInput) SetPushNotificationTemplateRequest(v *PushNotificationTemplateRequest) *UpdatePushTemplateInput {
25960	s.PushNotificationTemplateRequest = v
25961	return s
25962}
25963
25964// SetTemplateName sets the TemplateName field's value.
25965func (s *UpdatePushTemplateInput) SetTemplateName(v string) *UpdatePushTemplateInput {
25966	s.TemplateName = &v
25967	return s
25968}
25969
25970type UpdatePushTemplateOutput struct {
25971	_ struct{} `type:"structure" payload:"MessageBody"`
25972
25973	// Provides information about an API request or response.
25974	//
25975	// MessageBody is a required field
25976	MessageBody *MessageBody `type:"structure" required:"true"`
25977}
25978
25979// String returns the string representation
25980func (s UpdatePushTemplateOutput) String() string {
25981	return awsutil.Prettify(s)
25982}
25983
25984// GoString returns the string representation
25985func (s UpdatePushTemplateOutput) GoString() string {
25986	return s.String()
25987}
25988
25989// SetMessageBody sets the MessageBody field's value.
25990func (s *UpdatePushTemplateOutput) SetMessageBody(v *MessageBody) *UpdatePushTemplateOutput {
25991	s.MessageBody = v
25992	return s
25993}
25994
25995type UpdateSegmentInput struct {
25996	_ struct{} `type:"structure" payload:"WriteSegmentRequest"`
25997
25998	// ApplicationId is a required field
25999	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
26000
26001	// SegmentId is a required field
26002	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
26003
26004	// Specifies the configuration, dimension, and other settings for a segment.
26005	// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
26006	// object, but not both.
26007	//
26008	// WriteSegmentRequest is a required field
26009	WriteSegmentRequest *WriteSegmentRequest `type:"structure" required:"true"`
26010}
26011
26012// String returns the string representation
26013func (s UpdateSegmentInput) String() string {
26014	return awsutil.Prettify(s)
26015}
26016
26017// GoString returns the string representation
26018func (s UpdateSegmentInput) GoString() string {
26019	return s.String()
26020}
26021
26022// Validate inspects the fields of the type to determine if they are valid.
26023func (s *UpdateSegmentInput) Validate() error {
26024	invalidParams := request.ErrInvalidParams{Context: "UpdateSegmentInput"}
26025	if s.ApplicationId == nil {
26026		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
26027	}
26028	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
26029		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
26030	}
26031	if s.SegmentId == nil {
26032		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
26033	}
26034	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
26035		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
26036	}
26037	if s.WriteSegmentRequest == nil {
26038		invalidParams.Add(request.NewErrParamRequired("WriteSegmentRequest"))
26039	}
26040	if s.WriteSegmentRequest != nil {
26041		if err := s.WriteSegmentRequest.Validate(); err != nil {
26042			invalidParams.AddNested("WriteSegmentRequest", err.(request.ErrInvalidParams))
26043		}
26044	}
26045
26046	if invalidParams.Len() > 0 {
26047		return invalidParams
26048	}
26049	return nil
26050}
26051
26052// SetApplicationId sets the ApplicationId field's value.
26053func (s *UpdateSegmentInput) SetApplicationId(v string) *UpdateSegmentInput {
26054	s.ApplicationId = &v
26055	return s
26056}
26057
26058// SetSegmentId sets the SegmentId field's value.
26059func (s *UpdateSegmentInput) SetSegmentId(v string) *UpdateSegmentInput {
26060	s.SegmentId = &v
26061	return s
26062}
26063
26064// SetWriteSegmentRequest sets the WriteSegmentRequest field's value.
26065func (s *UpdateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *UpdateSegmentInput {
26066	s.WriteSegmentRequest = v
26067	return s
26068}
26069
26070type UpdateSegmentOutput struct {
26071	_ struct{} `type:"structure" payload:"SegmentResponse"`
26072
26073	// Provides information about the configuration, dimension, and other settings
26074	// for a segment.
26075	//
26076	// SegmentResponse is a required field
26077	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
26078}
26079
26080// String returns the string representation
26081func (s UpdateSegmentOutput) String() string {
26082	return awsutil.Prettify(s)
26083}
26084
26085// GoString returns the string representation
26086func (s UpdateSegmentOutput) GoString() string {
26087	return s.String()
26088}
26089
26090// SetSegmentResponse sets the SegmentResponse field's value.
26091func (s *UpdateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *UpdateSegmentOutput {
26092	s.SegmentResponse = v
26093	return s
26094}
26095
26096type UpdateSmsChannelInput struct {
26097	_ struct{} `type:"structure" payload:"SMSChannelRequest"`
26098
26099	// ApplicationId is a required field
26100	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
26101
26102	// Specifies the status and settings of the SMS channel for an application.
26103	//
26104	// SMSChannelRequest is a required field
26105	SMSChannelRequest *SMSChannelRequest `type:"structure" required:"true"`
26106}
26107
26108// String returns the string representation
26109func (s UpdateSmsChannelInput) String() string {
26110	return awsutil.Prettify(s)
26111}
26112
26113// GoString returns the string representation
26114func (s UpdateSmsChannelInput) GoString() string {
26115	return s.String()
26116}
26117
26118// Validate inspects the fields of the type to determine if they are valid.
26119func (s *UpdateSmsChannelInput) Validate() error {
26120	invalidParams := request.ErrInvalidParams{Context: "UpdateSmsChannelInput"}
26121	if s.ApplicationId == nil {
26122		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
26123	}
26124	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
26125		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
26126	}
26127	if s.SMSChannelRequest == nil {
26128		invalidParams.Add(request.NewErrParamRequired("SMSChannelRequest"))
26129	}
26130
26131	if invalidParams.Len() > 0 {
26132		return invalidParams
26133	}
26134	return nil
26135}
26136
26137// SetApplicationId sets the ApplicationId field's value.
26138func (s *UpdateSmsChannelInput) SetApplicationId(v string) *UpdateSmsChannelInput {
26139	s.ApplicationId = &v
26140	return s
26141}
26142
26143// SetSMSChannelRequest sets the SMSChannelRequest field's value.
26144func (s *UpdateSmsChannelInput) SetSMSChannelRequest(v *SMSChannelRequest) *UpdateSmsChannelInput {
26145	s.SMSChannelRequest = v
26146	return s
26147}
26148
26149type UpdateSmsChannelOutput struct {
26150	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
26151
26152	// Provides information about the status and settings of the SMS channel for
26153	// an application.
26154	//
26155	// SMSChannelResponse is a required field
26156	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
26157}
26158
26159// String returns the string representation
26160func (s UpdateSmsChannelOutput) String() string {
26161	return awsutil.Prettify(s)
26162}
26163
26164// GoString returns the string representation
26165func (s UpdateSmsChannelOutput) GoString() string {
26166	return s.String()
26167}
26168
26169// SetSMSChannelResponse sets the SMSChannelResponse field's value.
26170func (s *UpdateSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *UpdateSmsChannelOutput {
26171	s.SMSChannelResponse = v
26172	return s
26173}
26174
26175type UpdateSmsTemplateInput struct {
26176	_ struct{} `type:"structure" payload:"SMSTemplateRequest"`
26177
26178	// Specifies the content and settings for a message template that can be used
26179	// in text messages that are sent through the SMS channel.
26180	//
26181	// SMSTemplateRequest is a required field
26182	SMSTemplateRequest *SMSTemplateRequest `type:"structure" required:"true"`
26183
26184	// TemplateName is a required field
26185	TemplateName *string `location:"uri" locationName:"template-name" type:"string" required:"true"`
26186}
26187
26188// String returns the string representation
26189func (s UpdateSmsTemplateInput) String() string {
26190	return awsutil.Prettify(s)
26191}
26192
26193// GoString returns the string representation
26194func (s UpdateSmsTemplateInput) GoString() string {
26195	return s.String()
26196}
26197
26198// Validate inspects the fields of the type to determine if they are valid.
26199func (s *UpdateSmsTemplateInput) Validate() error {
26200	invalidParams := request.ErrInvalidParams{Context: "UpdateSmsTemplateInput"}
26201	if s.SMSTemplateRequest == nil {
26202		invalidParams.Add(request.NewErrParamRequired("SMSTemplateRequest"))
26203	}
26204	if s.TemplateName == nil {
26205		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
26206	}
26207	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
26208		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
26209	}
26210
26211	if invalidParams.Len() > 0 {
26212		return invalidParams
26213	}
26214	return nil
26215}
26216
26217// SetSMSTemplateRequest sets the SMSTemplateRequest field's value.
26218func (s *UpdateSmsTemplateInput) SetSMSTemplateRequest(v *SMSTemplateRequest) *UpdateSmsTemplateInput {
26219	s.SMSTemplateRequest = v
26220	return s
26221}
26222
26223// SetTemplateName sets the TemplateName field's value.
26224func (s *UpdateSmsTemplateInput) SetTemplateName(v string) *UpdateSmsTemplateInput {
26225	s.TemplateName = &v
26226	return s
26227}
26228
26229type UpdateSmsTemplateOutput struct {
26230	_ struct{} `type:"structure" payload:"MessageBody"`
26231
26232	// Provides information about an API request or response.
26233	//
26234	// MessageBody is a required field
26235	MessageBody *MessageBody `type:"structure" required:"true"`
26236}
26237
26238// String returns the string representation
26239func (s UpdateSmsTemplateOutput) String() string {
26240	return awsutil.Prettify(s)
26241}
26242
26243// GoString returns the string representation
26244func (s UpdateSmsTemplateOutput) GoString() string {
26245	return s.String()
26246}
26247
26248// SetMessageBody sets the MessageBody field's value.
26249func (s *UpdateSmsTemplateOutput) SetMessageBody(v *MessageBody) *UpdateSmsTemplateOutput {
26250	s.MessageBody = v
26251	return s
26252}
26253
26254type UpdateVoiceChannelInput struct {
26255	_ struct{} `type:"structure" payload:"VoiceChannelRequest"`
26256
26257	// ApplicationId is a required field
26258	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
26259
26260	// Specifies the status and settings of the voice channel for an application.
26261	//
26262	// VoiceChannelRequest is a required field
26263	VoiceChannelRequest *VoiceChannelRequest `type:"structure" required:"true"`
26264}
26265
26266// String returns the string representation
26267func (s UpdateVoiceChannelInput) String() string {
26268	return awsutil.Prettify(s)
26269}
26270
26271// GoString returns the string representation
26272func (s UpdateVoiceChannelInput) GoString() string {
26273	return s.String()
26274}
26275
26276// Validate inspects the fields of the type to determine if they are valid.
26277func (s *UpdateVoiceChannelInput) Validate() error {
26278	invalidParams := request.ErrInvalidParams{Context: "UpdateVoiceChannelInput"}
26279	if s.ApplicationId == nil {
26280		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
26281	}
26282	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
26283		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
26284	}
26285	if s.VoiceChannelRequest == nil {
26286		invalidParams.Add(request.NewErrParamRequired("VoiceChannelRequest"))
26287	}
26288
26289	if invalidParams.Len() > 0 {
26290		return invalidParams
26291	}
26292	return nil
26293}
26294
26295// SetApplicationId sets the ApplicationId field's value.
26296func (s *UpdateVoiceChannelInput) SetApplicationId(v string) *UpdateVoiceChannelInput {
26297	s.ApplicationId = &v
26298	return s
26299}
26300
26301// SetVoiceChannelRequest sets the VoiceChannelRequest field's value.
26302func (s *UpdateVoiceChannelInput) SetVoiceChannelRequest(v *VoiceChannelRequest) *UpdateVoiceChannelInput {
26303	s.VoiceChannelRequest = v
26304	return s
26305}
26306
26307type UpdateVoiceChannelOutput struct {
26308	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
26309
26310	// Provides information about the status and settings of the voice channel for
26311	// an application.
26312	//
26313	// VoiceChannelResponse is a required field
26314	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
26315}
26316
26317// String returns the string representation
26318func (s UpdateVoiceChannelOutput) String() string {
26319	return awsutil.Prettify(s)
26320}
26321
26322// GoString returns the string representation
26323func (s UpdateVoiceChannelOutput) GoString() string {
26324	return s.String()
26325}
26326
26327// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
26328func (s *UpdateVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *UpdateVoiceChannelOutput {
26329	s.VoiceChannelResponse = v
26330	return s
26331}
26332
26333// Specifies the status and settings of the voice channel for an application.
26334type VoiceChannelRequest struct {
26335	_ struct{} `type:"structure"`
26336
26337	// Specifies whether to enable the voice channel for the application.
26338	Enabled *bool `type:"boolean"`
26339}
26340
26341// String returns the string representation
26342func (s VoiceChannelRequest) String() string {
26343	return awsutil.Prettify(s)
26344}
26345
26346// GoString returns the string representation
26347func (s VoiceChannelRequest) GoString() string {
26348	return s.String()
26349}
26350
26351// SetEnabled sets the Enabled field's value.
26352func (s *VoiceChannelRequest) SetEnabled(v bool) *VoiceChannelRequest {
26353	s.Enabled = &v
26354	return s
26355}
26356
26357// Provides information about the status and settings of the voice channel for
26358// an application.
26359type VoiceChannelResponse struct {
26360	_ struct{} `type:"structure"`
26361
26362	// The unique identifier for the application that the voice channel applies
26363	// to.
26364	ApplicationId *string `type:"string"`
26365
26366	// The date and time, in ISO 8601 format, when the voice channel was enabled.
26367	CreationDate *string `type:"string"`
26368
26369	// Specifies whether the voice channel is enabled for the application.
26370	Enabled *bool `type:"boolean"`
26371
26372	// (Not used) This property is retained only for backward compatibility.
26373	HasCredential *bool `type:"boolean"`
26374
26375	// (Deprecated) An identifier for the voice channel. This property is retained
26376	// only for backward compatibility.
26377	Id *string `type:"string"`
26378
26379	// Specifies whether the voice channel is archived.
26380	IsArchived *bool `type:"boolean"`
26381
26382	// The user who last modified the voice channel.
26383	LastModifiedBy *string `type:"string"`
26384
26385	// The date and time, in ISO 8601 format, when the voice channel was last modified.
26386	LastModifiedDate *string `type:"string"`
26387
26388	OriginationNumber *string `type:"string"`
26389
26390	// The type of messaging or notification platform for the channel. For the voice
26391	// channel, this value is VOICE.
26392	//
26393	// Platform is a required field
26394	Platform *string `type:"string" required:"true"`
26395
26396	// The current version of the voice channel.
26397	Version *int64 `type:"integer"`
26398}
26399
26400// String returns the string representation
26401func (s VoiceChannelResponse) String() string {
26402	return awsutil.Prettify(s)
26403}
26404
26405// GoString returns the string representation
26406func (s VoiceChannelResponse) GoString() string {
26407	return s.String()
26408}
26409
26410// SetApplicationId sets the ApplicationId field's value.
26411func (s *VoiceChannelResponse) SetApplicationId(v string) *VoiceChannelResponse {
26412	s.ApplicationId = &v
26413	return s
26414}
26415
26416// SetCreationDate sets the CreationDate field's value.
26417func (s *VoiceChannelResponse) SetCreationDate(v string) *VoiceChannelResponse {
26418	s.CreationDate = &v
26419	return s
26420}
26421
26422// SetEnabled sets the Enabled field's value.
26423func (s *VoiceChannelResponse) SetEnabled(v bool) *VoiceChannelResponse {
26424	s.Enabled = &v
26425	return s
26426}
26427
26428// SetHasCredential sets the HasCredential field's value.
26429func (s *VoiceChannelResponse) SetHasCredential(v bool) *VoiceChannelResponse {
26430	s.HasCredential = &v
26431	return s
26432}
26433
26434// SetId sets the Id field's value.
26435func (s *VoiceChannelResponse) SetId(v string) *VoiceChannelResponse {
26436	s.Id = &v
26437	return s
26438}
26439
26440// SetIsArchived sets the IsArchived field's value.
26441func (s *VoiceChannelResponse) SetIsArchived(v bool) *VoiceChannelResponse {
26442	s.IsArchived = &v
26443	return s
26444}
26445
26446// SetLastModifiedBy sets the LastModifiedBy field's value.
26447func (s *VoiceChannelResponse) SetLastModifiedBy(v string) *VoiceChannelResponse {
26448	s.LastModifiedBy = &v
26449	return s
26450}
26451
26452// SetLastModifiedDate sets the LastModifiedDate field's value.
26453func (s *VoiceChannelResponse) SetLastModifiedDate(v string) *VoiceChannelResponse {
26454	s.LastModifiedDate = &v
26455	return s
26456}
26457
26458// SetOriginationNumber sets the OriginationNumber field's value.
26459func (s *VoiceChannelResponse) SetOriginationNumber(v string) *VoiceChannelResponse {
26460	s.OriginationNumber = &v
26461	return s
26462}
26463
26464// SetPlatform sets the Platform field's value.
26465func (s *VoiceChannelResponse) SetPlatform(v string) *VoiceChannelResponse {
26466	s.Platform = &v
26467	return s
26468}
26469
26470// SetVersion sets the Version field's value.
26471func (s *VoiceChannelResponse) SetVersion(v int64) *VoiceChannelResponse {
26472	s.Version = &v
26473	return s
26474}
26475
26476// Specifies the settings for a one-time voice message that's sent directly
26477// to an endpoint through the voice channel.
26478type VoiceMessage struct {
26479	_ struct{} `type:"structure"`
26480
26481	// The text script for the voice message.
26482	Body *string `type:"string"`
26483
26484	// The language to use when delivering the message. For a list of supported
26485	// languages, see the Amazon Polly Developer Guide (AmazonPollyDG.html).
26486	LanguageCode *string `type:"string"`
26487
26488	// The long code to send the voice message from. This value should be one of
26489	// the dedicated long codes that's assigned to your AWS account. Although it
26490	// isn't required, we recommend that you specify the long code in E.164 format,
26491	// for example +12065550100, to ensure prompt and accurate delivery of the message.
26492	OriginationNumber *string `type:"string"`
26493
26494	// The default message variables to use in the voice message. You can override
26495	// the default variables with individual address variables.
26496	Substitutions map[string][]*string `type:"map"`
26497
26498	// The name of the voice to use when delivering the message. For a list of supported
26499	// voices, see the Amazon Polly Developer Guide (AmazonPollyDG.html).
26500	VoiceId *string `type:"string"`
26501}
26502
26503// String returns the string representation
26504func (s VoiceMessage) String() string {
26505	return awsutil.Prettify(s)
26506}
26507
26508// GoString returns the string representation
26509func (s VoiceMessage) GoString() string {
26510	return s.String()
26511}
26512
26513// SetBody sets the Body field's value.
26514func (s *VoiceMessage) SetBody(v string) *VoiceMessage {
26515	s.Body = &v
26516	return s
26517}
26518
26519// SetLanguageCode sets the LanguageCode field's value.
26520func (s *VoiceMessage) SetLanguageCode(v string) *VoiceMessage {
26521	s.LanguageCode = &v
26522	return s
26523}
26524
26525// SetOriginationNumber sets the OriginationNumber field's value.
26526func (s *VoiceMessage) SetOriginationNumber(v string) *VoiceMessage {
26527	s.OriginationNumber = &v
26528	return s
26529}
26530
26531// SetSubstitutions sets the Substitutions field's value.
26532func (s *VoiceMessage) SetSubstitutions(v map[string][]*string) *VoiceMessage {
26533	s.Substitutions = v
26534	return s
26535}
26536
26537// SetVoiceId sets the VoiceId field's value.
26538func (s *VoiceMessage) SetVoiceId(v string) *VoiceMessage {
26539	s.VoiceId = &v
26540	return s
26541}
26542
26543// Specifies the default settings for an application.
26544type WriteApplicationSettingsRequest struct {
26545	_ struct{} `type:"structure"`
26546
26547	// The settings for the AWS Lambda function to use by default as a code hook
26548	// for campaigns in the application. To override these settings for a specific
26549	// campaign, use the Campaign resource to define custom Lambda function settings
26550	// for the campaign.
26551	CampaignHook *CampaignHook `type:"structure"`
26552
26553	// Specifies whether to enable application-related alarms in Amazon CloudWatch.
26554	CloudWatchMetricsEnabled *bool `type:"boolean"`
26555
26556	// The default sending limits for campaigns in the application. To override
26557	// these limits for a specific campaign, use the Campaign resource to define
26558	// custom limits for the campaign.
26559	Limits *CampaignLimits `type:"structure"`
26560
26561	// The default quiet time for campaigns in the application. Quiet time is a
26562	// specific time range when campaigns don't send messages to endpoints, if all
26563	// the following conditions are met:
26564	//
26565	//    * The EndpointDemographic.Timezone property of the endpoint is set to
26566	//    a valid value.
26567	//
26568	//    * The current time in the endpoint's time zone is later than or equal
26569	//    to the time specified by the QuietTime.Start property for the application
26570	//    (or a campaign that has custom quiet time settings).
26571	//
26572	//    * The current time in the endpoint's time zone is earlier than or equal
26573	//    to the time specified by the QuietTime.End property for the application
26574	//    (or a campaign that has custom quiet time settings).
26575	//
26576	// If any of the preceding conditions isn't met, the endpoint will receive messages
26577	// from a campaign, even if quiet time is enabled.
26578	//
26579	// To override the default quiet time settings for a specific campaign, use
26580	// the Campaign resource to define a custom quiet time for the campaign.
26581	QuietTime *QuietTime `type:"structure"`
26582}
26583
26584// String returns the string representation
26585func (s WriteApplicationSettingsRequest) String() string {
26586	return awsutil.Prettify(s)
26587}
26588
26589// GoString returns the string representation
26590func (s WriteApplicationSettingsRequest) GoString() string {
26591	return s.String()
26592}
26593
26594// SetCampaignHook sets the CampaignHook field's value.
26595func (s *WriteApplicationSettingsRequest) SetCampaignHook(v *CampaignHook) *WriteApplicationSettingsRequest {
26596	s.CampaignHook = v
26597	return s
26598}
26599
26600// SetCloudWatchMetricsEnabled sets the CloudWatchMetricsEnabled field's value.
26601func (s *WriteApplicationSettingsRequest) SetCloudWatchMetricsEnabled(v bool) *WriteApplicationSettingsRequest {
26602	s.CloudWatchMetricsEnabled = &v
26603	return s
26604}
26605
26606// SetLimits sets the Limits field's value.
26607func (s *WriteApplicationSettingsRequest) SetLimits(v *CampaignLimits) *WriteApplicationSettingsRequest {
26608	s.Limits = v
26609	return s
26610}
26611
26612// SetQuietTime sets the QuietTime field's value.
26613func (s *WriteApplicationSettingsRequest) SetQuietTime(v *QuietTime) *WriteApplicationSettingsRequest {
26614	s.QuietTime = v
26615	return s
26616}
26617
26618// Specifies the configuration and other settings for a campaign.
26619type WriteCampaignRequest struct {
26620	_ struct{} `type:"structure"`
26621
26622	// An array of requests that defines additional treatments for the campaign,
26623	// in addition to the default treatment for the campaign.
26624	AdditionalTreatments []*WriteTreatmentResource `type:"list"`
26625
26626	// The custom description of the campaign.
26627	Description *string `type:"string"`
26628
26629	// The allocated percentage of users (segment members) who shouldn't receive
26630	// messages from the campaign.
26631	HoldoutPercent *int64 `type:"integer"`
26632
26633	// The settings for the AWS Lambda function to use as a code hook for the campaign.
26634	Hook *CampaignHook `type:"structure"`
26635
26636	// Specifies whether to pause the campaign. A paused campaign doesn't run unless
26637	// you resume it by setting this value to false.
26638	IsPaused *bool `type:"boolean"`
26639
26640	// The messaging limits for the campaign.
26641	Limits *CampaignLimits `type:"structure"`
26642
26643	// The message configuration settings for the campaign.
26644	MessageConfiguration *MessageConfiguration `type:"structure"`
26645
26646	// The custom name of the campaign.
26647	Name *string `type:"string"`
26648
26649	// The schedule settings for the campaign.
26650	Schedule *Schedule `type:"structure"`
26651
26652	// The unique identifier for the segment to associate with the campaign.
26653	SegmentId *string `type:"string"`
26654
26655	// The version of the segment to associate with the campaign.
26656	SegmentVersion *int64 `type:"integer"`
26657
26658	// A string-to-string map of key-value pairs that defines the tags to associate
26659	// with the campaign. Each tag consists of a required tag key and an associated
26660	// tag value.
26661	Tags map[string]*string `locationName:"tags" type:"map"`
26662
26663	// The message template to use for the campaign.
26664	TemplateConfiguration *TemplateConfiguration `type:"structure"`
26665
26666	// The custom description of a variation of the campaign to use for A/B testing.
26667	TreatmentDescription *string `type:"string"`
26668
26669	// The custom name of a variation of the campaign to use for A/B testing.
26670	TreatmentName *string `type:"string"`
26671}
26672
26673// String returns the string representation
26674func (s WriteCampaignRequest) String() string {
26675	return awsutil.Prettify(s)
26676}
26677
26678// GoString returns the string representation
26679func (s WriteCampaignRequest) GoString() string {
26680	return s.String()
26681}
26682
26683// Validate inspects the fields of the type to determine if they are valid.
26684func (s *WriteCampaignRequest) Validate() error {
26685	invalidParams := request.ErrInvalidParams{Context: "WriteCampaignRequest"}
26686	if s.AdditionalTreatments != nil {
26687		for i, v := range s.AdditionalTreatments {
26688			if v == nil {
26689				continue
26690			}
26691			if err := v.Validate(); err != nil {
26692				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalTreatments", i), err.(request.ErrInvalidParams))
26693			}
26694		}
26695	}
26696	if s.MessageConfiguration != nil {
26697		if err := s.MessageConfiguration.Validate(); err != nil {
26698			invalidParams.AddNested("MessageConfiguration", err.(request.ErrInvalidParams))
26699		}
26700	}
26701	if s.Schedule != nil {
26702		if err := s.Schedule.Validate(); err != nil {
26703			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
26704		}
26705	}
26706
26707	if invalidParams.Len() > 0 {
26708		return invalidParams
26709	}
26710	return nil
26711}
26712
26713// SetAdditionalTreatments sets the AdditionalTreatments field's value.
26714func (s *WriteCampaignRequest) SetAdditionalTreatments(v []*WriteTreatmentResource) *WriteCampaignRequest {
26715	s.AdditionalTreatments = v
26716	return s
26717}
26718
26719// SetDescription sets the Description field's value.
26720func (s *WriteCampaignRequest) SetDescription(v string) *WriteCampaignRequest {
26721	s.Description = &v
26722	return s
26723}
26724
26725// SetHoldoutPercent sets the HoldoutPercent field's value.
26726func (s *WriteCampaignRequest) SetHoldoutPercent(v int64) *WriteCampaignRequest {
26727	s.HoldoutPercent = &v
26728	return s
26729}
26730
26731// SetHook sets the Hook field's value.
26732func (s *WriteCampaignRequest) SetHook(v *CampaignHook) *WriteCampaignRequest {
26733	s.Hook = v
26734	return s
26735}
26736
26737// SetIsPaused sets the IsPaused field's value.
26738func (s *WriteCampaignRequest) SetIsPaused(v bool) *WriteCampaignRequest {
26739	s.IsPaused = &v
26740	return s
26741}
26742
26743// SetLimits sets the Limits field's value.
26744func (s *WriteCampaignRequest) SetLimits(v *CampaignLimits) *WriteCampaignRequest {
26745	s.Limits = v
26746	return s
26747}
26748
26749// SetMessageConfiguration sets the MessageConfiguration field's value.
26750func (s *WriteCampaignRequest) SetMessageConfiguration(v *MessageConfiguration) *WriteCampaignRequest {
26751	s.MessageConfiguration = v
26752	return s
26753}
26754
26755// SetName sets the Name field's value.
26756func (s *WriteCampaignRequest) SetName(v string) *WriteCampaignRequest {
26757	s.Name = &v
26758	return s
26759}
26760
26761// SetSchedule sets the Schedule field's value.
26762func (s *WriteCampaignRequest) SetSchedule(v *Schedule) *WriteCampaignRequest {
26763	s.Schedule = v
26764	return s
26765}
26766
26767// SetSegmentId sets the SegmentId field's value.
26768func (s *WriteCampaignRequest) SetSegmentId(v string) *WriteCampaignRequest {
26769	s.SegmentId = &v
26770	return s
26771}
26772
26773// SetSegmentVersion sets the SegmentVersion field's value.
26774func (s *WriteCampaignRequest) SetSegmentVersion(v int64) *WriteCampaignRequest {
26775	s.SegmentVersion = &v
26776	return s
26777}
26778
26779// SetTags sets the Tags field's value.
26780func (s *WriteCampaignRequest) SetTags(v map[string]*string) *WriteCampaignRequest {
26781	s.Tags = v
26782	return s
26783}
26784
26785// SetTemplateConfiguration sets the TemplateConfiguration field's value.
26786func (s *WriteCampaignRequest) SetTemplateConfiguration(v *TemplateConfiguration) *WriteCampaignRequest {
26787	s.TemplateConfiguration = v
26788	return s
26789}
26790
26791// SetTreatmentDescription sets the TreatmentDescription field's value.
26792func (s *WriteCampaignRequest) SetTreatmentDescription(v string) *WriteCampaignRequest {
26793	s.TreatmentDescription = &v
26794	return s
26795}
26796
26797// SetTreatmentName sets the TreatmentName field's value.
26798func (s *WriteCampaignRequest) SetTreatmentName(v string) *WriteCampaignRequest {
26799	s.TreatmentName = &v
26800	return s
26801}
26802
26803// Specifies the Amazon Resource Name (ARN) of an event stream to publish events
26804// to and the AWS Identity and Access Management (IAM) role to use when publishing
26805// those events.
26806type WriteEventStream struct {
26807	_ struct{} `type:"structure"`
26808
26809	// The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon
26810	// Kinesis Data Firehose delivery stream that you want to publish event data
26811	// to.
26812	//
26813	// For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name
26814	//
26815	// For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name
26816	//
26817	// DestinationStreamArn is a required field
26818	DestinationStreamArn *string `type:"string" required:"true"`
26819
26820	// The AWS Identity and Access Management (IAM) role that authorizes Amazon
26821	// Pinpoint to publish event data to the stream in your AWS account.
26822	//
26823	// RoleArn is a required field
26824	RoleArn *string `type:"string" required:"true"`
26825}
26826
26827// String returns the string representation
26828func (s WriteEventStream) String() string {
26829	return awsutil.Prettify(s)
26830}
26831
26832// GoString returns the string representation
26833func (s WriteEventStream) GoString() string {
26834	return s.String()
26835}
26836
26837// Validate inspects the fields of the type to determine if they are valid.
26838func (s *WriteEventStream) Validate() error {
26839	invalidParams := request.ErrInvalidParams{Context: "WriteEventStream"}
26840	if s.DestinationStreamArn == nil {
26841		invalidParams.Add(request.NewErrParamRequired("DestinationStreamArn"))
26842	}
26843	if s.RoleArn == nil {
26844		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
26845	}
26846
26847	if invalidParams.Len() > 0 {
26848		return invalidParams
26849	}
26850	return nil
26851}
26852
26853// SetDestinationStreamArn sets the DestinationStreamArn field's value.
26854func (s *WriteEventStream) SetDestinationStreamArn(v string) *WriteEventStream {
26855	s.DestinationStreamArn = &v
26856	return s
26857}
26858
26859// SetRoleArn sets the RoleArn field's value.
26860func (s *WriteEventStream) SetRoleArn(v string) *WriteEventStream {
26861	s.RoleArn = &v
26862	return s
26863}
26864
26865// Specifies the configuration, dimension, and other settings for a segment.
26866// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
26867// object, but not both.
26868type WriteSegmentRequest struct {
26869	_ struct{} `type:"structure"`
26870
26871	// The criteria that define the dimensions for the segment.
26872	Dimensions *SegmentDimensions `type:"structure"`
26873
26874	// The name of the segment.
26875	Name *string `type:"string"`
26876
26877	// The segment group to use and the dimensions to apply to the group's base
26878	// segments in order to build the segment. A segment group can consist of zero
26879	// or more base segments. Your request can include only one segment group.
26880	SegmentGroups *SegmentGroupList `type:"structure"`
26881
26882	// A string-to-string map of key-value pairs that defines the tags to associate
26883	// with the segment. Each tag consists of a required tag key and an associated
26884	// tag value.
26885	Tags map[string]*string `locationName:"tags" type:"map"`
26886}
26887
26888// String returns the string representation
26889func (s WriteSegmentRequest) String() string {
26890	return awsutil.Prettify(s)
26891}
26892
26893// GoString returns the string representation
26894func (s WriteSegmentRequest) GoString() string {
26895	return s.String()
26896}
26897
26898// Validate inspects the fields of the type to determine if they are valid.
26899func (s *WriteSegmentRequest) Validate() error {
26900	invalidParams := request.ErrInvalidParams{Context: "WriteSegmentRequest"}
26901	if s.Dimensions != nil {
26902		if err := s.Dimensions.Validate(); err != nil {
26903			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
26904		}
26905	}
26906	if s.SegmentGroups != nil {
26907		if err := s.SegmentGroups.Validate(); err != nil {
26908			invalidParams.AddNested("SegmentGroups", err.(request.ErrInvalidParams))
26909		}
26910	}
26911
26912	if invalidParams.Len() > 0 {
26913		return invalidParams
26914	}
26915	return nil
26916}
26917
26918// SetDimensions sets the Dimensions field's value.
26919func (s *WriteSegmentRequest) SetDimensions(v *SegmentDimensions) *WriteSegmentRequest {
26920	s.Dimensions = v
26921	return s
26922}
26923
26924// SetName sets the Name field's value.
26925func (s *WriteSegmentRequest) SetName(v string) *WriteSegmentRequest {
26926	s.Name = &v
26927	return s
26928}
26929
26930// SetSegmentGroups sets the SegmentGroups field's value.
26931func (s *WriteSegmentRequest) SetSegmentGroups(v *SegmentGroupList) *WriteSegmentRequest {
26932	s.SegmentGroups = v
26933	return s
26934}
26935
26936// SetTags sets the Tags field's value.
26937func (s *WriteSegmentRequest) SetTags(v map[string]*string) *WriteSegmentRequest {
26938	s.Tags = v
26939	return s
26940}
26941
26942// Specifies the settings for a campaign treatment. A treatment is a variation
26943// of a campaign that's used for A/B testing of a campaign.
26944type WriteTreatmentResource struct {
26945	_ struct{} `type:"structure"`
26946
26947	// The message configuration settings for the treatment.
26948	MessageConfiguration *MessageConfiguration `type:"structure"`
26949
26950	// The schedule settings for the treatment.
26951	Schedule *Schedule `type:"structure"`
26952
26953	// The allocated percentage of users (segment members) to send the treatment
26954	// to.
26955	//
26956	// SizePercent is a required field
26957	SizePercent *int64 `type:"integer" required:"true"`
26958
26959	// The message template to use for the treatment.
26960	TemplateConfiguration *TemplateConfiguration `type:"structure"`
26961
26962	// The custom description of the treatment.
26963	TreatmentDescription *string `type:"string"`
26964
26965	// The custom name of the treatment. A treatment is a variation of a campaign
26966	// that's used for A/B testing of a campaign.
26967	TreatmentName *string `type:"string"`
26968}
26969
26970// String returns the string representation
26971func (s WriteTreatmentResource) String() string {
26972	return awsutil.Prettify(s)
26973}
26974
26975// GoString returns the string representation
26976func (s WriteTreatmentResource) GoString() string {
26977	return s.String()
26978}
26979
26980// Validate inspects the fields of the type to determine if they are valid.
26981func (s *WriteTreatmentResource) Validate() error {
26982	invalidParams := request.ErrInvalidParams{Context: "WriteTreatmentResource"}
26983	if s.SizePercent == nil {
26984		invalidParams.Add(request.NewErrParamRequired("SizePercent"))
26985	}
26986	if s.MessageConfiguration != nil {
26987		if err := s.MessageConfiguration.Validate(); err != nil {
26988			invalidParams.AddNested("MessageConfiguration", err.(request.ErrInvalidParams))
26989		}
26990	}
26991	if s.Schedule != nil {
26992		if err := s.Schedule.Validate(); err != nil {
26993			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
26994		}
26995	}
26996
26997	if invalidParams.Len() > 0 {
26998		return invalidParams
26999	}
27000	return nil
27001}
27002
27003// SetMessageConfiguration sets the MessageConfiguration field's value.
27004func (s *WriteTreatmentResource) SetMessageConfiguration(v *MessageConfiguration) *WriteTreatmentResource {
27005	s.MessageConfiguration = v
27006	return s
27007}
27008
27009// SetSchedule sets the Schedule field's value.
27010func (s *WriteTreatmentResource) SetSchedule(v *Schedule) *WriteTreatmentResource {
27011	s.Schedule = v
27012	return s
27013}
27014
27015// SetSizePercent sets the SizePercent field's value.
27016func (s *WriteTreatmentResource) SetSizePercent(v int64) *WriteTreatmentResource {
27017	s.SizePercent = &v
27018	return s
27019}
27020
27021// SetTemplateConfiguration sets the TemplateConfiguration field's value.
27022func (s *WriteTreatmentResource) SetTemplateConfiguration(v *TemplateConfiguration) *WriteTreatmentResource {
27023	s.TemplateConfiguration = v
27024	return s
27025}
27026
27027// SetTreatmentDescription sets the TreatmentDescription field's value.
27028func (s *WriteTreatmentResource) SetTreatmentDescription(v string) *WriteTreatmentResource {
27029	s.TreatmentDescription = &v
27030	return s
27031}
27032
27033// SetTreatmentName sets the TreatmentName field's value.
27034func (s *WriteTreatmentResource) SetTreatmentName(v string) *WriteTreatmentResource {
27035	s.TreatmentName = &v
27036	return s
27037}
27038
27039const (
27040	// ActionOpenApp is a Action enum value
27041	ActionOpenApp = "OPEN_APP"
27042
27043	// ActionDeepLink is a Action enum value
27044	ActionDeepLink = "DEEP_LINK"
27045
27046	// ActionUrl is a Action enum value
27047	ActionUrl = "URL"
27048)
27049
27050const (
27051	// AttributeTypeInclusive is a AttributeType enum value
27052	AttributeTypeInclusive = "INCLUSIVE"
27053
27054	// AttributeTypeExclusive is a AttributeType enum value
27055	AttributeTypeExclusive = "EXCLUSIVE"
27056)
27057
27058const (
27059	// CampaignStatusScheduled is a CampaignStatus enum value
27060	CampaignStatusScheduled = "SCHEDULED"
27061
27062	// CampaignStatusExecuting is a CampaignStatus enum value
27063	CampaignStatusExecuting = "EXECUTING"
27064
27065	// CampaignStatusPendingNextRun is a CampaignStatus enum value
27066	CampaignStatusPendingNextRun = "PENDING_NEXT_RUN"
27067
27068	// CampaignStatusCompleted is a CampaignStatus enum value
27069	CampaignStatusCompleted = "COMPLETED"
27070
27071	// CampaignStatusPaused is a CampaignStatus enum value
27072	CampaignStatusPaused = "PAUSED"
27073
27074	// CampaignStatusDeleted is a CampaignStatus enum value
27075	CampaignStatusDeleted = "DELETED"
27076)
27077
27078const (
27079	// ChannelTypeGcm is a ChannelType enum value
27080	ChannelTypeGcm = "GCM"
27081
27082	// ChannelTypeApns is a ChannelType enum value
27083	ChannelTypeApns = "APNS"
27084
27085	// ChannelTypeApnsSandbox is a ChannelType enum value
27086	ChannelTypeApnsSandbox = "APNS_SANDBOX"
27087
27088	// ChannelTypeApnsVoip is a ChannelType enum value
27089	ChannelTypeApnsVoip = "APNS_VOIP"
27090
27091	// ChannelTypeApnsVoipSandbox is a ChannelType enum value
27092	ChannelTypeApnsVoipSandbox = "APNS_VOIP_SANDBOX"
27093
27094	// ChannelTypeAdm is a ChannelType enum value
27095	ChannelTypeAdm = "ADM"
27096
27097	// ChannelTypeSms is a ChannelType enum value
27098	ChannelTypeSms = "SMS"
27099
27100	// ChannelTypeVoice is a ChannelType enum value
27101	ChannelTypeVoice = "VOICE"
27102
27103	// ChannelTypeEmail is a ChannelType enum value
27104	ChannelTypeEmail = "EMAIL"
27105
27106	// ChannelTypeBaidu is a ChannelType enum value
27107	ChannelTypeBaidu = "BAIDU"
27108
27109	// ChannelTypeCustom is a ChannelType enum value
27110	ChannelTypeCustom = "CUSTOM"
27111)
27112
27113const (
27114	// DeliveryStatusSuccessful is a DeliveryStatus enum value
27115	DeliveryStatusSuccessful = "SUCCESSFUL"
27116
27117	// DeliveryStatusThrottled is a DeliveryStatus enum value
27118	DeliveryStatusThrottled = "THROTTLED"
27119
27120	// DeliveryStatusTemporaryFailure is a DeliveryStatus enum value
27121	DeliveryStatusTemporaryFailure = "TEMPORARY_FAILURE"
27122
27123	// DeliveryStatusPermanentFailure is a DeliveryStatus enum value
27124	DeliveryStatusPermanentFailure = "PERMANENT_FAILURE"
27125
27126	// DeliveryStatusUnknownFailure is a DeliveryStatus enum value
27127	DeliveryStatusUnknownFailure = "UNKNOWN_FAILURE"
27128
27129	// DeliveryStatusOptOut is a DeliveryStatus enum value
27130	DeliveryStatusOptOut = "OPT_OUT"
27131
27132	// DeliveryStatusDuplicate is a DeliveryStatus enum value
27133	DeliveryStatusDuplicate = "DUPLICATE"
27134)
27135
27136const (
27137	// DimensionTypeInclusive is a DimensionType enum value
27138	DimensionTypeInclusive = "INCLUSIVE"
27139
27140	// DimensionTypeExclusive is a DimensionType enum value
27141	DimensionTypeExclusive = "EXCLUSIVE"
27142)
27143
27144const (
27145	// DurationHr24 is a Duration enum value
27146	DurationHr24 = "HR_24"
27147
27148	// DurationDay7 is a Duration enum value
27149	DurationDay7 = "DAY_7"
27150
27151	// DurationDay14 is a Duration enum value
27152	DurationDay14 = "DAY_14"
27153
27154	// DurationDay30 is a Duration enum value
27155	DurationDay30 = "DAY_30"
27156)
27157
27158const (
27159	// FilterTypeSystem is a FilterType enum value
27160	FilterTypeSystem = "SYSTEM"
27161
27162	// FilterTypeEndpoint is a FilterType enum value
27163	FilterTypeEndpoint = "ENDPOINT"
27164)
27165
27166const (
27167	// FormatCsv is a Format enum value
27168	FormatCsv = "CSV"
27169
27170	// FormatJson is a Format enum value
27171	FormatJson = "JSON"
27172)
27173
27174const (
27175	// FrequencyOnce is a Frequency enum value
27176	FrequencyOnce = "ONCE"
27177
27178	// FrequencyHourly is a Frequency enum value
27179	FrequencyHourly = "HOURLY"
27180
27181	// FrequencyDaily is a Frequency enum value
27182	FrequencyDaily = "DAILY"
27183
27184	// FrequencyWeekly is a Frequency enum value
27185	FrequencyWeekly = "WEEKLY"
27186
27187	// FrequencyMonthly is a Frequency enum value
27188	FrequencyMonthly = "MONTHLY"
27189
27190	// FrequencyEvent is a Frequency enum value
27191	FrequencyEvent = "EVENT"
27192)
27193
27194const (
27195	// IncludeAll is a Include enum value
27196	IncludeAll = "ALL"
27197
27198	// IncludeAny is a Include enum value
27199	IncludeAny = "ANY"
27200
27201	// IncludeNone is a Include enum value
27202	IncludeNone = "NONE"
27203)
27204
27205const (
27206	// JobStatusCreated is a JobStatus enum value
27207	JobStatusCreated = "CREATED"
27208
27209	// JobStatusInitializing is a JobStatus enum value
27210	JobStatusInitializing = "INITIALIZING"
27211
27212	// JobStatusProcessing is a JobStatus enum value
27213	JobStatusProcessing = "PROCESSING"
27214
27215	// JobStatusCompleting is a JobStatus enum value
27216	JobStatusCompleting = "COMPLETING"
27217
27218	// JobStatusCompleted is a JobStatus enum value
27219	JobStatusCompleted = "COMPLETED"
27220
27221	// JobStatusFailing is a JobStatus enum value
27222	JobStatusFailing = "FAILING"
27223
27224	// JobStatusFailed is a JobStatus enum value
27225	JobStatusFailed = "FAILED"
27226)
27227
27228const (
27229	// MessageTypeTransactional is a MessageType enum value
27230	MessageTypeTransactional = "TRANSACTIONAL"
27231
27232	// MessageTypePromotional is a MessageType enum value
27233	MessageTypePromotional = "PROMOTIONAL"
27234)
27235
27236const (
27237	// ModeDelivery is a Mode enum value
27238	ModeDelivery = "DELIVERY"
27239
27240	// ModeFilter is a Mode enum value
27241	ModeFilter = "FILTER"
27242)
27243
27244const (
27245	// RecencyTypeActive is a RecencyType enum value
27246	RecencyTypeActive = "ACTIVE"
27247
27248	// RecencyTypeInactive is a RecencyType enum value
27249	RecencyTypeInactive = "INACTIVE"
27250)
27251
27252const (
27253	// SegmentTypeDimensional is a SegmentType enum value
27254	SegmentTypeDimensional = "DIMENSIONAL"
27255
27256	// SegmentTypeImport is a SegmentType enum value
27257	SegmentTypeImport = "IMPORT"
27258)
27259
27260const (
27261	// SourceTypeAll is a SourceType enum value
27262	SourceTypeAll = "ALL"
27263
27264	// SourceTypeAny is a SourceType enum value
27265	SourceTypeAny = "ANY"
27266
27267	// SourceTypeNone is a SourceType enum value
27268	SourceTypeNone = "NONE"
27269)
27270
27271const (
27272	// TemplateTypeEmail is a TemplateType enum value
27273	TemplateTypeEmail = "EMAIL"
27274
27275	// TemplateTypeSms is a TemplateType enum value
27276	TemplateTypeSms = "SMS"
27277
27278	// TemplateTypePush is a TemplateType enum value
27279	TemplateTypePush = "PUSH"
27280)
27281
27282const (
27283	// TypeAll is a Type enum value
27284	TypeAll = "ALL"
27285
27286	// TypeAny is a Type enum value
27287	TypeAny = "ANY"
27288
27289	// TypeNone is a Type enum value
27290	TypeNone = "NONE"
27291)
27292