1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package pinpoint
4
5import (
6	"fmt"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/restjson"
13)
14
15const opCreateApp = "CreateApp"
16
17// CreateAppRequest generates a "aws/request.Request" representing the
18// client's request for the CreateApp operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See CreateApp for more information on using the CreateApp
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the CreateAppRequest method.
33//    req, resp := client.CreateAppRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateApp
41func (c *Pinpoint) CreateAppRequest(input *CreateAppInput) (req *request.Request, output *CreateAppOutput) {
42	op := &request.Operation{
43		Name:       opCreateApp,
44		HTTPMethod: "POST",
45		HTTPPath:   "/v1/apps",
46	}
47
48	if input == nil {
49		input = &CreateAppInput{}
50	}
51
52	output = &CreateAppOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// CreateApp API operation for Amazon Pinpoint.
58//
59// Creates an application.
60//
61// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
62// with awserr.Error's Code and Message methods to get detailed information about
63// the error.
64//
65// See the AWS API reference guide for Amazon Pinpoint's
66// API operation CreateApp for usage and error information.
67//
68// Returned Error Codes:
69//   * ErrCodeBadRequestException "BadRequestException"
70//   Provides information about an API request or response.
71//
72//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
73//   Provides information about an API request or response.
74//
75//   * ErrCodeForbiddenException "ForbiddenException"
76//   Provides information about an API request or response.
77//
78//   * ErrCodeNotFoundException "NotFoundException"
79//   Provides information about an API request or response.
80//
81//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
82//   Provides information about an API request or response.
83//
84//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
85//   Provides information about an API request or response.
86//
87// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateApp
88func (c *Pinpoint) CreateApp(input *CreateAppInput) (*CreateAppOutput, error) {
89	req, out := c.CreateAppRequest(input)
90	return out, req.Send()
91}
92
93// CreateAppWithContext is the same as CreateApp with the addition of
94// the ability to pass a context and additional request options.
95//
96// See CreateApp for details on how to use this API operation.
97//
98// The context must be non-nil and will be used for request cancellation. If
99// the context is nil a panic will occur. In the future the SDK may create
100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
101// for more information on using Contexts.
102func (c *Pinpoint) CreateAppWithContext(ctx aws.Context, input *CreateAppInput, opts ...request.Option) (*CreateAppOutput, error) {
103	req, out := c.CreateAppRequest(input)
104	req.SetContext(ctx)
105	req.ApplyOptions(opts...)
106	return out, req.Send()
107}
108
109const opCreateCampaign = "CreateCampaign"
110
111// CreateCampaignRequest generates a "aws/request.Request" representing the
112// client's request for the CreateCampaign operation. The "output" return
113// value will be populated with the request's response once the request completes
114// successfully.
115//
116// Use "Send" method on the returned Request to send the API call to the service.
117// the "output" return value is not valid until after Send returns without error.
118//
119// See CreateCampaign for more information on using the CreateCampaign
120// API call, and error handling.
121//
122// This method is useful when you want to inject custom logic or configuration
123// into the SDK's request lifecycle. Such as custom headers, or retry logic.
124//
125//
126//    // Example sending a request using the CreateCampaignRequest method.
127//    req, resp := client.CreateCampaignRequest(params)
128//
129//    err := req.Send()
130//    if err == nil { // resp is now filled
131//        fmt.Println(resp)
132//    }
133//
134// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateCampaign
135func (c *Pinpoint) CreateCampaignRequest(input *CreateCampaignInput) (req *request.Request, output *CreateCampaignOutput) {
136	op := &request.Operation{
137		Name:       opCreateCampaign,
138		HTTPMethod: "POST",
139		HTTPPath:   "/v1/apps/{application-id}/campaigns",
140	}
141
142	if input == nil {
143		input = &CreateCampaignInput{}
144	}
145
146	output = &CreateCampaignOutput{}
147	req = c.newRequest(op, input, output)
148	return
149}
150
151// CreateCampaign API operation for Amazon Pinpoint.
152//
153// Creates a new campaign for an application or updates the settings of an existing
154// campaign for an application.
155//
156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
157// with awserr.Error's Code and Message methods to get detailed information about
158// the error.
159//
160// See the AWS API reference guide for Amazon Pinpoint's
161// API operation CreateCampaign for usage and error information.
162//
163// Returned Error Codes:
164//   * ErrCodeBadRequestException "BadRequestException"
165//   Provides information about an API request or response.
166//
167//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
168//   Provides information about an API request or response.
169//
170//   * ErrCodeForbiddenException "ForbiddenException"
171//   Provides information about an API request or response.
172//
173//   * ErrCodeNotFoundException "NotFoundException"
174//   Provides information about an API request or response.
175//
176//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
177//   Provides information about an API request or response.
178//
179//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
180//   Provides information about an API request or response.
181//
182// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateCampaign
183func (c *Pinpoint) CreateCampaign(input *CreateCampaignInput) (*CreateCampaignOutput, error) {
184	req, out := c.CreateCampaignRequest(input)
185	return out, req.Send()
186}
187
188// CreateCampaignWithContext is the same as CreateCampaign with the addition of
189// the ability to pass a context and additional request options.
190//
191// See CreateCampaign for details on how to use this API operation.
192//
193// The context must be non-nil and will be used for request cancellation. If
194// the context is nil a panic will occur. In the future the SDK may create
195// sub-contexts for http.Requests. See https://golang.org/pkg/context/
196// for more information on using Contexts.
197func (c *Pinpoint) CreateCampaignWithContext(ctx aws.Context, input *CreateCampaignInput, opts ...request.Option) (*CreateCampaignOutput, error) {
198	req, out := c.CreateCampaignRequest(input)
199	req.SetContext(ctx)
200	req.ApplyOptions(opts...)
201	return out, req.Send()
202}
203
204const opCreateExportJob = "CreateExportJob"
205
206// CreateExportJobRequest generates a "aws/request.Request" representing the
207// client's request for the CreateExportJob operation. The "output" return
208// value will be populated with the request's response once the request completes
209// successfully.
210//
211// Use "Send" method on the returned Request to send the API call to the service.
212// the "output" return value is not valid until after Send returns without error.
213//
214// See CreateExportJob for more information on using the CreateExportJob
215// API call, and error handling.
216//
217// This method is useful when you want to inject custom logic or configuration
218// into the SDK's request lifecycle. Such as custom headers, or retry logic.
219//
220//
221//    // Example sending a request using the CreateExportJobRequest method.
222//    req, resp := client.CreateExportJobRequest(params)
223//
224//    err := req.Send()
225//    if err == nil { // resp is now filled
226//        fmt.Println(resp)
227//    }
228//
229// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateExportJob
230func (c *Pinpoint) CreateExportJobRequest(input *CreateExportJobInput) (req *request.Request, output *CreateExportJobOutput) {
231	op := &request.Operation{
232		Name:       opCreateExportJob,
233		HTTPMethod: "POST",
234		HTTPPath:   "/v1/apps/{application-id}/jobs/export",
235	}
236
237	if input == nil {
238		input = &CreateExportJobInput{}
239	}
240
241	output = &CreateExportJobOutput{}
242	req = c.newRequest(op, input, output)
243	return
244}
245
246// CreateExportJob API operation for Amazon Pinpoint.
247//
248// Creates a new export job for an application.
249//
250// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
251// with awserr.Error's Code and Message methods to get detailed information about
252// the error.
253//
254// See the AWS API reference guide for Amazon Pinpoint's
255// API operation CreateExportJob for usage and error information.
256//
257// Returned Error Codes:
258//   * ErrCodeBadRequestException "BadRequestException"
259//   Provides information about an API request or response.
260//
261//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
262//   Provides information about an API request or response.
263//
264//   * ErrCodeForbiddenException "ForbiddenException"
265//   Provides information about an API request or response.
266//
267//   * ErrCodeNotFoundException "NotFoundException"
268//   Provides information about an API request or response.
269//
270//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
271//   Provides information about an API request or response.
272//
273//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
274//   Provides information about an API request or response.
275//
276// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateExportJob
277func (c *Pinpoint) CreateExportJob(input *CreateExportJobInput) (*CreateExportJobOutput, error) {
278	req, out := c.CreateExportJobRequest(input)
279	return out, req.Send()
280}
281
282// CreateExportJobWithContext is the same as CreateExportJob with the addition of
283// the ability to pass a context and additional request options.
284//
285// See CreateExportJob for details on how to use this API operation.
286//
287// The context must be non-nil and will be used for request cancellation. If
288// the context is nil a panic will occur. In the future the SDK may create
289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
290// for more information on using Contexts.
291func (c *Pinpoint) CreateExportJobWithContext(ctx aws.Context, input *CreateExportJobInput, opts ...request.Option) (*CreateExportJobOutput, error) {
292	req, out := c.CreateExportJobRequest(input)
293	req.SetContext(ctx)
294	req.ApplyOptions(opts...)
295	return out, req.Send()
296}
297
298const opCreateImportJob = "CreateImportJob"
299
300// CreateImportJobRequest generates a "aws/request.Request" representing the
301// client's request for the CreateImportJob operation. The "output" return
302// value will be populated with the request's response once the request completes
303// successfully.
304//
305// Use "Send" method on the returned Request to send the API call to the service.
306// the "output" return value is not valid until after Send returns without error.
307//
308// See CreateImportJob for more information on using the CreateImportJob
309// API call, and error handling.
310//
311// This method is useful when you want to inject custom logic or configuration
312// into the SDK's request lifecycle. Such as custom headers, or retry logic.
313//
314//
315//    // Example sending a request using the CreateImportJobRequest method.
316//    req, resp := client.CreateImportJobRequest(params)
317//
318//    err := req.Send()
319//    if err == nil { // resp is now filled
320//        fmt.Println(resp)
321//    }
322//
323// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateImportJob
324func (c *Pinpoint) CreateImportJobRequest(input *CreateImportJobInput) (req *request.Request, output *CreateImportJobOutput) {
325	op := &request.Operation{
326		Name:       opCreateImportJob,
327		HTTPMethod: "POST",
328		HTTPPath:   "/v1/apps/{application-id}/jobs/import",
329	}
330
331	if input == nil {
332		input = &CreateImportJobInput{}
333	}
334
335	output = &CreateImportJobOutput{}
336	req = c.newRequest(op, input, output)
337	return
338}
339
340// CreateImportJob API operation for Amazon Pinpoint.
341//
342// Creates a new import job for an application.
343//
344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
345// with awserr.Error's Code and Message methods to get detailed information about
346// the error.
347//
348// See the AWS API reference guide for Amazon Pinpoint's
349// API operation CreateImportJob for usage and error information.
350//
351// Returned Error Codes:
352//   * ErrCodeBadRequestException "BadRequestException"
353//   Provides information about an API request or response.
354//
355//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
356//   Provides information about an API request or response.
357//
358//   * ErrCodeForbiddenException "ForbiddenException"
359//   Provides information about an API request or response.
360//
361//   * ErrCodeNotFoundException "NotFoundException"
362//   Provides information about an API request or response.
363//
364//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
365//   Provides information about an API request or response.
366//
367//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
368//   Provides information about an API request or response.
369//
370// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateImportJob
371func (c *Pinpoint) CreateImportJob(input *CreateImportJobInput) (*CreateImportJobOutput, error) {
372	req, out := c.CreateImportJobRequest(input)
373	return out, req.Send()
374}
375
376// CreateImportJobWithContext is the same as CreateImportJob with the addition of
377// the ability to pass a context and additional request options.
378//
379// See CreateImportJob for details on how to use this API operation.
380//
381// The context must be non-nil and will be used for request cancellation. If
382// the context is nil a panic will occur. In the future the SDK may create
383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
384// for more information on using Contexts.
385func (c *Pinpoint) CreateImportJobWithContext(ctx aws.Context, input *CreateImportJobInput, opts ...request.Option) (*CreateImportJobOutput, error) {
386	req, out := c.CreateImportJobRequest(input)
387	req.SetContext(ctx)
388	req.ApplyOptions(opts...)
389	return out, req.Send()
390}
391
392const opCreateSegment = "CreateSegment"
393
394// CreateSegmentRequest generates a "aws/request.Request" representing the
395// client's request for the CreateSegment operation. The "output" return
396// value will be populated with the request's response once the request completes
397// successfully.
398//
399// Use "Send" method on the returned Request to send the API call to the service.
400// the "output" return value is not valid until after Send returns without error.
401//
402// See CreateSegment for more information on using the CreateSegment
403// API call, and error handling.
404//
405// This method is useful when you want to inject custom logic or configuration
406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
407//
408//
409//    // Example sending a request using the CreateSegmentRequest method.
410//    req, resp := client.CreateSegmentRequest(params)
411//
412//    err := req.Send()
413//    if err == nil { // resp is now filled
414//        fmt.Println(resp)
415//    }
416//
417// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSegment
418func (c *Pinpoint) CreateSegmentRequest(input *CreateSegmentInput) (req *request.Request, output *CreateSegmentOutput) {
419	op := &request.Operation{
420		Name:       opCreateSegment,
421		HTTPMethod: "POST",
422		HTTPPath:   "/v1/apps/{application-id}/segments",
423	}
424
425	if input == nil {
426		input = &CreateSegmentInput{}
427	}
428
429	output = &CreateSegmentOutput{}
430	req = c.newRequest(op, input, output)
431	return
432}
433
434// CreateSegment API operation for Amazon Pinpoint.
435//
436// Creates a new segment for an application or updates the configuration, dimension,
437// and other settings for an existing segment that's associated with an application.
438//
439// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
440// with awserr.Error's Code and Message methods to get detailed information about
441// the error.
442//
443// See the AWS API reference guide for Amazon Pinpoint's
444// API operation CreateSegment for usage and error information.
445//
446// Returned Error Codes:
447//   * ErrCodeBadRequestException "BadRequestException"
448//   Provides information about an API request or response.
449//
450//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
451//   Provides information about an API request or response.
452//
453//   * ErrCodeForbiddenException "ForbiddenException"
454//   Provides information about an API request or response.
455//
456//   * ErrCodeNotFoundException "NotFoundException"
457//   Provides information about an API request or response.
458//
459//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
460//   Provides information about an API request or response.
461//
462//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
463//   Provides information about an API request or response.
464//
465// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateSegment
466func (c *Pinpoint) CreateSegment(input *CreateSegmentInput) (*CreateSegmentOutput, error) {
467	req, out := c.CreateSegmentRequest(input)
468	return out, req.Send()
469}
470
471// CreateSegmentWithContext is the same as CreateSegment with the addition of
472// the ability to pass a context and additional request options.
473//
474// See CreateSegment for details on how to use this API operation.
475//
476// The context must be non-nil and will be used for request cancellation. If
477// the context is nil a panic will occur. In the future the SDK may create
478// sub-contexts for http.Requests. See https://golang.org/pkg/context/
479// for more information on using Contexts.
480func (c *Pinpoint) CreateSegmentWithContext(ctx aws.Context, input *CreateSegmentInput, opts ...request.Option) (*CreateSegmentOutput, error) {
481	req, out := c.CreateSegmentRequest(input)
482	req.SetContext(ctx)
483	req.ApplyOptions(opts...)
484	return out, req.Send()
485}
486
487const opDeleteAdmChannel = "DeleteAdmChannel"
488
489// DeleteAdmChannelRequest generates a "aws/request.Request" representing the
490// client's request for the DeleteAdmChannel operation. The "output" return
491// value will be populated with the request's response once the request completes
492// successfully.
493//
494// Use "Send" method on the returned Request to send the API call to the service.
495// the "output" return value is not valid until after Send returns without error.
496//
497// See DeleteAdmChannel for more information on using the DeleteAdmChannel
498// API call, and error handling.
499//
500// This method is useful when you want to inject custom logic or configuration
501// into the SDK's request lifecycle. Such as custom headers, or retry logic.
502//
503//
504//    // Example sending a request using the DeleteAdmChannelRequest method.
505//    req, resp := client.DeleteAdmChannelRequest(params)
506//
507//    err := req.Send()
508//    if err == nil { // resp is now filled
509//        fmt.Println(resp)
510//    }
511//
512// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAdmChannel
513func (c *Pinpoint) DeleteAdmChannelRequest(input *DeleteAdmChannelInput) (req *request.Request, output *DeleteAdmChannelOutput) {
514	op := &request.Operation{
515		Name:       opDeleteAdmChannel,
516		HTTPMethod: "DELETE",
517		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
518	}
519
520	if input == nil {
521		input = &DeleteAdmChannelInput{}
522	}
523
524	output = &DeleteAdmChannelOutput{}
525	req = c.newRequest(op, input, output)
526	return
527}
528
529// DeleteAdmChannel API operation for Amazon Pinpoint.
530//
531// Disables the ADM channel for an application and deletes any existing settings
532// for the channel.
533//
534// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
535// with awserr.Error's Code and Message methods to get detailed information about
536// the error.
537//
538// See the AWS API reference guide for Amazon Pinpoint's
539// API operation DeleteAdmChannel for usage and error information.
540//
541// Returned Error Codes:
542//   * ErrCodeBadRequestException "BadRequestException"
543//   Provides information about an API request or response.
544//
545//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
546//   Provides information about an API request or response.
547//
548//   * ErrCodeForbiddenException "ForbiddenException"
549//   Provides information about an API request or response.
550//
551//   * ErrCodeNotFoundException "NotFoundException"
552//   Provides information about an API request or response.
553//
554//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
555//   Provides information about an API request or response.
556//
557//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
558//   Provides information about an API request or response.
559//
560// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteAdmChannel
561func (c *Pinpoint) DeleteAdmChannel(input *DeleteAdmChannelInput) (*DeleteAdmChannelOutput, error) {
562	req, out := c.DeleteAdmChannelRequest(input)
563	return out, req.Send()
564}
565
566// DeleteAdmChannelWithContext is the same as DeleteAdmChannel with the addition of
567// the ability to pass a context and additional request options.
568//
569// See DeleteAdmChannel for details on how to use this API operation.
570//
571// The context must be non-nil and will be used for request cancellation. If
572// the context is nil a panic will occur. In the future the SDK may create
573// sub-contexts for http.Requests. See https://golang.org/pkg/context/
574// for more information on using Contexts.
575func (c *Pinpoint) DeleteAdmChannelWithContext(ctx aws.Context, input *DeleteAdmChannelInput, opts ...request.Option) (*DeleteAdmChannelOutput, error) {
576	req, out := c.DeleteAdmChannelRequest(input)
577	req.SetContext(ctx)
578	req.ApplyOptions(opts...)
579	return out, req.Send()
580}
581
582const opDeleteApnsChannel = "DeleteApnsChannel"
583
584// DeleteApnsChannelRequest generates a "aws/request.Request" representing the
585// client's request for the DeleteApnsChannel operation. The "output" return
586// value will be populated with the request's response once the request completes
587// successfully.
588//
589// Use "Send" method on the returned Request to send the API call to the service.
590// the "output" return value is not valid until after Send returns without error.
591//
592// See DeleteApnsChannel for more information on using the DeleteApnsChannel
593// API call, and error handling.
594//
595// This method is useful when you want to inject custom logic or configuration
596// into the SDK's request lifecycle. Such as custom headers, or retry logic.
597//
598//
599//    // Example sending a request using the DeleteApnsChannelRequest method.
600//    req, resp := client.DeleteApnsChannelRequest(params)
601//
602//    err := req.Send()
603//    if err == nil { // resp is now filled
604//        fmt.Println(resp)
605//    }
606//
607// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsChannel
608func (c *Pinpoint) DeleteApnsChannelRequest(input *DeleteApnsChannelInput) (req *request.Request, output *DeleteApnsChannelOutput) {
609	op := &request.Operation{
610		Name:       opDeleteApnsChannel,
611		HTTPMethod: "DELETE",
612		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
613	}
614
615	if input == nil {
616		input = &DeleteApnsChannelInput{}
617	}
618
619	output = &DeleteApnsChannelOutput{}
620	req = c.newRequest(op, input, output)
621	return
622}
623
624// DeleteApnsChannel API operation for Amazon Pinpoint.
625//
626// Disables the APNs channel for an application and deletes any existing settings
627// for the channel.
628//
629// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
630// with awserr.Error's Code and Message methods to get detailed information about
631// the error.
632//
633// See the AWS API reference guide for Amazon Pinpoint's
634// API operation DeleteApnsChannel for usage and error information.
635//
636// Returned Error Codes:
637//   * ErrCodeBadRequestException "BadRequestException"
638//   Provides information about an API request or response.
639//
640//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
641//   Provides information about an API request or response.
642//
643//   * ErrCodeForbiddenException "ForbiddenException"
644//   Provides information about an API request or response.
645//
646//   * ErrCodeNotFoundException "NotFoundException"
647//   Provides information about an API request or response.
648//
649//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
650//   Provides information about an API request or response.
651//
652//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
653//   Provides information about an API request or response.
654//
655// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsChannel
656func (c *Pinpoint) DeleteApnsChannel(input *DeleteApnsChannelInput) (*DeleteApnsChannelOutput, error) {
657	req, out := c.DeleteApnsChannelRequest(input)
658	return out, req.Send()
659}
660
661// DeleteApnsChannelWithContext is the same as DeleteApnsChannel with the addition of
662// the ability to pass a context and additional request options.
663//
664// See DeleteApnsChannel for details on how to use this API operation.
665//
666// The context must be non-nil and will be used for request cancellation. If
667// the context is nil a panic will occur. In the future the SDK may create
668// sub-contexts for http.Requests. See https://golang.org/pkg/context/
669// for more information on using Contexts.
670func (c *Pinpoint) DeleteApnsChannelWithContext(ctx aws.Context, input *DeleteApnsChannelInput, opts ...request.Option) (*DeleteApnsChannelOutput, error) {
671	req, out := c.DeleteApnsChannelRequest(input)
672	req.SetContext(ctx)
673	req.ApplyOptions(opts...)
674	return out, req.Send()
675}
676
677const opDeleteApnsSandboxChannel = "DeleteApnsSandboxChannel"
678
679// DeleteApnsSandboxChannelRequest generates a "aws/request.Request" representing the
680// client's request for the DeleteApnsSandboxChannel operation. The "output" return
681// value will be populated with the request's response once the request completes
682// successfully.
683//
684// Use "Send" method on the returned Request to send the API call to the service.
685// the "output" return value is not valid until after Send returns without error.
686//
687// See DeleteApnsSandboxChannel for more information on using the DeleteApnsSandboxChannel
688// API call, and error handling.
689//
690// This method is useful when you want to inject custom logic or configuration
691// into the SDK's request lifecycle. Such as custom headers, or retry logic.
692//
693//
694//    // Example sending a request using the DeleteApnsSandboxChannelRequest method.
695//    req, resp := client.DeleteApnsSandboxChannelRequest(params)
696//
697//    err := req.Send()
698//    if err == nil { // resp is now filled
699//        fmt.Println(resp)
700//    }
701//
702// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsSandboxChannel
703func (c *Pinpoint) DeleteApnsSandboxChannelRequest(input *DeleteApnsSandboxChannelInput) (req *request.Request, output *DeleteApnsSandboxChannelOutput) {
704	op := &request.Operation{
705		Name:       opDeleteApnsSandboxChannel,
706		HTTPMethod: "DELETE",
707		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
708	}
709
710	if input == nil {
711		input = &DeleteApnsSandboxChannelInput{}
712	}
713
714	output = &DeleteApnsSandboxChannelOutput{}
715	req = c.newRequest(op, input, output)
716	return
717}
718
719// DeleteApnsSandboxChannel API operation for Amazon Pinpoint.
720//
721// Disables the APNs sandbox channel for an application and deletes any existing
722// settings for the channel.
723//
724// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
725// with awserr.Error's Code and Message methods to get detailed information about
726// the error.
727//
728// See the AWS API reference guide for Amazon Pinpoint's
729// API operation DeleteApnsSandboxChannel for usage and error information.
730//
731// Returned Error Codes:
732//   * ErrCodeBadRequestException "BadRequestException"
733//   Provides information about an API request or response.
734//
735//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
736//   Provides information about an API request or response.
737//
738//   * ErrCodeForbiddenException "ForbiddenException"
739//   Provides information about an API request or response.
740//
741//   * ErrCodeNotFoundException "NotFoundException"
742//   Provides information about an API request or response.
743//
744//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
745//   Provides information about an API request or response.
746//
747//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
748//   Provides information about an API request or response.
749//
750// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsSandboxChannel
751func (c *Pinpoint) DeleteApnsSandboxChannel(input *DeleteApnsSandboxChannelInput) (*DeleteApnsSandboxChannelOutput, error) {
752	req, out := c.DeleteApnsSandboxChannelRequest(input)
753	return out, req.Send()
754}
755
756// DeleteApnsSandboxChannelWithContext is the same as DeleteApnsSandboxChannel with the addition of
757// the ability to pass a context and additional request options.
758//
759// See DeleteApnsSandboxChannel for details on how to use this API operation.
760//
761// The context must be non-nil and will be used for request cancellation. If
762// the context is nil a panic will occur. In the future the SDK may create
763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
764// for more information on using Contexts.
765func (c *Pinpoint) DeleteApnsSandboxChannelWithContext(ctx aws.Context, input *DeleteApnsSandboxChannelInput, opts ...request.Option) (*DeleteApnsSandboxChannelOutput, error) {
766	req, out := c.DeleteApnsSandboxChannelRequest(input)
767	req.SetContext(ctx)
768	req.ApplyOptions(opts...)
769	return out, req.Send()
770}
771
772const opDeleteApnsVoipChannel = "DeleteApnsVoipChannel"
773
774// DeleteApnsVoipChannelRequest generates a "aws/request.Request" representing the
775// client's request for the DeleteApnsVoipChannel operation. The "output" return
776// value will be populated with the request's response once the request completes
777// successfully.
778//
779// Use "Send" method on the returned Request to send the API call to the service.
780// the "output" return value is not valid until after Send returns without error.
781//
782// See DeleteApnsVoipChannel for more information on using the DeleteApnsVoipChannel
783// API call, and error handling.
784//
785// This method is useful when you want to inject custom logic or configuration
786// into the SDK's request lifecycle. Such as custom headers, or retry logic.
787//
788//
789//    // Example sending a request using the DeleteApnsVoipChannelRequest method.
790//    req, resp := client.DeleteApnsVoipChannelRequest(params)
791//
792//    err := req.Send()
793//    if err == nil { // resp is now filled
794//        fmt.Println(resp)
795//    }
796//
797// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipChannel
798func (c *Pinpoint) DeleteApnsVoipChannelRequest(input *DeleteApnsVoipChannelInput) (req *request.Request, output *DeleteApnsVoipChannelOutput) {
799	op := &request.Operation{
800		Name:       opDeleteApnsVoipChannel,
801		HTTPMethod: "DELETE",
802		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
803	}
804
805	if input == nil {
806		input = &DeleteApnsVoipChannelInput{}
807	}
808
809	output = &DeleteApnsVoipChannelOutput{}
810	req = c.newRequest(op, input, output)
811	return
812}
813
814// DeleteApnsVoipChannel API operation for Amazon Pinpoint.
815//
816// Disables the APNs VoIP channel for an application and deletes any existing
817// settings for the channel.
818//
819// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
820// with awserr.Error's Code and Message methods to get detailed information about
821// the error.
822//
823// See the AWS API reference guide for Amazon Pinpoint's
824// API operation DeleteApnsVoipChannel for usage and error information.
825//
826// Returned Error Codes:
827//   * ErrCodeBadRequestException "BadRequestException"
828//   Provides information about an API request or response.
829//
830//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
831//   Provides information about an API request or response.
832//
833//   * ErrCodeForbiddenException "ForbiddenException"
834//   Provides information about an API request or response.
835//
836//   * ErrCodeNotFoundException "NotFoundException"
837//   Provides information about an API request or response.
838//
839//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
840//   Provides information about an API request or response.
841//
842//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
843//   Provides information about an API request or response.
844//
845// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipChannel
846func (c *Pinpoint) DeleteApnsVoipChannel(input *DeleteApnsVoipChannelInput) (*DeleteApnsVoipChannelOutput, error) {
847	req, out := c.DeleteApnsVoipChannelRequest(input)
848	return out, req.Send()
849}
850
851// DeleteApnsVoipChannelWithContext is the same as DeleteApnsVoipChannel with the addition of
852// the ability to pass a context and additional request options.
853//
854// See DeleteApnsVoipChannel for details on how to use this API operation.
855//
856// The context must be non-nil and will be used for request cancellation. If
857// the context is nil a panic will occur. In the future the SDK may create
858// sub-contexts for http.Requests. See https://golang.org/pkg/context/
859// for more information on using Contexts.
860func (c *Pinpoint) DeleteApnsVoipChannelWithContext(ctx aws.Context, input *DeleteApnsVoipChannelInput, opts ...request.Option) (*DeleteApnsVoipChannelOutput, error) {
861	req, out := c.DeleteApnsVoipChannelRequest(input)
862	req.SetContext(ctx)
863	req.ApplyOptions(opts...)
864	return out, req.Send()
865}
866
867const opDeleteApnsVoipSandboxChannel = "DeleteApnsVoipSandboxChannel"
868
869// DeleteApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
870// client's request for the DeleteApnsVoipSandboxChannel operation. The "output" return
871// value will be populated with the request's response once the request completes
872// successfully.
873//
874// Use "Send" method on the returned Request to send the API call to the service.
875// the "output" return value is not valid until after Send returns without error.
876//
877// See DeleteApnsVoipSandboxChannel for more information on using the DeleteApnsVoipSandboxChannel
878// API call, and error handling.
879//
880// This method is useful when you want to inject custom logic or configuration
881// into the SDK's request lifecycle. Such as custom headers, or retry logic.
882//
883//
884//    // Example sending a request using the DeleteApnsVoipSandboxChannelRequest method.
885//    req, resp := client.DeleteApnsVoipSandboxChannelRequest(params)
886//
887//    err := req.Send()
888//    if err == nil { // resp is now filled
889//        fmt.Println(resp)
890//    }
891//
892// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipSandboxChannel
893func (c *Pinpoint) DeleteApnsVoipSandboxChannelRequest(input *DeleteApnsVoipSandboxChannelInput) (req *request.Request, output *DeleteApnsVoipSandboxChannelOutput) {
894	op := &request.Operation{
895		Name:       opDeleteApnsVoipSandboxChannel,
896		HTTPMethod: "DELETE",
897		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
898	}
899
900	if input == nil {
901		input = &DeleteApnsVoipSandboxChannelInput{}
902	}
903
904	output = &DeleteApnsVoipSandboxChannelOutput{}
905	req = c.newRequest(op, input, output)
906	return
907}
908
909// DeleteApnsVoipSandboxChannel API operation for Amazon Pinpoint.
910//
911// Disables the APNs VoIP sandbox channel for an application and deletes any
912// existing settings for the channel.
913//
914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
915// with awserr.Error's Code and Message methods to get detailed information about
916// the error.
917//
918// See the AWS API reference guide for Amazon Pinpoint's
919// API operation DeleteApnsVoipSandboxChannel for usage and error information.
920//
921// Returned Error Codes:
922//   * ErrCodeBadRequestException "BadRequestException"
923//   Provides information about an API request or response.
924//
925//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
926//   Provides information about an API request or response.
927//
928//   * ErrCodeForbiddenException "ForbiddenException"
929//   Provides information about an API request or response.
930//
931//   * ErrCodeNotFoundException "NotFoundException"
932//   Provides information about an API request or response.
933//
934//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
935//   Provides information about an API request or response.
936//
937//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
938//   Provides information about an API request or response.
939//
940// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipSandboxChannel
941func (c *Pinpoint) DeleteApnsVoipSandboxChannel(input *DeleteApnsVoipSandboxChannelInput) (*DeleteApnsVoipSandboxChannelOutput, error) {
942	req, out := c.DeleteApnsVoipSandboxChannelRequest(input)
943	return out, req.Send()
944}
945
946// DeleteApnsVoipSandboxChannelWithContext is the same as DeleteApnsVoipSandboxChannel with the addition of
947// the ability to pass a context and additional request options.
948//
949// See DeleteApnsVoipSandboxChannel for details on how to use this API operation.
950//
951// The context must be non-nil and will be used for request cancellation. If
952// the context is nil a panic will occur. In the future the SDK may create
953// sub-contexts for http.Requests. See https://golang.org/pkg/context/
954// for more information on using Contexts.
955func (c *Pinpoint) DeleteApnsVoipSandboxChannelWithContext(ctx aws.Context, input *DeleteApnsVoipSandboxChannelInput, opts ...request.Option) (*DeleteApnsVoipSandboxChannelOutput, error) {
956	req, out := c.DeleteApnsVoipSandboxChannelRequest(input)
957	req.SetContext(ctx)
958	req.ApplyOptions(opts...)
959	return out, req.Send()
960}
961
962const opDeleteApp = "DeleteApp"
963
964// DeleteAppRequest generates a "aws/request.Request" representing the
965// client's request for the DeleteApp operation. The "output" return
966// value will be populated with the request's response once the request completes
967// successfully.
968//
969// Use "Send" method on the returned Request to send the API call to the service.
970// the "output" return value is not valid until after Send returns without error.
971//
972// See DeleteApp for more information on using the DeleteApp
973// API call, and error handling.
974//
975// This method is useful when you want to inject custom logic or configuration
976// into the SDK's request lifecycle. Such as custom headers, or retry logic.
977//
978//
979//    // Example sending a request using the DeleteAppRequest method.
980//    req, resp := client.DeleteAppRequest(params)
981//
982//    err := req.Send()
983//    if err == nil { // resp is now filled
984//        fmt.Println(resp)
985//    }
986//
987// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApp
988func (c *Pinpoint) DeleteAppRequest(input *DeleteAppInput) (req *request.Request, output *DeleteAppOutput) {
989	op := &request.Operation{
990		Name:       opDeleteApp,
991		HTTPMethod: "DELETE",
992		HTTPPath:   "/v1/apps/{application-id}",
993	}
994
995	if input == nil {
996		input = &DeleteAppInput{}
997	}
998
999	output = &DeleteAppOutput{}
1000	req = c.newRequest(op, input, output)
1001	return
1002}
1003
1004// DeleteApp API operation for Amazon Pinpoint.
1005//
1006// Deletes an application.
1007//
1008// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1009// with awserr.Error's Code and Message methods to get detailed information about
1010// the error.
1011//
1012// See the AWS API reference guide for Amazon Pinpoint's
1013// API operation DeleteApp for usage and error information.
1014//
1015// Returned Error Codes:
1016//   * ErrCodeBadRequestException "BadRequestException"
1017//   Provides information about an API request or response.
1018//
1019//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1020//   Provides information about an API request or response.
1021//
1022//   * ErrCodeForbiddenException "ForbiddenException"
1023//   Provides information about an API request or response.
1024//
1025//   * ErrCodeNotFoundException "NotFoundException"
1026//   Provides information about an API request or response.
1027//
1028//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1029//   Provides information about an API request or response.
1030//
1031//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1032//   Provides information about an API request or response.
1033//
1034// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApp
1035func (c *Pinpoint) DeleteApp(input *DeleteAppInput) (*DeleteAppOutput, error) {
1036	req, out := c.DeleteAppRequest(input)
1037	return out, req.Send()
1038}
1039
1040// DeleteAppWithContext is the same as DeleteApp with the addition of
1041// the ability to pass a context and additional request options.
1042//
1043// See DeleteApp for details on how to use this API operation.
1044//
1045// The context must be non-nil and will be used for request cancellation. If
1046// the context is nil a panic will occur. In the future the SDK may create
1047// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1048// for more information on using Contexts.
1049func (c *Pinpoint) DeleteAppWithContext(ctx aws.Context, input *DeleteAppInput, opts ...request.Option) (*DeleteAppOutput, error) {
1050	req, out := c.DeleteAppRequest(input)
1051	req.SetContext(ctx)
1052	req.ApplyOptions(opts...)
1053	return out, req.Send()
1054}
1055
1056const opDeleteBaiduChannel = "DeleteBaiduChannel"
1057
1058// DeleteBaiduChannelRequest generates a "aws/request.Request" representing the
1059// client's request for the DeleteBaiduChannel operation. The "output" return
1060// value will be populated with the request's response once the request completes
1061// successfully.
1062//
1063// Use "Send" method on the returned Request to send the API call to the service.
1064// the "output" return value is not valid until after Send returns without error.
1065//
1066// See DeleteBaiduChannel for more information on using the DeleteBaiduChannel
1067// API call, and error handling.
1068//
1069// This method is useful when you want to inject custom logic or configuration
1070// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1071//
1072//
1073//    // Example sending a request using the DeleteBaiduChannelRequest method.
1074//    req, resp := client.DeleteBaiduChannelRequest(params)
1075//
1076//    err := req.Send()
1077//    if err == nil { // resp is now filled
1078//        fmt.Println(resp)
1079//    }
1080//
1081// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteBaiduChannel
1082func (c *Pinpoint) DeleteBaiduChannelRequest(input *DeleteBaiduChannelInput) (req *request.Request, output *DeleteBaiduChannelOutput) {
1083	op := &request.Operation{
1084		Name:       opDeleteBaiduChannel,
1085		HTTPMethod: "DELETE",
1086		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
1087	}
1088
1089	if input == nil {
1090		input = &DeleteBaiduChannelInput{}
1091	}
1092
1093	output = &DeleteBaiduChannelOutput{}
1094	req = c.newRequest(op, input, output)
1095	return
1096}
1097
1098// DeleteBaiduChannel API operation for Amazon Pinpoint.
1099//
1100// Disables the Baidu channel for an application and deletes any existing settings
1101// for the channel.
1102//
1103// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1104// with awserr.Error's Code and Message methods to get detailed information about
1105// the error.
1106//
1107// See the AWS API reference guide for Amazon Pinpoint's
1108// API operation DeleteBaiduChannel for usage and error information.
1109//
1110// Returned Error Codes:
1111//   * ErrCodeBadRequestException "BadRequestException"
1112//   Provides information about an API request or response.
1113//
1114//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1115//   Provides information about an API request or response.
1116//
1117//   * ErrCodeForbiddenException "ForbiddenException"
1118//   Provides information about an API request or response.
1119//
1120//   * ErrCodeNotFoundException "NotFoundException"
1121//   Provides information about an API request or response.
1122//
1123//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1124//   Provides information about an API request or response.
1125//
1126//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1127//   Provides information about an API request or response.
1128//
1129// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteBaiduChannel
1130func (c *Pinpoint) DeleteBaiduChannel(input *DeleteBaiduChannelInput) (*DeleteBaiduChannelOutput, error) {
1131	req, out := c.DeleteBaiduChannelRequest(input)
1132	return out, req.Send()
1133}
1134
1135// DeleteBaiduChannelWithContext is the same as DeleteBaiduChannel with the addition of
1136// the ability to pass a context and additional request options.
1137//
1138// See DeleteBaiduChannel for details on how to use this API operation.
1139//
1140// The context must be non-nil and will be used for request cancellation. If
1141// the context is nil a panic will occur. In the future the SDK may create
1142// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1143// for more information on using Contexts.
1144func (c *Pinpoint) DeleteBaiduChannelWithContext(ctx aws.Context, input *DeleteBaiduChannelInput, opts ...request.Option) (*DeleteBaiduChannelOutput, error) {
1145	req, out := c.DeleteBaiduChannelRequest(input)
1146	req.SetContext(ctx)
1147	req.ApplyOptions(opts...)
1148	return out, req.Send()
1149}
1150
1151const opDeleteCampaign = "DeleteCampaign"
1152
1153// DeleteCampaignRequest generates a "aws/request.Request" representing the
1154// client's request for the DeleteCampaign operation. The "output" return
1155// value will be populated with the request's response once the request completes
1156// successfully.
1157//
1158// Use "Send" method on the returned Request to send the API call to the service.
1159// the "output" return value is not valid until after Send returns without error.
1160//
1161// See DeleteCampaign for more information on using the DeleteCampaign
1162// API call, and error handling.
1163//
1164// This method is useful when you want to inject custom logic or configuration
1165// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1166//
1167//
1168//    // Example sending a request using the DeleteCampaignRequest method.
1169//    req, resp := client.DeleteCampaignRequest(params)
1170//
1171//    err := req.Send()
1172//    if err == nil { // resp is now filled
1173//        fmt.Println(resp)
1174//    }
1175//
1176// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteCampaign
1177func (c *Pinpoint) DeleteCampaignRequest(input *DeleteCampaignInput) (req *request.Request, output *DeleteCampaignOutput) {
1178	op := &request.Operation{
1179		Name:       opDeleteCampaign,
1180		HTTPMethod: "DELETE",
1181		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
1182	}
1183
1184	if input == nil {
1185		input = &DeleteCampaignInput{}
1186	}
1187
1188	output = &DeleteCampaignOutput{}
1189	req = c.newRequest(op, input, output)
1190	return
1191}
1192
1193// DeleteCampaign API operation for Amazon Pinpoint.
1194//
1195// Deletes a campaign from an application.
1196//
1197// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1198// with awserr.Error's Code and Message methods to get detailed information about
1199// the error.
1200//
1201// See the AWS API reference guide for Amazon Pinpoint's
1202// API operation DeleteCampaign for usage and error information.
1203//
1204// Returned Error Codes:
1205//   * ErrCodeBadRequestException "BadRequestException"
1206//   Provides information about an API request or response.
1207//
1208//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1209//   Provides information about an API request or response.
1210//
1211//   * ErrCodeForbiddenException "ForbiddenException"
1212//   Provides information about an API request or response.
1213//
1214//   * ErrCodeNotFoundException "NotFoundException"
1215//   Provides information about an API request or response.
1216//
1217//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1218//   Provides information about an API request or response.
1219//
1220//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1221//   Provides information about an API request or response.
1222//
1223// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteCampaign
1224func (c *Pinpoint) DeleteCampaign(input *DeleteCampaignInput) (*DeleteCampaignOutput, error) {
1225	req, out := c.DeleteCampaignRequest(input)
1226	return out, req.Send()
1227}
1228
1229// DeleteCampaignWithContext is the same as DeleteCampaign with the addition of
1230// the ability to pass a context and additional request options.
1231//
1232// See DeleteCampaign for details on how to use this API operation.
1233//
1234// The context must be non-nil and will be used for request cancellation. If
1235// the context is nil a panic will occur. In the future the SDK may create
1236// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1237// for more information on using Contexts.
1238func (c *Pinpoint) DeleteCampaignWithContext(ctx aws.Context, input *DeleteCampaignInput, opts ...request.Option) (*DeleteCampaignOutput, error) {
1239	req, out := c.DeleteCampaignRequest(input)
1240	req.SetContext(ctx)
1241	req.ApplyOptions(opts...)
1242	return out, req.Send()
1243}
1244
1245const opDeleteEmailChannel = "DeleteEmailChannel"
1246
1247// DeleteEmailChannelRequest generates a "aws/request.Request" representing the
1248// client's request for the DeleteEmailChannel operation. The "output" return
1249// value will be populated with the request's response once the request completes
1250// successfully.
1251//
1252// Use "Send" method on the returned Request to send the API call to the service.
1253// the "output" return value is not valid until after Send returns without error.
1254//
1255// See DeleteEmailChannel for more information on using the DeleteEmailChannel
1256// API call, and error handling.
1257//
1258// This method is useful when you want to inject custom logic or configuration
1259// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1260//
1261//
1262//    // Example sending a request using the DeleteEmailChannelRequest method.
1263//    req, resp := client.DeleteEmailChannelRequest(params)
1264//
1265//    err := req.Send()
1266//    if err == nil { // resp is now filled
1267//        fmt.Println(resp)
1268//    }
1269//
1270// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailChannel
1271func (c *Pinpoint) DeleteEmailChannelRequest(input *DeleteEmailChannelInput) (req *request.Request, output *DeleteEmailChannelOutput) {
1272	op := &request.Operation{
1273		Name:       opDeleteEmailChannel,
1274		HTTPMethod: "DELETE",
1275		HTTPPath:   "/v1/apps/{application-id}/channels/email",
1276	}
1277
1278	if input == nil {
1279		input = &DeleteEmailChannelInput{}
1280	}
1281
1282	output = &DeleteEmailChannelOutput{}
1283	req = c.newRequest(op, input, output)
1284	return
1285}
1286
1287// DeleteEmailChannel API operation for Amazon Pinpoint.
1288//
1289// Disables the email channel for an application and deletes any existing settings
1290// for the channel.
1291//
1292// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1293// with awserr.Error's Code and Message methods to get detailed information about
1294// the error.
1295//
1296// See the AWS API reference guide for Amazon Pinpoint's
1297// API operation DeleteEmailChannel for usage and error information.
1298//
1299// Returned Error Codes:
1300//   * ErrCodeBadRequestException "BadRequestException"
1301//   Provides information about an API request or response.
1302//
1303//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1304//   Provides information about an API request or response.
1305//
1306//   * ErrCodeForbiddenException "ForbiddenException"
1307//   Provides information about an API request or response.
1308//
1309//   * ErrCodeNotFoundException "NotFoundException"
1310//   Provides information about an API request or response.
1311//
1312//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1313//   Provides information about an API request or response.
1314//
1315//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1316//   Provides information about an API request or response.
1317//
1318// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEmailChannel
1319func (c *Pinpoint) DeleteEmailChannel(input *DeleteEmailChannelInput) (*DeleteEmailChannelOutput, error) {
1320	req, out := c.DeleteEmailChannelRequest(input)
1321	return out, req.Send()
1322}
1323
1324// DeleteEmailChannelWithContext is the same as DeleteEmailChannel with the addition of
1325// the ability to pass a context and additional request options.
1326//
1327// See DeleteEmailChannel for details on how to use this API operation.
1328//
1329// The context must be non-nil and will be used for request cancellation. If
1330// the context is nil a panic will occur. In the future the SDK may create
1331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1332// for more information on using Contexts.
1333func (c *Pinpoint) DeleteEmailChannelWithContext(ctx aws.Context, input *DeleteEmailChannelInput, opts ...request.Option) (*DeleteEmailChannelOutput, error) {
1334	req, out := c.DeleteEmailChannelRequest(input)
1335	req.SetContext(ctx)
1336	req.ApplyOptions(opts...)
1337	return out, req.Send()
1338}
1339
1340const opDeleteEndpoint = "DeleteEndpoint"
1341
1342// DeleteEndpointRequest generates a "aws/request.Request" representing the
1343// client's request for the DeleteEndpoint operation. The "output" return
1344// value will be populated with the request's response once the request completes
1345// successfully.
1346//
1347// Use "Send" method on the returned Request to send the API call to the service.
1348// the "output" return value is not valid until after Send returns without error.
1349//
1350// See DeleteEndpoint for more information on using the DeleteEndpoint
1351// API call, and error handling.
1352//
1353// This method is useful when you want to inject custom logic or configuration
1354// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1355//
1356//
1357//    // Example sending a request using the DeleteEndpointRequest method.
1358//    req, resp := client.DeleteEndpointRequest(params)
1359//
1360//    err := req.Send()
1361//    if err == nil { // resp is now filled
1362//        fmt.Println(resp)
1363//    }
1364//
1365// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEndpoint
1366func (c *Pinpoint) DeleteEndpointRequest(input *DeleteEndpointInput) (req *request.Request, output *DeleteEndpointOutput) {
1367	op := &request.Operation{
1368		Name:       opDeleteEndpoint,
1369		HTTPMethod: "DELETE",
1370		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
1371	}
1372
1373	if input == nil {
1374		input = &DeleteEndpointInput{}
1375	}
1376
1377	output = &DeleteEndpointOutput{}
1378	req = c.newRequest(op, input, output)
1379	return
1380}
1381
1382// DeleteEndpoint API operation for Amazon Pinpoint.
1383//
1384// Deletes an endpoint from an application.
1385//
1386// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1387// with awserr.Error's Code and Message methods to get detailed information about
1388// the error.
1389//
1390// See the AWS API reference guide for Amazon Pinpoint's
1391// API operation DeleteEndpoint for usage and error information.
1392//
1393// Returned Error Codes:
1394//   * ErrCodeBadRequestException "BadRequestException"
1395//   Provides information about an API request or response.
1396//
1397//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1398//   Provides information about an API request or response.
1399//
1400//   * ErrCodeForbiddenException "ForbiddenException"
1401//   Provides information about an API request or response.
1402//
1403//   * ErrCodeNotFoundException "NotFoundException"
1404//   Provides information about an API request or response.
1405//
1406//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1407//   Provides information about an API request or response.
1408//
1409//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1410//   Provides information about an API request or response.
1411//
1412// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEndpoint
1413func (c *Pinpoint) DeleteEndpoint(input *DeleteEndpointInput) (*DeleteEndpointOutput, error) {
1414	req, out := c.DeleteEndpointRequest(input)
1415	return out, req.Send()
1416}
1417
1418// DeleteEndpointWithContext is the same as DeleteEndpoint with the addition of
1419// the ability to pass a context and additional request options.
1420//
1421// See DeleteEndpoint for details on how to use this API operation.
1422//
1423// The context must be non-nil and will be used for request cancellation. If
1424// the context is nil a panic will occur. In the future the SDK may create
1425// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1426// for more information on using Contexts.
1427func (c *Pinpoint) DeleteEndpointWithContext(ctx aws.Context, input *DeleteEndpointInput, opts ...request.Option) (*DeleteEndpointOutput, error) {
1428	req, out := c.DeleteEndpointRequest(input)
1429	req.SetContext(ctx)
1430	req.ApplyOptions(opts...)
1431	return out, req.Send()
1432}
1433
1434const opDeleteEventStream = "DeleteEventStream"
1435
1436// DeleteEventStreamRequest generates a "aws/request.Request" representing the
1437// client's request for the DeleteEventStream operation. The "output" return
1438// value will be populated with the request's response once the request completes
1439// successfully.
1440//
1441// Use "Send" method on the returned Request to send the API call to the service.
1442// the "output" return value is not valid until after Send returns without error.
1443//
1444// See DeleteEventStream for more information on using the DeleteEventStream
1445// API call, and error handling.
1446//
1447// This method is useful when you want to inject custom logic or configuration
1448// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1449//
1450//
1451//    // Example sending a request using the DeleteEventStreamRequest method.
1452//    req, resp := client.DeleteEventStreamRequest(params)
1453//
1454//    err := req.Send()
1455//    if err == nil { // resp is now filled
1456//        fmt.Println(resp)
1457//    }
1458//
1459// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStream
1460func (c *Pinpoint) DeleteEventStreamRequest(input *DeleteEventStreamInput) (req *request.Request, output *DeleteEventStreamOutput) {
1461	op := &request.Operation{
1462		Name:       opDeleteEventStream,
1463		HTTPMethod: "DELETE",
1464		HTTPPath:   "/v1/apps/{application-id}/eventstream",
1465	}
1466
1467	if input == nil {
1468		input = &DeleteEventStreamInput{}
1469	}
1470
1471	output = &DeleteEventStreamOutput{}
1472	req = c.newRequest(op, input, output)
1473	return
1474}
1475
1476// DeleteEventStream API operation for Amazon Pinpoint.
1477//
1478// Deletes the event stream for an application.
1479//
1480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1481// with awserr.Error's Code and Message methods to get detailed information about
1482// the error.
1483//
1484// See the AWS API reference guide for Amazon Pinpoint's
1485// API operation DeleteEventStream for usage and error information.
1486//
1487// Returned Error Codes:
1488//   * ErrCodeBadRequestException "BadRequestException"
1489//   Provides information about an API request or response.
1490//
1491//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1492//   Provides information about an API request or response.
1493//
1494//   * ErrCodeForbiddenException "ForbiddenException"
1495//   Provides information about an API request or response.
1496//
1497//   * ErrCodeNotFoundException "NotFoundException"
1498//   Provides information about an API request or response.
1499//
1500//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1501//   Provides information about an API request or response.
1502//
1503//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1504//   Provides information about an API request or response.
1505//
1506// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteEventStream
1507func (c *Pinpoint) DeleteEventStream(input *DeleteEventStreamInput) (*DeleteEventStreamOutput, error) {
1508	req, out := c.DeleteEventStreamRequest(input)
1509	return out, req.Send()
1510}
1511
1512// DeleteEventStreamWithContext is the same as DeleteEventStream with the addition of
1513// the ability to pass a context and additional request options.
1514//
1515// See DeleteEventStream for details on how to use this API operation.
1516//
1517// The context must be non-nil and will be used for request cancellation. If
1518// the context is nil a panic will occur. In the future the SDK may create
1519// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1520// for more information on using Contexts.
1521func (c *Pinpoint) DeleteEventStreamWithContext(ctx aws.Context, input *DeleteEventStreamInput, opts ...request.Option) (*DeleteEventStreamOutput, error) {
1522	req, out := c.DeleteEventStreamRequest(input)
1523	req.SetContext(ctx)
1524	req.ApplyOptions(opts...)
1525	return out, req.Send()
1526}
1527
1528const opDeleteGcmChannel = "DeleteGcmChannel"
1529
1530// DeleteGcmChannelRequest generates a "aws/request.Request" representing the
1531// client's request for the DeleteGcmChannel operation. The "output" return
1532// value will be populated with the request's response once the request completes
1533// successfully.
1534//
1535// Use "Send" method on the returned Request to send the API call to the service.
1536// the "output" return value is not valid until after Send returns without error.
1537//
1538// See DeleteGcmChannel for more information on using the DeleteGcmChannel
1539// API call, and error handling.
1540//
1541// This method is useful when you want to inject custom logic or configuration
1542// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1543//
1544//
1545//    // Example sending a request using the DeleteGcmChannelRequest method.
1546//    req, resp := client.DeleteGcmChannelRequest(params)
1547//
1548//    err := req.Send()
1549//    if err == nil { // resp is now filled
1550//        fmt.Println(resp)
1551//    }
1552//
1553// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteGcmChannel
1554func (c *Pinpoint) DeleteGcmChannelRequest(input *DeleteGcmChannelInput) (req *request.Request, output *DeleteGcmChannelOutput) {
1555	op := &request.Operation{
1556		Name:       opDeleteGcmChannel,
1557		HTTPMethod: "DELETE",
1558		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
1559	}
1560
1561	if input == nil {
1562		input = &DeleteGcmChannelInput{}
1563	}
1564
1565	output = &DeleteGcmChannelOutput{}
1566	req = c.newRequest(op, input, output)
1567	return
1568}
1569
1570// DeleteGcmChannel API operation for Amazon Pinpoint.
1571//
1572// Disables the GCM channel for an application and deletes any existing settings
1573// for the channel.
1574//
1575// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1576// with awserr.Error's Code and Message methods to get detailed information about
1577// the error.
1578//
1579// See the AWS API reference guide for Amazon Pinpoint's
1580// API operation DeleteGcmChannel for usage and error information.
1581//
1582// Returned Error Codes:
1583//   * ErrCodeBadRequestException "BadRequestException"
1584//   Provides information about an API request or response.
1585//
1586//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1587//   Provides information about an API request or response.
1588//
1589//   * ErrCodeForbiddenException "ForbiddenException"
1590//   Provides information about an API request or response.
1591//
1592//   * ErrCodeNotFoundException "NotFoundException"
1593//   Provides information about an API request or response.
1594//
1595//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1596//   Provides information about an API request or response.
1597//
1598//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1599//   Provides information about an API request or response.
1600//
1601// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteGcmChannel
1602func (c *Pinpoint) DeleteGcmChannel(input *DeleteGcmChannelInput) (*DeleteGcmChannelOutput, error) {
1603	req, out := c.DeleteGcmChannelRequest(input)
1604	return out, req.Send()
1605}
1606
1607// DeleteGcmChannelWithContext is the same as DeleteGcmChannel with the addition of
1608// the ability to pass a context and additional request options.
1609//
1610// See DeleteGcmChannel for details on how to use this API operation.
1611//
1612// The context must be non-nil and will be used for request cancellation. If
1613// the context is nil a panic will occur. In the future the SDK may create
1614// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1615// for more information on using Contexts.
1616func (c *Pinpoint) DeleteGcmChannelWithContext(ctx aws.Context, input *DeleteGcmChannelInput, opts ...request.Option) (*DeleteGcmChannelOutput, error) {
1617	req, out := c.DeleteGcmChannelRequest(input)
1618	req.SetContext(ctx)
1619	req.ApplyOptions(opts...)
1620	return out, req.Send()
1621}
1622
1623const opDeleteSegment = "DeleteSegment"
1624
1625// DeleteSegmentRequest generates a "aws/request.Request" representing the
1626// client's request for the DeleteSegment operation. The "output" return
1627// value will be populated with the request's response once the request completes
1628// successfully.
1629//
1630// Use "Send" method on the returned Request to send the API call to the service.
1631// the "output" return value is not valid until after Send returns without error.
1632//
1633// See DeleteSegment for more information on using the DeleteSegment
1634// API call, and error handling.
1635//
1636// This method is useful when you want to inject custom logic or configuration
1637// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1638//
1639//
1640//    // Example sending a request using the DeleteSegmentRequest method.
1641//    req, resp := client.DeleteSegmentRequest(params)
1642//
1643//    err := req.Send()
1644//    if err == nil { // resp is now filled
1645//        fmt.Println(resp)
1646//    }
1647//
1648// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSegment
1649func (c *Pinpoint) DeleteSegmentRequest(input *DeleteSegmentInput) (req *request.Request, output *DeleteSegmentOutput) {
1650	op := &request.Operation{
1651		Name:       opDeleteSegment,
1652		HTTPMethod: "DELETE",
1653		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
1654	}
1655
1656	if input == nil {
1657		input = &DeleteSegmentInput{}
1658	}
1659
1660	output = &DeleteSegmentOutput{}
1661	req = c.newRequest(op, input, output)
1662	return
1663}
1664
1665// DeleteSegment API operation for Amazon Pinpoint.
1666//
1667// Deletes a segment from an application.
1668//
1669// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1670// with awserr.Error's Code and Message methods to get detailed information about
1671// the error.
1672//
1673// See the AWS API reference guide for Amazon Pinpoint's
1674// API operation DeleteSegment for usage and error information.
1675//
1676// Returned Error Codes:
1677//   * ErrCodeBadRequestException "BadRequestException"
1678//   Provides information about an API request or response.
1679//
1680//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1681//   Provides information about an API request or response.
1682//
1683//   * ErrCodeForbiddenException "ForbiddenException"
1684//   Provides information about an API request or response.
1685//
1686//   * ErrCodeNotFoundException "NotFoundException"
1687//   Provides information about an API request or response.
1688//
1689//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1690//   Provides information about an API request or response.
1691//
1692//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1693//   Provides information about an API request or response.
1694//
1695// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSegment
1696func (c *Pinpoint) DeleteSegment(input *DeleteSegmentInput) (*DeleteSegmentOutput, error) {
1697	req, out := c.DeleteSegmentRequest(input)
1698	return out, req.Send()
1699}
1700
1701// DeleteSegmentWithContext is the same as DeleteSegment with the addition of
1702// the ability to pass a context and additional request options.
1703//
1704// See DeleteSegment for details on how to use this API operation.
1705//
1706// The context must be non-nil and will be used for request cancellation. If
1707// the context is nil a panic will occur. In the future the SDK may create
1708// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1709// for more information on using Contexts.
1710func (c *Pinpoint) DeleteSegmentWithContext(ctx aws.Context, input *DeleteSegmentInput, opts ...request.Option) (*DeleteSegmentOutput, error) {
1711	req, out := c.DeleteSegmentRequest(input)
1712	req.SetContext(ctx)
1713	req.ApplyOptions(opts...)
1714	return out, req.Send()
1715}
1716
1717const opDeleteSmsChannel = "DeleteSmsChannel"
1718
1719// DeleteSmsChannelRequest generates a "aws/request.Request" representing the
1720// client's request for the DeleteSmsChannel operation. The "output" return
1721// value will be populated with the request's response once the request completes
1722// successfully.
1723//
1724// Use "Send" method on the returned Request to send the API call to the service.
1725// the "output" return value is not valid until after Send returns without error.
1726//
1727// See DeleteSmsChannel for more information on using the DeleteSmsChannel
1728// API call, and error handling.
1729//
1730// This method is useful when you want to inject custom logic or configuration
1731// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1732//
1733//
1734//    // Example sending a request using the DeleteSmsChannelRequest method.
1735//    req, resp := client.DeleteSmsChannelRequest(params)
1736//
1737//    err := req.Send()
1738//    if err == nil { // resp is now filled
1739//        fmt.Println(resp)
1740//    }
1741//
1742// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsChannel
1743func (c *Pinpoint) DeleteSmsChannelRequest(input *DeleteSmsChannelInput) (req *request.Request, output *DeleteSmsChannelOutput) {
1744	op := &request.Operation{
1745		Name:       opDeleteSmsChannel,
1746		HTTPMethod: "DELETE",
1747		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
1748	}
1749
1750	if input == nil {
1751		input = &DeleteSmsChannelInput{}
1752	}
1753
1754	output = &DeleteSmsChannelOutput{}
1755	req = c.newRequest(op, input, output)
1756	return
1757}
1758
1759// DeleteSmsChannel API operation for Amazon Pinpoint.
1760//
1761// Disables the SMS channel for an application and deletes any existing settings
1762// for the channel.
1763//
1764// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1765// with awserr.Error's Code and Message methods to get detailed information about
1766// the error.
1767//
1768// See the AWS API reference guide for Amazon Pinpoint's
1769// API operation DeleteSmsChannel for usage and error information.
1770//
1771// Returned Error Codes:
1772//   * ErrCodeBadRequestException "BadRequestException"
1773//   Provides information about an API request or response.
1774//
1775//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1776//   Provides information about an API request or response.
1777//
1778//   * ErrCodeForbiddenException "ForbiddenException"
1779//   Provides information about an API request or response.
1780//
1781//   * ErrCodeNotFoundException "NotFoundException"
1782//   Provides information about an API request or response.
1783//
1784//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1785//   Provides information about an API request or response.
1786//
1787//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1788//   Provides information about an API request or response.
1789//
1790// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteSmsChannel
1791func (c *Pinpoint) DeleteSmsChannel(input *DeleteSmsChannelInput) (*DeleteSmsChannelOutput, error) {
1792	req, out := c.DeleteSmsChannelRequest(input)
1793	return out, req.Send()
1794}
1795
1796// DeleteSmsChannelWithContext is the same as DeleteSmsChannel with the addition of
1797// the ability to pass a context and additional request options.
1798//
1799// See DeleteSmsChannel for details on how to use this API operation.
1800//
1801// The context must be non-nil and will be used for request cancellation. If
1802// the context is nil a panic will occur. In the future the SDK may create
1803// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1804// for more information on using Contexts.
1805func (c *Pinpoint) DeleteSmsChannelWithContext(ctx aws.Context, input *DeleteSmsChannelInput, opts ...request.Option) (*DeleteSmsChannelOutput, error) {
1806	req, out := c.DeleteSmsChannelRequest(input)
1807	req.SetContext(ctx)
1808	req.ApplyOptions(opts...)
1809	return out, req.Send()
1810}
1811
1812const opDeleteUserEndpoints = "DeleteUserEndpoints"
1813
1814// DeleteUserEndpointsRequest generates a "aws/request.Request" representing the
1815// client's request for the DeleteUserEndpoints operation. The "output" return
1816// value will be populated with the request's response once the request completes
1817// successfully.
1818//
1819// Use "Send" method on the returned Request to send the API call to the service.
1820// the "output" return value is not valid until after Send returns without error.
1821//
1822// See DeleteUserEndpoints for more information on using the DeleteUserEndpoints
1823// API call, and error handling.
1824//
1825// This method is useful when you want to inject custom logic or configuration
1826// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1827//
1828//
1829//    // Example sending a request using the DeleteUserEndpointsRequest method.
1830//    req, resp := client.DeleteUserEndpointsRequest(params)
1831//
1832//    err := req.Send()
1833//    if err == nil { // resp is now filled
1834//        fmt.Println(resp)
1835//    }
1836//
1837// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteUserEndpoints
1838func (c *Pinpoint) DeleteUserEndpointsRequest(input *DeleteUserEndpointsInput) (req *request.Request, output *DeleteUserEndpointsOutput) {
1839	op := &request.Operation{
1840		Name:       opDeleteUserEndpoints,
1841		HTTPMethod: "DELETE",
1842		HTTPPath:   "/v1/apps/{application-id}/users/{user-id}",
1843	}
1844
1845	if input == nil {
1846		input = &DeleteUserEndpointsInput{}
1847	}
1848
1849	output = &DeleteUserEndpointsOutput{}
1850	req = c.newRequest(op, input, output)
1851	return
1852}
1853
1854// DeleteUserEndpoints API operation for Amazon Pinpoint.
1855//
1856// Deletes all the endpoints that are associated with a specific user ID.
1857//
1858// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1859// with awserr.Error's Code and Message methods to get detailed information about
1860// the error.
1861//
1862// See the AWS API reference guide for Amazon Pinpoint's
1863// API operation DeleteUserEndpoints for usage and error information.
1864//
1865// Returned Error Codes:
1866//   * ErrCodeBadRequestException "BadRequestException"
1867//   Provides information about an API request or response.
1868//
1869//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1870//   Provides information about an API request or response.
1871//
1872//   * ErrCodeForbiddenException "ForbiddenException"
1873//   Provides information about an API request or response.
1874//
1875//   * ErrCodeNotFoundException "NotFoundException"
1876//   Provides information about an API request or response.
1877//
1878//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1879//   Provides information about an API request or response.
1880//
1881//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1882//   Provides information about an API request or response.
1883//
1884// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteUserEndpoints
1885func (c *Pinpoint) DeleteUserEndpoints(input *DeleteUserEndpointsInput) (*DeleteUserEndpointsOutput, error) {
1886	req, out := c.DeleteUserEndpointsRequest(input)
1887	return out, req.Send()
1888}
1889
1890// DeleteUserEndpointsWithContext is the same as DeleteUserEndpoints with the addition of
1891// the ability to pass a context and additional request options.
1892//
1893// See DeleteUserEndpoints for details on how to use this API operation.
1894//
1895// The context must be non-nil and will be used for request cancellation. If
1896// the context is nil a panic will occur. In the future the SDK may create
1897// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1898// for more information on using Contexts.
1899func (c *Pinpoint) DeleteUserEndpointsWithContext(ctx aws.Context, input *DeleteUserEndpointsInput, opts ...request.Option) (*DeleteUserEndpointsOutput, error) {
1900	req, out := c.DeleteUserEndpointsRequest(input)
1901	req.SetContext(ctx)
1902	req.ApplyOptions(opts...)
1903	return out, req.Send()
1904}
1905
1906const opDeleteVoiceChannel = "DeleteVoiceChannel"
1907
1908// DeleteVoiceChannelRequest generates a "aws/request.Request" representing the
1909// client's request for the DeleteVoiceChannel operation. The "output" return
1910// value will be populated with the request's response once the request completes
1911// successfully.
1912//
1913// Use "Send" method on the returned Request to send the API call to the service.
1914// the "output" return value is not valid until after Send returns without error.
1915//
1916// See DeleteVoiceChannel for more information on using the DeleteVoiceChannel
1917// API call, and error handling.
1918//
1919// This method is useful when you want to inject custom logic or configuration
1920// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1921//
1922//
1923//    // Example sending a request using the DeleteVoiceChannelRequest method.
1924//    req, resp := client.DeleteVoiceChannelRequest(params)
1925//
1926//    err := req.Send()
1927//    if err == nil { // resp is now filled
1928//        fmt.Println(resp)
1929//    }
1930//
1931// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceChannel
1932func (c *Pinpoint) DeleteVoiceChannelRequest(input *DeleteVoiceChannelInput) (req *request.Request, output *DeleteVoiceChannelOutput) {
1933	op := &request.Operation{
1934		Name:       opDeleteVoiceChannel,
1935		HTTPMethod: "DELETE",
1936		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
1937	}
1938
1939	if input == nil {
1940		input = &DeleteVoiceChannelInput{}
1941	}
1942
1943	output = &DeleteVoiceChannelOutput{}
1944	req = c.newRequest(op, input, output)
1945	return
1946}
1947
1948// DeleteVoiceChannel API operation for Amazon Pinpoint.
1949//
1950// Disables the voice channel for an application and deletes any existing settings
1951// for the channel.
1952//
1953// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1954// with awserr.Error's Code and Message methods to get detailed information about
1955// the error.
1956//
1957// See the AWS API reference guide for Amazon Pinpoint's
1958// API operation DeleteVoiceChannel for usage and error information.
1959//
1960// Returned Error Codes:
1961//   * ErrCodeBadRequestException "BadRequestException"
1962//   Provides information about an API request or response.
1963//
1964//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1965//   Provides information about an API request or response.
1966//
1967//   * ErrCodeForbiddenException "ForbiddenException"
1968//   Provides information about an API request or response.
1969//
1970//   * ErrCodeNotFoundException "NotFoundException"
1971//   Provides information about an API request or response.
1972//
1973//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
1974//   Provides information about an API request or response.
1975//
1976//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1977//   Provides information about an API request or response.
1978//
1979// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteVoiceChannel
1980func (c *Pinpoint) DeleteVoiceChannel(input *DeleteVoiceChannelInput) (*DeleteVoiceChannelOutput, error) {
1981	req, out := c.DeleteVoiceChannelRequest(input)
1982	return out, req.Send()
1983}
1984
1985// DeleteVoiceChannelWithContext is the same as DeleteVoiceChannel with the addition of
1986// the ability to pass a context and additional request options.
1987//
1988// See DeleteVoiceChannel for details on how to use this API operation.
1989//
1990// The context must be non-nil and will be used for request cancellation. If
1991// the context is nil a panic will occur. In the future the SDK may create
1992// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1993// for more information on using Contexts.
1994func (c *Pinpoint) DeleteVoiceChannelWithContext(ctx aws.Context, input *DeleteVoiceChannelInput, opts ...request.Option) (*DeleteVoiceChannelOutput, error) {
1995	req, out := c.DeleteVoiceChannelRequest(input)
1996	req.SetContext(ctx)
1997	req.ApplyOptions(opts...)
1998	return out, req.Send()
1999}
2000
2001const opGetAdmChannel = "GetAdmChannel"
2002
2003// GetAdmChannelRequest generates a "aws/request.Request" representing the
2004// client's request for the GetAdmChannel operation. The "output" return
2005// value will be populated with the request's response once the request completes
2006// successfully.
2007//
2008// Use "Send" method on the returned Request to send the API call to the service.
2009// the "output" return value is not valid until after Send returns without error.
2010//
2011// See GetAdmChannel for more information on using the GetAdmChannel
2012// API call, and error handling.
2013//
2014// This method is useful when you want to inject custom logic or configuration
2015// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2016//
2017//
2018//    // Example sending a request using the GetAdmChannelRequest method.
2019//    req, resp := client.GetAdmChannelRequest(params)
2020//
2021//    err := req.Send()
2022//    if err == nil { // resp is now filled
2023//        fmt.Println(resp)
2024//    }
2025//
2026// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAdmChannel
2027func (c *Pinpoint) GetAdmChannelRequest(input *GetAdmChannelInput) (req *request.Request, output *GetAdmChannelOutput) {
2028	op := &request.Operation{
2029		Name:       opGetAdmChannel,
2030		HTTPMethod: "GET",
2031		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
2032	}
2033
2034	if input == nil {
2035		input = &GetAdmChannelInput{}
2036	}
2037
2038	output = &GetAdmChannelOutput{}
2039	req = c.newRequest(op, input, output)
2040	return
2041}
2042
2043// GetAdmChannel API operation for Amazon Pinpoint.
2044//
2045// Retrieves information about the status and settings of the ADM channel for
2046// an application.
2047//
2048// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2049// with awserr.Error's Code and Message methods to get detailed information about
2050// the error.
2051//
2052// See the AWS API reference guide for Amazon Pinpoint's
2053// API operation GetAdmChannel for usage and error information.
2054//
2055// Returned Error Codes:
2056//   * ErrCodeBadRequestException "BadRequestException"
2057//   Provides information about an API request or response.
2058//
2059//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2060//   Provides information about an API request or response.
2061//
2062//   * ErrCodeForbiddenException "ForbiddenException"
2063//   Provides information about an API request or response.
2064//
2065//   * ErrCodeNotFoundException "NotFoundException"
2066//   Provides information about an API request or response.
2067//
2068//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2069//   Provides information about an API request or response.
2070//
2071//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2072//   Provides information about an API request or response.
2073//
2074// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetAdmChannel
2075func (c *Pinpoint) GetAdmChannel(input *GetAdmChannelInput) (*GetAdmChannelOutput, error) {
2076	req, out := c.GetAdmChannelRequest(input)
2077	return out, req.Send()
2078}
2079
2080// GetAdmChannelWithContext is the same as GetAdmChannel with the addition of
2081// the ability to pass a context and additional request options.
2082//
2083// See GetAdmChannel for details on how to use this API operation.
2084//
2085// The context must be non-nil and will be used for request cancellation. If
2086// the context is nil a panic will occur. In the future the SDK may create
2087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2088// for more information on using Contexts.
2089func (c *Pinpoint) GetAdmChannelWithContext(ctx aws.Context, input *GetAdmChannelInput, opts ...request.Option) (*GetAdmChannelOutput, error) {
2090	req, out := c.GetAdmChannelRequest(input)
2091	req.SetContext(ctx)
2092	req.ApplyOptions(opts...)
2093	return out, req.Send()
2094}
2095
2096const opGetApnsChannel = "GetApnsChannel"
2097
2098// GetApnsChannelRequest generates a "aws/request.Request" representing the
2099// client's request for the GetApnsChannel operation. The "output" return
2100// value will be populated with the request's response once the request completes
2101// successfully.
2102//
2103// Use "Send" method on the returned Request to send the API call to the service.
2104// the "output" return value is not valid until after Send returns without error.
2105//
2106// See GetApnsChannel for more information on using the GetApnsChannel
2107// API call, and error handling.
2108//
2109// This method is useful when you want to inject custom logic or configuration
2110// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2111//
2112//
2113//    // Example sending a request using the GetApnsChannelRequest method.
2114//    req, resp := client.GetApnsChannelRequest(params)
2115//
2116//    err := req.Send()
2117//    if err == nil { // resp is now filled
2118//        fmt.Println(resp)
2119//    }
2120//
2121// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsChannel
2122func (c *Pinpoint) GetApnsChannelRequest(input *GetApnsChannelInput) (req *request.Request, output *GetApnsChannelOutput) {
2123	op := &request.Operation{
2124		Name:       opGetApnsChannel,
2125		HTTPMethod: "GET",
2126		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
2127	}
2128
2129	if input == nil {
2130		input = &GetApnsChannelInput{}
2131	}
2132
2133	output = &GetApnsChannelOutput{}
2134	req = c.newRequest(op, input, output)
2135	return
2136}
2137
2138// GetApnsChannel API operation for Amazon Pinpoint.
2139//
2140// Retrieves information about the status and settings of the APNs channel for
2141// an application.
2142//
2143// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2144// with awserr.Error's Code and Message methods to get detailed information about
2145// the error.
2146//
2147// See the AWS API reference guide for Amazon Pinpoint's
2148// API operation GetApnsChannel for usage and error information.
2149//
2150// Returned Error Codes:
2151//   * ErrCodeBadRequestException "BadRequestException"
2152//   Provides information about an API request or response.
2153//
2154//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2155//   Provides information about an API request or response.
2156//
2157//   * ErrCodeForbiddenException "ForbiddenException"
2158//   Provides information about an API request or response.
2159//
2160//   * ErrCodeNotFoundException "NotFoundException"
2161//   Provides information about an API request or response.
2162//
2163//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2164//   Provides information about an API request or response.
2165//
2166//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2167//   Provides information about an API request or response.
2168//
2169// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsChannel
2170func (c *Pinpoint) GetApnsChannel(input *GetApnsChannelInput) (*GetApnsChannelOutput, error) {
2171	req, out := c.GetApnsChannelRequest(input)
2172	return out, req.Send()
2173}
2174
2175// GetApnsChannelWithContext is the same as GetApnsChannel with the addition of
2176// the ability to pass a context and additional request options.
2177//
2178// See GetApnsChannel for details on how to use this API operation.
2179//
2180// The context must be non-nil and will be used for request cancellation. If
2181// the context is nil a panic will occur. In the future the SDK may create
2182// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2183// for more information on using Contexts.
2184func (c *Pinpoint) GetApnsChannelWithContext(ctx aws.Context, input *GetApnsChannelInput, opts ...request.Option) (*GetApnsChannelOutput, error) {
2185	req, out := c.GetApnsChannelRequest(input)
2186	req.SetContext(ctx)
2187	req.ApplyOptions(opts...)
2188	return out, req.Send()
2189}
2190
2191const opGetApnsSandboxChannel = "GetApnsSandboxChannel"
2192
2193// GetApnsSandboxChannelRequest generates a "aws/request.Request" representing the
2194// client's request for the GetApnsSandboxChannel operation. The "output" return
2195// value will be populated with the request's response once the request completes
2196// successfully.
2197//
2198// Use "Send" method on the returned Request to send the API call to the service.
2199// the "output" return value is not valid until after Send returns without error.
2200//
2201// See GetApnsSandboxChannel for more information on using the GetApnsSandboxChannel
2202// API call, and error handling.
2203//
2204// This method is useful when you want to inject custom logic or configuration
2205// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2206//
2207//
2208//    // Example sending a request using the GetApnsSandboxChannelRequest method.
2209//    req, resp := client.GetApnsSandboxChannelRequest(params)
2210//
2211//    err := req.Send()
2212//    if err == nil { // resp is now filled
2213//        fmt.Println(resp)
2214//    }
2215//
2216// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsSandboxChannel
2217func (c *Pinpoint) GetApnsSandboxChannelRequest(input *GetApnsSandboxChannelInput) (req *request.Request, output *GetApnsSandboxChannelOutput) {
2218	op := &request.Operation{
2219		Name:       opGetApnsSandboxChannel,
2220		HTTPMethod: "GET",
2221		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
2222	}
2223
2224	if input == nil {
2225		input = &GetApnsSandboxChannelInput{}
2226	}
2227
2228	output = &GetApnsSandboxChannelOutput{}
2229	req = c.newRequest(op, input, output)
2230	return
2231}
2232
2233// GetApnsSandboxChannel API operation for Amazon Pinpoint.
2234//
2235// Retrieves information about the status and settings of the APNs sandbox channel
2236// for an application.
2237//
2238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2239// with awserr.Error's Code and Message methods to get detailed information about
2240// the error.
2241//
2242// See the AWS API reference guide for Amazon Pinpoint's
2243// API operation GetApnsSandboxChannel for usage and error information.
2244//
2245// Returned Error Codes:
2246//   * ErrCodeBadRequestException "BadRequestException"
2247//   Provides information about an API request or response.
2248//
2249//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2250//   Provides information about an API request or response.
2251//
2252//   * ErrCodeForbiddenException "ForbiddenException"
2253//   Provides information about an API request or response.
2254//
2255//   * ErrCodeNotFoundException "NotFoundException"
2256//   Provides information about an API request or response.
2257//
2258//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2259//   Provides information about an API request or response.
2260//
2261//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2262//   Provides information about an API request or response.
2263//
2264// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsSandboxChannel
2265func (c *Pinpoint) GetApnsSandboxChannel(input *GetApnsSandboxChannelInput) (*GetApnsSandboxChannelOutput, error) {
2266	req, out := c.GetApnsSandboxChannelRequest(input)
2267	return out, req.Send()
2268}
2269
2270// GetApnsSandboxChannelWithContext is the same as GetApnsSandboxChannel with the addition of
2271// the ability to pass a context and additional request options.
2272//
2273// See GetApnsSandboxChannel for details on how to use this API operation.
2274//
2275// The context must be non-nil and will be used for request cancellation. If
2276// the context is nil a panic will occur. In the future the SDK may create
2277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2278// for more information on using Contexts.
2279func (c *Pinpoint) GetApnsSandboxChannelWithContext(ctx aws.Context, input *GetApnsSandboxChannelInput, opts ...request.Option) (*GetApnsSandboxChannelOutput, error) {
2280	req, out := c.GetApnsSandboxChannelRequest(input)
2281	req.SetContext(ctx)
2282	req.ApplyOptions(opts...)
2283	return out, req.Send()
2284}
2285
2286const opGetApnsVoipChannel = "GetApnsVoipChannel"
2287
2288// GetApnsVoipChannelRequest generates a "aws/request.Request" representing the
2289// client's request for the GetApnsVoipChannel operation. The "output" return
2290// value will be populated with the request's response once the request completes
2291// successfully.
2292//
2293// Use "Send" method on the returned Request to send the API call to the service.
2294// the "output" return value is not valid until after Send returns without error.
2295//
2296// See GetApnsVoipChannel for more information on using the GetApnsVoipChannel
2297// API call, and error handling.
2298//
2299// This method is useful when you want to inject custom logic or configuration
2300// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2301//
2302//
2303//    // Example sending a request using the GetApnsVoipChannelRequest method.
2304//    req, resp := client.GetApnsVoipChannelRequest(params)
2305//
2306//    err := req.Send()
2307//    if err == nil { // resp is now filled
2308//        fmt.Println(resp)
2309//    }
2310//
2311// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipChannel
2312func (c *Pinpoint) GetApnsVoipChannelRequest(input *GetApnsVoipChannelInput) (req *request.Request, output *GetApnsVoipChannelOutput) {
2313	op := &request.Operation{
2314		Name:       opGetApnsVoipChannel,
2315		HTTPMethod: "GET",
2316		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
2317	}
2318
2319	if input == nil {
2320		input = &GetApnsVoipChannelInput{}
2321	}
2322
2323	output = &GetApnsVoipChannelOutput{}
2324	req = c.newRequest(op, input, output)
2325	return
2326}
2327
2328// GetApnsVoipChannel API operation for Amazon Pinpoint.
2329//
2330// Retrieves information about the status and settings of the APNs VoIP channel
2331// for an application.
2332//
2333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2334// with awserr.Error's Code and Message methods to get detailed information about
2335// the error.
2336//
2337// See the AWS API reference guide for Amazon Pinpoint's
2338// API operation GetApnsVoipChannel for usage and error information.
2339//
2340// Returned Error Codes:
2341//   * ErrCodeBadRequestException "BadRequestException"
2342//   Provides information about an API request or response.
2343//
2344//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2345//   Provides information about an API request or response.
2346//
2347//   * ErrCodeForbiddenException "ForbiddenException"
2348//   Provides information about an API request or response.
2349//
2350//   * ErrCodeNotFoundException "NotFoundException"
2351//   Provides information about an API request or response.
2352//
2353//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2354//   Provides information about an API request or response.
2355//
2356//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2357//   Provides information about an API request or response.
2358//
2359// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipChannel
2360func (c *Pinpoint) GetApnsVoipChannel(input *GetApnsVoipChannelInput) (*GetApnsVoipChannelOutput, error) {
2361	req, out := c.GetApnsVoipChannelRequest(input)
2362	return out, req.Send()
2363}
2364
2365// GetApnsVoipChannelWithContext is the same as GetApnsVoipChannel with the addition of
2366// the ability to pass a context and additional request options.
2367//
2368// See GetApnsVoipChannel for details on how to use this API operation.
2369//
2370// The context must be non-nil and will be used for request cancellation. If
2371// the context is nil a panic will occur. In the future the SDK may create
2372// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2373// for more information on using Contexts.
2374func (c *Pinpoint) GetApnsVoipChannelWithContext(ctx aws.Context, input *GetApnsVoipChannelInput, opts ...request.Option) (*GetApnsVoipChannelOutput, error) {
2375	req, out := c.GetApnsVoipChannelRequest(input)
2376	req.SetContext(ctx)
2377	req.ApplyOptions(opts...)
2378	return out, req.Send()
2379}
2380
2381const opGetApnsVoipSandboxChannel = "GetApnsVoipSandboxChannel"
2382
2383// GetApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
2384// client's request for the GetApnsVoipSandboxChannel operation. The "output" return
2385// value will be populated with the request's response once the request completes
2386// successfully.
2387//
2388// Use "Send" method on the returned Request to send the API call to the service.
2389// the "output" return value is not valid until after Send returns without error.
2390//
2391// See GetApnsVoipSandboxChannel for more information on using the GetApnsVoipSandboxChannel
2392// API call, and error handling.
2393//
2394// This method is useful when you want to inject custom logic or configuration
2395// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2396//
2397//
2398//    // Example sending a request using the GetApnsVoipSandboxChannelRequest method.
2399//    req, resp := client.GetApnsVoipSandboxChannelRequest(params)
2400//
2401//    err := req.Send()
2402//    if err == nil { // resp is now filled
2403//        fmt.Println(resp)
2404//    }
2405//
2406// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipSandboxChannel
2407func (c *Pinpoint) GetApnsVoipSandboxChannelRequest(input *GetApnsVoipSandboxChannelInput) (req *request.Request, output *GetApnsVoipSandboxChannelOutput) {
2408	op := &request.Operation{
2409		Name:       opGetApnsVoipSandboxChannel,
2410		HTTPMethod: "GET",
2411		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
2412	}
2413
2414	if input == nil {
2415		input = &GetApnsVoipSandboxChannelInput{}
2416	}
2417
2418	output = &GetApnsVoipSandboxChannelOutput{}
2419	req = c.newRequest(op, input, output)
2420	return
2421}
2422
2423// GetApnsVoipSandboxChannel API operation for Amazon Pinpoint.
2424//
2425// Retrieves information about the status and settings of the APNs VoIP sandbox
2426// channel for an application.
2427//
2428// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2429// with awserr.Error's Code and Message methods to get detailed information about
2430// the error.
2431//
2432// See the AWS API reference guide for Amazon Pinpoint's
2433// API operation GetApnsVoipSandboxChannel for usage and error information.
2434//
2435// Returned Error Codes:
2436//   * ErrCodeBadRequestException "BadRequestException"
2437//   Provides information about an API request or response.
2438//
2439//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2440//   Provides information about an API request or response.
2441//
2442//   * ErrCodeForbiddenException "ForbiddenException"
2443//   Provides information about an API request or response.
2444//
2445//   * ErrCodeNotFoundException "NotFoundException"
2446//   Provides information about an API request or response.
2447//
2448//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2449//   Provides information about an API request or response.
2450//
2451//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2452//   Provides information about an API request or response.
2453//
2454// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipSandboxChannel
2455func (c *Pinpoint) GetApnsVoipSandboxChannel(input *GetApnsVoipSandboxChannelInput) (*GetApnsVoipSandboxChannelOutput, error) {
2456	req, out := c.GetApnsVoipSandboxChannelRequest(input)
2457	return out, req.Send()
2458}
2459
2460// GetApnsVoipSandboxChannelWithContext is the same as GetApnsVoipSandboxChannel with the addition of
2461// the ability to pass a context and additional request options.
2462//
2463// See GetApnsVoipSandboxChannel for details on how to use this API operation.
2464//
2465// The context must be non-nil and will be used for request cancellation. If
2466// the context is nil a panic will occur. In the future the SDK may create
2467// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2468// for more information on using Contexts.
2469func (c *Pinpoint) GetApnsVoipSandboxChannelWithContext(ctx aws.Context, input *GetApnsVoipSandboxChannelInput, opts ...request.Option) (*GetApnsVoipSandboxChannelOutput, error) {
2470	req, out := c.GetApnsVoipSandboxChannelRequest(input)
2471	req.SetContext(ctx)
2472	req.ApplyOptions(opts...)
2473	return out, req.Send()
2474}
2475
2476const opGetApp = "GetApp"
2477
2478// GetAppRequest generates a "aws/request.Request" representing the
2479// client's request for the GetApp operation. The "output" return
2480// value will be populated with the request's response once the request completes
2481// successfully.
2482//
2483// Use "Send" method on the returned Request to send the API call to the service.
2484// the "output" return value is not valid until after Send returns without error.
2485//
2486// See GetApp for more information on using the GetApp
2487// API call, and error handling.
2488//
2489// This method is useful when you want to inject custom logic or configuration
2490// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2491//
2492//
2493//    // Example sending a request using the GetAppRequest method.
2494//    req, resp := client.GetAppRequest(params)
2495//
2496//    err := req.Send()
2497//    if err == nil { // resp is now filled
2498//        fmt.Println(resp)
2499//    }
2500//
2501// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApp
2502func (c *Pinpoint) GetAppRequest(input *GetAppInput) (req *request.Request, output *GetAppOutput) {
2503	op := &request.Operation{
2504		Name:       opGetApp,
2505		HTTPMethod: "GET",
2506		HTTPPath:   "/v1/apps/{application-id}",
2507	}
2508
2509	if input == nil {
2510		input = &GetAppInput{}
2511	}
2512
2513	output = &GetAppOutput{}
2514	req = c.newRequest(op, input, output)
2515	return
2516}
2517
2518// GetApp API operation for Amazon Pinpoint.
2519//
2520// Retrieves information about an application.
2521//
2522// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2523// with awserr.Error's Code and Message methods to get detailed information about
2524// the error.
2525//
2526// See the AWS API reference guide for Amazon Pinpoint's
2527// API operation GetApp for usage and error information.
2528//
2529// Returned Error Codes:
2530//   * ErrCodeBadRequestException "BadRequestException"
2531//   Provides information about an API request or response.
2532//
2533//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2534//   Provides information about an API request or response.
2535//
2536//   * ErrCodeForbiddenException "ForbiddenException"
2537//   Provides information about an API request or response.
2538//
2539//   * ErrCodeNotFoundException "NotFoundException"
2540//   Provides information about an API request or response.
2541//
2542//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2543//   Provides information about an API request or response.
2544//
2545//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2546//   Provides information about an API request or response.
2547//
2548// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApp
2549func (c *Pinpoint) GetApp(input *GetAppInput) (*GetAppOutput, error) {
2550	req, out := c.GetAppRequest(input)
2551	return out, req.Send()
2552}
2553
2554// GetAppWithContext is the same as GetApp with the addition of
2555// the ability to pass a context and additional request options.
2556//
2557// See GetApp for details on how to use this API operation.
2558//
2559// The context must be non-nil and will be used for request cancellation. If
2560// the context is nil a panic will occur. In the future the SDK may create
2561// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2562// for more information on using Contexts.
2563func (c *Pinpoint) GetAppWithContext(ctx aws.Context, input *GetAppInput, opts ...request.Option) (*GetAppOutput, error) {
2564	req, out := c.GetAppRequest(input)
2565	req.SetContext(ctx)
2566	req.ApplyOptions(opts...)
2567	return out, req.Send()
2568}
2569
2570const opGetApplicationSettings = "GetApplicationSettings"
2571
2572// GetApplicationSettingsRequest generates a "aws/request.Request" representing the
2573// client's request for the GetApplicationSettings operation. The "output" return
2574// value will be populated with the request's response once the request completes
2575// successfully.
2576//
2577// Use "Send" method on the returned Request to send the API call to the service.
2578// the "output" return value is not valid until after Send returns without error.
2579//
2580// See GetApplicationSettings for more information on using the GetApplicationSettings
2581// API call, and error handling.
2582//
2583// This method is useful when you want to inject custom logic or configuration
2584// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2585//
2586//
2587//    // Example sending a request using the GetApplicationSettingsRequest method.
2588//    req, resp := client.GetApplicationSettingsRequest(params)
2589//
2590//    err := req.Send()
2591//    if err == nil { // resp is now filled
2592//        fmt.Println(resp)
2593//    }
2594//
2595// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationSettings
2596func (c *Pinpoint) GetApplicationSettingsRequest(input *GetApplicationSettingsInput) (req *request.Request, output *GetApplicationSettingsOutput) {
2597	op := &request.Operation{
2598		Name:       opGetApplicationSettings,
2599		HTTPMethod: "GET",
2600		HTTPPath:   "/v1/apps/{application-id}/settings",
2601	}
2602
2603	if input == nil {
2604		input = &GetApplicationSettingsInput{}
2605	}
2606
2607	output = &GetApplicationSettingsOutput{}
2608	req = c.newRequest(op, input, output)
2609	return
2610}
2611
2612// GetApplicationSettings API operation for Amazon Pinpoint.
2613//
2614// Retrieves information about the settings for an application.
2615//
2616// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2617// with awserr.Error's Code and Message methods to get detailed information about
2618// the error.
2619//
2620// See the AWS API reference guide for Amazon Pinpoint's
2621// API operation GetApplicationSettings for usage and error information.
2622//
2623// Returned Error Codes:
2624//   * ErrCodeBadRequestException "BadRequestException"
2625//   Provides information about an API request or response.
2626//
2627//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2628//   Provides information about an API request or response.
2629//
2630//   * ErrCodeForbiddenException "ForbiddenException"
2631//   Provides information about an API request or response.
2632//
2633//   * ErrCodeNotFoundException "NotFoundException"
2634//   Provides information about an API request or response.
2635//
2636//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2637//   Provides information about an API request or response.
2638//
2639//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2640//   Provides information about an API request or response.
2641//
2642// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApplicationSettings
2643func (c *Pinpoint) GetApplicationSettings(input *GetApplicationSettingsInput) (*GetApplicationSettingsOutput, error) {
2644	req, out := c.GetApplicationSettingsRequest(input)
2645	return out, req.Send()
2646}
2647
2648// GetApplicationSettingsWithContext is the same as GetApplicationSettings with the addition of
2649// the ability to pass a context and additional request options.
2650//
2651// See GetApplicationSettings for details on how to use this API operation.
2652//
2653// The context must be non-nil and will be used for request cancellation. If
2654// the context is nil a panic will occur. In the future the SDK may create
2655// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2656// for more information on using Contexts.
2657func (c *Pinpoint) GetApplicationSettingsWithContext(ctx aws.Context, input *GetApplicationSettingsInput, opts ...request.Option) (*GetApplicationSettingsOutput, error) {
2658	req, out := c.GetApplicationSettingsRequest(input)
2659	req.SetContext(ctx)
2660	req.ApplyOptions(opts...)
2661	return out, req.Send()
2662}
2663
2664const opGetApps = "GetApps"
2665
2666// GetAppsRequest generates a "aws/request.Request" representing the
2667// client's request for the GetApps operation. The "output" return
2668// value will be populated with the request's response once the request completes
2669// successfully.
2670//
2671// Use "Send" method on the returned Request to send the API call to the service.
2672// the "output" return value is not valid until after Send returns without error.
2673//
2674// See GetApps for more information on using the GetApps
2675// API call, and error handling.
2676//
2677// This method is useful when you want to inject custom logic or configuration
2678// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2679//
2680//
2681//    // Example sending a request using the GetAppsRequest method.
2682//    req, resp := client.GetAppsRequest(params)
2683//
2684//    err := req.Send()
2685//    if err == nil { // resp is now filled
2686//        fmt.Println(resp)
2687//    }
2688//
2689// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApps
2690func (c *Pinpoint) GetAppsRequest(input *GetAppsInput) (req *request.Request, output *GetAppsOutput) {
2691	op := &request.Operation{
2692		Name:       opGetApps,
2693		HTTPMethod: "GET",
2694		HTTPPath:   "/v1/apps",
2695	}
2696
2697	if input == nil {
2698		input = &GetAppsInput{}
2699	}
2700
2701	output = &GetAppsOutput{}
2702	req = c.newRequest(op, input, output)
2703	return
2704}
2705
2706// GetApps API operation for Amazon Pinpoint.
2707//
2708// Retrieves information about all of your applications.
2709//
2710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2711// with awserr.Error's Code and Message methods to get detailed information about
2712// the error.
2713//
2714// See the AWS API reference guide for Amazon Pinpoint's
2715// API operation GetApps for usage and error information.
2716//
2717// Returned Error Codes:
2718//   * ErrCodeBadRequestException "BadRequestException"
2719//   Provides information about an API request or response.
2720//
2721//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2722//   Provides information about an API request or response.
2723//
2724//   * ErrCodeForbiddenException "ForbiddenException"
2725//   Provides information about an API request or response.
2726//
2727//   * ErrCodeNotFoundException "NotFoundException"
2728//   Provides information about an API request or response.
2729//
2730//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2731//   Provides information about an API request or response.
2732//
2733//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2734//   Provides information about an API request or response.
2735//
2736// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApps
2737func (c *Pinpoint) GetApps(input *GetAppsInput) (*GetAppsOutput, error) {
2738	req, out := c.GetAppsRequest(input)
2739	return out, req.Send()
2740}
2741
2742// GetAppsWithContext is the same as GetApps with the addition of
2743// the ability to pass a context and additional request options.
2744//
2745// See GetApps for details on how to use this API operation.
2746//
2747// The context must be non-nil and will be used for request cancellation. If
2748// the context is nil a panic will occur. In the future the SDK may create
2749// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2750// for more information on using Contexts.
2751func (c *Pinpoint) GetAppsWithContext(ctx aws.Context, input *GetAppsInput, opts ...request.Option) (*GetAppsOutput, error) {
2752	req, out := c.GetAppsRequest(input)
2753	req.SetContext(ctx)
2754	req.ApplyOptions(opts...)
2755	return out, req.Send()
2756}
2757
2758const opGetBaiduChannel = "GetBaiduChannel"
2759
2760// GetBaiduChannelRequest generates a "aws/request.Request" representing the
2761// client's request for the GetBaiduChannel operation. The "output" return
2762// value will be populated with the request's response once the request completes
2763// successfully.
2764//
2765// Use "Send" method on the returned Request to send the API call to the service.
2766// the "output" return value is not valid until after Send returns without error.
2767//
2768// See GetBaiduChannel for more information on using the GetBaiduChannel
2769// API call, and error handling.
2770//
2771// This method is useful when you want to inject custom logic or configuration
2772// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2773//
2774//
2775//    // Example sending a request using the GetBaiduChannelRequest method.
2776//    req, resp := client.GetBaiduChannelRequest(params)
2777//
2778//    err := req.Send()
2779//    if err == nil { // resp is now filled
2780//        fmt.Println(resp)
2781//    }
2782//
2783// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetBaiduChannel
2784func (c *Pinpoint) GetBaiduChannelRequest(input *GetBaiduChannelInput) (req *request.Request, output *GetBaiduChannelOutput) {
2785	op := &request.Operation{
2786		Name:       opGetBaiduChannel,
2787		HTTPMethod: "GET",
2788		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
2789	}
2790
2791	if input == nil {
2792		input = &GetBaiduChannelInput{}
2793	}
2794
2795	output = &GetBaiduChannelOutput{}
2796	req = c.newRequest(op, input, output)
2797	return
2798}
2799
2800// GetBaiduChannel API operation for Amazon Pinpoint.
2801//
2802// Retrieves information about the status and settings of the Baidu Cloud Push
2803// channel for an application.
2804//
2805// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2806// with awserr.Error's Code and Message methods to get detailed information about
2807// the error.
2808//
2809// See the AWS API reference guide for Amazon Pinpoint's
2810// API operation GetBaiduChannel for usage and error information.
2811//
2812// Returned Error Codes:
2813//   * ErrCodeBadRequestException "BadRequestException"
2814//   Provides information about an API request or response.
2815//
2816//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2817//   Provides information about an API request or response.
2818//
2819//   * ErrCodeForbiddenException "ForbiddenException"
2820//   Provides information about an API request or response.
2821//
2822//   * ErrCodeNotFoundException "NotFoundException"
2823//   Provides information about an API request or response.
2824//
2825//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2826//   Provides information about an API request or response.
2827//
2828//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2829//   Provides information about an API request or response.
2830//
2831// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetBaiduChannel
2832func (c *Pinpoint) GetBaiduChannel(input *GetBaiduChannelInput) (*GetBaiduChannelOutput, error) {
2833	req, out := c.GetBaiduChannelRequest(input)
2834	return out, req.Send()
2835}
2836
2837// GetBaiduChannelWithContext is the same as GetBaiduChannel with the addition of
2838// the ability to pass a context and additional request options.
2839//
2840// See GetBaiduChannel for details on how to use this API operation.
2841//
2842// The context must be non-nil and will be used for request cancellation. If
2843// the context is nil a panic will occur. In the future the SDK may create
2844// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2845// for more information on using Contexts.
2846func (c *Pinpoint) GetBaiduChannelWithContext(ctx aws.Context, input *GetBaiduChannelInput, opts ...request.Option) (*GetBaiduChannelOutput, error) {
2847	req, out := c.GetBaiduChannelRequest(input)
2848	req.SetContext(ctx)
2849	req.ApplyOptions(opts...)
2850	return out, req.Send()
2851}
2852
2853const opGetCampaign = "GetCampaign"
2854
2855// GetCampaignRequest generates a "aws/request.Request" representing the
2856// client's request for the GetCampaign operation. The "output" return
2857// value will be populated with the request's response once the request completes
2858// successfully.
2859//
2860// Use "Send" method on the returned Request to send the API call to the service.
2861// the "output" return value is not valid until after Send returns without error.
2862//
2863// See GetCampaign for more information on using the GetCampaign
2864// API call, and error handling.
2865//
2866// This method is useful when you want to inject custom logic or configuration
2867// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2868//
2869//
2870//    // Example sending a request using the GetCampaignRequest method.
2871//    req, resp := client.GetCampaignRequest(params)
2872//
2873//    err := req.Send()
2874//    if err == nil { // resp is now filled
2875//        fmt.Println(resp)
2876//    }
2877//
2878// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaign
2879func (c *Pinpoint) GetCampaignRequest(input *GetCampaignInput) (req *request.Request, output *GetCampaignOutput) {
2880	op := &request.Operation{
2881		Name:       opGetCampaign,
2882		HTTPMethod: "GET",
2883		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
2884	}
2885
2886	if input == nil {
2887		input = &GetCampaignInput{}
2888	}
2889
2890	output = &GetCampaignOutput{}
2891	req = c.newRequest(op, input, output)
2892	return
2893}
2894
2895// GetCampaign API operation for Amazon Pinpoint.
2896//
2897// Retrieves information about the status, configuration, and other settings
2898// for a campaign.
2899//
2900// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2901// with awserr.Error's Code and Message methods to get detailed information about
2902// the error.
2903//
2904// See the AWS API reference guide for Amazon Pinpoint's
2905// API operation GetCampaign for usage and error information.
2906//
2907// Returned Error Codes:
2908//   * ErrCodeBadRequestException "BadRequestException"
2909//   Provides information about an API request or response.
2910//
2911//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2912//   Provides information about an API request or response.
2913//
2914//   * ErrCodeForbiddenException "ForbiddenException"
2915//   Provides information about an API request or response.
2916//
2917//   * ErrCodeNotFoundException "NotFoundException"
2918//   Provides information about an API request or response.
2919//
2920//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
2921//   Provides information about an API request or response.
2922//
2923//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2924//   Provides information about an API request or response.
2925//
2926// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaign
2927func (c *Pinpoint) GetCampaign(input *GetCampaignInput) (*GetCampaignOutput, error) {
2928	req, out := c.GetCampaignRequest(input)
2929	return out, req.Send()
2930}
2931
2932// GetCampaignWithContext is the same as GetCampaign with the addition of
2933// the ability to pass a context and additional request options.
2934//
2935// See GetCampaign for details on how to use this API operation.
2936//
2937// The context must be non-nil and will be used for request cancellation. If
2938// the context is nil a panic will occur. In the future the SDK may create
2939// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2940// for more information on using Contexts.
2941func (c *Pinpoint) GetCampaignWithContext(ctx aws.Context, input *GetCampaignInput, opts ...request.Option) (*GetCampaignOutput, error) {
2942	req, out := c.GetCampaignRequest(input)
2943	req.SetContext(ctx)
2944	req.ApplyOptions(opts...)
2945	return out, req.Send()
2946}
2947
2948const opGetCampaignActivities = "GetCampaignActivities"
2949
2950// GetCampaignActivitiesRequest generates a "aws/request.Request" representing the
2951// client's request for the GetCampaignActivities operation. The "output" return
2952// value will be populated with the request's response once the request completes
2953// successfully.
2954//
2955// Use "Send" method on the returned Request to send the API call to the service.
2956// the "output" return value is not valid until after Send returns without error.
2957//
2958// See GetCampaignActivities for more information on using the GetCampaignActivities
2959// API call, and error handling.
2960//
2961// This method is useful when you want to inject custom logic or configuration
2962// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2963//
2964//
2965//    // Example sending a request using the GetCampaignActivitiesRequest method.
2966//    req, resp := client.GetCampaignActivitiesRequest(params)
2967//
2968//    err := req.Send()
2969//    if err == nil { // resp is now filled
2970//        fmt.Println(resp)
2971//    }
2972//
2973// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignActivities
2974func (c *Pinpoint) GetCampaignActivitiesRequest(input *GetCampaignActivitiesInput) (req *request.Request, output *GetCampaignActivitiesOutput) {
2975	op := &request.Operation{
2976		Name:       opGetCampaignActivities,
2977		HTTPMethod: "GET",
2978		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/activities",
2979	}
2980
2981	if input == nil {
2982		input = &GetCampaignActivitiesInput{}
2983	}
2984
2985	output = &GetCampaignActivitiesOutput{}
2986	req = c.newRequest(op, input, output)
2987	return
2988}
2989
2990// GetCampaignActivities API operation for Amazon Pinpoint.
2991//
2992// Retrieves information about the activity performed by a campaign.
2993//
2994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2995// with awserr.Error's Code and Message methods to get detailed information about
2996// the error.
2997//
2998// See the AWS API reference guide for Amazon Pinpoint's
2999// API operation GetCampaignActivities for usage and error information.
3000//
3001// Returned Error Codes:
3002//   * ErrCodeBadRequestException "BadRequestException"
3003//   Provides information about an API request or response.
3004//
3005//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3006//   Provides information about an API request or response.
3007//
3008//   * ErrCodeForbiddenException "ForbiddenException"
3009//   Provides information about an API request or response.
3010//
3011//   * ErrCodeNotFoundException "NotFoundException"
3012//   Provides information about an API request or response.
3013//
3014//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3015//   Provides information about an API request or response.
3016//
3017//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3018//   Provides information about an API request or response.
3019//
3020// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignActivities
3021func (c *Pinpoint) GetCampaignActivities(input *GetCampaignActivitiesInput) (*GetCampaignActivitiesOutput, error) {
3022	req, out := c.GetCampaignActivitiesRequest(input)
3023	return out, req.Send()
3024}
3025
3026// GetCampaignActivitiesWithContext is the same as GetCampaignActivities with the addition of
3027// the ability to pass a context and additional request options.
3028//
3029// See GetCampaignActivities for details on how to use this API operation.
3030//
3031// The context must be non-nil and will be used for request cancellation. If
3032// the context is nil a panic will occur. In the future the SDK may create
3033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3034// for more information on using Contexts.
3035func (c *Pinpoint) GetCampaignActivitiesWithContext(ctx aws.Context, input *GetCampaignActivitiesInput, opts ...request.Option) (*GetCampaignActivitiesOutput, error) {
3036	req, out := c.GetCampaignActivitiesRequest(input)
3037	req.SetContext(ctx)
3038	req.ApplyOptions(opts...)
3039	return out, req.Send()
3040}
3041
3042const opGetCampaignVersion = "GetCampaignVersion"
3043
3044// GetCampaignVersionRequest generates a "aws/request.Request" representing the
3045// client's request for the GetCampaignVersion operation. The "output" return
3046// value will be populated with the request's response once the request completes
3047// successfully.
3048//
3049// Use "Send" method on the returned Request to send the API call to the service.
3050// the "output" return value is not valid until after Send returns without error.
3051//
3052// See GetCampaignVersion for more information on using the GetCampaignVersion
3053// API call, and error handling.
3054//
3055// This method is useful when you want to inject custom logic or configuration
3056// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3057//
3058//
3059//    // Example sending a request using the GetCampaignVersionRequest method.
3060//    req, resp := client.GetCampaignVersionRequest(params)
3061//
3062//    err := req.Send()
3063//    if err == nil { // resp is now filled
3064//        fmt.Println(resp)
3065//    }
3066//
3067// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersion
3068func (c *Pinpoint) GetCampaignVersionRequest(input *GetCampaignVersionInput) (req *request.Request, output *GetCampaignVersionOutput) {
3069	op := &request.Operation{
3070		Name:       opGetCampaignVersion,
3071		HTTPMethod: "GET",
3072		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/versions/{version}",
3073	}
3074
3075	if input == nil {
3076		input = &GetCampaignVersionInput{}
3077	}
3078
3079	output = &GetCampaignVersionOutput{}
3080	req = c.newRequest(op, input, output)
3081	return
3082}
3083
3084// GetCampaignVersion API operation for Amazon Pinpoint.
3085//
3086// Retrieves information about the status, configuration, and other settings
3087// for a specific version of a campaign.
3088//
3089// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3090// with awserr.Error's Code and Message methods to get detailed information about
3091// the error.
3092//
3093// See the AWS API reference guide for Amazon Pinpoint's
3094// API operation GetCampaignVersion for usage and error information.
3095//
3096// Returned Error Codes:
3097//   * ErrCodeBadRequestException "BadRequestException"
3098//   Provides information about an API request or response.
3099//
3100//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3101//   Provides information about an API request or response.
3102//
3103//   * ErrCodeForbiddenException "ForbiddenException"
3104//   Provides information about an API request or response.
3105//
3106//   * ErrCodeNotFoundException "NotFoundException"
3107//   Provides information about an API request or response.
3108//
3109//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3110//   Provides information about an API request or response.
3111//
3112//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3113//   Provides information about an API request or response.
3114//
3115// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersion
3116func (c *Pinpoint) GetCampaignVersion(input *GetCampaignVersionInput) (*GetCampaignVersionOutput, error) {
3117	req, out := c.GetCampaignVersionRequest(input)
3118	return out, req.Send()
3119}
3120
3121// GetCampaignVersionWithContext is the same as GetCampaignVersion with the addition of
3122// the ability to pass a context and additional request options.
3123//
3124// See GetCampaignVersion for details on how to use this API operation.
3125//
3126// The context must be non-nil and will be used for request cancellation. If
3127// the context is nil a panic will occur. In the future the SDK may create
3128// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3129// for more information on using Contexts.
3130func (c *Pinpoint) GetCampaignVersionWithContext(ctx aws.Context, input *GetCampaignVersionInput, opts ...request.Option) (*GetCampaignVersionOutput, error) {
3131	req, out := c.GetCampaignVersionRequest(input)
3132	req.SetContext(ctx)
3133	req.ApplyOptions(opts...)
3134	return out, req.Send()
3135}
3136
3137const opGetCampaignVersions = "GetCampaignVersions"
3138
3139// GetCampaignVersionsRequest generates a "aws/request.Request" representing the
3140// client's request for the GetCampaignVersions operation. The "output" return
3141// value will be populated with the request's response once the request completes
3142// successfully.
3143//
3144// Use "Send" method on the returned Request to send the API call to the service.
3145// the "output" return value is not valid until after Send returns without error.
3146//
3147// See GetCampaignVersions for more information on using the GetCampaignVersions
3148// API call, and error handling.
3149//
3150// This method is useful when you want to inject custom logic or configuration
3151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3152//
3153//
3154//    // Example sending a request using the GetCampaignVersionsRequest method.
3155//    req, resp := client.GetCampaignVersionsRequest(params)
3156//
3157//    err := req.Send()
3158//    if err == nil { // resp is now filled
3159//        fmt.Println(resp)
3160//    }
3161//
3162// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersions
3163func (c *Pinpoint) GetCampaignVersionsRequest(input *GetCampaignVersionsInput) (req *request.Request, output *GetCampaignVersionsOutput) {
3164	op := &request.Operation{
3165		Name:       opGetCampaignVersions,
3166		HTTPMethod: "GET",
3167		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}/versions",
3168	}
3169
3170	if input == nil {
3171		input = &GetCampaignVersionsInput{}
3172	}
3173
3174	output = &GetCampaignVersionsOutput{}
3175	req = c.newRequest(op, input, output)
3176	return
3177}
3178
3179// GetCampaignVersions API operation for Amazon Pinpoint.
3180//
3181// Retrieves information about the status, configuration, and other settings
3182// for all versions of a specific campaign.
3183//
3184// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3185// with awserr.Error's Code and Message methods to get detailed information about
3186// the error.
3187//
3188// See the AWS API reference guide for Amazon Pinpoint's
3189// API operation GetCampaignVersions for usage and error information.
3190//
3191// Returned Error Codes:
3192//   * ErrCodeBadRequestException "BadRequestException"
3193//   Provides information about an API request or response.
3194//
3195//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3196//   Provides information about an API request or response.
3197//
3198//   * ErrCodeForbiddenException "ForbiddenException"
3199//   Provides information about an API request or response.
3200//
3201//   * ErrCodeNotFoundException "NotFoundException"
3202//   Provides information about an API request or response.
3203//
3204//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3205//   Provides information about an API request or response.
3206//
3207//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3208//   Provides information about an API request or response.
3209//
3210// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaignVersions
3211func (c *Pinpoint) GetCampaignVersions(input *GetCampaignVersionsInput) (*GetCampaignVersionsOutput, error) {
3212	req, out := c.GetCampaignVersionsRequest(input)
3213	return out, req.Send()
3214}
3215
3216// GetCampaignVersionsWithContext is the same as GetCampaignVersions with the addition of
3217// the ability to pass a context and additional request options.
3218//
3219// See GetCampaignVersions for details on how to use this API operation.
3220//
3221// The context must be non-nil and will be used for request cancellation. If
3222// the context is nil a panic will occur. In the future the SDK may create
3223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3224// for more information on using Contexts.
3225func (c *Pinpoint) GetCampaignVersionsWithContext(ctx aws.Context, input *GetCampaignVersionsInput, opts ...request.Option) (*GetCampaignVersionsOutput, error) {
3226	req, out := c.GetCampaignVersionsRequest(input)
3227	req.SetContext(ctx)
3228	req.ApplyOptions(opts...)
3229	return out, req.Send()
3230}
3231
3232const opGetCampaigns = "GetCampaigns"
3233
3234// GetCampaignsRequest generates a "aws/request.Request" representing the
3235// client's request for the GetCampaigns operation. The "output" return
3236// value will be populated with the request's response once the request completes
3237// successfully.
3238//
3239// Use "Send" method on the returned Request to send the API call to the service.
3240// the "output" return value is not valid until after Send returns without error.
3241//
3242// See GetCampaigns for more information on using the GetCampaigns
3243// API call, and error handling.
3244//
3245// This method is useful when you want to inject custom logic or configuration
3246// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3247//
3248//
3249//    // Example sending a request using the GetCampaignsRequest method.
3250//    req, resp := client.GetCampaignsRequest(params)
3251//
3252//    err := req.Send()
3253//    if err == nil { // resp is now filled
3254//        fmt.Println(resp)
3255//    }
3256//
3257// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaigns
3258func (c *Pinpoint) GetCampaignsRequest(input *GetCampaignsInput) (req *request.Request, output *GetCampaignsOutput) {
3259	op := &request.Operation{
3260		Name:       opGetCampaigns,
3261		HTTPMethod: "GET",
3262		HTTPPath:   "/v1/apps/{application-id}/campaigns",
3263	}
3264
3265	if input == nil {
3266		input = &GetCampaignsInput{}
3267	}
3268
3269	output = &GetCampaignsOutput{}
3270	req = c.newRequest(op, input, output)
3271	return
3272}
3273
3274// GetCampaigns API operation for Amazon Pinpoint.
3275//
3276// Retrieves information about the status, configuration, and other settings
3277// for all the campaigns that are associated with an application.
3278//
3279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3280// with awserr.Error's Code and Message methods to get detailed information about
3281// the error.
3282//
3283// See the AWS API reference guide for Amazon Pinpoint's
3284// API operation GetCampaigns for usage and error information.
3285//
3286// Returned Error Codes:
3287//   * ErrCodeBadRequestException "BadRequestException"
3288//   Provides information about an API request or response.
3289//
3290//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3291//   Provides information about an API request or response.
3292//
3293//   * ErrCodeForbiddenException "ForbiddenException"
3294//   Provides information about an API request or response.
3295//
3296//   * ErrCodeNotFoundException "NotFoundException"
3297//   Provides information about an API request or response.
3298//
3299//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3300//   Provides information about an API request or response.
3301//
3302//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3303//   Provides information about an API request or response.
3304//
3305// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetCampaigns
3306func (c *Pinpoint) GetCampaigns(input *GetCampaignsInput) (*GetCampaignsOutput, error) {
3307	req, out := c.GetCampaignsRequest(input)
3308	return out, req.Send()
3309}
3310
3311// GetCampaignsWithContext is the same as GetCampaigns with the addition of
3312// the ability to pass a context and additional request options.
3313//
3314// See GetCampaigns for details on how to use this API operation.
3315//
3316// The context must be non-nil and will be used for request cancellation. If
3317// the context is nil a panic will occur. In the future the SDK may create
3318// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3319// for more information on using Contexts.
3320func (c *Pinpoint) GetCampaignsWithContext(ctx aws.Context, input *GetCampaignsInput, opts ...request.Option) (*GetCampaignsOutput, error) {
3321	req, out := c.GetCampaignsRequest(input)
3322	req.SetContext(ctx)
3323	req.ApplyOptions(opts...)
3324	return out, req.Send()
3325}
3326
3327const opGetChannels = "GetChannels"
3328
3329// GetChannelsRequest generates a "aws/request.Request" representing the
3330// client's request for the GetChannels operation. The "output" return
3331// value will be populated with the request's response once the request completes
3332// successfully.
3333//
3334// Use "Send" method on the returned Request to send the API call to the service.
3335// the "output" return value is not valid until after Send returns without error.
3336//
3337// See GetChannels for more information on using the GetChannels
3338// API call, and error handling.
3339//
3340// This method is useful when you want to inject custom logic or configuration
3341// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3342//
3343//
3344//    // Example sending a request using the GetChannelsRequest method.
3345//    req, resp := client.GetChannelsRequest(params)
3346//
3347//    err := req.Send()
3348//    if err == nil { // resp is now filled
3349//        fmt.Println(resp)
3350//    }
3351//
3352// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetChannels
3353func (c *Pinpoint) GetChannelsRequest(input *GetChannelsInput) (req *request.Request, output *GetChannelsOutput) {
3354	op := &request.Operation{
3355		Name:       opGetChannels,
3356		HTTPMethod: "GET",
3357		HTTPPath:   "/v1/apps/{application-id}/channels",
3358	}
3359
3360	if input == nil {
3361		input = &GetChannelsInput{}
3362	}
3363
3364	output = &GetChannelsOutput{}
3365	req = c.newRequest(op, input, output)
3366	return
3367}
3368
3369// GetChannels API operation for Amazon Pinpoint.
3370//
3371// Retrieves information about the history and status of each channel for an
3372// application.
3373//
3374// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3375// with awserr.Error's Code and Message methods to get detailed information about
3376// the error.
3377//
3378// See the AWS API reference guide for Amazon Pinpoint's
3379// API operation GetChannels for usage and error information.
3380//
3381// Returned Error Codes:
3382//   * ErrCodeBadRequestException "BadRequestException"
3383//   Provides information about an API request or response.
3384//
3385//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3386//   Provides information about an API request or response.
3387//
3388//   * ErrCodeForbiddenException "ForbiddenException"
3389//   Provides information about an API request or response.
3390//
3391//   * ErrCodeNotFoundException "NotFoundException"
3392//   Provides information about an API request or response.
3393//
3394//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3395//   Provides information about an API request or response.
3396//
3397//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3398//   Provides information about an API request or response.
3399//
3400// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetChannels
3401func (c *Pinpoint) GetChannels(input *GetChannelsInput) (*GetChannelsOutput, error) {
3402	req, out := c.GetChannelsRequest(input)
3403	return out, req.Send()
3404}
3405
3406// GetChannelsWithContext is the same as GetChannels with the addition of
3407// the ability to pass a context and additional request options.
3408//
3409// See GetChannels for details on how to use this API operation.
3410//
3411// The context must be non-nil and will be used for request cancellation. If
3412// the context is nil a panic will occur. In the future the SDK may create
3413// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3414// for more information on using Contexts.
3415func (c *Pinpoint) GetChannelsWithContext(ctx aws.Context, input *GetChannelsInput, opts ...request.Option) (*GetChannelsOutput, error) {
3416	req, out := c.GetChannelsRequest(input)
3417	req.SetContext(ctx)
3418	req.ApplyOptions(opts...)
3419	return out, req.Send()
3420}
3421
3422const opGetEmailChannel = "GetEmailChannel"
3423
3424// GetEmailChannelRequest generates a "aws/request.Request" representing the
3425// client's request for the GetEmailChannel operation. The "output" return
3426// value will be populated with the request's response once the request completes
3427// successfully.
3428//
3429// Use "Send" method on the returned Request to send the API call to the service.
3430// the "output" return value is not valid until after Send returns without error.
3431//
3432// See GetEmailChannel for more information on using the GetEmailChannel
3433// API call, and error handling.
3434//
3435// This method is useful when you want to inject custom logic or configuration
3436// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3437//
3438//
3439//    // Example sending a request using the GetEmailChannelRequest method.
3440//    req, resp := client.GetEmailChannelRequest(params)
3441//
3442//    err := req.Send()
3443//    if err == nil { // resp is now filled
3444//        fmt.Println(resp)
3445//    }
3446//
3447// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailChannel
3448func (c *Pinpoint) GetEmailChannelRequest(input *GetEmailChannelInput) (req *request.Request, output *GetEmailChannelOutput) {
3449	op := &request.Operation{
3450		Name:       opGetEmailChannel,
3451		HTTPMethod: "GET",
3452		HTTPPath:   "/v1/apps/{application-id}/channels/email",
3453	}
3454
3455	if input == nil {
3456		input = &GetEmailChannelInput{}
3457	}
3458
3459	output = &GetEmailChannelOutput{}
3460	req = c.newRequest(op, input, output)
3461	return
3462}
3463
3464// GetEmailChannel API operation for Amazon Pinpoint.
3465//
3466// Retrieves information about the status and settings of the email channel
3467// for an application.
3468//
3469// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3470// with awserr.Error's Code and Message methods to get detailed information about
3471// the error.
3472//
3473// See the AWS API reference guide for Amazon Pinpoint's
3474// API operation GetEmailChannel for usage and error information.
3475//
3476// Returned Error Codes:
3477//   * ErrCodeBadRequestException "BadRequestException"
3478//   Provides information about an API request or response.
3479//
3480//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3481//   Provides information about an API request or response.
3482//
3483//   * ErrCodeForbiddenException "ForbiddenException"
3484//   Provides information about an API request or response.
3485//
3486//   * ErrCodeNotFoundException "NotFoundException"
3487//   Provides information about an API request or response.
3488//
3489//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3490//   Provides information about an API request or response.
3491//
3492//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3493//   Provides information about an API request or response.
3494//
3495// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEmailChannel
3496func (c *Pinpoint) GetEmailChannel(input *GetEmailChannelInput) (*GetEmailChannelOutput, error) {
3497	req, out := c.GetEmailChannelRequest(input)
3498	return out, req.Send()
3499}
3500
3501// GetEmailChannelWithContext is the same as GetEmailChannel with the addition of
3502// the ability to pass a context and additional request options.
3503//
3504// See GetEmailChannel for details on how to use this API operation.
3505//
3506// The context must be non-nil and will be used for request cancellation. If
3507// the context is nil a panic will occur. In the future the SDK may create
3508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3509// for more information on using Contexts.
3510func (c *Pinpoint) GetEmailChannelWithContext(ctx aws.Context, input *GetEmailChannelInput, opts ...request.Option) (*GetEmailChannelOutput, error) {
3511	req, out := c.GetEmailChannelRequest(input)
3512	req.SetContext(ctx)
3513	req.ApplyOptions(opts...)
3514	return out, req.Send()
3515}
3516
3517const opGetEndpoint = "GetEndpoint"
3518
3519// GetEndpointRequest generates a "aws/request.Request" representing the
3520// client's request for the GetEndpoint operation. The "output" return
3521// value will be populated with the request's response once the request completes
3522// successfully.
3523//
3524// Use "Send" method on the returned Request to send the API call to the service.
3525// the "output" return value is not valid until after Send returns without error.
3526//
3527// See GetEndpoint for more information on using the GetEndpoint
3528// API call, and error handling.
3529//
3530// This method is useful when you want to inject custom logic or configuration
3531// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3532//
3533//
3534//    // Example sending a request using the GetEndpointRequest method.
3535//    req, resp := client.GetEndpointRequest(params)
3536//
3537//    err := req.Send()
3538//    if err == nil { // resp is now filled
3539//        fmt.Println(resp)
3540//    }
3541//
3542// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpoint
3543func (c *Pinpoint) GetEndpointRequest(input *GetEndpointInput) (req *request.Request, output *GetEndpointOutput) {
3544	op := &request.Operation{
3545		Name:       opGetEndpoint,
3546		HTTPMethod: "GET",
3547		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
3548	}
3549
3550	if input == nil {
3551		input = &GetEndpointInput{}
3552	}
3553
3554	output = &GetEndpointOutput{}
3555	req = c.newRequest(op, input, output)
3556	return
3557}
3558
3559// GetEndpoint API operation for Amazon Pinpoint.
3560//
3561// Retrieves information about the settings and attributes of a specific endpoint
3562// for an application.
3563//
3564// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3565// with awserr.Error's Code and Message methods to get detailed information about
3566// the error.
3567//
3568// See the AWS API reference guide for Amazon Pinpoint's
3569// API operation GetEndpoint for usage and error information.
3570//
3571// Returned Error Codes:
3572//   * ErrCodeBadRequestException "BadRequestException"
3573//   Provides information about an API request or response.
3574//
3575//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3576//   Provides information about an API request or response.
3577//
3578//   * ErrCodeForbiddenException "ForbiddenException"
3579//   Provides information about an API request or response.
3580//
3581//   * ErrCodeNotFoundException "NotFoundException"
3582//   Provides information about an API request or response.
3583//
3584//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3585//   Provides information about an API request or response.
3586//
3587//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3588//   Provides information about an API request or response.
3589//
3590// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEndpoint
3591func (c *Pinpoint) GetEndpoint(input *GetEndpointInput) (*GetEndpointOutput, error) {
3592	req, out := c.GetEndpointRequest(input)
3593	return out, req.Send()
3594}
3595
3596// GetEndpointWithContext is the same as GetEndpoint with the addition of
3597// the ability to pass a context and additional request options.
3598//
3599// See GetEndpoint for details on how to use this API operation.
3600//
3601// The context must be non-nil and will be used for request cancellation. If
3602// the context is nil a panic will occur. In the future the SDK may create
3603// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3604// for more information on using Contexts.
3605func (c *Pinpoint) GetEndpointWithContext(ctx aws.Context, input *GetEndpointInput, opts ...request.Option) (*GetEndpointOutput, error) {
3606	req, out := c.GetEndpointRequest(input)
3607	req.SetContext(ctx)
3608	req.ApplyOptions(opts...)
3609	return out, req.Send()
3610}
3611
3612const opGetEventStream = "GetEventStream"
3613
3614// GetEventStreamRequest generates a "aws/request.Request" representing the
3615// client's request for the GetEventStream operation. The "output" return
3616// value will be populated with the request's response once the request completes
3617// successfully.
3618//
3619// Use "Send" method on the returned Request to send the API call to the service.
3620// the "output" return value is not valid until after Send returns without error.
3621//
3622// See GetEventStream for more information on using the GetEventStream
3623// API call, and error handling.
3624//
3625// This method is useful when you want to inject custom logic or configuration
3626// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3627//
3628//
3629//    // Example sending a request using the GetEventStreamRequest method.
3630//    req, resp := client.GetEventStreamRequest(params)
3631//
3632//    err := req.Send()
3633//    if err == nil { // resp is now filled
3634//        fmt.Println(resp)
3635//    }
3636//
3637// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEventStream
3638func (c *Pinpoint) GetEventStreamRequest(input *GetEventStreamInput) (req *request.Request, output *GetEventStreamOutput) {
3639	op := &request.Operation{
3640		Name:       opGetEventStream,
3641		HTTPMethod: "GET",
3642		HTTPPath:   "/v1/apps/{application-id}/eventstream",
3643	}
3644
3645	if input == nil {
3646		input = &GetEventStreamInput{}
3647	}
3648
3649	output = &GetEventStreamOutput{}
3650	req = c.newRequest(op, input, output)
3651	return
3652}
3653
3654// GetEventStream API operation for Amazon Pinpoint.
3655//
3656// Retrieves information about the event stream settings for an application.
3657//
3658// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3659// with awserr.Error's Code and Message methods to get detailed information about
3660// the error.
3661//
3662// See the AWS API reference guide for Amazon Pinpoint's
3663// API operation GetEventStream for usage and error information.
3664//
3665// Returned Error Codes:
3666//   * ErrCodeBadRequestException "BadRequestException"
3667//   Provides information about an API request or response.
3668//
3669//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3670//   Provides information about an API request or response.
3671//
3672//   * ErrCodeForbiddenException "ForbiddenException"
3673//   Provides information about an API request or response.
3674//
3675//   * ErrCodeNotFoundException "NotFoundException"
3676//   Provides information about an API request or response.
3677//
3678//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3679//   Provides information about an API request or response.
3680//
3681//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3682//   Provides information about an API request or response.
3683//
3684// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetEventStream
3685func (c *Pinpoint) GetEventStream(input *GetEventStreamInput) (*GetEventStreamOutput, error) {
3686	req, out := c.GetEventStreamRequest(input)
3687	return out, req.Send()
3688}
3689
3690// GetEventStreamWithContext is the same as GetEventStream with the addition of
3691// the ability to pass a context and additional request options.
3692//
3693// See GetEventStream for details on how to use this API operation.
3694//
3695// The context must be non-nil and will be used for request cancellation. If
3696// the context is nil a panic will occur. In the future the SDK may create
3697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3698// for more information on using Contexts.
3699func (c *Pinpoint) GetEventStreamWithContext(ctx aws.Context, input *GetEventStreamInput, opts ...request.Option) (*GetEventStreamOutput, error) {
3700	req, out := c.GetEventStreamRequest(input)
3701	req.SetContext(ctx)
3702	req.ApplyOptions(opts...)
3703	return out, req.Send()
3704}
3705
3706const opGetExportJob = "GetExportJob"
3707
3708// GetExportJobRequest generates a "aws/request.Request" representing the
3709// client's request for the GetExportJob operation. The "output" return
3710// value will be populated with the request's response once the request completes
3711// successfully.
3712//
3713// Use "Send" method on the returned Request to send the API call to the service.
3714// the "output" return value is not valid until after Send returns without error.
3715//
3716// See GetExportJob for more information on using the GetExportJob
3717// API call, and error handling.
3718//
3719// This method is useful when you want to inject custom logic or configuration
3720// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3721//
3722//
3723//    // Example sending a request using the GetExportJobRequest method.
3724//    req, resp := client.GetExportJobRequest(params)
3725//
3726//    err := req.Send()
3727//    if err == nil { // resp is now filled
3728//        fmt.Println(resp)
3729//    }
3730//
3731// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJob
3732func (c *Pinpoint) GetExportJobRequest(input *GetExportJobInput) (req *request.Request, output *GetExportJobOutput) {
3733	op := &request.Operation{
3734		Name:       opGetExportJob,
3735		HTTPMethod: "GET",
3736		HTTPPath:   "/v1/apps/{application-id}/jobs/export/{job-id}",
3737	}
3738
3739	if input == nil {
3740		input = &GetExportJobInput{}
3741	}
3742
3743	output = &GetExportJobOutput{}
3744	req = c.newRequest(op, input, output)
3745	return
3746}
3747
3748// GetExportJob API operation for Amazon Pinpoint.
3749//
3750// Retrieves information about the status and settings of a specific export
3751// job for an application.
3752//
3753// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3754// with awserr.Error's Code and Message methods to get detailed information about
3755// the error.
3756//
3757// See the AWS API reference guide for Amazon Pinpoint's
3758// API operation GetExportJob for usage and error information.
3759//
3760// Returned Error Codes:
3761//   * ErrCodeBadRequestException "BadRequestException"
3762//   Provides information about an API request or response.
3763//
3764//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3765//   Provides information about an API request or response.
3766//
3767//   * ErrCodeForbiddenException "ForbiddenException"
3768//   Provides information about an API request or response.
3769//
3770//   * ErrCodeNotFoundException "NotFoundException"
3771//   Provides information about an API request or response.
3772//
3773//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3774//   Provides information about an API request or response.
3775//
3776//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3777//   Provides information about an API request or response.
3778//
3779// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJob
3780func (c *Pinpoint) GetExportJob(input *GetExportJobInput) (*GetExportJobOutput, error) {
3781	req, out := c.GetExportJobRequest(input)
3782	return out, req.Send()
3783}
3784
3785// GetExportJobWithContext is the same as GetExportJob with the addition of
3786// the ability to pass a context and additional request options.
3787//
3788// See GetExportJob for details on how to use this API operation.
3789//
3790// The context must be non-nil and will be used for request cancellation. If
3791// the context is nil a panic will occur. In the future the SDK may create
3792// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3793// for more information on using Contexts.
3794func (c *Pinpoint) GetExportJobWithContext(ctx aws.Context, input *GetExportJobInput, opts ...request.Option) (*GetExportJobOutput, error) {
3795	req, out := c.GetExportJobRequest(input)
3796	req.SetContext(ctx)
3797	req.ApplyOptions(opts...)
3798	return out, req.Send()
3799}
3800
3801const opGetExportJobs = "GetExportJobs"
3802
3803// GetExportJobsRequest generates a "aws/request.Request" representing the
3804// client's request for the GetExportJobs operation. The "output" return
3805// value will be populated with the request's response once the request completes
3806// successfully.
3807//
3808// Use "Send" method on the returned Request to send the API call to the service.
3809// the "output" return value is not valid until after Send returns without error.
3810//
3811// See GetExportJobs for more information on using the GetExportJobs
3812// API call, and error handling.
3813//
3814// This method is useful when you want to inject custom logic or configuration
3815// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3816//
3817//
3818//    // Example sending a request using the GetExportJobsRequest method.
3819//    req, resp := client.GetExportJobsRequest(params)
3820//
3821//    err := req.Send()
3822//    if err == nil { // resp is now filled
3823//        fmt.Println(resp)
3824//    }
3825//
3826// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJobs
3827func (c *Pinpoint) GetExportJobsRequest(input *GetExportJobsInput) (req *request.Request, output *GetExportJobsOutput) {
3828	op := &request.Operation{
3829		Name:       opGetExportJobs,
3830		HTTPMethod: "GET",
3831		HTTPPath:   "/v1/apps/{application-id}/jobs/export",
3832	}
3833
3834	if input == nil {
3835		input = &GetExportJobsInput{}
3836	}
3837
3838	output = &GetExportJobsOutput{}
3839	req = c.newRequest(op, input, output)
3840	return
3841}
3842
3843// GetExportJobs API operation for Amazon Pinpoint.
3844//
3845// Retrieves information about the status and settings of all the export jobs
3846// for an application.
3847//
3848// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3849// with awserr.Error's Code and Message methods to get detailed information about
3850// the error.
3851//
3852// See the AWS API reference guide for Amazon Pinpoint's
3853// API operation GetExportJobs for usage and error information.
3854//
3855// Returned Error Codes:
3856//   * ErrCodeBadRequestException "BadRequestException"
3857//   Provides information about an API request or response.
3858//
3859//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3860//   Provides information about an API request or response.
3861//
3862//   * ErrCodeForbiddenException "ForbiddenException"
3863//   Provides information about an API request or response.
3864//
3865//   * ErrCodeNotFoundException "NotFoundException"
3866//   Provides information about an API request or response.
3867//
3868//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3869//   Provides information about an API request or response.
3870//
3871//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3872//   Provides information about an API request or response.
3873//
3874// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJobs
3875func (c *Pinpoint) GetExportJobs(input *GetExportJobsInput) (*GetExportJobsOutput, error) {
3876	req, out := c.GetExportJobsRequest(input)
3877	return out, req.Send()
3878}
3879
3880// GetExportJobsWithContext is the same as GetExportJobs with the addition of
3881// the ability to pass a context and additional request options.
3882//
3883// See GetExportJobs for details on how to use this API operation.
3884//
3885// The context must be non-nil and will be used for request cancellation. If
3886// the context is nil a panic will occur. In the future the SDK may create
3887// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3888// for more information on using Contexts.
3889func (c *Pinpoint) GetExportJobsWithContext(ctx aws.Context, input *GetExportJobsInput, opts ...request.Option) (*GetExportJobsOutput, error) {
3890	req, out := c.GetExportJobsRequest(input)
3891	req.SetContext(ctx)
3892	req.ApplyOptions(opts...)
3893	return out, req.Send()
3894}
3895
3896const opGetGcmChannel = "GetGcmChannel"
3897
3898// GetGcmChannelRequest generates a "aws/request.Request" representing the
3899// client's request for the GetGcmChannel operation. The "output" return
3900// value will be populated with the request's response once the request completes
3901// successfully.
3902//
3903// Use "Send" method on the returned Request to send the API call to the service.
3904// the "output" return value is not valid until after Send returns without error.
3905//
3906// See GetGcmChannel for more information on using the GetGcmChannel
3907// API call, and error handling.
3908//
3909// This method is useful when you want to inject custom logic or configuration
3910// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3911//
3912//
3913//    // Example sending a request using the GetGcmChannelRequest method.
3914//    req, resp := client.GetGcmChannelRequest(params)
3915//
3916//    err := req.Send()
3917//    if err == nil { // resp is now filled
3918//        fmt.Println(resp)
3919//    }
3920//
3921// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetGcmChannel
3922func (c *Pinpoint) GetGcmChannelRequest(input *GetGcmChannelInput) (req *request.Request, output *GetGcmChannelOutput) {
3923	op := &request.Operation{
3924		Name:       opGetGcmChannel,
3925		HTTPMethod: "GET",
3926		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
3927	}
3928
3929	if input == nil {
3930		input = &GetGcmChannelInput{}
3931	}
3932
3933	output = &GetGcmChannelOutput{}
3934	req = c.newRequest(op, input, output)
3935	return
3936}
3937
3938// GetGcmChannel API operation for Amazon Pinpoint.
3939//
3940// Retrieves information about the status and settings of the GCM channel for
3941// an application.
3942//
3943// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3944// with awserr.Error's Code and Message methods to get detailed information about
3945// the error.
3946//
3947// See the AWS API reference guide for Amazon Pinpoint's
3948// API operation GetGcmChannel for usage and error information.
3949//
3950// Returned Error Codes:
3951//   * ErrCodeBadRequestException "BadRequestException"
3952//   Provides information about an API request or response.
3953//
3954//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3955//   Provides information about an API request or response.
3956//
3957//   * ErrCodeForbiddenException "ForbiddenException"
3958//   Provides information about an API request or response.
3959//
3960//   * ErrCodeNotFoundException "NotFoundException"
3961//   Provides information about an API request or response.
3962//
3963//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
3964//   Provides information about an API request or response.
3965//
3966//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3967//   Provides information about an API request or response.
3968//
3969// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetGcmChannel
3970func (c *Pinpoint) GetGcmChannel(input *GetGcmChannelInput) (*GetGcmChannelOutput, error) {
3971	req, out := c.GetGcmChannelRequest(input)
3972	return out, req.Send()
3973}
3974
3975// GetGcmChannelWithContext is the same as GetGcmChannel with the addition of
3976// the ability to pass a context and additional request options.
3977//
3978// See GetGcmChannel for details on how to use this API operation.
3979//
3980// The context must be non-nil and will be used for request cancellation. If
3981// the context is nil a panic will occur. In the future the SDK may create
3982// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3983// for more information on using Contexts.
3984func (c *Pinpoint) GetGcmChannelWithContext(ctx aws.Context, input *GetGcmChannelInput, opts ...request.Option) (*GetGcmChannelOutput, error) {
3985	req, out := c.GetGcmChannelRequest(input)
3986	req.SetContext(ctx)
3987	req.ApplyOptions(opts...)
3988	return out, req.Send()
3989}
3990
3991const opGetImportJob = "GetImportJob"
3992
3993// GetImportJobRequest generates a "aws/request.Request" representing the
3994// client's request for the GetImportJob operation. The "output" return
3995// value will be populated with the request's response once the request completes
3996// successfully.
3997//
3998// Use "Send" method on the returned Request to send the API call to the service.
3999// the "output" return value is not valid until after Send returns without error.
4000//
4001// See GetImportJob for more information on using the GetImportJob
4002// API call, and error handling.
4003//
4004// This method is useful when you want to inject custom logic or configuration
4005// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4006//
4007//
4008//    // Example sending a request using the GetImportJobRequest method.
4009//    req, resp := client.GetImportJobRequest(params)
4010//
4011//    err := req.Send()
4012//    if err == nil { // resp is now filled
4013//        fmt.Println(resp)
4014//    }
4015//
4016// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJob
4017func (c *Pinpoint) GetImportJobRequest(input *GetImportJobInput) (req *request.Request, output *GetImportJobOutput) {
4018	op := &request.Operation{
4019		Name:       opGetImportJob,
4020		HTTPMethod: "GET",
4021		HTTPPath:   "/v1/apps/{application-id}/jobs/import/{job-id}",
4022	}
4023
4024	if input == nil {
4025		input = &GetImportJobInput{}
4026	}
4027
4028	output = &GetImportJobOutput{}
4029	req = c.newRequest(op, input, output)
4030	return
4031}
4032
4033// GetImportJob API operation for Amazon Pinpoint.
4034//
4035// Retrieves information about the status and settings of a specific import
4036// job for an application.
4037//
4038// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4039// with awserr.Error's Code and Message methods to get detailed information about
4040// the error.
4041//
4042// See the AWS API reference guide for Amazon Pinpoint's
4043// API operation GetImportJob for usage and error information.
4044//
4045// Returned Error Codes:
4046//   * ErrCodeBadRequestException "BadRequestException"
4047//   Provides information about an API request or response.
4048//
4049//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4050//   Provides information about an API request or response.
4051//
4052//   * ErrCodeForbiddenException "ForbiddenException"
4053//   Provides information about an API request or response.
4054//
4055//   * ErrCodeNotFoundException "NotFoundException"
4056//   Provides information about an API request or response.
4057//
4058//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4059//   Provides information about an API request or response.
4060//
4061//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4062//   Provides information about an API request or response.
4063//
4064// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJob
4065func (c *Pinpoint) GetImportJob(input *GetImportJobInput) (*GetImportJobOutput, error) {
4066	req, out := c.GetImportJobRequest(input)
4067	return out, req.Send()
4068}
4069
4070// GetImportJobWithContext is the same as GetImportJob with the addition of
4071// the ability to pass a context and additional request options.
4072//
4073// See GetImportJob for details on how to use this API operation.
4074//
4075// The context must be non-nil and will be used for request cancellation. If
4076// the context is nil a panic will occur. In the future the SDK may create
4077// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4078// for more information on using Contexts.
4079func (c *Pinpoint) GetImportJobWithContext(ctx aws.Context, input *GetImportJobInput, opts ...request.Option) (*GetImportJobOutput, error) {
4080	req, out := c.GetImportJobRequest(input)
4081	req.SetContext(ctx)
4082	req.ApplyOptions(opts...)
4083	return out, req.Send()
4084}
4085
4086const opGetImportJobs = "GetImportJobs"
4087
4088// GetImportJobsRequest generates a "aws/request.Request" representing the
4089// client's request for the GetImportJobs operation. The "output" return
4090// value will be populated with the request's response once the request completes
4091// successfully.
4092//
4093// Use "Send" method on the returned Request to send the API call to the service.
4094// the "output" return value is not valid until after Send returns without error.
4095//
4096// See GetImportJobs for more information on using the GetImportJobs
4097// API call, and error handling.
4098//
4099// This method is useful when you want to inject custom logic or configuration
4100// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4101//
4102//
4103//    // Example sending a request using the GetImportJobsRequest method.
4104//    req, resp := client.GetImportJobsRequest(params)
4105//
4106//    err := req.Send()
4107//    if err == nil { // resp is now filled
4108//        fmt.Println(resp)
4109//    }
4110//
4111// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobs
4112func (c *Pinpoint) GetImportJobsRequest(input *GetImportJobsInput) (req *request.Request, output *GetImportJobsOutput) {
4113	op := &request.Operation{
4114		Name:       opGetImportJobs,
4115		HTTPMethod: "GET",
4116		HTTPPath:   "/v1/apps/{application-id}/jobs/import",
4117	}
4118
4119	if input == nil {
4120		input = &GetImportJobsInput{}
4121	}
4122
4123	output = &GetImportJobsOutput{}
4124	req = c.newRequest(op, input, output)
4125	return
4126}
4127
4128// GetImportJobs API operation for Amazon Pinpoint.
4129//
4130// Retrieves information about the status and settings of all the import jobs
4131// for an application.
4132//
4133// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4134// with awserr.Error's Code and Message methods to get detailed information about
4135// the error.
4136//
4137// See the AWS API reference guide for Amazon Pinpoint's
4138// API operation GetImportJobs for usage and error information.
4139//
4140// Returned Error Codes:
4141//   * ErrCodeBadRequestException "BadRequestException"
4142//   Provides information about an API request or response.
4143//
4144//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4145//   Provides information about an API request or response.
4146//
4147//   * ErrCodeForbiddenException "ForbiddenException"
4148//   Provides information about an API request or response.
4149//
4150//   * ErrCodeNotFoundException "NotFoundException"
4151//   Provides information about an API request or response.
4152//
4153//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4154//   Provides information about an API request or response.
4155//
4156//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4157//   Provides information about an API request or response.
4158//
4159// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetImportJobs
4160func (c *Pinpoint) GetImportJobs(input *GetImportJobsInput) (*GetImportJobsOutput, error) {
4161	req, out := c.GetImportJobsRequest(input)
4162	return out, req.Send()
4163}
4164
4165// GetImportJobsWithContext is the same as GetImportJobs with the addition of
4166// the ability to pass a context and additional request options.
4167//
4168// See GetImportJobs for details on how to use this API operation.
4169//
4170// The context must be non-nil and will be used for request cancellation. If
4171// the context is nil a panic will occur. In the future the SDK may create
4172// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4173// for more information on using Contexts.
4174func (c *Pinpoint) GetImportJobsWithContext(ctx aws.Context, input *GetImportJobsInput, opts ...request.Option) (*GetImportJobsOutput, error) {
4175	req, out := c.GetImportJobsRequest(input)
4176	req.SetContext(ctx)
4177	req.ApplyOptions(opts...)
4178	return out, req.Send()
4179}
4180
4181const opGetSegment = "GetSegment"
4182
4183// GetSegmentRequest generates a "aws/request.Request" representing the
4184// client's request for the GetSegment operation. The "output" return
4185// value will be populated with the request's response once the request completes
4186// successfully.
4187//
4188// Use "Send" method on the returned Request to send the API call to the service.
4189// the "output" return value is not valid until after Send returns without error.
4190//
4191// See GetSegment for more information on using the GetSegment
4192// API call, and error handling.
4193//
4194// This method is useful when you want to inject custom logic or configuration
4195// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4196//
4197//
4198//    // Example sending a request using the GetSegmentRequest method.
4199//    req, resp := client.GetSegmentRequest(params)
4200//
4201//    err := req.Send()
4202//    if err == nil { // resp is now filled
4203//        fmt.Println(resp)
4204//    }
4205//
4206// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment
4207func (c *Pinpoint) GetSegmentRequest(input *GetSegmentInput) (req *request.Request, output *GetSegmentOutput) {
4208	op := &request.Operation{
4209		Name:       opGetSegment,
4210		HTTPMethod: "GET",
4211		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
4212	}
4213
4214	if input == nil {
4215		input = &GetSegmentInput{}
4216	}
4217
4218	output = &GetSegmentOutput{}
4219	req = c.newRequest(op, input, output)
4220	return
4221}
4222
4223// GetSegment API operation for Amazon Pinpoint.
4224//
4225// Retrieves information about the configuration, dimension, and other settings
4226// for a specific segment that's associated with an application.
4227//
4228// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4229// with awserr.Error's Code and Message methods to get detailed information about
4230// the error.
4231//
4232// See the AWS API reference guide for Amazon Pinpoint's
4233// API operation GetSegment for usage and error information.
4234//
4235// Returned Error Codes:
4236//   * ErrCodeBadRequestException "BadRequestException"
4237//   Provides information about an API request or response.
4238//
4239//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4240//   Provides information about an API request or response.
4241//
4242//   * ErrCodeForbiddenException "ForbiddenException"
4243//   Provides information about an API request or response.
4244//
4245//   * ErrCodeNotFoundException "NotFoundException"
4246//   Provides information about an API request or response.
4247//
4248//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4249//   Provides information about an API request or response.
4250//
4251//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4252//   Provides information about an API request or response.
4253//
4254// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment
4255func (c *Pinpoint) GetSegment(input *GetSegmentInput) (*GetSegmentOutput, error) {
4256	req, out := c.GetSegmentRequest(input)
4257	return out, req.Send()
4258}
4259
4260// GetSegmentWithContext is the same as GetSegment with the addition of
4261// the ability to pass a context and additional request options.
4262//
4263// See GetSegment for details on how to use this API operation.
4264//
4265// The context must be non-nil and will be used for request cancellation. If
4266// the context is nil a panic will occur. In the future the SDK may create
4267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4268// for more information on using Contexts.
4269func (c *Pinpoint) GetSegmentWithContext(ctx aws.Context, input *GetSegmentInput, opts ...request.Option) (*GetSegmentOutput, error) {
4270	req, out := c.GetSegmentRequest(input)
4271	req.SetContext(ctx)
4272	req.ApplyOptions(opts...)
4273	return out, req.Send()
4274}
4275
4276const opGetSegmentExportJobs = "GetSegmentExportJobs"
4277
4278// GetSegmentExportJobsRequest generates a "aws/request.Request" representing the
4279// client's request for the GetSegmentExportJobs operation. The "output" return
4280// value will be populated with the request's response once the request completes
4281// successfully.
4282//
4283// Use "Send" method on the returned Request to send the API call to the service.
4284// the "output" return value is not valid until after Send returns without error.
4285//
4286// See GetSegmentExportJobs for more information on using the GetSegmentExportJobs
4287// API call, and error handling.
4288//
4289// This method is useful when you want to inject custom logic or configuration
4290// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4291//
4292//
4293//    // Example sending a request using the GetSegmentExportJobsRequest method.
4294//    req, resp := client.GetSegmentExportJobsRequest(params)
4295//
4296//    err := req.Send()
4297//    if err == nil { // resp is now filled
4298//        fmt.Println(resp)
4299//    }
4300//
4301// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs
4302func (c *Pinpoint) GetSegmentExportJobsRequest(input *GetSegmentExportJobsInput) (req *request.Request, output *GetSegmentExportJobsOutput) {
4303	op := &request.Operation{
4304		Name:       opGetSegmentExportJobs,
4305		HTTPMethod: "GET",
4306		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/jobs/export",
4307	}
4308
4309	if input == nil {
4310		input = &GetSegmentExportJobsInput{}
4311	}
4312
4313	output = &GetSegmentExportJobsOutput{}
4314	req = c.newRequest(op, input, output)
4315	return
4316}
4317
4318// GetSegmentExportJobs API operation for Amazon Pinpoint.
4319//
4320// Retrieves information about the status and settings of the export jobs for
4321// a segment.
4322//
4323// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4324// with awserr.Error's Code and Message methods to get detailed information about
4325// the error.
4326//
4327// See the AWS API reference guide for Amazon Pinpoint's
4328// API operation GetSegmentExportJobs for usage and error information.
4329//
4330// Returned Error Codes:
4331//   * ErrCodeBadRequestException "BadRequestException"
4332//   Provides information about an API request or response.
4333//
4334//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4335//   Provides information about an API request or response.
4336//
4337//   * ErrCodeForbiddenException "ForbiddenException"
4338//   Provides information about an API request or response.
4339//
4340//   * ErrCodeNotFoundException "NotFoundException"
4341//   Provides information about an API request or response.
4342//
4343//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4344//   Provides information about an API request or response.
4345//
4346//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4347//   Provides information about an API request or response.
4348//
4349// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs
4350func (c *Pinpoint) GetSegmentExportJobs(input *GetSegmentExportJobsInput) (*GetSegmentExportJobsOutput, error) {
4351	req, out := c.GetSegmentExportJobsRequest(input)
4352	return out, req.Send()
4353}
4354
4355// GetSegmentExportJobsWithContext is the same as GetSegmentExportJobs with the addition of
4356// the ability to pass a context and additional request options.
4357//
4358// See GetSegmentExportJobs for details on how to use this API operation.
4359//
4360// The context must be non-nil and will be used for request cancellation. If
4361// the context is nil a panic will occur. In the future the SDK may create
4362// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4363// for more information on using Contexts.
4364func (c *Pinpoint) GetSegmentExportJobsWithContext(ctx aws.Context, input *GetSegmentExportJobsInput, opts ...request.Option) (*GetSegmentExportJobsOutput, error) {
4365	req, out := c.GetSegmentExportJobsRequest(input)
4366	req.SetContext(ctx)
4367	req.ApplyOptions(opts...)
4368	return out, req.Send()
4369}
4370
4371const opGetSegmentImportJobs = "GetSegmentImportJobs"
4372
4373// GetSegmentImportJobsRequest generates a "aws/request.Request" representing the
4374// client's request for the GetSegmentImportJobs operation. The "output" return
4375// value will be populated with the request's response once the request completes
4376// successfully.
4377//
4378// Use "Send" method on the returned Request to send the API call to the service.
4379// the "output" return value is not valid until after Send returns without error.
4380//
4381// See GetSegmentImportJobs for more information on using the GetSegmentImportJobs
4382// API call, and error handling.
4383//
4384// This method is useful when you want to inject custom logic or configuration
4385// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4386//
4387//
4388//    // Example sending a request using the GetSegmentImportJobsRequest method.
4389//    req, resp := client.GetSegmentImportJobsRequest(params)
4390//
4391//    err := req.Send()
4392//    if err == nil { // resp is now filled
4393//        fmt.Println(resp)
4394//    }
4395//
4396// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs
4397func (c *Pinpoint) GetSegmentImportJobsRequest(input *GetSegmentImportJobsInput) (req *request.Request, output *GetSegmentImportJobsOutput) {
4398	op := &request.Operation{
4399		Name:       opGetSegmentImportJobs,
4400		HTTPMethod: "GET",
4401		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/jobs/import",
4402	}
4403
4404	if input == nil {
4405		input = &GetSegmentImportJobsInput{}
4406	}
4407
4408	output = &GetSegmentImportJobsOutput{}
4409	req = c.newRequest(op, input, output)
4410	return
4411}
4412
4413// GetSegmentImportJobs API operation for Amazon Pinpoint.
4414//
4415// Retrieves information about the status and settings of the import jobs for
4416// a segment.
4417//
4418// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4419// with awserr.Error's Code and Message methods to get detailed information about
4420// the error.
4421//
4422// See the AWS API reference guide for Amazon Pinpoint's
4423// API operation GetSegmentImportJobs for usage and error information.
4424//
4425// Returned Error Codes:
4426//   * ErrCodeBadRequestException "BadRequestException"
4427//   Provides information about an API request or response.
4428//
4429//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4430//   Provides information about an API request or response.
4431//
4432//   * ErrCodeForbiddenException "ForbiddenException"
4433//   Provides information about an API request or response.
4434//
4435//   * ErrCodeNotFoundException "NotFoundException"
4436//   Provides information about an API request or response.
4437//
4438//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4439//   Provides information about an API request or response.
4440//
4441//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4442//   Provides information about an API request or response.
4443//
4444// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs
4445func (c *Pinpoint) GetSegmentImportJobs(input *GetSegmentImportJobsInput) (*GetSegmentImportJobsOutput, error) {
4446	req, out := c.GetSegmentImportJobsRequest(input)
4447	return out, req.Send()
4448}
4449
4450// GetSegmentImportJobsWithContext is the same as GetSegmentImportJobs with the addition of
4451// the ability to pass a context and additional request options.
4452//
4453// See GetSegmentImportJobs for details on how to use this API operation.
4454//
4455// The context must be non-nil and will be used for request cancellation. If
4456// the context is nil a panic will occur. In the future the SDK may create
4457// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4458// for more information on using Contexts.
4459func (c *Pinpoint) GetSegmentImportJobsWithContext(ctx aws.Context, input *GetSegmentImportJobsInput, opts ...request.Option) (*GetSegmentImportJobsOutput, error) {
4460	req, out := c.GetSegmentImportJobsRequest(input)
4461	req.SetContext(ctx)
4462	req.ApplyOptions(opts...)
4463	return out, req.Send()
4464}
4465
4466const opGetSegmentVersion = "GetSegmentVersion"
4467
4468// GetSegmentVersionRequest generates a "aws/request.Request" representing the
4469// client's request for the GetSegmentVersion operation. The "output" return
4470// value will be populated with the request's response once the request completes
4471// successfully.
4472//
4473// Use "Send" method on the returned Request to send the API call to the service.
4474// the "output" return value is not valid until after Send returns without error.
4475//
4476// See GetSegmentVersion for more information on using the GetSegmentVersion
4477// API call, and error handling.
4478//
4479// This method is useful when you want to inject custom logic or configuration
4480// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4481//
4482//
4483//    // Example sending a request using the GetSegmentVersionRequest method.
4484//    req, resp := client.GetSegmentVersionRequest(params)
4485//
4486//    err := req.Send()
4487//    if err == nil { // resp is now filled
4488//        fmt.Println(resp)
4489//    }
4490//
4491// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion
4492func (c *Pinpoint) GetSegmentVersionRequest(input *GetSegmentVersionInput) (req *request.Request, output *GetSegmentVersionOutput) {
4493	op := &request.Operation{
4494		Name:       opGetSegmentVersion,
4495		HTTPMethod: "GET",
4496		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/versions/{version}",
4497	}
4498
4499	if input == nil {
4500		input = &GetSegmentVersionInput{}
4501	}
4502
4503	output = &GetSegmentVersionOutput{}
4504	req = c.newRequest(op, input, output)
4505	return
4506}
4507
4508// GetSegmentVersion API operation for Amazon Pinpoint.
4509//
4510// Retrieves information about the configuration, dimension, and other settings
4511// for a specific version of a segment that's associated with an application.
4512//
4513// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4514// with awserr.Error's Code and Message methods to get detailed information about
4515// the error.
4516//
4517// See the AWS API reference guide for Amazon Pinpoint's
4518// API operation GetSegmentVersion for usage and error information.
4519//
4520// Returned Error Codes:
4521//   * ErrCodeBadRequestException "BadRequestException"
4522//   Provides information about an API request or response.
4523//
4524//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4525//   Provides information about an API request or response.
4526//
4527//   * ErrCodeForbiddenException "ForbiddenException"
4528//   Provides information about an API request or response.
4529//
4530//   * ErrCodeNotFoundException "NotFoundException"
4531//   Provides information about an API request or response.
4532//
4533//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4534//   Provides information about an API request or response.
4535//
4536//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4537//   Provides information about an API request or response.
4538//
4539// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion
4540func (c *Pinpoint) GetSegmentVersion(input *GetSegmentVersionInput) (*GetSegmentVersionOutput, error) {
4541	req, out := c.GetSegmentVersionRequest(input)
4542	return out, req.Send()
4543}
4544
4545// GetSegmentVersionWithContext is the same as GetSegmentVersion with the addition of
4546// the ability to pass a context and additional request options.
4547//
4548// See GetSegmentVersion for details on how to use this API operation.
4549//
4550// The context must be non-nil and will be used for request cancellation. If
4551// the context is nil a panic will occur. In the future the SDK may create
4552// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4553// for more information on using Contexts.
4554func (c *Pinpoint) GetSegmentVersionWithContext(ctx aws.Context, input *GetSegmentVersionInput, opts ...request.Option) (*GetSegmentVersionOutput, error) {
4555	req, out := c.GetSegmentVersionRequest(input)
4556	req.SetContext(ctx)
4557	req.ApplyOptions(opts...)
4558	return out, req.Send()
4559}
4560
4561const opGetSegmentVersions = "GetSegmentVersions"
4562
4563// GetSegmentVersionsRequest generates a "aws/request.Request" representing the
4564// client's request for the GetSegmentVersions operation. The "output" return
4565// value will be populated with the request's response once the request completes
4566// successfully.
4567//
4568// Use "Send" method on the returned Request to send the API call to the service.
4569// the "output" return value is not valid until after Send returns without error.
4570//
4571// See GetSegmentVersions for more information on using the GetSegmentVersions
4572// API call, and error handling.
4573//
4574// This method is useful when you want to inject custom logic or configuration
4575// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4576//
4577//
4578//    // Example sending a request using the GetSegmentVersionsRequest method.
4579//    req, resp := client.GetSegmentVersionsRequest(params)
4580//
4581//    err := req.Send()
4582//    if err == nil { // resp is now filled
4583//        fmt.Println(resp)
4584//    }
4585//
4586// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions
4587func (c *Pinpoint) GetSegmentVersionsRequest(input *GetSegmentVersionsInput) (req *request.Request, output *GetSegmentVersionsOutput) {
4588	op := &request.Operation{
4589		Name:       opGetSegmentVersions,
4590		HTTPMethod: "GET",
4591		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}/versions",
4592	}
4593
4594	if input == nil {
4595		input = &GetSegmentVersionsInput{}
4596	}
4597
4598	output = &GetSegmentVersionsOutput{}
4599	req = c.newRequest(op, input, output)
4600	return
4601}
4602
4603// GetSegmentVersions API operation for Amazon Pinpoint.
4604//
4605// Retrieves information about the configuration, dimension, and other settings
4606// for all versions of a specific segment that's associated with an application.
4607//
4608// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4609// with awserr.Error's Code and Message methods to get detailed information about
4610// the error.
4611//
4612// See the AWS API reference guide for Amazon Pinpoint's
4613// API operation GetSegmentVersions for usage and error information.
4614//
4615// Returned Error Codes:
4616//   * ErrCodeBadRequestException "BadRequestException"
4617//   Provides information about an API request or response.
4618//
4619//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4620//   Provides information about an API request or response.
4621//
4622//   * ErrCodeForbiddenException "ForbiddenException"
4623//   Provides information about an API request or response.
4624//
4625//   * ErrCodeNotFoundException "NotFoundException"
4626//   Provides information about an API request or response.
4627//
4628//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4629//   Provides information about an API request or response.
4630//
4631//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4632//   Provides information about an API request or response.
4633//
4634// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions
4635func (c *Pinpoint) GetSegmentVersions(input *GetSegmentVersionsInput) (*GetSegmentVersionsOutput, error) {
4636	req, out := c.GetSegmentVersionsRequest(input)
4637	return out, req.Send()
4638}
4639
4640// GetSegmentVersionsWithContext is the same as GetSegmentVersions with the addition of
4641// the ability to pass a context and additional request options.
4642//
4643// See GetSegmentVersions for details on how to use this API operation.
4644//
4645// The context must be non-nil and will be used for request cancellation. If
4646// the context is nil a panic will occur. In the future the SDK may create
4647// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4648// for more information on using Contexts.
4649func (c *Pinpoint) GetSegmentVersionsWithContext(ctx aws.Context, input *GetSegmentVersionsInput, opts ...request.Option) (*GetSegmentVersionsOutput, error) {
4650	req, out := c.GetSegmentVersionsRequest(input)
4651	req.SetContext(ctx)
4652	req.ApplyOptions(opts...)
4653	return out, req.Send()
4654}
4655
4656const opGetSegments = "GetSegments"
4657
4658// GetSegmentsRequest generates a "aws/request.Request" representing the
4659// client's request for the GetSegments operation. The "output" return
4660// value will be populated with the request's response once the request completes
4661// successfully.
4662//
4663// Use "Send" method on the returned Request to send the API call to the service.
4664// the "output" return value is not valid until after Send returns without error.
4665//
4666// See GetSegments for more information on using the GetSegments
4667// API call, and error handling.
4668//
4669// This method is useful when you want to inject custom logic or configuration
4670// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4671//
4672//
4673//    // Example sending a request using the GetSegmentsRequest method.
4674//    req, resp := client.GetSegmentsRequest(params)
4675//
4676//    err := req.Send()
4677//    if err == nil { // resp is now filled
4678//        fmt.Println(resp)
4679//    }
4680//
4681// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments
4682func (c *Pinpoint) GetSegmentsRequest(input *GetSegmentsInput) (req *request.Request, output *GetSegmentsOutput) {
4683	op := &request.Operation{
4684		Name:       opGetSegments,
4685		HTTPMethod: "GET",
4686		HTTPPath:   "/v1/apps/{application-id}/segments",
4687	}
4688
4689	if input == nil {
4690		input = &GetSegmentsInput{}
4691	}
4692
4693	output = &GetSegmentsOutput{}
4694	req = c.newRequest(op, input, output)
4695	return
4696}
4697
4698// GetSegments API operation for Amazon Pinpoint.
4699//
4700// Retrieves information about the configuration, dimension, and other settings
4701// for all the segments that are associated with an application.
4702//
4703// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4704// with awserr.Error's Code and Message methods to get detailed information about
4705// the error.
4706//
4707// See the AWS API reference guide for Amazon Pinpoint's
4708// API operation GetSegments for usage and error information.
4709//
4710// Returned Error Codes:
4711//   * ErrCodeBadRequestException "BadRequestException"
4712//   Provides information about an API request or response.
4713//
4714//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4715//   Provides information about an API request or response.
4716//
4717//   * ErrCodeForbiddenException "ForbiddenException"
4718//   Provides information about an API request or response.
4719//
4720//   * ErrCodeNotFoundException "NotFoundException"
4721//   Provides information about an API request or response.
4722//
4723//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4724//   Provides information about an API request or response.
4725//
4726//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4727//   Provides information about an API request or response.
4728//
4729// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments
4730func (c *Pinpoint) GetSegments(input *GetSegmentsInput) (*GetSegmentsOutput, error) {
4731	req, out := c.GetSegmentsRequest(input)
4732	return out, req.Send()
4733}
4734
4735// GetSegmentsWithContext is the same as GetSegments with the addition of
4736// the ability to pass a context and additional request options.
4737//
4738// See GetSegments for details on how to use this API operation.
4739//
4740// The context must be non-nil and will be used for request cancellation. If
4741// the context is nil a panic will occur. In the future the SDK may create
4742// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4743// for more information on using Contexts.
4744func (c *Pinpoint) GetSegmentsWithContext(ctx aws.Context, input *GetSegmentsInput, opts ...request.Option) (*GetSegmentsOutput, error) {
4745	req, out := c.GetSegmentsRequest(input)
4746	req.SetContext(ctx)
4747	req.ApplyOptions(opts...)
4748	return out, req.Send()
4749}
4750
4751const opGetSmsChannel = "GetSmsChannel"
4752
4753// GetSmsChannelRequest generates a "aws/request.Request" representing the
4754// client's request for the GetSmsChannel operation. The "output" return
4755// value will be populated with the request's response once the request completes
4756// successfully.
4757//
4758// Use "Send" method on the returned Request to send the API call to the service.
4759// the "output" return value is not valid until after Send returns without error.
4760//
4761// See GetSmsChannel for more information on using the GetSmsChannel
4762// API call, and error handling.
4763//
4764// This method is useful when you want to inject custom logic or configuration
4765// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4766//
4767//
4768//    // Example sending a request using the GetSmsChannelRequest method.
4769//    req, resp := client.GetSmsChannelRequest(params)
4770//
4771//    err := req.Send()
4772//    if err == nil { // resp is now filled
4773//        fmt.Println(resp)
4774//    }
4775//
4776// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel
4777func (c *Pinpoint) GetSmsChannelRequest(input *GetSmsChannelInput) (req *request.Request, output *GetSmsChannelOutput) {
4778	op := &request.Operation{
4779		Name:       opGetSmsChannel,
4780		HTTPMethod: "GET",
4781		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
4782	}
4783
4784	if input == nil {
4785		input = &GetSmsChannelInput{}
4786	}
4787
4788	output = &GetSmsChannelOutput{}
4789	req = c.newRequest(op, input, output)
4790	return
4791}
4792
4793// GetSmsChannel API operation for Amazon Pinpoint.
4794//
4795// Retrieves information about the status and settings of the SMS channel for
4796// an application.
4797//
4798// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4799// with awserr.Error's Code and Message methods to get detailed information about
4800// the error.
4801//
4802// See the AWS API reference guide for Amazon Pinpoint's
4803// API operation GetSmsChannel for usage and error information.
4804//
4805// Returned Error Codes:
4806//   * ErrCodeBadRequestException "BadRequestException"
4807//   Provides information about an API request or response.
4808//
4809//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4810//   Provides information about an API request or response.
4811//
4812//   * ErrCodeForbiddenException "ForbiddenException"
4813//   Provides information about an API request or response.
4814//
4815//   * ErrCodeNotFoundException "NotFoundException"
4816//   Provides information about an API request or response.
4817//
4818//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4819//   Provides information about an API request or response.
4820//
4821//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4822//   Provides information about an API request or response.
4823//
4824// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel
4825func (c *Pinpoint) GetSmsChannel(input *GetSmsChannelInput) (*GetSmsChannelOutput, error) {
4826	req, out := c.GetSmsChannelRequest(input)
4827	return out, req.Send()
4828}
4829
4830// GetSmsChannelWithContext is the same as GetSmsChannel with the addition of
4831// the ability to pass a context and additional request options.
4832//
4833// See GetSmsChannel for details on how to use this API operation.
4834//
4835// The context must be non-nil and will be used for request cancellation. If
4836// the context is nil a panic will occur. In the future the SDK may create
4837// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4838// for more information on using Contexts.
4839func (c *Pinpoint) GetSmsChannelWithContext(ctx aws.Context, input *GetSmsChannelInput, opts ...request.Option) (*GetSmsChannelOutput, error) {
4840	req, out := c.GetSmsChannelRequest(input)
4841	req.SetContext(ctx)
4842	req.ApplyOptions(opts...)
4843	return out, req.Send()
4844}
4845
4846const opGetUserEndpoints = "GetUserEndpoints"
4847
4848// GetUserEndpointsRequest generates a "aws/request.Request" representing the
4849// client's request for the GetUserEndpoints operation. The "output" return
4850// value will be populated with the request's response once the request completes
4851// successfully.
4852//
4853// Use "Send" method on the returned Request to send the API call to the service.
4854// the "output" return value is not valid until after Send returns without error.
4855//
4856// See GetUserEndpoints for more information on using the GetUserEndpoints
4857// API call, and error handling.
4858//
4859// This method is useful when you want to inject custom logic or configuration
4860// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4861//
4862//
4863//    // Example sending a request using the GetUserEndpointsRequest method.
4864//    req, resp := client.GetUserEndpointsRequest(params)
4865//
4866//    err := req.Send()
4867//    if err == nil { // resp is now filled
4868//        fmt.Println(resp)
4869//    }
4870//
4871// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints
4872func (c *Pinpoint) GetUserEndpointsRequest(input *GetUserEndpointsInput) (req *request.Request, output *GetUserEndpointsOutput) {
4873	op := &request.Operation{
4874		Name:       opGetUserEndpoints,
4875		HTTPMethod: "GET",
4876		HTTPPath:   "/v1/apps/{application-id}/users/{user-id}",
4877	}
4878
4879	if input == nil {
4880		input = &GetUserEndpointsInput{}
4881	}
4882
4883	output = &GetUserEndpointsOutput{}
4884	req = c.newRequest(op, input, output)
4885	return
4886}
4887
4888// GetUserEndpoints API operation for Amazon Pinpoint.
4889//
4890// Retrieves information about all the endpoints that are associated with a
4891// specific user ID.
4892//
4893// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4894// with awserr.Error's Code and Message methods to get detailed information about
4895// the error.
4896//
4897// See the AWS API reference guide for Amazon Pinpoint's
4898// API operation GetUserEndpoints for usage and error information.
4899//
4900// Returned Error Codes:
4901//   * ErrCodeBadRequestException "BadRequestException"
4902//   Provides information about an API request or response.
4903//
4904//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4905//   Provides information about an API request or response.
4906//
4907//   * ErrCodeForbiddenException "ForbiddenException"
4908//   Provides information about an API request or response.
4909//
4910//   * ErrCodeNotFoundException "NotFoundException"
4911//   Provides information about an API request or response.
4912//
4913//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
4914//   Provides information about an API request or response.
4915//
4916//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4917//   Provides information about an API request or response.
4918//
4919// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints
4920func (c *Pinpoint) GetUserEndpoints(input *GetUserEndpointsInput) (*GetUserEndpointsOutput, error) {
4921	req, out := c.GetUserEndpointsRequest(input)
4922	return out, req.Send()
4923}
4924
4925// GetUserEndpointsWithContext is the same as GetUserEndpoints with the addition of
4926// the ability to pass a context and additional request options.
4927//
4928// See GetUserEndpoints for details on how to use this API operation.
4929//
4930// The context must be non-nil and will be used for request cancellation. If
4931// the context is nil a panic will occur. In the future the SDK may create
4932// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4933// for more information on using Contexts.
4934func (c *Pinpoint) GetUserEndpointsWithContext(ctx aws.Context, input *GetUserEndpointsInput, opts ...request.Option) (*GetUserEndpointsOutput, error) {
4935	req, out := c.GetUserEndpointsRequest(input)
4936	req.SetContext(ctx)
4937	req.ApplyOptions(opts...)
4938	return out, req.Send()
4939}
4940
4941const opGetVoiceChannel = "GetVoiceChannel"
4942
4943// GetVoiceChannelRequest generates a "aws/request.Request" representing the
4944// client's request for the GetVoiceChannel operation. The "output" return
4945// value will be populated with the request's response once the request completes
4946// successfully.
4947//
4948// Use "Send" method on the returned Request to send the API call to the service.
4949// the "output" return value is not valid until after Send returns without error.
4950//
4951// See GetVoiceChannel for more information on using the GetVoiceChannel
4952// API call, and error handling.
4953//
4954// This method is useful when you want to inject custom logic or configuration
4955// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4956//
4957//
4958//    // Example sending a request using the GetVoiceChannelRequest method.
4959//    req, resp := client.GetVoiceChannelRequest(params)
4960//
4961//    err := req.Send()
4962//    if err == nil { // resp is now filled
4963//        fmt.Println(resp)
4964//    }
4965//
4966// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel
4967func (c *Pinpoint) GetVoiceChannelRequest(input *GetVoiceChannelInput) (req *request.Request, output *GetVoiceChannelOutput) {
4968	op := &request.Operation{
4969		Name:       opGetVoiceChannel,
4970		HTTPMethod: "GET",
4971		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
4972	}
4973
4974	if input == nil {
4975		input = &GetVoiceChannelInput{}
4976	}
4977
4978	output = &GetVoiceChannelOutput{}
4979	req = c.newRequest(op, input, output)
4980	return
4981}
4982
4983// GetVoiceChannel API operation for Amazon Pinpoint.
4984//
4985// Retrieves information about the status and settings of the voice channel
4986// for an application.
4987//
4988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4989// with awserr.Error's Code and Message methods to get detailed information about
4990// the error.
4991//
4992// See the AWS API reference guide for Amazon Pinpoint's
4993// API operation GetVoiceChannel for usage and error information.
4994//
4995// Returned Error Codes:
4996//   * ErrCodeBadRequestException "BadRequestException"
4997//   Provides information about an API request or response.
4998//
4999//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5000//   Provides information about an API request or response.
5001//
5002//   * ErrCodeForbiddenException "ForbiddenException"
5003//   Provides information about an API request or response.
5004//
5005//   * ErrCodeNotFoundException "NotFoundException"
5006//   Provides information about an API request or response.
5007//
5008//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5009//   Provides information about an API request or response.
5010//
5011//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5012//   Provides information about an API request or response.
5013//
5014// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel
5015func (c *Pinpoint) GetVoiceChannel(input *GetVoiceChannelInput) (*GetVoiceChannelOutput, error) {
5016	req, out := c.GetVoiceChannelRequest(input)
5017	return out, req.Send()
5018}
5019
5020// GetVoiceChannelWithContext is the same as GetVoiceChannel with the addition of
5021// the ability to pass a context and additional request options.
5022//
5023// See GetVoiceChannel for details on how to use this API operation.
5024//
5025// The context must be non-nil and will be used for request cancellation. If
5026// the context is nil a panic will occur. In the future the SDK may create
5027// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5028// for more information on using Contexts.
5029func (c *Pinpoint) GetVoiceChannelWithContext(ctx aws.Context, input *GetVoiceChannelInput, opts ...request.Option) (*GetVoiceChannelOutput, error) {
5030	req, out := c.GetVoiceChannelRequest(input)
5031	req.SetContext(ctx)
5032	req.ApplyOptions(opts...)
5033	return out, req.Send()
5034}
5035
5036const opListTagsForResource = "ListTagsForResource"
5037
5038// ListTagsForResourceRequest generates a "aws/request.Request" representing the
5039// client's request for the ListTagsForResource operation. The "output" return
5040// value will be populated with the request's response once the request completes
5041// successfully.
5042//
5043// Use "Send" method on the returned Request to send the API call to the service.
5044// the "output" return value is not valid until after Send returns without error.
5045//
5046// See ListTagsForResource for more information on using the ListTagsForResource
5047// API call, and error handling.
5048//
5049// This method is useful when you want to inject custom logic or configuration
5050// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5051//
5052//
5053//    // Example sending a request using the ListTagsForResourceRequest method.
5054//    req, resp := client.ListTagsForResourceRequest(params)
5055//
5056//    err := req.Send()
5057//    if err == nil { // resp is now filled
5058//        fmt.Println(resp)
5059//    }
5060//
5061// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTagsForResource
5062func (c *Pinpoint) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
5063	op := &request.Operation{
5064		Name:       opListTagsForResource,
5065		HTTPMethod: "GET",
5066		HTTPPath:   "/v1/tags/{resource-arn}",
5067	}
5068
5069	if input == nil {
5070		input = &ListTagsForResourceInput{}
5071	}
5072
5073	output = &ListTagsForResourceOutput{}
5074	req = c.newRequest(op, input, output)
5075	return
5076}
5077
5078// ListTagsForResource API operation for Amazon Pinpoint.
5079//
5080// Retrieves all the tags (keys and values) that are associated with an application,
5081// campaign, or segment.
5082//
5083// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5084// with awserr.Error's Code and Message methods to get detailed information about
5085// the error.
5086//
5087// See the AWS API reference guide for Amazon Pinpoint's
5088// API operation ListTagsForResource for usage and error information.
5089// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ListTagsForResource
5090func (c *Pinpoint) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
5091	req, out := c.ListTagsForResourceRequest(input)
5092	return out, req.Send()
5093}
5094
5095// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
5096// the ability to pass a context and additional request options.
5097//
5098// See ListTagsForResource for details on how to use this API operation.
5099//
5100// The context must be non-nil and will be used for request cancellation. If
5101// the context is nil a panic will occur. In the future the SDK may create
5102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5103// for more information on using Contexts.
5104func (c *Pinpoint) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
5105	req, out := c.ListTagsForResourceRequest(input)
5106	req.SetContext(ctx)
5107	req.ApplyOptions(opts...)
5108	return out, req.Send()
5109}
5110
5111const opPhoneNumberValidate = "PhoneNumberValidate"
5112
5113// PhoneNumberValidateRequest generates a "aws/request.Request" representing the
5114// client's request for the PhoneNumberValidate operation. The "output" return
5115// value will be populated with the request's response once the request completes
5116// successfully.
5117//
5118// Use "Send" method on the returned Request to send the API call to the service.
5119// the "output" return value is not valid until after Send returns without error.
5120//
5121// See PhoneNumberValidate for more information on using the PhoneNumberValidate
5122// API call, and error handling.
5123//
5124// This method is useful when you want to inject custom logic or configuration
5125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5126//
5127//
5128//    // Example sending a request using the PhoneNumberValidateRequest method.
5129//    req, resp := client.PhoneNumberValidateRequest(params)
5130//
5131//    err := req.Send()
5132//    if err == nil { // resp is now filled
5133//        fmt.Println(resp)
5134//    }
5135//
5136// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PhoneNumberValidate
5137func (c *Pinpoint) PhoneNumberValidateRequest(input *PhoneNumberValidateInput) (req *request.Request, output *PhoneNumberValidateOutput) {
5138	op := &request.Operation{
5139		Name:       opPhoneNumberValidate,
5140		HTTPMethod: "POST",
5141		HTTPPath:   "/v1/phone/number/validate",
5142	}
5143
5144	if input == nil {
5145		input = &PhoneNumberValidateInput{}
5146	}
5147
5148	output = &PhoneNumberValidateOutput{}
5149	req = c.newRequest(op, input, output)
5150	return
5151}
5152
5153// PhoneNumberValidate API operation for Amazon Pinpoint.
5154//
5155// Retrieves information about a phone number.
5156//
5157// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5158// with awserr.Error's Code and Message methods to get detailed information about
5159// the error.
5160//
5161// See the AWS API reference guide for Amazon Pinpoint's
5162// API operation PhoneNumberValidate for usage and error information.
5163//
5164// Returned Error Codes:
5165//   * ErrCodeBadRequestException "BadRequestException"
5166//   Provides information about an API request or response.
5167//
5168//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5169//   Provides information about an API request or response.
5170//
5171//   * ErrCodeForbiddenException "ForbiddenException"
5172//   Provides information about an API request or response.
5173//
5174//   * ErrCodeNotFoundException "NotFoundException"
5175//   Provides information about an API request or response.
5176//
5177//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5178//   Provides information about an API request or response.
5179//
5180//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5181//   Provides information about an API request or response.
5182//
5183// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PhoneNumberValidate
5184func (c *Pinpoint) PhoneNumberValidate(input *PhoneNumberValidateInput) (*PhoneNumberValidateOutput, error) {
5185	req, out := c.PhoneNumberValidateRequest(input)
5186	return out, req.Send()
5187}
5188
5189// PhoneNumberValidateWithContext is the same as PhoneNumberValidate with the addition of
5190// the ability to pass a context and additional request options.
5191//
5192// See PhoneNumberValidate for details on how to use this API operation.
5193//
5194// The context must be non-nil and will be used for request cancellation. If
5195// the context is nil a panic will occur. In the future the SDK may create
5196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5197// for more information on using Contexts.
5198func (c *Pinpoint) PhoneNumberValidateWithContext(ctx aws.Context, input *PhoneNumberValidateInput, opts ...request.Option) (*PhoneNumberValidateOutput, error) {
5199	req, out := c.PhoneNumberValidateRequest(input)
5200	req.SetContext(ctx)
5201	req.ApplyOptions(opts...)
5202	return out, req.Send()
5203}
5204
5205const opPutEventStream = "PutEventStream"
5206
5207// PutEventStreamRequest generates a "aws/request.Request" representing the
5208// client's request for the PutEventStream operation. The "output" return
5209// value will be populated with the request's response once the request completes
5210// successfully.
5211//
5212// Use "Send" method on the returned Request to send the API call to the service.
5213// the "output" return value is not valid until after Send returns without error.
5214//
5215// See PutEventStream for more information on using the PutEventStream
5216// API call, and error handling.
5217//
5218// This method is useful when you want to inject custom logic or configuration
5219// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5220//
5221//
5222//    // Example sending a request using the PutEventStreamRequest method.
5223//    req, resp := client.PutEventStreamRequest(params)
5224//
5225//    err := req.Send()
5226//    if err == nil { // resp is now filled
5227//        fmt.Println(resp)
5228//    }
5229//
5230// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStream
5231func (c *Pinpoint) PutEventStreamRequest(input *PutEventStreamInput) (req *request.Request, output *PutEventStreamOutput) {
5232	op := &request.Operation{
5233		Name:       opPutEventStream,
5234		HTTPMethod: "POST",
5235		HTTPPath:   "/v1/apps/{application-id}/eventstream",
5236	}
5237
5238	if input == nil {
5239		input = &PutEventStreamInput{}
5240	}
5241
5242	output = &PutEventStreamOutput{}
5243	req = c.newRequest(op, input, output)
5244	return
5245}
5246
5247// PutEventStream API operation for Amazon Pinpoint.
5248//
5249// Creates a new event stream for an application or updates the settings of
5250// an existing event stream for an application.
5251//
5252// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5253// with awserr.Error's Code and Message methods to get detailed information about
5254// the error.
5255//
5256// See the AWS API reference guide for Amazon Pinpoint's
5257// API operation PutEventStream for usage and error information.
5258//
5259// Returned Error Codes:
5260//   * ErrCodeBadRequestException "BadRequestException"
5261//   Provides information about an API request or response.
5262//
5263//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5264//   Provides information about an API request or response.
5265//
5266//   * ErrCodeForbiddenException "ForbiddenException"
5267//   Provides information about an API request or response.
5268//
5269//   * ErrCodeNotFoundException "NotFoundException"
5270//   Provides information about an API request or response.
5271//
5272//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5273//   Provides information about an API request or response.
5274//
5275//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5276//   Provides information about an API request or response.
5277//
5278// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEventStream
5279func (c *Pinpoint) PutEventStream(input *PutEventStreamInput) (*PutEventStreamOutput, error) {
5280	req, out := c.PutEventStreamRequest(input)
5281	return out, req.Send()
5282}
5283
5284// PutEventStreamWithContext is the same as PutEventStream with the addition of
5285// the ability to pass a context and additional request options.
5286//
5287// See PutEventStream for details on how to use this API operation.
5288//
5289// The context must be non-nil and will be used for request cancellation. If
5290// the context is nil a panic will occur. In the future the SDK may create
5291// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5292// for more information on using Contexts.
5293func (c *Pinpoint) PutEventStreamWithContext(ctx aws.Context, input *PutEventStreamInput, opts ...request.Option) (*PutEventStreamOutput, error) {
5294	req, out := c.PutEventStreamRequest(input)
5295	req.SetContext(ctx)
5296	req.ApplyOptions(opts...)
5297	return out, req.Send()
5298}
5299
5300const opPutEvents = "PutEvents"
5301
5302// PutEventsRequest generates a "aws/request.Request" representing the
5303// client's request for the PutEvents operation. The "output" return
5304// value will be populated with the request's response once the request completes
5305// successfully.
5306//
5307// Use "Send" method on the returned Request to send the API call to the service.
5308// the "output" return value is not valid until after Send returns without error.
5309//
5310// See PutEvents for more information on using the PutEvents
5311// API call, and error handling.
5312//
5313// This method is useful when you want to inject custom logic or configuration
5314// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5315//
5316//
5317//    // Example sending a request using the PutEventsRequest method.
5318//    req, resp := client.PutEventsRequest(params)
5319//
5320//    err := req.Send()
5321//    if err == nil { // resp is now filled
5322//        fmt.Println(resp)
5323//    }
5324//
5325// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEvents
5326func (c *Pinpoint) PutEventsRequest(input *PutEventsInput) (req *request.Request, output *PutEventsOutput) {
5327	op := &request.Operation{
5328		Name:       opPutEvents,
5329		HTTPMethod: "POST",
5330		HTTPPath:   "/v1/apps/{application-id}/events",
5331	}
5332
5333	if input == nil {
5334		input = &PutEventsInput{}
5335	}
5336
5337	output = &PutEventsOutput{}
5338	req = c.newRequest(op, input, output)
5339	return
5340}
5341
5342// PutEvents API operation for Amazon Pinpoint.
5343//
5344// Creates a new event to record for endpoints, or creates or updates endpoint
5345// data that existing events are associated with.
5346//
5347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5348// with awserr.Error's Code and Message methods to get detailed information about
5349// the error.
5350//
5351// See the AWS API reference guide for Amazon Pinpoint's
5352// API operation PutEvents for usage and error information.
5353//
5354// Returned Error Codes:
5355//   * ErrCodeBadRequestException "BadRequestException"
5356//   Provides information about an API request or response.
5357//
5358//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5359//   Provides information about an API request or response.
5360//
5361//   * ErrCodeForbiddenException "ForbiddenException"
5362//   Provides information about an API request or response.
5363//
5364//   * ErrCodeNotFoundException "NotFoundException"
5365//   Provides information about an API request or response.
5366//
5367//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5368//   Provides information about an API request or response.
5369//
5370//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5371//   Provides information about an API request or response.
5372//
5373// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PutEvents
5374func (c *Pinpoint) PutEvents(input *PutEventsInput) (*PutEventsOutput, error) {
5375	req, out := c.PutEventsRequest(input)
5376	return out, req.Send()
5377}
5378
5379// PutEventsWithContext is the same as PutEvents with the addition of
5380// the ability to pass a context and additional request options.
5381//
5382// See PutEvents for details on how to use this API operation.
5383//
5384// The context must be non-nil and will be used for request cancellation. If
5385// the context is nil a panic will occur. In the future the SDK may create
5386// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5387// for more information on using Contexts.
5388func (c *Pinpoint) PutEventsWithContext(ctx aws.Context, input *PutEventsInput, opts ...request.Option) (*PutEventsOutput, error) {
5389	req, out := c.PutEventsRequest(input)
5390	req.SetContext(ctx)
5391	req.ApplyOptions(opts...)
5392	return out, req.Send()
5393}
5394
5395const opRemoveAttributes = "RemoveAttributes"
5396
5397// RemoveAttributesRequest generates a "aws/request.Request" representing the
5398// client's request for the RemoveAttributes operation. The "output" return
5399// value will be populated with the request's response once the request completes
5400// successfully.
5401//
5402// Use "Send" method on the returned Request to send the API call to the service.
5403// the "output" return value is not valid until after Send returns without error.
5404//
5405// See RemoveAttributes for more information on using the RemoveAttributes
5406// API call, and error handling.
5407//
5408// This method is useful when you want to inject custom logic or configuration
5409// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5410//
5411//
5412//    // Example sending a request using the RemoveAttributesRequest method.
5413//    req, resp := client.RemoveAttributesRequest(params)
5414//
5415//    err := req.Send()
5416//    if err == nil { // resp is now filled
5417//        fmt.Println(resp)
5418//    }
5419//
5420// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/RemoveAttributes
5421func (c *Pinpoint) RemoveAttributesRequest(input *RemoveAttributesInput) (req *request.Request, output *RemoveAttributesOutput) {
5422	op := &request.Operation{
5423		Name:       opRemoveAttributes,
5424		HTTPMethod: "PUT",
5425		HTTPPath:   "/v1/apps/{application-id}/attributes/{attribute-type}",
5426	}
5427
5428	if input == nil {
5429		input = &RemoveAttributesInput{}
5430	}
5431
5432	output = &RemoveAttributesOutput{}
5433	req = c.newRequest(op, input, output)
5434	return
5435}
5436
5437// RemoveAttributes API operation for Amazon Pinpoint.
5438//
5439// Removes one or more attributes, of the same attribute type, from all the
5440// endpoints that are associated with an application.
5441//
5442// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5443// with awserr.Error's Code and Message methods to get detailed information about
5444// the error.
5445//
5446// See the AWS API reference guide for Amazon Pinpoint's
5447// API operation RemoveAttributes for usage and error information.
5448//
5449// Returned Error Codes:
5450//   * ErrCodeBadRequestException "BadRequestException"
5451//   Provides information about an API request or response.
5452//
5453//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5454//   Provides information about an API request or response.
5455//
5456//   * ErrCodeForbiddenException "ForbiddenException"
5457//   Provides information about an API request or response.
5458//
5459//   * ErrCodeNotFoundException "NotFoundException"
5460//   Provides information about an API request or response.
5461//
5462//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5463//   Provides information about an API request or response.
5464//
5465//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5466//   Provides information about an API request or response.
5467//
5468// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/RemoveAttributes
5469func (c *Pinpoint) RemoveAttributes(input *RemoveAttributesInput) (*RemoveAttributesOutput, error) {
5470	req, out := c.RemoveAttributesRequest(input)
5471	return out, req.Send()
5472}
5473
5474// RemoveAttributesWithContext is the same as RemoveAttributes with the addition of
5475// the ability to pass a context and additional request options.
5476//
5477// See RemoveAttributes for details on how to use this API operation.
5478//
5479// The context must be non-nil and will be used for request cancellation. If
5480// the context is nil a panic will occur. In the future the SDK may create
5481// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5482// for more information on using Contexts.
5483func (c *Pinpoint) RemoveAttributesWithContext(ctx aws.Context, input *RemoveAttributesInput, opts ...request.Option) (*RemoveAttributesOutput, error) {
5484	req, out := c.RemoveAttributesRequest(input)
5485	req.SetContext(ctx)
5486	req.ApplyOptions(opts...)
5487	return out, req.Send()
5488}
5489
5490const opSendMessages = "SendMessages"
5491
5492// SendMessagesRequest generates a "aws/request.Request" representing the
5493// client's request for the SendMessages operation. The "output" return
5494// value will be populated with the request's response once the request completes
5495// successfully.
5496//
5497// Use "Send" method on the returned Request to send the API call to the service.
5498// the "output" return value is not valid until after Send returns without error.
5499//
5500// See SendMessages for more information on using the SendMessages
5501// API call, and error handling.
5502//
5503// This method is useful when you want to inject custom logic or configuration
5504// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5505//
5506//
5507//    // Example sending a request using the SendMessagesRequest method.
5508//    req, resp := client.SendMessagesRequest(params)
5509//
5510//    err := req.Send()
5511//    if err == nil { // resp is now filled
5512//        fmt.Println(resp)
5513//    }
5514//
5515// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages
5516func (c *Pinpoint) SendMessagesRequest(input *SendMessagesInput) (req *request.Request, output *SendMessagesOutput) {
5517	op := &request.Operation{
5518		Name:       opSendMessages,
5519		HTTPMethod: "POST",
5520		HTTPPath:   "/v1/apps/{application-id}/messages",
5521	}
5522
5523	if input == nil {
5524		input = &SendMessagesInput{}
5525	}
5526
5527	output = &SendMessagesOutput{}
5528	req = c.newRequest(op, input, output)
5529	return
5530}
5531
5532// SendMessages API operation for Amazon Pinpoint.
5533//
5534// Creates and sends a direct message.
5535//
5536// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5537// with awserr.Error's Code and Message methods to get detailed information about
5538// the error.
5539//
5540// See the AWS API reference guide for Amazon Pinpoint's
5541// API operation SendMessages for usage and error information.
5542//
5543// Returned Error Codes:
5544//   * ErrCodeBadRequestException "BadRequestException"
5545//   Provides information about an API request or response.
5546//
5547//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5548//   Provides information about an API request or response.
5549//
5550//   * ErrCodeForbiddenException "ForbiddenException"
5551//   Provides information about an API request or response.
5552//
5553//   * ErrCodeNotFoundException "NotFoundException"
5554//   Provides information about an API request or response.
5555//
5556//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5557//   Provides information about an API request or response.
5558//
5559//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5560//   Provides information about an API request or response.
5561//
5562// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendMessages
5563func (c *Pinpoint) SendMessages(input *SendMessagesInput) (*SendMessagesOutput, error) {
5564	req, out := c.SendMessagesRequest(input)
5565	return out, req.Send()
5566}
5567
5568// SendMessagesWithContext is the same as SendMessages with the addition of
5569// the ability to pass a context and additional request options.
5570//
5571// See SendMessages for details on how to use this API operation.
5572//
5573// The context must be non-nil and will be used for request cancellation. If
5574// the context is nil a panic will occur. In the future the SDK may create
5575// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5576// for more information on using Contexts.
5577func (c *Pinpoint) SendMessagesWithContext(ctx aws.Context, input *SendMessagesInput, opts ...request.Option) (*SendMessagesOutput, error) {
5578	req, out := c.SendMessagesRequest(input)
5579	req.SetContext(ctx)
5580	req.ApplyOptions(opts...)
5581	return out, req.Send()
5582}
5583
5584const opSendUsersMessages = "SendUsersMessages"
5585
5586// SendUsersMessagesRequest generates a "aws/request.Request" representing the
5587// client's request for the SendUsersMessages operation. The "output" return
5588// value will be populated with the request's response once the request completes
5589// successfully.
5590//
5591// Use "Send" method on the returned Request to send the API call to the service.
5592// the "output" return value is not valid until after Send returns without error.
5593//
5594// See SendUsersMessages for more information on using the SendUsersMessages
5595// API call, and error handling.
5596//
5597// This method is useful when you want to inject custom logic or configuration
5598// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5599//
5600//
5601//    // Example sending a request using the SendUsersMessagesRequest method.
5602//    req, resp := client.SendUsersMessagesRequest(params)
5603//
5604//    err := req.Send()
5605//    if err == nil { // resp is now filled
5606//        fmt.Println(resp)
5607//    }
5608//
5609// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages
5610func (c *Pinpoint) SendUsersMessagesRequest(input *SendUsersMessagesInput) (req *request.Request, output *SendUsersMessagesOutput) {
5611	op := &request.Operation{
5612		Name:       opSendUsersMessages,
5613		HTTPMethod: "POST",
5614		HTTPPath:   "/v1/apps/{application-id}/users-messages",
5615	}
5616
5617	if input == nil {
5618		input = &SendUsersMessagesInput{}
5619	}
5620
5621	output = &SendUsersMessagesOutput{}
5622	req = c.newRequest(op, input, output)
5623	return
5624}
5625
5626// SendUsersMessages API operation for Amazon Pinpoint.
5627//
5628// Creates and sends a message to a list of users.
5629//
5630// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5631// with awserr.Error's Code and Message methods to get detailed information about
5632// the error.
5633//
5634// See the AWS API reference guide for Amazon Pinpoint's
5635// API operation SendUsersMessages for usage and error information.
5636//
5637// Returned Error Codes:
5638//   * ErrCodeBadRequestException "BadRequestException"
5639//   Provides information about an API request or response.
5640//
5641//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5642//   Provides information about an API request or response.
5643//
5644//   * ErrCodeForbiddenException "ForbiddenException"
5645//   Provides information about an API request or response.
5646//
5647//   * ErrCodeNotFoundException "NotFoundException"
5648//   Provides information about an API request or response.
5649//
5650//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5651//   Provides information about an API request or response.
5652//
5653//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5654//   Provides information about an API request or response.
5655//
5656// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessages
5657func (c *Pinpoint) SendUsersMessages(input *SendUsersMessagesInput) (*SendUsersMessagesOutput, error) {
5658	req, out := c.SendUsersMessagesRequest(input)
5659	return out, req.Send()
5660}
5661
5662// SendUsersMessagesWithContext is the same as SendUsersMessages with the addition of
5663// the ability to pass a context and additional request options.
5664//
5665// See SendUsersMessages for details on how to use this API operation.
5666//
5667// The context must be non-nil and will be used for request cancellation. If
5668// the context is nil a panic will occur. In the future the SDK may create
5669// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5670// for more information on using Contexts.
5671func (c *Pinpoint) SendUsersMessagesWithContext(ctx aws.Context, input *SendUsersMessagesInput, opts ...request.Option) (*SendUsersMessagesOutput, error) {
5672	req, out := c.SendUsersMessagesRequest(input)
5673	req.SetContext(ctx)
5674	req.ApplyOptions(opts...)
5675	return out, req.Send()
5676}
5677
5678const opTagResource = "TagResource"
5679
5680// TagResourceRequest generates a "aws/request.Request" representing the
5681// client's request for the TagResource operation. The "output" return
5682// value will be populated with the request's response once the request completes
5683// successfully.
5684//
5685// Use "Send" method on the returned Request to send the API call to the service.
5686// the "output" return value is not valid until after Send returns without error.
5687//
5688// See TagResource for more information on using the TagResource
5689// API call, and error handling.
5690//
5691// This method is useful when you want to inject custom logic or configuration
5692// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5693//
5694//
5695//    // Example sending a request using the TagResourceRequest method.
5696//    req, resp := client.TagResourceRequest(params)
5697//
5698//    err := req.Send()
5699//    if err == nil { // resp is now filled
5700//        fmt.Println(resp)
5701//    }
5702//
5703// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource
5704func (c *Pinpoint) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
5705	op := &request.Operation{
5706		Name:       opTagResource,
5707		HTTPMethod: "POST",
5708		HTTPPath:   "/v1/tags/{resource-arn}",
5709	}
5710
5711	if input == nil {
5712		input = &TagResourceInput{}
5713	}
5714
5715	output = &TagResourceOutput{}
5716	req = c.newRequest(op, input, output)
5717	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5718	return
5719}
5720
5721// TagResource API operation for Amazon Pinpoint.
5722//
5723// Adds one or more tags (keys and values) to an application, campaign, or segment.
5724//
5725// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5726// with awserr.Error's Code and Message methods to get detailed information about
5727// the error.
5728//
5729// See the AWS API reference guide for Amazon Pinpoint's
5730// API operation TagResource for usage and error information.
5731// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TagResource
5732func (c *Pinpoint) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
5733	req, out := c.TagResourceRequest(input)
5734	return out, req.Send()
5735}
5736
5737// TagResourceWithContext is the same as TagResource with the addition of
5738// the ability to pass a context and additional request options.
5739//
5740// See TagResource for details on how to use this API operation.
5741//
5742// The context must be non-nil and will be used for request cancellation. If
5743// the context is nil a panic will occur. In the future the SDK may create
5744// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5745// for more information on using Contexts.
5746func (c *Pinpoint) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
5747	req, out := c.TagResourceRequest(input)
5748	req.SetContext(ctx)
5749	req.ApplyOptions(opts...)
5750	return out, req.Send()
5751}
5752
5753const opUntagResource = "UntagResource"
5754
5755// UntagResourceRequest generates a "aws/request.Request" representing the
5756// client's request for the UntagResource operation. The "output" return
5757// value will be populated with the request's response once the request completes
5758// successfully.
5759//
5760// Use "Send" method on the returned Request to send the API call to the service.
5761// the "output" return value is not valid until after Send returns without error.
5762//
5763// See UntagResource for more information on using the UntagResource
5764// API call, and error handling.
5765//
5766// This method is useful when you want to inject custom logic or configuration
5767// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5768//
5769//
5770//    // Example sending a request using the UntagResourceRequest method.
5771//    req, resp := client.UntagResourceRequest(params)
5772//
5773//    err := req.Send()
5774//    if err == nil { // resp is now filled
5775//        fmt.Println(resp)
5776//    }
5777//
5778// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource
5779func (c *Pinpoint) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
5780	op := &request.Operation{
5781		Name:       opUntagResource,
5782		HTTPMethod: "DELETE",
5783		HTTPPath:   "/v1/tags/{resource-arn}",
5784	}
5785
5786	if input == nil {
5787		input = &UntagResourceInput{}
5788	}
5789
5790	output = &UntagResourceOutput{}
5791	req = c.newRequest(op, input, output)
5792	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5793	return
5794}
5795
5796// UntagResource API operation for Amazon Pinpoint.
5797//
5798// Removes one or more tags (keys and values) from an application, campaign,
5799// or segment.
5800//
5801// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5802// with awserr.Error's Code and Message methods to get detailed information about
5803// the error.
5804//
5805// See the AWS API reference guide for Amazon Pinpoint's
5806// API operation UntagResource for usage and error information.
5807// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UntagResource
5808func (c *Pinpoint) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
5809	req, out := c.UntagResourceRequest(input)
5810	return out, req.Send()
5811}
5812
5813// UntagResourceWithContext is the same as UntagResource with the addition of
5814// the ability to pass a context and additional request options.
5815//
5816// See UntagResource for details on how to use this API operation.
5817//
5818// The context must be non-nil and will be used for request cancellation. If
5819// the context is nil a panic will occur. In the future the SDK may create
5820// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5821// for more information on using Contexts.
5822func (c *Pinpoint) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
5823	req, out := c.UntagResourceRequest(input)
5824	req.SetContext(ctx)
5825	req.ApplyOptions(opts...)
5826	return out, req.Send()
5827}
5828
5829const opUpdateAdmChannel = "UpdateAdmChannel"
5830
5831// UpdateAdmChannelRequest generates a "aws/request.Request" representing the
5832// client's request for the UpdateAdmChannel operation. The "output" return
5833// value will be populated with the request's response once the request completes
5834// successfully.
5835//
5836// Use "Send" method on the returned Request to send the API call to the service.
5837// the "output" return value is not valid until after Send returns without error.
5838//
5839// See UpdateAdmChannel for more information on using the UpdateAdmChannel
5840// API call, and error handling.
5841//
5842// This method is useful when you want to inject custom logic or configuration
5843// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5844//
5845//
5846//    // Example sending a request using the UpdateAdmChannelRequest method.
5847//    req, resp := client.UpdateAdmChannelRequest(params)
5848//
5849//    err := req.Send()
5850//    if err == nil { // resp is now filled
5851//        fmt.Println(resp)
5852//    }
5853//
5854// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel
5855func (c *Pinpoint) UpdateAdmChannelRequest(input *UpdateAdmChannelInput) (req *request.Request, output *UpdateAdmChannelOutput) {
5856	op := &request.Operation{
5857		Name:       opUpdateAdmChannel,
5858		HTTPMethod: "PUT",
5859		HTTPPath:   "/v1/apps/{application-id}/channels/adm",
5860	}
5861
5862	if input == nil {
5863		input = &UpdateAdmChannelInput{}
5864	}
5865
5866	output = &UpdateAdmChannelOutput{}
5867	req = c.newRequest(op, input, output)
5868	return
5869}
5870
5871// UpdateAdmChannel API operation for Amazon Pinpoint.
5872//
5873// Updates the ADM channel settings for an application.
5874//
5875// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5876// with awserr.Error's Code and Message methods to get detailed information about
5877// the error.
5878//
5879// See the AWS API reference guide for Amazon Pinpoint's
5880// API operation UpdateAdmChannel for usage and error information.
5881//
5882// Returned Error Codes:
5883//   * ErrCodeBadRequestException "BadRequestException"
5884//   Provides information about an API request or response.
5885//
5886//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5887//   Provides information about an API request or response.
5888//
5889//   * ErrCodeForbiddenException "ForbiddenException"
5890//   Provides information about an API request or response.
5891//
5892//   * ErrCodeNotFoundException "NotFoundException"
5893//   Provides information about an API request or response.
5894//
5895//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5896//   Provides information about an API request or response.
5897//
5898//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5899//   Provides information about an API request or response.
5900//
5901// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateAdmChannel
5902func (c *Pinpoint) UpdateAdmChannel(input *UpdateAdmChannelInput) (*UpdateAdmChannelOutput, error) {
5903	req, out := c.UpdateAdmChannelRequest(input)
5904	return out, req.Send()
5905}
5906
5907// UpdateAdmChannelWithContext is the same as UpdateAdmChannel with the addition of
5908// the ability to pass a context and additional request options.
5909//
5910// See UpdateAdmChannel for details on how to use this API operation.
5911//
5912// The context must be non-nil and will be used for request cancellation. If
5913// the context is nil a panic will occur. In the future the SDK may create
5914// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5915// for more information on using Contexts.
5916func (c *Pinpoint) UpdateAdmChannelWithContext(ctx aws.Context, input *UpdateAdmChannelInput, opts ...request.Option) (*UpdateAdmChannelOutput, error) {
5917	req, out := c.UpdateAdmChannelRequest(input)
5918	req.SetContext(ctx)
5919	req.ApplyOptions(opts...)
5920	return out, req.Send()
5921}
5922
5923const opUpdateApnsChannel = "UpdateApnsChannel"
5924
5925// UpdateApnsChannelRequest generates a "aws/request.Request" representing the
5926// client's request for the UpdateApnsChannel operation. The "output" return
5927// value will be populated with the request's response once the request completes
5928// successfully.
5929//
5930// Use "Send" method on the returned Request to send the API call to the service.
5931// the "output" return value is not valid until after Send returns without error.
5932//
5933// See UpdateApnsChannel for more information on using the UpdateApnsChannel
5934// API call, and error handling.
5935//
5936// This method is useful when you want to inject custom logic or configuration
5937// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5938//
5939//
5940//    // Example sending a request using the UpdateApnsChannelRequest method.
5941//    req, resp := client.UpdateApnsChannelRequest(params)
5942//
5943//    err := req.Send()
5944//    if err == nil { // resp is now filled
5945//        fmt.Println(resp)
5946//    }
5947//
5948// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel
5949func (c *Pinpoint) UpdateApnsChannelRequest(input *UpdateApnsChannelInput) (req *request.Request, output *UpdateApnsChannelOutput) {
5950	op := &request.Operation{
5951		Name:       opUpdateApnsChannel,
5952		HTTPMethod: "PUT",
5953		HTTPPath:   "/v1/apps/{application-id}/channels/apns",
5954	}
5955
5956	if input == nil {
5957		input = &UpdateApnsChannelInput{}
5958	}
5959
5960	output = &UpdateApnsChannelOutput{}
5961	req = c.newRequest(op, input, output)
5962	return
5963}
5964
5965// UpdateApnsChannel API operation for Amazon Pinpoint.
5966//
5967// Updates the APNs channel settings for an application.
5968//
5969// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5970// with awserr.Error's Code and Message methods to get detailed information about
5971// the error.
5972//
5973// See the AWS API reference guide for Amazon Pinpoint's
5974// API operation UpdateApnsChannel for usage and error information.
5975//
5976// Returned Error Codes:
5977//   * ErrCodeBadRequestException "BadRequestException"
5978//   Provides information about an API request or response.
5979//
5980//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
5981//   Provides information about an API request or response.
5982//
5983//   * ErrCodeForbiddenException "ForbiddenException"
5984//   Provides information about an API request or response.
5985//
5986//   * ErrCodeNotFoundException "NotFoundException"
5987//   Provides information about an API request or response.
5988//
5989//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
5990//   Provides information about an API request or response.
5991//
5992//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5993//   Provides information about an API request or response.
5994//
5995// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsChannel
5996func (c *Pinpoint) UpdateApnsChannel(input *UpdateApnsChannelInput) (*UpdateApnsChannelOutput, error) {
5997	req, out := c.UpdateApnsChannelRequest(input)
5998	return out, req.Send()
5999}
6000
6001// UpdateApnsChannelWithContext is the same as UpdateApnsChannel with the addition of
6002// the ability to pass a context and additional request options.
6003//
6004// See UpdateApnsChannel for details on how to use this API operation.
6005//
6006// The context must be non-nil and will be used for request cancellation. If
6007// the context is nil a panic will occur. In the future the SDK may create
6008// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6009// for more information on using Contexts.
6010func (c *Pinpoint) UpdateApnsChannelWithContext(ctx aws.Context, input *UpdateApnsChannelInput, opts ...request.Option) (*UpdateApnsChannelOutput, error) {
6011	req, out := c.UpdateApnsChannelRequest(input)
6012	req.SetContext(ctx)
6013	req.ApplyOptions(opts...)
6014	return out, req.Send()
6015}
6016
6017const opUpdateApnsSandboxChannel = "UpdateApnsSandboxChannel"
6018
6019// UpdateApnsSandboxChannelRequest generates a "aws/request.Request" representing the
6020// client's request for the UpdateApnsSandboxChannel operation. The "output" return
6021// value will be populated with the request's response once the request completes
6022// successfully.
6023//
6024// Use "Send" method on the returned Request to send the API call to the service.
6025// the "output" return value is not valid until after Send returns without error.
6026//
6027// See UpdateApnsSandboxChannel for more information on using the UpdateApnsSandboxChannel
6028// API call, and error handling.
6029//
6030// This method is useful when you want to inject custom logic or configuration
6031// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6032//
6033//
6034//    // Example sending a request using the UpdateApnsSandboxChannelRequest method.
6035//    req, resp := client.UpdateApnsSandboxChannelRequest(params)
6036//
6037//    err := req.Send()
6038//    if err == nil { // resp is now filled
6039//        fmt.Println(resp)
6040//    }
6041//
6042// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel
6043func (c *Pinpoint) UpdateApnsSandboxChannelRequest(input *UpdateApnsSandboxChannelInput) (req *request.Request, output *UpdateApnsSandboxChannelOutput) {
6044	op := &request.Operation{
6045		Name:       opUpdateApnsSandboxChannel,
6046		HTTPMethod: "PUT",
6047		HTTPPath:   "/v1/apps/{application-id}/channels/apns_sandbox",
6048	}
6049
6050	if input == nil {
6051		input = &UpdateApnsSandboxChannelInput{}
6052	}
6053
6054	output = &UpdateApnsSandboxChannelOutput{}
6055	req = c.newRequest(op, input, output)
6056	return
6057}
6058
6059// UpdateApnsSandboxChannel API operation for Amazon Pinpoint.
6060//
6061// Updates the APNs sandbox channel settings for an application.
6062//
6063// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6064// with awserr.Error's Code and Message methods to get detailed information about
6065// the error.
6066//
6067// See the AWS API reference guide for Amazon Pinpoint's
6068// API operation UpdateApnsSandboxChannel for usage and error information.
6069//
6070// Returned Error Codes:
6071//   * ErrCodeBadRequestException "BadRequestException"
6072//   Provides information about an API request or response.
6073//
6074//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6075//   Provides information about an API request or response.
6076//
6077//   * ErrCodeForbiddenException "ForbiddenException"
6078//   Provides information about an API request or response.
6079//
6080//   * ErrCodeNotFoundException "NotFoundException"
6081//   Provides information about an API request or response.
6082//
6083//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6084//   Provides information about an API request or response.
6085//
6086//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6087//   Provides information about an API request or response.
6088//
6089// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsSandboxChannel
6090func (c *Pinpoint) UpdateApnsSandboxChannel(input *UpdateApnsSandboxChannelInput) (*UpdateApnsSandboxChannelOutput, error) {
6091	req, out := c.UpdateApnsSandboxChannelRequest(input)
6092	return out, req.Send()
6093}
6094
6095// UpdateApnsSandboxChannelWithContext is the same as UpdateApnsSandboxChannel with the addition of
6096// the ability to pass a context and additional request options.
6097//
6098// See UpdateApnsSandboxChannel for details on how to use this API operation.
6099//
6100// The context must be non-nil and will be used for request cancellation. If
6101// the context is nil a panic will occur. In the future the SDK may create
6102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6103// for more information on using Contexts.
6104func (c *Pinpoint) UpdateApnsSandboxChannelWithContext(ctx aws.Context, input *UpdateApnsSandboxChannelInput, opts ...request.Option) (*UpdateApnsSandboxChannelOutput, error) {
6105	req, out := c.UpdateApnsSandboxChannelRequest(input)
6106	req.SetContext(ctx)
6107	req.ApplyOptions(opts...)
6108	return out, req.Send()
6109}
6110
6111const opUpdateApnsVoipChannel = "UpdateApnsVoipChannel"
6112
6113// UpdateApnsVoipChannelRequest generates a "aws/request.Request" representing the
6114// client's request for the UpdateApnsVoipChannel operation. The "output" return
6115// value will be populated with the request's response once the request completes
6116// successfully.
6117//
6118// Use "Send" method on the returned Request to send the API call to the service.
6119// the "output" return value is not valid until after Send returns without error.
6120//
6121// See UpdateApnsVoipChannel for more information on using the UpdateApnsVoipChannel
6122// API call, and error handling.
6123//
6124// This method is useful when you want to inject custom logic or configuration
6125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6126//
6127//
6128//    // Example sending a request using the UpdateApnsVoipChannelRequest method.
6129//    req, resp := client.UpdateApnsVoipChannelRequest(params)
6130//
6131//    err := req.Send()
6132//    if err == nil { // resp is now filled
6133//        fmt.Println(resp)
6134//    }
6135//
6136// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipChannel
6137func (c *Pinpoint) UpdateApnsVoipChannelRequest(input *UpdateApnsVoipChannelInput) (req *request.Request, output *UpdateApnsVoipChannelOutput) {
6138	op := &request.Operation{
6139		Name:       opUpdateApnsVoipChannel,
6140		HTTPMethod: "PUT",
6141		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip",
6142	}
6143
6144	if input == nil {
6145		input = &UpdateApnsVoipChannelInput{}
6146	}
6147
6148	output = &UpdateApnsVoipChannelOutput{}
6149	req = c.newRequest(op, input, output)
6150	return
6151}
6152
6153// UpdateApnsVoipChannel API operation for Amazon Pinpoint.
6154//
6155// Updates the APNs VoIP channel settings for an application.
6156//
6157// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6158// with awserr.Error's Code and Message methods to get detailed information about
6159// the error.
6160//
6161// See the AWS API reference guide for Amazon Pinpoint's
6162// API operation UpdateApnsVoipChannel for usage and error information.
6163//
6164// Returned Error Codes:
6165//   * ErrCodeBadRequestException "BadRequestException"
6166//   Provides information about an API request or response.
6167//
6168//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6169//   Provides information about an API request or response.
6170//
6171//   * ErrCodeForbiddenException "ForbiddenException"
6172//   Provides information about an API request or response.
6173//
6174//   * ErrCodeNotFoundException "NotFoundException"
6175//   Provides information about an API request or response.
6176//
6177//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6178//   Provides information about an API request or response.
6179//
6180//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6181//   Provides information about an API request or response.
6182//
6183// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipChannel
6184func (c *Pinpoint) UpdateApnsVoipChannel(input *UpdateApnsVoipChannelInput) (*UpdateApnsVoipChannelOutput, error) {
6185	req, out := c.UpdateApnsVoipChannelRequest(input)
6186	return out, req.Send()
6187}
6188
6189// UpdateApnsVoipChannelWithContext is the same as UpdateApnsVoipChannel with the addition of
6190// the ability to pass a context and additional request options.
6191//
6192// See UpdateApnsVoipChannel for details on how to use this API operation.
6193//
6194// The context must be non-nil and will be used for request cancellation. If
6195// the context is nil a panic will occur. In the future the SDK may create
6196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6197// for more information on using Contexts.
6198func (c *Pinpoint) UpdateApnsVoipChannelWithContext(ctx aws.Context, input *UpdateApnsVoipChannelInput, opts ...request.Option) (*UpdateApnsVoipChannelOutput, error) {
6199	req, out := c.UpdateApnsVoipChannelRequest(input)
6200	req.SetContext(ctx)
6201	req.ApplyOptions(opts...)
6202	return out, req.Send()
6203}
6204
6205const opUpdateApnsVoipSandboxChannel = "UpdateApnsVoipSandboxChannel"
6206
6207// UpdateApnsVoipSandboxChannelRequest generates a "aws/request.Request" representing the
6208// client's request for the UpdateApnsVoipSandboxChannel operation. The "output" return
6209// value will be populated with the request's response once the request completes
6210// successfully.
6211//
6212// Use "Send" method on the returned Request to send the API call to the service.
6213// the "output" return value is not valid until after Send returns without error.
6214//
6215// See UpdateApnsVoipSandboxChannel for more information on using the UpdateApnsVoipSandboxChannel
6216// API call, and error handling.
6217//
6218// This method is useful when you want to inject custom logic or configuration
6219// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6220//
6221//
6222//    // Example sending a request using the UpdateApnsVoipSandboxChannelRequest method.
6223//    req, resp := client.UpdateApnsVoipSandboxChannelRequest(params)
6224//
6225//    err := req.Send()
6226//    if err == nil { // resp is now filled
6227//        fmt.Println(resp)
6228//    }
6229//
6230// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipSandboxChannel
6231func (c *Pinpoint) UpdateApnsVoipSandboxChannelRequest(input *UpdateApnsVoipSandboxChannelInput) (req *request.Request, output *UpdateApnsVoipSandboxChannelOutput) {
6232	op := &request.Operation{
6233		Name:       opUpdateApnsVoipSandboxChannel,
6234		HTTPMethod: "PUT",
6235		HTTPPath:   "/v1/apps/{application-id}/channels/apns_voip_sandbox",
6236	}
6237
6238	if input == nil {
6239		input = &UpdateApnsVoipSandboxChannelInput{}
6240	}
6241
6242	output = &UpdateApnsVoipSandboxChannelOutput{}
6243	req = c.newRequest(op, input, output)
6244	return
6245}
6246
6247// UpdateApnsVoipSandboxChannel API operation for Amazon Pinpoint.
6248//
6249// Updates the settings for the APNs VoIP sandbox channel for an application.
6250//
6251// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6252// with awserr.Error's Code and Message methods to get detailed information about
6253// the error.
6254//
6255// See the AWS API reference guide for Amazon Pinpoint's
6256// API operation UpdateApnsVoipSandboxChannel for usage and error information.
6257//
6258// Returned Error Codes:
6259//   * ErrCodeBadRequestException "BadRequestException"
6260//   Provides information about an API request or response.
6261//
6262//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6263//   Provides information about an API request or response.
6264//
6265//   * ErrCodeForbiddenException "ForbiddenException"
6266//   Provides information about an API request or response.
6267//
6268//   * ErrCodeNotFoundException "NotFoundException"
6269//   Provides information about an API request or response.
6270//
6271//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6272//   Provides information about an API request or response.
6273//
6274//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6275//   Provides information about an API request or response.
6276//
6277// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipSandboxChannel
6278func (c *Pinpoint) UpdateApnsVoipSandboxChannel(input *UpdateApnsVoipSandboxChannelInput) (*UpdateApnsVoipSandboxChannelOutput, error) {
6279	req, out := c.UpdateApnsVoipSandboxChannelRequest(input)
6280	return out, req.Send()
6281}
6282
6283// UpdateApnsVoipSandboxChannelWithContext is the same as UpdateApnsVoipSandboxChannel with the addition of
6284// the ability to pass a context and additional request options.
6285//
6286// See UpdateApnsVoipSandboxChannel for details on how to use this API operation.
6287//
6288// The context must be non-nil and will be used for request cancellation. If
6289// the context is nil a panic will occur. In the future the SDK may create
6290// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6291// for more information on using Contexts.
6292func (c *Pinpoint) UpdateApnsVoipSandboxChannelWithContext(ctx aws.Context, input *UpdateApnsVoipSandboxChannelInput, opts ...request.Option) (*UpdateApnsVoipSandboxChannelOutput, error) {
6293	req, out := c.UpdateApnsVoipSandboxChannelRequest(input)
6294	req.SetContext(ctx)
6295	req.ApplyOptions(opts...)
6296	return out, req.Send()
6297}
6298
6299const opUpdateApplicationSettings = "UpdateApplicationSettings"
6300
6301// UpdateApplicationSettingsRequest generates a "aws/request.Request" representing the
6302// client's request for the UpdateApplicationSettings operation. The "output" return
6303// value will be populated with the request's response once the request completes
6304// successfully.
6305//
6306// Use "Send" method on the returned Request to send the API call to the service.
6307// the "output" return value is not valid until after Send returns without error.
6308//
6309// See UpdateApplicationSettings for more information on using the UpdateApplicationSettings
6310// API call, and error handling.
6311//
6312// This method is useful when you want to inject custom logic or configuration
6313// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6314//
6315//
6316//    // Example sending a request using the UpdateApplicationSettingsRequest method.
6317//    req, resp := client.UpdateApplicationSettingsRequest(params)
6318//
6319//    err := req.Send()
6320//    if err == nil { // resp is now filled
6321//        fmt.Println(resp)
6322//    }
6323//
6324// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettings
6325func (c *Pinpoint) UpdateApplicationSettingsRequest(input *UpdateApplicationSettingsInput) (req *request.Request, output *UpdateApplicationSettingsOutput) {
6326	op := &request.Operation{
6327		Name:       opUpdateApplicationSettings,
6328		HTTPMethod: "PUT",
6329		HTTPPath:   "/v1/apps/{application-id}/settings",
6330	}
6331
6332	if input == nil {
6333		input = &UpdateApplicationSettingsInput{}
6334	}
6335
6336	output = &UpdateApplicationSettingsOutput{}
6337	req = c.newRequest(op, input, output)
6338	return
6339}
6340
6341// UpdateApplicationSettings API operation for Amazon Pinpoint.
6342//
6343// Updates the settings for an application.
6344//
6345// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6346// with awserr.Error's Code and Message methods to get detailed information about
6347// the error.
6348//
6349// See the AWS API reference guide for Amazon Pinpoint's
6350// API operation UpdateApplicationSettings for usage and error information.
6351//
6352// Returned Error Codes:
6353//   * ErrCodeBadRequestException "BadRequestException"
6354//   Provides information about an API request or response.
6355//
6356//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6357//   Provides information about an API request or response.
6358//
6359//   * ErrCodeForbiddenException "ForbiddenException"
6360//   Provides information about an API request or response.
6361//
6362//   * ErrCodeNotFoundException "NotFoundException"
6363//   Provides information about an API request or response.
6364//
6365//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6366//   Provides information about an API request or response.
6367//
6368//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6369//   Provides information about an API request or response.
6370//
6371// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApplicationSettings
6372func (c *Pinpoint) UpdateApplicationSettings(input *UpdateApplicationSettingsInput) (*UpdateApplicationSettingsOutput, error) {
6373	req, out := c.UpdateApplicationSettingsRequest(input)
6374	return out, req.Send()
6375}
6376
6377// UpdateApplicationSettingsWithContext is the same as UpdateApplicationSettings with the addition of
6378// the ability to pass a context and additional request options.
6379//
6380// See UpdateApplicationSettings for details on how to use this API operation.
6381//
6382// The context must be non-nil and will be used for request cancellation. If
6383// the context is nil a panic will occur. In the future the SDK may create
6384// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6385// for more information on using Contexts.
6386func (c *Pinpoint) UpdateApplicationSettingsWithContext(ctx aws.Context, input *UpdateApplicationSettingsInput, opts ...request.Option) (*UpdateApplicationSettingsOutput, error) {
6387	req, out := c.UpdateApplicationSettingsRequest(input)
6388	req.SetContext(ctx)
6389	req.ApplyOptions(opts...)
6390	return out, req.Send()
6391}
6392
6393const opUpdateBaiduChannel = "UpdateBaiduChannel"
6394
6395// UpdateBaiduChannelRequest generates a "aws/request.Request" representing the
6396// client's request for the UpdateBaiduChannel operation. The "output" return
6397// value will be populated with the request's response once the request completes
6398// successfully.
6399//
6400// Use "Send" method on the returned Request to send the API call to the service.
6401// the "output" return value is not valid until after Send returns without error.
6402//
6403// See UpdateBaiduChannel for more information on using the UpdateBaiduChannel
6404// API call, and error handling.
6405//
6406// This method is useful when you want to inject custom logic or configuration
6407// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6408//
6409//
6410//    // Example sending a request using the UpdateBaiduChannelRequest method.
6411//    req, resp := client.UpdateBaiduChannelRequest(params)
6412//
6413//    err := req.Send()
6414//    if err == nil { // resp is now filled
6415//        fmt.Println(resp)
6416//    }
6417//
6418// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel
6419func (c *Pinpoint) UpdateBaiduChannelRequest(input *UpdateBaiduChannelInput) (req *request.Request, output *UpdateBaiduChannelOutput) {
6420	op := &request.Operation{
6421		Name:       opUpdateBaiduChannel,
6422		HTTPMethod: "PUT",
6423		HTTPPath:   "/v1/apps/{application-id}/channels/baidu",
6424	}
6425
6426	if input == nil {
6427		input = &UpdateBaiduChannelInput{}
6428	}
6429
6430	output = &UpdateBaiduChannelOutput{}
6431	req = c.newRequest(op, input, output)
6432	return
6433}
6434
6435// UpdateBaiduChannel API operation for Amazon Pinpoint.
6436//
6437// Updates the settings of the Baidu channel for an application.
6438//
6439// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6440// with awserr.Error's Code and Message methods to get detailed information about
6441// the error.
6442//
6443// See the AWS API reference guide for Amazon Pinpoint's
6444// API operation UpdateBaiduChannel for usage and error information.
6445//
6446// Returned Error Codes:
6447//   * ErrCodeBadRequestException "BadRequestException"
6448//   Provides information about an API request or response.
6449//
6450//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6451//   Provides information about an API request or response.
6452//
6453//   * ErrCodeForbiddenException "ForbiddenException"
6454//   Provides information about an API request or response.
6455//
6456//   * ErrCodeNotFoundException "NotFoundException"
6457//   Provides information about an API request or response.
6458//
6459//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6460//   Provides information about an API request or response.
6461//
6462//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6463//   Provides information about an API request or response.
6464//
6465// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateBaiduChannel
6466func (c *Pinpoint) UpdateBaiduChannel(input *UpdateBaiduChannelInput) (*UpdateBaiduChannelOutput, error) {
6467	req, out := c.UpdateBaiduChannelRequest(input)
6468	return out, req.Send()
6469}
6470
6471// UpdateBaiduChannelWithContext is the same as UpdateBaiduChannel with the addition of
6472// the ability to pass a context and additional request options.
6473//
6474// See UpdateBaiduChannel for details on how to use this API operation.
6475//
6476// The context must be non-nil and will be used for request cancellation. If
6477// the context is nil a panic will occur. In the future the SDK may create
6478// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6479// for more information on using Contexts.
6480func (c *Pinpoint) UpdateBaiduChannelWithContext(ctx aws.Context, input *UpdateBaiduChannelInput, opts ...request.Option) (*UpdateBaiduChannelOutput, error) {
6481	req, out := c.UpdateBaiduChannelRequest(input)
6482	req.SetContext(ctx)
6483	req.ApplyOptions(opts...)
6484	return out, req.Send()
6485}
6486
6487const opUpdateCampaign = "UpdateCampaign"
6488
6489// UpdateCampaignRequest generates a "aws/request.Request" representing the
6490// client's request for the UpdateCampaign operation. The "output" return
6491// value will be populated with the request's response once the request completes
6492// successfully.
6493//
6494// Use "Send" method on the returned Request to send the API call to the service.
6495// the "output" return value is not valid until after Send returns without error.
6496//
6497// See UpdateCampaign for more information on using the UpdateCampaign
6498// API call, and error handling.
6499//
6500// This method is useful when you want to inject custom logic or configuration
6501// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6502//
6503//
6504//    // Example sending a request using the UpdateCampaignRequest method.
6505//    req, resp := client.UpdateCampaignRequest(params)
6506//
6507//    err := req.Send()
6508//    if err == nil { // resp is now filled
6509//        fmt.Println(resp)
6510//    }
6511//
6512// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaign
6513func (c *Pinpoint) UpdateCampaignRequest(input *UpdateCampaignInput) (req *request.Request, output *UpdateCampaignOutput) {
6514	op := &request.Operation{
6515		Name:       opUpdateCampaign,
6516		HTTPMethod: "PUT",
6517		HTTPPath:   "/v1/apps/{application-id}/campaigns/{campaign-id}",
6518	}
6519
6520	if input == nil {
6521		input = &UpdateCampaignInput{}
6522	}
6523
6524	output = &UpdateCampaignOutput{}
6525	req = c.newRequest(op, input, output)
6526	return
6527}
6528
6529// UpdateCampaign API operation for Amazon Pinpoint.
6530//
6531// Updates the settings for a campaign.
6532//
6533// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6534// with awserr.Error's Code and Message methods to get detailed information about
6535// the error.
6536//
6537// See the AWS API reference guide for Amazon Pinpoint's
6538// API operation UpdateCampaign for usage and error information.
6539//
6540// Returned Error Codes:
6541//   * ErrCodeBadRequestException "BadRequestException"
6542//   Provides information about an API request or response.
6543//
6544//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6545//   Provides information about an API request or response.
6546//
6547//   * ErrCodeForbiddenException "ForbiddenException"
6548//   Provides information about an API request or response.
6549//
6550//   * ErrCodeNotFoundException "NotFoundException"
6551//   Provides information about an API request or response.
6552//
6553//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6554//   Provides information about an API request or response.
6555//
6556//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6557//   Provides information about an API request or response.
6558//
6559// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateCampaign
6560func (c *Pinpoint) UpdateCampaign(input *UpdateCampaignInput) (*UpdateCampaignOutput, error) {
6561	req, out := c.UpdateCampaignRequest(input)
6562	return out, req.Send()
6563}
6564
6565// UpdateCampaignWithContext is the same as UpdateCampaign with the addition of
6566// the ability to pass a context and additional request options.
6567//
6568// See UpdateCampaign for details on how to use this API operation.
6569//
6570// The context must be non-nil and will be used for request cancellation. If
6571// the context is nil a panic will occur. In the future the SDK may create
6572// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6573// for more information on using Contexts.
6574func (c *Pinpoint) UpdateCampaignWithContext(ctx aws.Context, input *UpdateCampaignInput, opts ...request.Option) (*UpdateCampaignOutput, error) {
6575	req, out := c.UpdateCampaignRequest(input)
6576	req.SetContext(ctx)
6577	req.ApplyOptions(opts...)
6578	return out, req.Send()
6579}
6580
6581const opUpdateEmailChannel = "UpdateEmailChannel"
6582
6583// UpdateEmailChannelRequest generates a "aws/request.Request" representing the
6584// client's request for the UpdateEmailChannel operation. The "output" return
6585// value will be populated with the request's response once the request completes
6586// successfully.
6587//
6588// Use "Send" method on the returned Request to send the API call to the service.
6589// the "output" return value is not valid until after Send returns without error.
6590//
6591// See UpdateEmailChannel for more information on using the UpdateEmailChannel
6592// API call, and error handling.
6593//
6594// This method is useful when you want to inject custom logic or configuration
6595// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6596//
6597//
6598//    // Example sending a request using the UpdateEmailChannelRequest method.
6599//    req, resp := client.UpdateEmailChannelRequest(params)
6600//
6601//    err := req.Send()
6602//    if err == nil { // resp is now filled
6603//        fmt.Println(resp)
6604//    }
6605//
6606// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel
6607func (c *Pinpoint) UpdateEmailChannelRequest(input *UpdateEmailChannelInput) (req *request.Request, output *UpdateEmailChannelOutput) {
6608	op := &request.Operation{
6609		Name:       opUpdateEmailChannel,
6610		HTTPMethod: "PUT",
6611		HTTPPath:   "/v1/apps/{application-id}/channels/email",
6612	}
6613
6614	if input == nil {
6615		input = &UpdateEmailChannelInput{}
6616	}
6617
6618	output = &UpdateEmailChannelOutput{}
6619	req = c.newRequest(op, input, output)
6620	return
6621}
6622
6623// UpdateEmailChannel API operation for Amazon Pinpoint.
6624//
6625// Updates the status and settings of the email channel for an application.
6626//
6627// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6628// with awserr.Error's Code and Message methods to get detailed information about
6629// the error.
6630//
6631// See the AWS API reference guide for Amazon Pinpoint's
6632// API operation UpdateEmailChannel for usage and error information.
6633//
6634// Returned Error Codes:
6635//   * ErrCodeBadRequestException "BadRequestException"
6636//   Provides information about an API request or response.
6637//
6638//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6639//   Provides information about an API request or response.
6640//
6641//   * ErrCodeForbiddenException "ForbiddenException"
6642//   Provides information about an API request or response.
6643//
6644//   * ErrCodeNotFoundException "NotFoundException"
6645//   Provides information about an API request or response.
6646//
6647//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6648//   Provides information about an API request or response.
6649//
6650//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6651//   Provides information about an API request or response.
6652//
6653// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEmailChannel
6654func (c *Pinpoint) UpdateEmailChannel(input *UpdateEmailChannelInput) (*UpdateEmailChannelOutput, error) {
6655	req, out := c.UpdateEmailChannelRequest(input)
6656	return out, req.Send()
6657}
6658
6659// UpdateEmailChannelWithContext is the same as UpdateEmailChannel with the addition of
6660// the ability to pass a context and additional request options.
6661//
6662// See UpdateEmailChannel for details on how to use this API operation.
6663//
6664// The context must be non-nil and will be used for request cancellation. If
6665// the context is nil a panic will occur. In the future the SDK may create
6666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6667// for more information on using Contexts.
6668func (c *Pinpoint) UpdateEmailChannelWithContext(ctx aws.Context, input *UpdateEmailChannelInput, opts ...request.Option) (*UpdateEmailChannelOutput, error) {
6669	req, out := c.UpdateEmailChannelRequest(input)
6670	req.SetContext(ctx)
6671	req.ApplyOptions(opts...)
6672	return out, req.Send()
6673}
6674
6675const opUpdateEndpoint = "UpdateEndpoint"
6676
6677// UpdateEndpointRequest generates a "aws/request.Request" representing the
6678// client's request for the UpdateEndpoint operation. The "output" return
6679// value will be populated with the request's response once the request completes
6680// successfully.
6681//
6682// Use "Send" method on the returned Request to send the API call to the service.
6683// the "output" return value is not valid until after Send returns without error.
6684//
6685// See UpdateEndpoint for more information on using the UpdateEndpoint
6686// API call, and error handling.
6687//
6688// This method is useful when you want to inject custom logic or configuration
6689// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6690//
6691//
6692//    // Example sending a request using the UpdateEndpointRequest method.
6693//    req, resp := client.UpdateEndpointRequest(params)
6694//
6695//    err := req.Send()
6696//    if err == nil { // resp is now filled
6697//        fmt.Println(resp)
6698//    }
6699//
6700// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpoint
6701func (c *Pinpoint) UpdateEndpointRequest(input *UpdateEndpointInput) (req *request.Request, output *UpdateEndpointOutput) {
6702	op := &request.Operation{
6703		Name:       opUpdateEndpoint,
6704		HTTPMethod: "PUT",
6705		HTTPPath:   "/v1/apps/{application-id}/endpoints/{endpoint-id}",
6706	}
6707
6708	if input == nil {
6709		input = &UpdateEndpointInput{}
6710	}
6711
6712	output = &UpdateEndpointOutput{}
6713	req = c.newRequest(op, input, output)
6714	return
6715}
6716
6717// UpdateEndpoint API operation for Amazon Pinpoint.
6718//
6719// Creates a new endpoint for an application or updates the settings and attributes
6720// of an existing endpoint for an application. You can also use this operation
6721// to define custom attributes (Attributes, Metrics, and UserAttributes properties)
6722// for an endpoint.
6723//
6724// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6725// with awserr.Error's Code and Message methods to get detailed information about
6726// the error.
6727//
6728// See the AWS API reference guide for Amazon Pinpoint's
6729// API operation UpdateEndpoint for usage and error information.
6730//
6731// Returned Error Codes:
6732//   * ErrCodeBadRequestException "BadRequestException"
6733//   Provides information about an API request or response.
6734//
6735//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6736//   Provides information about an API request or response.
6737//
6738//   * ErrCodeForbiddenException "ForbiddenException"
6739//   Provides information about an API request or response.
6740//
6741//   * ErrCodeNotFoundException "NotFoundException"
6742//   Provides information about an API request or response.
6743//
6744//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6745//   Provides information about an API request or response.
6746//
6747//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6748//   Provides information about an API request or response.
6749//
6750// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpoint
6751func (c *Pinpoint) UpdateEndpoint(input *UpdateEndpointInput) (*UpdateEndpointOutput, error) {
6752	req, out := c.UpdateEndpointRequest(input)
6753	return out, req.Send()
6754}
6755
6756// UpdateEndpointWithContext is the same as UpdateEndpoint with the addition of
6757// the ability to pass a context and additional request options.
6758//
6759// See UpdateEndpoint for details on how to use this API operation.
6760//
6761// The context must be non-nil and will be used for request cancellation. If
6762// the context is nil a panic will occur. In the future the SDK may create
6763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6764// for more information on using Contexts.
6765func (c *Pinpoint) UpdateEndpointWithContext(ctx aws.Context, input *UpdateEndpointInput, opts ...request.Option) (*UpdateEndpointOutput, error) {
6766	req, out := c.UpdateEndpointRequest(input)
6767	req.SetContext(ctx)
6768	req.ApplyOptions(opts...)
6769	return out, req.Send()
6770}
6771
6772const opUpdateEndpointsBatch = "UpdateEndpointsBatch"
6773
6774// UpdateEndpointsBatchRequest generates a "aws/request.Request" representing the
6775// client's request for the UpdateEndpointsBatch operation. The "output" return
6776// value will be populated with the request's response once the request completes
6777// successfully.
6778//
6779// Use "Send" method on the returned Request to send the API call to the service.
6780// the "output" return value is not valid until after Send returns without error.
6781//
6782// See UpdateEndpointsBatch for more information on using the UpdateEndpointsBatch
6783// API call, and error handling.
6784//
6785// This method is useful when you want to inject custom logic or configuration
6786// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6787//
6788//
6789//    // Example sending a request using the UpdateEndpointsBatchRequest method.
6790//    req, resp := client.UpdateEndpointsBatchRequest(params)
6791//
6792//    err := req.Send()
6793//    if err == nil { // resp is now filled
6794//        fmt.Println(resp)
6795//    }
6796//
6797// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatch
6798func (c *Pinpoint) UpdateEndpointsBatchRequest(input *UpdateEndpointsBatchInput) (req *request.Request, output *UpdateEndpointsBatchOutput) {
6799	op := &request.Operation{
6800		Name:       opUpdateEndpointsBatch,
6801		HTTPMethod: "PUT",
6802		HTTPPath:   "/v1/apps/{application-id}/endpoints",
6803	}
6804
6805	if input == nil {
6806		input = &UpdateEndpointsBatchInput{}
6807	}
6808
6809	output = &UpdateEndpointsBatchOutput{}
6810	req = c.newRequest(op, input, output)
6811	return
6812}
6813
6814// UpdateEndpointsBatch API operation for Amazon Pinpoint.
6815//
6816// Creates a new batch of endpoints for an application or updates the settings
6817// and attributes of a batch of existing endpoints for an application. You can
6818// also use this operation to define custom attributes (Attributes, Metrics,
6819// and UserAttributes properties) for a batch of endpoints.
6820//
6821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6822// with awserr.Error's Code and Message methods to get detailed information about
6823// the error.
6824//
6825// See the AWS API reference guide for Amazon Pinpoint's
6826// API operation UpdateEndpointsBatch for usage and error information.
6827//
6828// Returned Error Codes:
6829//   * ErrCodeBadRequestException "BadRequestException"
6830//   Provides information about an API request or response.
6831//
6832//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6833//   Provides information about an API request or response.
6834//
6835//   * ErrCodeForbiddenException "ForbiddenException"
6836//   Provides information about an API request or response.
6837//
6838//   * ErrCodeNotFoundException "NotFoundException"
6839//   Provides information about an API request or response.
6840//
6841//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6842//   Provides information about an API request or response.
6843//
6844//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6845//   Provides information about an API request or response.
6846//
6847// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateEndpointsBatch
6848func (c *Pinpoint) UpdateEndpointsBatch(input *UpdateEndpointsBatchInput) (*UpdateEndpointsBatchOutput, error) {
6849	req, out := c.UpdateEndpointsBatchRequest(input)
6850	return out, req.Send()
6851}
6852
6853// UpdateEndpointsBatchWithContext is the same as UpdateEndpointsBatch with the addition of
6854// the ability to pass a context and additional request options.
6855//
6856// See UpdateEndpointsBatch for details on how to use this API operation.
6857//
6858// The context must be non-nil and will be used for request cancellation. If
6859// the context is nil a panic will occur. In the future the SDK may create
6860// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6861// for more information on using Contexts.
6862func (c *Pinpoint) UpdateEndpointsBatchWithContext(ctx aws.Context, input *UpdateEndpointsBatchInput, opts ...request.Option) (*UpdateEndpointsBatchOutput, error) {
6863	req, out := c.UpdateEndpointsBatchRequest(input)
6864	req.SetContext(ctx)
6865	req.ApplyOptions(opts...)
6866	return out, req.Send()
6867}
6868
6869const opUpdateGcmChannel = "UpdateGcmChannel"
6870
6871// UpdateGcmChannelRequest generates a "aws/request.Request" representing the
6872// client's request for the UpdateGcmChannel operation. The "output" return
6873// value will be populated with the request's response once the request completes
6874// successfully.
6875//
6876// Use "Send" method on the returned Request to send the API call to the service.
6877// the "output" return value is not valid until after Send returns without error.
6878//
6879// See UpdateGcmChannel for more information on using the UpdateGcmChannel
6880// API call, and error handling.
6881//
6882// This method is useful when you want to inject custom logic or configuration
6883// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6884//
6885//
6886//    // Example sending a request using the UpdateGcmChannelRequest method.
6887//    req, resp := client.UpdateGcmChannelRequest(params)
6888//
6889//    err := req.Send()
6890//    if err == nil { // resp is now filled
6891//        fmt.Println(resp)
6892//    }
6893//
6894// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannel
6895func (c *Pinpoint) UpdateGcmChannelRequest(input *UpdateGcmChannelInput) (req *request.Request, output *UpdateGcmChannelOutput) {
6896	op := &request.Operation{
6897		Name:       opUpdateGcmChannel,
6898		HTTPMethod: "PUT",
6899		HTTPPath:   "/v1/apps/{application-id}/channels/gcm",
6900	}
6901
6902	if input == nil {
6903		input = &UpdateGcmChannelInput{}
6904	}
6905
6906	output = &UpdateGcmChannelOutput{}
6907	req = c.newRequest(op, input, output)
6908	return
6909}
6910
6911// UpdateGcmChannel API operation for Amazon Pinpoint.
6912//
6913// Updates the status and settings of the GCM channel for an application.
6914//
6915// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6916// with awserr.Error's Code and Message methods to get detailed information about
6917// the error.
6918//
6919// See the AWS API reference guide for Amazon Pinpoint's
6920// API operation UpdateGcmChannel for usage and error information.
6921//
6922// Returned Error Codes:
6923//   * ErrCodeBadRequestException "BadRequestException"
6924//   Provides information about an API request or response.
6925//
6926//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
6927//   Provides information about an API request or response.
6928//
6929//   * ErrCodeForbiddenException "ForbiddenException"
6930//   Provides information about an API request or response.
6931//
6932//   * ErrCodeNotFoundException "NotFoundException"
6933//   Provides information about an API request or response.
6934//
6935//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
6936//   Provides information about an API request or response.
6937//
6938//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
6939//   Provides information about an API request or response.
6940//
6941// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateGcmChannel
6942func (c *Pinpoint) UpdateGcmChannel(input *UpdateGcmChannelInput) (*UpdateGcmChannelOutput, error) {
6943	req, out := c.UpdateGcmChannelRequest(input)
6944	return out, req.Send()
6945}
6946
6947// UpdateGcmChannelWithContext is the same as UpdateGcmChannel with the addition of
6948// the ability to pass a context and additional request options.
6949//
6950// See UpdateGcmChannel for details on how to use this API operation.
6951//
6952// The context must be non-nil and will be used for request cancellation. If
6953// the context is nil a panic will occur. In the future the SDK may create
6954// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6955// for more information on using Contexts.
6956func (c *Pinpoint) UpdateGcmChannelWithContext(ctx aws.Context, input *UpdateGcmChannelInput, opts ...request.Option) (*UpdateGcmChannelOutput, error) {
6957	req, out := c.UpdateGcmChannelRequest(input)
6958	req.SetContext(ctx)
6959	req.ApplyOptions(opts...)
6960	return out, req.Send()
6961}
6962
6963const opUpdateSegment = "UpdateSegment"
6964
6965// UpdateSegmentRequest generates a "aws/request.Request" representing the
6966// client's request for the UpdateSegment operation. The "output" return
6967// value will be populated with the request's response once the request completes
6968// successfully.
6969//
6970// Use "Send" method on the returned Request to send the API call to the service.
6971// the "output" return value is not valid until after Send returns without error.
6972//
6973// See UpdateSegment for more information on using the UpdateSegment
6974// API call, and error handling.
6975//
6976// This method is useful when you want to inject custom logic or configuration
6977// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6978//
6979//
6980//    // Example sending a request using the UpdateSegmentRequest method.
6981//    req, resp := client.UpdateSegmentRequest(params)
6982//
6983//    err := req.Send()
6984//    if err == nil { // resp is now filled
6985//        fmt.Println(resp)
6986//    }
6987//
6988// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegment
6989func (c *Pinpoint) UpdateSegmentRequest(input *UpdateSegmentInput) (req *request.Request, output *UpdateSegmentOutput) {
6990	op := &request.Operation{
6991		Name:       opUpdateSegment,
6992		HTTPMethod: "PUT",
6993		HTTPPath:   "/v1/apps/{application-id}/segments/{segment-id}",
6994	}
6995
6996	if input == nil {
6997		input = &UpdateSegmentInput{}
6998	}
6999
7000	output = &UpdateSegmentOutput{}
7001	req = c.newRequest(op, input, output)
7002	return
7003}
7004
7005// UpdateSegment API operation for Amazon Pinpoint.
7006//
7007// Creates a new segment for an application or updates the configuration, dimension,
7008// and other settings for an existing segment that's associated with an application.
7009//
7010// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7011// with awserr.Error's Code and Message methods to get detailed information about
7012// the error.
7013//
7014// See the AWS API reference guide for Amazon Pinpoint's
7015// API operation UpdateSegment for usage and error information.
7016//
7017// Returned Error Codes:
7018//   * ErrCodeBadRequestException "BadRequestException"
7019//   Provides information about an API request or response.
7020//
7021//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7022//   Provides information about an API request or response.
7023//
7024//   * ErrCodeForbiddenException "ForbiddenException"
7025//   Provides information about an API request or response.
7026//
7027//   * ErrCodeNotFoundException "NotFoundException"
7028//   Provides information about an API request or response.
7029//
7030//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7031//   Provides information about an API request or response.
7032//
7033//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7034//   Provides information about an API request or response.
7035//
7036// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSegment
7037func (c *Pinpoint) UpdateSegment(input *UpdateSegmentInput) (*UpdateSegmentOutput, error) {
7038	req, out := c.UpdateSegmentRequest(input)
7039	return out, req.Send()
7040}
7041
7042// UpdateSegmentWithContext is the same as UpdateSegment with the addition of
7043// the ability to pass a context and additional request options.
7044//
7045// See UpdateSegment for details on how to use this API operation.
7046//
7047// The context must be non-nil and will be used for request cancellation. If
7048// the context is nil a panic will occur. In the future the SDK may create
7049// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7050// for more information on using Contexts.
7051func (c *Pinpoint) UpdateSegmentWithContext(ctx aws.Context, input *UpdateSegmentInput, opts ...request.Option) (*UpdateSegmentOutput, error) {
7052	req, out := c.UpdateSegmentRequest(input)
7053	req.SetContext(ctx)
7054	req.ApplyOptions(opts...)
7055	return out, req.Send()
7056}
7057
7058const opUpdateSmsChannel = "UpdateSmsChannel"
7059
7060// UpdateSmsChannelRequest generates a "aws/request.Request" representing the
7061// client's request for the UpdateSmsChannel operation. The "output" return
7062// value will be populated with the request's response once the request completes
7063// successfully.
7064//
7065// Use "Send" method on the returned Request to send the API call to the service.
7066// the "output" return value is not valid until after Send returns without error.
7067//
7068// See UpdateSmsChannel for more information on using the UpdateSmsChannel
7069// API call, and error handling.
7070//
7071// This method is useful when you want to inject custom logic or configuration
7072// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7073//
7074//
7075//    // Example sending a request using the UpdateSmsChannelRequest method.
7076//    req, resp := client.UpdateSmsChannelRequest(params)
7077//
7078//    err := req.Send()
7079//    if err == nil { // resp is now filled
7080//        fmt.Println(resp)
7081//    }
7082//
7083// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannel
7084func (c *Pinpoint) UpdateSmsChannelRequest(input *UpdateSmsChannelInput) (req *request.Request, output *UpdateSmsChannelOutput) {
7085	op := &request.Operation{
7086		Name:       opUpdateSmsChannel,
7087		HTTPMethod: "PUT",
7088		HTTPPath:   "/v1/apps/{application-id}/channels/sms",
7089	}
7090
7091	if input == nil {
7092		input = &UpdateSmsChannelInput{}
7093	}
7094
7095	output = &UpdateSmsChannelOutput{}
7096	req = c.newRequest(op, input, output)
7097	return
7098}
7099
7100// UpdateSmsChannel API operation for Amazon Pinpoint.
7101//
7102// Updates the status and settings of the SMS channel for an application.
7103//
7104// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7105// with awserr.Error's Code and Message methods to get detailed information about
7106// the error.
7107//
7108// See the AWS API reference guide for Amazon Pinpoint's
7109// API operation UpdateSmsChannel for usage and error information.
7110//
7111// Returned Error Codes:
7112//   * ErrCodeBadRequestException "BadRequestException"
7113//   Provides information about an API request or response.
7114//
7115//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7116//   Provides information about an API request or response.
7117//
7118//   * ErrCodeForbiddenException "ForbiddenException"
7119//   Provides information about an API request or response.
7120//
7121//   * ErrCodeNotFoundException "NotFoundException"
7122//   Provides information about an API request or response.
7123//
7124//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7125//   Provides information about an API request or response.
7126//
7127//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7128//   Provides information about an API request or response.
7129//
7130// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateSmsChannel
7131func (c *Pinpoint) UpdateSmsChannel(input *UpdateSmsChannelInput) (*UpdateSmsChannelOutput, error) {
7132	req, out := c.UpdateSmsChannelRequest(input)
7133	return out, req.Send()
7134}
7135
7136// UpdateSmsChannelWithContext is the same as UpdateSmsChannel with the addition of
7137// the ability to pass a context and additional request options.
7138//
7139// See UpdateSmsChannel for details on how to use this API operation.
7140//
7141// The context must be non-nil and will be used for request cancellation. If
7142// the context is nil a panic will occur. In the future the SDK may create
7143// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7144// for more information on using Contexts.
7145func (c *Pinpoint) UpdateSmsChannelWithContext(ctx aws.Context, input *UpdateSmsChannelInput, opts ...request.Option) (*UpdateSmsChannelOutput, error) {
7146	req, out := c.UpdateSmsChannelRequest(input)
7147	req.SetContext(ctx)
7148	req.ApplyOptions(opts...)
7149	return out, req.Send()
7150}
7151
7152const opUpdateVoiceChannel = "UpdateVoiceChannel"
7153
7154// UpdateVoiceChannelRequest generates a "aws/request.Request" representing the
7155// client's request for the UpdateVoiceChannel operation. The "output" return
7156// value will be populated with the request's response once the request completes
7157// successfully.
7158//
7159// Use "Send" method on the returned Request to send the API call to the service.
7160// the "output" return value is not valid until after Send returns without error.
7161//
7162// See UpdateVoiceChannel for more information on using the UpdateVoiceChannel
7163// API call, and error handling.
7164//
7165// This method is useful when you want to inject custom logic or configuration
7166// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7167//
7168//
7169//    // Example sending a request using the UpdateVoiceChannelRequest method.
7170//    req, resp := client.UpdateVoiceChannelRequest(params)
7171//
7172//    err := req.Send()
7173//    if err == nil { // resp is now filled
7174//        fmt.Println(resp)
7175//    }
7176//
7177// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceChannel
7178func (c *Pinpoint) UpdateVoiceChannelRequest(input *UpdateVoiceChannelInput) (req *request.Request, output *UpdateVoiceChannelOutput) {
7179	op := &request.Operation{
7180		Name:       opUpdateVoiceChannel,
7181		HTTPMethod: "PUT",
7182		HTTPPath:   "/v1/apps/{application-id}/channels/voice",
7183	}
7184
7185	if input == nil {
7186		input = &UpdateVoiceChannelInput{}
7187	}
7188
7189	output = &UpdateVoiceChannelOutput{}
7190	req = c.newRequest(op, input, output)
7191	return
7192}
7193
7194// UpdateVoiceChannel API operation for Amazon Pinpoint.
7195//
7196// Updates the status and settings of the voice channel for an application.
7197//
7198// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7199// with awserr.Error's Code and Message methods to get detailed information about
7200// the error.
7201//
7202// See the AWS API reference guide for Amazon Pinpoint's
7203// API operation UpdateVoiceChannel for usage and error information.
7204//
7205// Returned Error Codes:
7206//   * ErrCodeBadRequestException "BadRequestException"
7207//   Provides information about an API request or response.
7208//
7209//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
7210//   Provides information about an API request or response.
7211//
7212//   * ErrCodeForbiddenException "ForbiddenException"
7213//   Provides information about an API request or response.
7214//
7215//   * ErrCodeNotFoundException "NotFoundException"
7216//   Provides information about an API request or response.
7217//
7218//   * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
7219//   Provides information about an API request or response.
7220//
7221//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
7222//   Provides information about an API request or response.
7223//
7224// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateVoiceChannel
7225func (c *Pinpoint) UpdateVoiceChannel(input *UpdateVoiceChannelInput) (*UpdateVoiceChannelOutput, error) {
7226	req, out := c.UpdateVoiceChannelRequest(input)
7227	return out, req.Send()
7228}
7229
7230// UpdateVoiceChannelWithContext is the same as UpdateVoiceChannel with the addition of
7231// the ability to pass a context and additional request options.
7232//
7233// See UpdateVoiceChannel for details on how to use this API operation.
7234//
7235// The context must be non-nil and will be used for request cancellation. If
7236// the context is nil a panic will occur. In the future the SDK may create
7237// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7238// for more information on using Contexts.
7239func (c *Pinpoint) UpdateVoiceChannelWithContext(ctx aws.Context, input *UpdateVoiceChannelInput, opts ...request.Option) (*UpdateVoiceChannelOutput, error) {
7240	req, out := c.UpdateVoiceChannelRequest(input)
7241	req.SetContext(ctx)
7242	req.ApplyOptions(opts...)
7243	return out, req.Send()
7244}
7245
7246// Specifies the status and settings of the ADM (Amazon Device Messaging) channel
7247// for an application.
7248type ADMChannelRequest struct {
7249	_ struct{} `type:"structure"`
7250
7251	// The Client ID that you received from Amazon to send messages by using ADM.
7252	//
7253	// ClientId is a required field
7254	ClientId *string `type:"string" required:"true"`
7255
7256	// The Client Secret that you received from Amazon to send messages by using
7257	// ADM.
7258	//
7259	// ClientSecret is a required field
7260	ClientSecret *string `type:"string" required:"true"`
7261
7262	// Specifies whether to enable the ADM channel for the application.
7263	Enabled *bool `type:"boolean"`
7264}
7265
7266// String returns the string representation
7267func (s ADMChannelRequest) String() string {
7268	return awsutil.Prettify(s)
7269}
7270
7271// GoString returns the string representation
7272func (s ADMChannelRequest) GoString() string {
7273	return s.String()
7274}
7275
7276// Validate inspects the fields of the type to determine if they are valid.
7277func (s *ADMChannelRequest) Validate() error {
7278	invalidParams := request.ErrInvalidParams{Context: "ADMChannelRequest"}
7279	if s.ClientId == nil {
7280		invalidParams.Add(request.NewErrParamRequired("ClientId"))
7281	}
7282	if s.ClientSecret == nil {
7283		invalidParams.Add(request.NewErrParamRequired("ClientSecret"))
7284	}
7285
7286	if invalidParams.Len() > 0 {
7287		return invalidParams
7288	}
7289	return nil
7290}
7291
7292// SetClientId sets the ClientId field's value.
7293func (s *ADMChannelRequest) SetClientId(v string) *ADMChannelRequest {
7294	s.ClientId = &v
7295	return s
7296}
7297
7298// SetClientSecret sets the ClientSecret field's value.
7299func (s *ADMChannelRequest) SetClientSecret(v string) *ADMChannelRequest {
7300	s.ClientSecret = &v
7301	return s
7302}
7303
7304// SetEnabled sets the Enabled field's value.
7305func (s *ADMChannelRequest) SetEnabled(v bool) *ADMChannelRequest {
7306	s.Enabled = &v
7307	return s
7308}
7309
7310// Provides information about the status and settings of the ADM (Amazon Device
7311// Messaging) channel for an application.
7312type ADMChannelResponse struct {
7313	_ struct{} `type:"structure"`
7314
7315	// The unique identifier for the application that the ADM channel applies to.
7316	ApplicationId *string `type:"string"`
7317
7318	// The date and time when the ADM channel was enabled.
7319	CreationDate *string `type:"string"`
7320
7321	// Specifies whether the ADM channel is enabled for the application.
7322	Enabled *bool `type:"boolean"`
7323
7324	// (Not used) This property is retained only for backward compatibility.
7325	HasCredential *bool `type:"boolean"`
7326
7327	// (Deprecated) An identifier for the ADM channel. This property is retained
7328	// only for backward compatibility.
7329	Id *string `type:"string"`
7330
7331	// Specifies whether the ADM channel is archived.
7332	IsArchived *bool `type:"boolean"`
7333
7334	// The user who last modified the ADM channel.
7335	LastModifiedBy *string `type:"string"`
7336
7337	// The date and time when the ADM channel was last modified.
7338	LastModifiedDate *string `type:"string"`
7339
7340	// The type of messaging or notification platform for the channel. For the ADM
7341	// channel, this value is ADM.
7342	//
7343	// Platform is a required field
7344	Platform *string `type:"string" required:"true"`
7345
7346	// The current version of the ADM channel.
7347	Version *int64 `type:"integer"`
7348}
7349
7350// String returns the string representation
7351func (s ADMChannelResponse) String() string {
7352	return awsutil.Prettify(s)
7353}
7354
7355// GoString returns the string representation
7356func (s ADMChannelResponse) GoString() string {
7357	return s.String()
7358}
7359
7360// SetApplicationId sets the ApplicationId field's value.
7361func (s *ADMChannelResponse) SetApplicationId(v string) *ADMChannelResponse {
7362	s.ApplicationId = &v
7363	return s
7364}
7365
7366// SetCreationDate sets the CreationDate field's value.
7367func (s *ADMChannelResponse) SetCreationDate(v string) *ADMChannelResponse {
7368	s.CreationDate = &v
7369	return s
7370}
7371
7372// SetEnabled sets the Enabled field's value.
7373func (s *ADMChannelResponse) SetEnabled(v bool) *ADMChannelResponse {
7374	s.Enabled = &v
7375	return s
7376}
7377
7378// SetHasCredential sets the HasCredential field's value.
7379func (s *ADMChannelResponse) SetHasCredential(v bool) *ADMChannelResponse {
7380	s.HasCredential = &v
7381	return s
7382}
7383
7384// SetId sets the Id field's value.
7385func (s *ADMChannelResponse) SetId(v string) *ADMChannelResponse {
7386	s.Id = &v
7387	return s
7388}
7389
7390// SetIsArchived sets the IsArchived field's value.
7391func (s *ADMChannelResponse) SetIsArchived(v bool) *ADMChannelResponse {
7392	s.IsArchived = &v
7393	return s
7394}
7395
7396// SetLastModifiedBy sets the LastModifiedBy field's value.
7397func (s *ADMChannelResponse) SetLastModifiedBy(v string) *ADMChannelResponse {
7398	s.LastModifiedBy = &v
7399	return s
7400}
7401
7402// SetLastModifiedDate sets the LastModifiedDate field's value.
7403func (s *ADMChannelResponse) SetLastModifiedDate(v string) *ADMChannelResponse {
7404	s.LastModifiedDate = &v
7405	return s
7406}
7407
7408// SetPlatform sets the Platform field's value.
7409func (s *ADMChannelResponse) SetPlatform(v string) *ADMChannelResponse {
7410	s.Platform = &v
7411	return s
7412}
7413
7414// SetVersion sets the Version field's value.
7415func (s *ADMChannelResponse) SetVersion(v int64) *ADMChannelResponse {
7416	s.Version = &v
7417	return s
7418}
7419
7420// Specifies the settings for a one-time message that's sent directly to an
7421// endpoint through the ADM (Amazon Device Messaging) channel.
7422type ADMMessage struct {
7423	_ struct{} `type:"structure"`
7424
7425	// The action to occur if the recipient taps the push notification. Valid values
7426	// are:
7427	//
7428	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
7429	//    sent to the background. This is the default action.
7430	//
7431	//    * DEEP_LINK - Your app opens and displays a designated user interface
7432	//    in the app. This action uses the deep-linking features of the Android
7433	//    platform.
7434	//
7435	//    * URL - The default mobile browser on the recipient's device opens and
7436	//    loads the web page at a URL that you specify.
7437	Action *string `type:"string" enum:"Action"`
7438
7439	// The body of the notification message.
7440	Body *string `type:"string"`
7441
7442	// An arbitrary string that indicates that multiple messages are logically the
7443	// same and that Amazon Device Messaging (ADM) can drop previously enqueued
7444	// messages in favor of this message.
7445	ConsolidationKey *string `type:"string"`
7446
7447	// The JSON data payload to use for the push notification, if the notification
7448	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
7449	// object of the notification.
7450	Data map[string]*string `type:"map"`
7451
7452	// The amount of time, in seconds, that ADM should store the message if the
7453	// recipient's device is offline. Amazon Pinpoint specifies this value in the
7454	// expiresAfter parameter when it sends the notification message to ADM.
7455	ExpiresAfter *string `type:"string"`
7456
7457	// The icon image name of the asset saved in your app.
7458	IconReference *string `type:"string"`
7459
7460	// The URL of the large icon image to display in the content view of the push
7461	// notification.
7462	ImageIconUrl *string `type:"string"`
7463
7464	// The URL of an image to display in the push notification.
7465	ImageUrl *string `type:"string"`
7466
7467	// The base64-encoded, MD5 checksum of the value specified by the Data property.
7468	// ADM uses the MD5 value to verify the integrity of the data.
7469	MD5 *string `type:"string"`
7470
7471	// The raw, JSON-formatted string to use as the payload for the notification
7472	// message. This value overrides the message.
7473	RawContent *string `type:"string"`
7474
7475	// Specifies whether the notification is a silent push notification, which is
7476	// a push notification that doesn't display on a recipient's device. Silent
7477	// push notifications can be used for cases such as updating an app's configuration
7478	// or supporting phone home functionality.
7479	SilentPush *bool `type:"boolean"`
7480
7481	// The URL of the small icon image to display in the status bar and the content
7482	// view of the push notification.
7483	SmallImageIconUrl *string `type:"string"`
7484
7485	// The sound to play when the recipient receives the push notification. You
7486	// can use the default stream or specify the file name of a sound resource that's
7487	// bundled in your app. On an Android platform, the sound file must reside in
7488	// /res/raw/.
7489	Sound *string `type:"string"`
7490
7491	// The default message variables to use in the notification message. You can
7492	// override the default variables with individual address variables.
7493	Substitutions map[string][]*string `type:"map"`
7494
7495	// The title to display above the notification message on the recipient's device.
7496	Title *string `type:"string"`
7497
7498	// The URL to open in the recipient's default mobile browser, if a recipient
7499	// taps the push notification and the value of the Action property is URL.
7500	Url *string `type:"string"`
7501}
7502
7503// String returns the string representation
7504func (s ADMMessage) String() string {
7505	return awsutil.Prettify(s)
7506}
7507
7508// GoString returns the string representation
7509func (s ADMMessage) GoString() string {
7510	return s.String()
7511}
7512
7513// SetAction sets the Action field's value.
7514func (s *ADMMessage) SetAction(v string) *ADMMessage {
7515	s.Action = &v
7516	return s
7517}
7518
7519// SetBody sets the Body field's value.
7520func (s *ADMMessage) SetBody(v string) *ADMMessage {
7521	s.Body = &v
7522	return s
7523}
7524
7525// SetConsolidationKey sets the ConsolidationKey field's value.
7526func (s *ADMMessage) SetConsolidationKey(v string) *ADMMessage {
7527	s.ConsolidationKey = &v
7528	return s
7529}
7530
7531// SetData sets the Data field's value.
7532func (s *ADMMessage) SetData(v map[string]*string) *ADMMessage {
7533	s.Data = v
7534	return s
7535}
7536
7537// SetExpiresAfter sets the ExpiresAfter field's value.
7538func (s *ADMMessage) SetExpiresAfter(v string) *ADMMessage {
7539	s.ExpiresAfter = &v
7540	return s
7541}
7542
7543// SetIconReference sets the IconReference field's value.
7544func (s *ADMMessage) SetIconReference(v string) *ADMMessage {
7545	s.IconReference = &v
7546	return s
7547}
7548
7549// SetImageIconUrl sets the ImageIconUrl field's value.
7550func (s *ADMMessage) SetImageIconUrl(v string) *ADMMessage {
7551	s.ImageIconUrl = &v
7552	return s
7553}
7554
7555// SetImageUrl sets the ImageUrl field's value.
7556func (s *ADMMessage) SetImageUrl(v string) *ADMMessage {
7557	s.ImageUrl = &v
7558	return s
7559}
7560
7561// SetMD5 sets the MD5 field's value.
7562func (s *ADMMessage) SetMD5(v string) *ADMMessage {
7563	s.MD5 = &v
7564	return s
7565}
7566
7567// SetRawContent sets the RawContent field's value.
7568func (s *ADMMessage) SetRawContent(v string) *ADMMessage {
7569	s.RawContent = &v
7570	return s
7571}
7572
7573// SetSilentPush sets the SilentPush field's value.
7574func (s *ADMMessage) SetSilentPush(v bool) *ADMMessage {
7575	s.SilentPush = &v
7576	return s
7577}
7578
7579// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
7580func (s *ADMMessage) SetSmallImageIconUrl(v string) *ADMMessage {
7581	s.SmallImageIconUrl = &v
7582	return s
7583}
7584
7585// SetSound sets the Sound field's value.
7586func (s *ADMMessage) SetSound(v string) *ADMMessage {
7587	s.Sound = &v
7588	return s
7589}
7590
7591// SetSubstitutions sets the Substitutions field's value.
7592func (s *ADMMessage) SetSubstitutions(v map[string][]*string) *ADMMessage {
7593	s.Substitutions = v
7594	return s
7595}
7596
7597// SetTitle sets the Title field's value.
7598func (s *ADMMessage) SetTitle(v string) *ADMMessage {
7599	s.Title = &v
7600	return s
7601}
7602
7603// SetUrl sets the Url field's value.
7604func (s *ADMMessage) SetUrl(v string) *ADMMessage {
7605	s.Url = &v
7606	return s
7607}
7608
7609// Specifies the status and settings of the APNs (Apple Push Notification service)
7610// channel for an application.
7611type APNSChannelRequest struct {
7612	_ struct{} `type:"structure"`
7613
7614	// The bundle identifier that's assigned to your iOS app. This identifier is
7615	// used for APNs tokens.
7616	BundleId *string `type:"string"`
7617
7618	// The APNs client certificate that you received from Apple, if you want Amazon
7619	// Pinpoint to communicate with APNs by using an APNs certificate.
7620	Certificate *string `type:"string"`
7621
7622	// The default authentication method that you want Amazon Pinpoint to use when
7623	// authenticating with APNs, key or certificate.
7624	DefaultAuthenticationMethod *string `type:"string"`
7625
7626	// Specifies whether to enable the APNs channel for the application.
7627	Enabled *bool `type:"boolean"`
7628
7629	// The private key for the APNs client certificate that you want Amazon Pinpoint
7630	// to use to communicate with APNs.
7631	PrivateKey *string `type:"string"`
7632
7633	// The identifier that's assigned to your Apple developer account team. This
7634	// identifier is used for APNs tokens.
7635	TeamId *string `type:"string"`
7636
7637	// The authentication key to use for APNs tokens.
7638	TokenKey *string `type:"string"`
7639
7640	// The key identifier that's assigned to your APNs signing key, if you want
7641	// Amazon Pinpoint to communicate with APNs by using APNs tokens.
7642	TokenKeyId *string `type:"string"`
7643}
7644
7645// String returns the string representation
7646func (s APNSChannelRequest) String() string {
7647	return awsutil.Prettify(s)
7648}
7649
7650// GoString returns the string representation
7651func (s APNSChannelRequest) GoString() string {
7652	return s.String()
7653}
7654
7655// SetBundleId sets the BundleId field's value.
7656func (s *APNSChannelRequest) SetBundleId(v string) *APNSChannelRequest {
7657	s.BundleId = &v
7658	return s
7659}
7660
7661// SetCertificate sets the Certificate field's value.
7662func (s *APNSChannelRequest) SetCertificate(v string) *APNSChannelRequest {
7663	s.Certificate = &v
7664	return s
7665}
7666
7667// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
7668func (s *APNSChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSChannelRequest {
7669	s.DefaultAuthenticationMethod = &v
7670	return s
7671}
7672
7673// SetEnabled sets the Enabled field's value.
7674func (s *APNSChannelRequest) SetEnabled(v bool) *APNSChannelRequest {
7675	s.Enabled = &v
7676	return s
7677}
7678
7679// SetPrivateKey sets the PrivateKey field's value.
7680func (s *APNSChannelRequest) SetPrivateKey(v string) *APNSChannelRequest {
7681	s.PrivateKey = &v
7682	return s
7683}
7684
7685// SetTeamId sets the TeamId field's value.
7686func (s *APNSChannelRequest) SetTeamId(v string) *APNSChannelRequest {
7687	s.TeamId = &v
7688	return s
7689}
7690
7691// SetTokenKey sets the TokenKey field's value.
7692func (s *APNSChannelRequest) SetTokenKey(v string) *APNSChannelRequest {
7693	s.TokenKey = &v
7694	return s
7695}
7696
7697// SetTokenKeyId sets the TokenKeyId field's value.
7698func (s *APNSChannelRequest) SetTokenKeyId(v string) *APNSChannelRequest {
7699	s.TokenKeyId = &v
7700	return s
7701}
7702
7703// Provides information about the status and settings of the APNs (Apple Push
7704// Notification service) channel for an application.
7705type APNSChannelResponse struct {
7706	_ struct{} `type:"structure"`
7707
7708	// The unique identifier for the application that the APNs channel applies to.
7709	ApplicationId *string `type:"string"`
7710
7711	// The date and time when the APNs channel was enabled.
7712	CreationDate *string `type:"string"`
7713
7714	// The default authentication method that Amazon Pinpoint uses to authenticate
7715	// with APNs for this channel, key or certificate.
7716	DefaultAuthenticationMethod *string `type:"string"`
7717
7718	// Specifies whether the APNs channel is enabled for the application.
7719	Enabled *bool `type:"boolean"`
7720
7721	// (Not used) This property is retained only for backward compatibility.
7722	HasCredential *bool `type:"boolean"`
7723
7724	// Specifies whether the APNs channel is configured to communicate with APNs
7725	// by using APNs tokens. To provide an authentication key for APNs tokens, set
7726	// the TokenKey property of the channel.
7727	HasTokenKey *bool `type:"boolean"`
7728
7729	// (Deprecated) An identifier for the APNs channel. This property is retained
7730	// only for backward compatibility.
7731	Id *string `type:"string"`
7732
7733	// Specifies whether the APNs channel is archived.
7734	IsArchived *bool `type:"boolean"`
7735
7736	// The user who last modified the APNs channel.
7737	LastModifiedBy *string `type:"string"`
7738
7739	// The date and time when the APNs channel was last modified.
7740	LastModifiedDate *string `type:"string"`
7741
7742	// The type of messaging or notification platform for the channel. For the APNs
7743	// channel, this value is APNS.
7744	//
7745	// Platform is a required field
7746	Platform *string `type:"string" required:"true"`
7747
7748	// The current version of the APNs channel.
7749	Version *int64 `type:"integer"`
7750}
7751
7752// String returns the string representation
7753func (s APNSChannelResponse) String() string {
7754	return awsutil.Prettify(s)
7755}
7756
7757// GoString returns the string representation
7758func (s APNSChannelResponse) GoString() string {
7759	return s.String()
7760}
7761
7762// SetApplicationId sets the ApplicationId field's value.
7763func (s *APNSChannelResponse) SetApplicationId(v string) *APNSChannelResponse {
7764	s.ApplicationId = &v
7765	return s
7766}
7767
7768// SetCreationDate sets the CreationDate field's value.
7769func (s *APNSChannelResponse) SetCreationDate(v string) *APNSChannelResponse {
7770	s.CreationDate = &v
7771	return s
7772}
7773
7774// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
7775func (s *APNSChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSChannelResponse {
7776	s.DefaultAuthenticationMethod = &v
7777	return s
7778}
7779
7780// SetEnabled sets the Enabled field's value.
7781func (s *APNSChannelResponse) SetEnabled(v bool) *APNSChannelResponse {
7782	s.Enabled = &v
7783	return s
7784}
7785
7786// SetHasCredential sets the HasCredential field's value.
7787func (s *APNSChannelResponse) SetHasCredential(v bool) *APNSChannelResponse {
7788	s.HasCredential = &v
7789	return s
7790}
7791
7792// SetHasTokenKey sets the HasTokenKey field's value.
7793func (s *APNSChannelResponse) SetHasTokenKey(v bool) *APNSChannelResponse {
7794	s.HasTokenKey = &v
7795	return s
7796}
7797
7798// SetId sets the Id field's value.
7799func (s *APNSChannelResponse) SetId(v string) *APNSChannelResponse {
7800	s.Id = &v
7801	return s
7802}
7803
7804// SetIsArchived sets the IsArchived field's value.
7805func (s *APNSChannelResponse) SetIsArchived(v bool) *APNSChannelResponse {
7806	s.IsArchived = &v
7807	return s
7808}
7809
7810// SetLastModifiedBy sets the LastModifiedBy field's value.
7811func (s *APNSChannelResponse) SetLastModifiedBy(v string) *APNSChannelResponse {
7812	s.LastModifiedBy = &v
7813	return s
7814}
7815
7816// SetLastModifiedDate sets the LastModifiedDate field's value.
7817func (s *APNSChannelResponse) SetLastModifiedDate(v string) *APNSChannelResponse {
7818	s.LastModifiedDate = &v
7819	return s
7820}
7821
7822// SetPlatform sets the Platform field's value.
7823func (s *APNSChannelResponse) SetPlatform(v string) *APNSChannelResponse {
7824	s.Platform = &v
7825	return s
7826}
7827
7828// SetVersion sets the Version field's value.
7829func (s *APNSChannelResponse) SetVersion(v int64) *APNSChannelResponse {
7830	s.Version = &v
7831	return s
7832}
7833
7834// Specifies the settings for a one-time message that's sent directly to an
7835// endpoint through the APNs (Apple Push Notification service) channel.
7836type APNSMessage struct {
7837	_ struct{} `type:"structure"`
7838
7839	// The action to occur if the recipient taps the push notification. Valid values
7840	// are:
7841	//
7842	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
7843	//    sent to the background. This is the default action.
7844	//
7845	//    * DEEP_LINK - Your app opens and displays a designated user interface
7846	//    in the app. This setting uses the deep-linking features of the iOS platform.
7847	//
7848	//    * URL - The default mobile browser on the recipient's device opens and
7849	//    loads the web page at a URL that you specify.
7850	Action *string `type:"string" enum:"Action"`
7851
7852	// The key that indicates whether and how to modify the badge of your app's
7853	// icon when the recipient receives the push notification. If this key isn't
7854	// included in the dictionary, the badge doesn't change. To remove the badge,
7855	// set this value to 0.
7856	Badge *int64 `type:"integer"`
7857
7858	// The body of the notification message.
7859	Body *string `type:"string"`
7860
7861	// The key that indicates the notification type for the push notification. This
7862	// key is a value that's defined by the identifier property of one of your app's
7863	// registered categories.
7864	Category *string `type:"string"`
7865
7866	// An arbitrary identifier that, if assigned to multiple messages, APNs uses
7867	// to coalesce the messages into a single push notification instead of delivering
7868	// each message individually. This value can't exceed 64 bytes.
7869	//
7870	// Amazon Pinpoint specifies this value in the apns-collapse-id request header
7871	// when it sends the notification message to APNs.
7872	CollapseId *string `type:"string"`
7873
7874	// The JSON payload to use for a silent push notification. This payload is added
7875	// to the data.pinpoint.jsonBody object of the notification.
7876	Data map[string]*string `type:"map"`
7877
7878	// The URL of an image or video to display in the push notification.
7879	MediaUrl *string `type:"string"`
7880
7881	// The authentication method that you want Amazon Pinpoint to use when authenticating
7882	// with Apple Push Notification service (APNs), CERTIFICATE or TOKEN.
7883	PreferredAuthenticationMethod *string `type:"string"`
7884
7885	// para>5 - Low priority, the notification might be delayed, delivered as part
7886	// of a group, or throttled.
7887	// /listitem>
7888	// 10 - High priority, the notification is sent immediately. This is the default
7889	// value. A high priority notification should trigger an alert, play a sound,
7890	// or badge your app's icon on the recipient's device.
7891	// /para>
7892	// Amazon Pinpoint specifies this value in the apns-priority request header
7893	// when it sends the notification message to APNs.
7894	//
7895	// The equivalent values for Firebase Cloud Messaging (FCM), formerly Google
7896	// Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you specify
7897	// an FCM value for this property, Amazon Pinpoint accepts and converts the
7898	// value to the corresponding APNs value.
7899	Priority *string `type:"string"`
7900
7901	// The raw, JSON-formatted string to use as the payload for the notification
7902	// message. This value overrides the message.
7903	RawContent *string `type:"string"`
7904
7905	// Specifies whether the notification is a silent push notification, which is
7906	// a push notification that doesn't display on a recipient's device. Silent
7907	// push notifications can be used for cases such as updating an app's configuration,
7908	// displaying messages in an in-app message center, or supporting phone home
7909	// functionality.
7910	SilentPush *bool `type:"boolean"`
7911
7912	// The key for the sound to play when the recipient receives the push notification.
7913	// The value of this key is the name of a sound file in your app's main bundle
7914	// or the Library/Sounds folder in your app's data container. If the sound file
7915	// can't be found or you specify default for the value, the system plays the
7916	// default alert sound.
7917	Sound *string `type:"string"`
7918
7919	// The default message variables to use in the notification message. You can
7920	// override these default variables with individual address variables.
7921	Substitutions map[string][]*string `type:"map"`
7922
7923	// The key that represents your app-specific identifier for grouping notifications.
7924	// If you provide a Notification Content app extension, you can use this value
7925	// to group your notifications together.
7926	ThreadId *string `type:"string"`
7927
7928	// The amount of time, in seconds, that APNs should store and attempt to deliver
7929	// the push notification, if the service is unable to deliver the notification
7930	// the first time. If this value is 0, APNs treats the notification as if it
7931	// expires immediately and the service doesn't store or try to deliver the notification
7932	// again.
7933	//
7934	// Amazon Pinpoint specifies this value in the apns-expiration request header
7935	// when it sends the notification message to APNs.
7936	TimeToLive *int64 `type:"integer"`
7937
7938	// The title to display above the notification message on the recipient's device.
7939	Title *string `type:"string"`
7940
7941	// The URL to open in the recipient's default mobile browser, if a recipient
7942	// taps the push notification and the value of the Action property is URL.
7943	Url *string `type:"string"`
7944}
7945
7946// String returns the string representation
7947func (s APNSMessage) String() string {
7948	return awsutil.Prettify(s)
7949}
7950
7951// GoString returns the string representation
7952func (s APNSMessage) GoString() string {
7953	return s.String()
7954}
7955
7956// SetAction sets the Action field's value.
7957func (s *APNSMessage) SetAction(v string) *APNSMessage {
7958	s.Action = &v
7959	return s
7960}
7961
7962// SetBadge sets the Badge field's value.
7963func (s *APNSMessage) SetBadge(v int64) *APNSMessage {
7964	s.Badge = &v
7965	return s
7966}
7967
7968// SetBody sets the Body field's value.
7969func (s *APNSMessage) SetBody(v string) *APNSMessage {
7970	s.Body = &v
7971	return s
7972}
7973
7974// SetCategory sets the Category field's value.
7975func (s *APNSMessage) SetCategory(v string) *APNSMessage {
7976	s.Category = &v
7977	return s
7978}
7979
7980// SetCollapseId sets the CollapseId field's value.
7981func (s *APNSMessage) SetCollapseId(v string) *APNSMessage {
7982	s.CollapseId = &v
7983	return s
7984}
7985
7986// SetData sets the Data field's value.
7987func (s *APNSMessage) SetData(v map[string]*string) *APNSMessage {
7988	s.Data = v
7989	return s
7990}
7991
7992// SetMediaUrl sets the MediaUrl field's value.
7993func (s *APNSMessage) SetMediaUrl(v string) *APNSMessage {
7994	s.MediaUrl = &v
7995	return s
7996}
7997
7998// SetPreferredAuthenticationMethod sets the PreferredAuthenticationMethod field's value.
7999func (s *APNSMessage) SetPreferredAuthenticationMethod(v string) *APNSMessage {
8000	s.PreferredAuthenticationMethod = &v
8001	return s
8002}
8003
8004// SetPriority sets the Priority field's value.
8005func (s *APNSMessage) SetPriority(v string) *APNSMessage {
8006	s.Priority = &v
8007	return s
8008}
8009
8010// SetRawContent sets the RawContent field's value.
8011func (s *APNSMessage) SetRawContent(v string) *APNSMessage {
8012	s.RawContent = &v
8013	return s
8014}
8015
8016// SetSilentPush sets the SilentPush field's value.
8017func (s *APNSMessage) SetSilentPush(v bool) *APNSMessage {
8018	s.SilentPush = &v
8019	return s
8020}
8021
8022// SetSound sets the Sound field's value.
8023func (s *APNSMessage) SetSound(v string) *APNSMessage {
8024	s.Sound = &v
8025	return s
8026}
8027
8028// SetSubstitutions sets the Substitutions field's value.
8029func (s *APNSMessage) SetSubstitutions(v map[string][]*string) *APNSMessage {
8030	s.Substitutions = v
8031	return s
8032}
8033
8034// SetThreadId sets the ThreadId field's value.
8035func (s *APNSMessage) SetThreadId(v string) *APNSMessage {
8036	s.ThreadId = &v
8037	return s
8038}
8039
8040// SetTimeToLive sets the TimeToLive field's value.
8041func (s *APNSMessage) SetTimeToLive(v int64) *APNSMessage {
8042	s.TimeToLive = &v
8043	return s
8044}
8045
8046// SetTitle sets the Title field's value.
8047func (s *APNSMessage) SetTitle(v string) *APNSMessage {
8048	s.Title = &v
8049	return s
8050}
8051
8052// SetUrl sets the Url field's value.
8053func (s *APNSMessage) SetUrl(v string) *APNSMessage {
8054	s.Url = &v
8055	return s
8056}
8057
8058// Specifies the status and settings of the APNs (Apple Push Notification service)
8059// sandbox channel for an application.
8060type APNSSandboxChannelRequest struct {
8061	_ struct{} `type:"structure"`
8062
8063	// The bundle identifier that's assigned to your iOS app. This identifier is
8064	// used for APNs tokens.
8065	BundleId *string `type:"string"`
8066
8067	// The APNs client certificate that you received from Apple, if you want Amazon
8068	// Pinpoint to communicate with the APNs sandbox environment by using an APNs
8069	// certificate.
8070	Certificate *string `type:"string"`
8071
8072	// The default authentication method that you want Amazon Pinpoint to use when
8073	// authenticating with the APNs sandbox environment, key or certificate.
8074	DefaultAuthenticationMethod *string `type:"string"`
8075
8076	// Specifies whether to enable the APNs sandbox channel for the application.
8077	Enabled *bool `type:"boolean"`
8078
8079	// The private key for the APNs client certificate that you want Amazon Pinpoint
8080	// to use to communicate with the APNs sandbox environment.
8081	PrivateKey *string `type:"string"`
8082
8083	// The identifier that's assigned to your Apple developer account team. This
8084	// identifier is used for APNs tokens.
8085	TeamId *string `type:"string"`
8086
8087	// The authentication key to use for APNs tokens.
8088	TokenKey *string `type:"string"`
8089
8090	// The key identifier that's assigned to your APNs signing key, if you want
8091	// Amazon Pinpoint to communicate with the APNs sandbox environment by using
8092	// APNs tokens.
8093	TokenKeyId *string `type:"string"`
8094}
8095
8096// String returns the string representation
8097func (s APNSSandboxChannelRequest) String() string {
8098	return awsutil.Prettify(s)
8099}
8100
8101// GoString returns the string representation
8102func (s APNSSandboxChannelRequest) GoString() string {
8103	return s.String()
8104}
8105
8106// SetBundleId sets the BundleId field's value.
8107func (s *APNSSandboxChannelRequest) SetBundleId(v string) *APNSSandboxChannelRequest {
8108	s.BundleId = &v
8109	return s
8110}
8111
8112// SetCertificate sets the Certificate field's value.
8113func (s *APNSSandboxChannelRequest) SetCertificate(v string) *APNSSandboxChannelRequest {
8114	s.Certificate = &v
8115	return s
8116}
8117
8118// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
8119func (s *APNSSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelRequest {
8120	s.DefaultAuthenticationMethod = &v
8121	return s
8122}
8123
8124// SetEnabled sets the Enabled field's value.
8125func (s *APNSSandboxChannelRequest) SetEnabled(v bool) *APNSSandboxChannelRequest {
8126	s.Enabled = &v
8127	return s
8128}
8129
8130// SetPrivateKey sets the PrivateKey field's value.
8131func (s *APNSSandboxChannelRequest) SetPrivateKey(v string) *APNSSandboxChannelRequest {
8132	s.PrivateKey = &v
8133	return s
8134}
8135
8136// SetTeamId sets the TeamId field's value.
8137func (s *APNSSandboxChannelRequest) SetTeamId(v string) *APNSSandboxChannelRequest {
8138	s.TeamId = &v
8139	return s
8140}
8141
8142// SetTokenKey sets the TokenKey field's value.
8143func (s *APNSSandboxChannelRequest) SetTokenKey(v string) *APNSSandboxChannelRequest {
8144	s.TokenKey = &v
8145	return s
8146}
8147
8148// SetTokenKeyId sets the TokenKeyId field's value.
8149func (s *APNSSandboxChannelRequest) SetTokenKeyId(v string) *APNSSandboxChannelRequest {
8150	s.TokenKeyId = &v
8151	return s
8152}
8153
8154// Provides information about the status and settings of the APNs (Apple Push
8155// Notification service) sandbox channel for an application.
8156type APNSSandboxChannelResponse struct {
8157	_ struct{} `type:"structure"`
8158
8159	// The unique identifier for the application that the APNs sandbox channel applies
8160	// to.
8161	ApplicationId *string `type:"string"`
8162
8163	// The date and time when the APNs sandbox channel was enabled.
8164	CreationDate *string `type:"string"`
8165
8166	// The default authentication method that Amazon Pinpoint uses to authenticate
8167	// with the APNs sandbox environment for this channel, key or certificate.
8168	DefaultAuthenticationMethod *string `type:"string"`
8169
8170	// Specifies whether the APNs sandbox channel is enabled for the application.
8171	Enabled *bool `type:"boolean"`
8172
8173	// (Not used) This property is retained only for backward compatibility.
8174	HasCredential *bool `type:"boolean"`
8175
8176	// Specifies whether the APNs sandbox channel is configured to communicate with
8177	// APNs by using APNs tokens. To provide an authentication key for APNs tokens,
8178	// set the TokenKey property of the channel.
8179	HasTokenKey *bool `type:"boolean"`
8180
8181	// (Deprecated) An identifier for the APNs sandbox channel. This property is
8182	// retained only for backward compatibility.
8183	Id *string `type:"string"`
8184
8185	// Specifies whether the APNs sandbox channel is archived.
8186	IsArchived *bool `type:"boolean"`
8187
8188	// The user who last modified the APNs sandbox channel.
8189	LastModifiedBy *string `type:"string"`
8190
8191	// The date and time when the APNs sandbox channel was last modified.
8192	LastModifiedDate *string `type:"string"`
8193
8194	// The type of messaging or notification platform for the channel. For the APNs
8195	// sandbox channel, this value is APNS_SANDBOX.
8196	//
8197	// Platform is a required field
8198	Platform *string `type:"string" required:"true"`
8199
8200	// The current version of the APNs sandbox channel.
8201	Version *int64 `type:"integer"`
8202}
8203
8204// String returns the string representation
8205func (s APNSSandboxChannelResponse) String() string {
8206	return awsutil.Prettify(s)
8207}
8208
8209// GoString returns the string representation
8210func (s APNSSandboxChannelResponse) GoString() string {
8211	return s.String()
8212}
8213
8214// SetApplicationId sets the ApplicationId field's value.
8215func (s *APNSSandboxChannelResponse) SetApplicationId(v string) *APNSSandboxChannelResponse {
8216	s.ApplicationId = &v
8217	return s
8218}
8219
8220// SetCreationDate sets the CreationDate field's value.
8221func (s *APNSSandboxChannelResponse) SetCreationDate(v string) *APNSSandboxChannelResponse {
8222	s.CreationDate = &v
8223	return s
8224}
8225
8226// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
8227func (s *APNSSandboxChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSSandboxChannelResponse {
8228	s.DefaultAuthenticationMethod = &v
8229	return s
8230}
8231
8232// SetEnabled sets the Enabled field's value.
8233func (s *APNSSandboxChannelResponse) SetEnabled(v bool) *APNSSandboxChannelResponse {
8234	s.Enabled = &v
8235	return s
8236}
8237
8238// SetHasCredential sets the HasCredential field's value.
8239func (s *APNSSandboxChannelResponse) SetHasCredential(v bool) *APNSSandboxChannelResponse {
8240	s.HasCredential = &v
8241	return s
8242}
8243
8244// SetHasTokenKey sets the HasTokenKey field's value.
8245func (s *APNSSandboxChannelResponse) SetHasTokenKey(v bool) *APNSSandboxChannelResponse {
8246	s.HasTokenKey = &v
8247	return s
8248}
8249
8250// SetId sets the Id field's value.
8251func (s *APNSSandboxChannelResponse) SetId(v string) *APNSSandboxChannelResponse {
8252	s.Id = &v
8253	return s
8254}
8255
8256// SetIsArchived sets the IsArchived field's value.
8257func (s *APNSSandboxChannelResponse) SetIsArchived(v bool) *APNSSandboxChannelResponse {
8258	s.IsArchived = &v
8259	return s
8260}
8261
8262// SetLastModifiedBy sets the LastModifiedBy field's value.
8263func (s *APNSSandboxChannelResponse) SetLastModifiedBy(v string) *APNSSandboxChannelResponse {
8264	s.LastModifiedBy = &v
8265	return s
8266}
8267
8268// SetLastModifiedDate sets the LastModifiedDate field's value.
8269func (s *APNSSandboxChannelResponse) SetLastModifiedDate(v string) *APNSSandboxChannelResponse {
8270	s.LastModifiedDate = &v
8271	return s
8272}
8273
8274// SetPlatform sets the Platform field's value.
8275func (s *APNSSandboxChannelResponse) SetPlatform(v string) *APNSSandboxChannelResponse {
8276	s.Platform = &v
8277	return s
8278}
8279
8280// SetVersion sets the Version field's value.
8281func (s *APNSSandboxChannelResponse) SetVersion(v int64) *APNSSandboxChannelResponse {
8282	s.Version = &v
8283	return s
8284}
8285
8286// Specifies the status and settings of the APNs (Apple Push Notification service)
8287// VoIP channel for an application.
8288type APNSVoipChannelRequest struct {
8289	_ struct{} `type:"structure"`
8290
8291	// The bundle identifier that's assigned to your iOS app. This identifier is
8292	// used for APNs tokens.
8293	BundleId *string `type:"string"`
8294
8295	// The APNs client certificate that you received from Apple, if you want Amazon
8296	// Pinpoint to communicate with APNs by using an APNs certificate.
8297	Certificate *string `type:"string"`
8298
8299	// The default authentication method that you want Amazon Pinpoint to use when
8300	// authenticating with APNs, key or certificate.
8301	DefaultAuthenticationMethod *string `type:"string"`
8302
8303	// Specifies whether to enable the APNs VoIP channel for the application.
8304	Enabled *bool `type:"boolean"`
8305
8306	// The private key for the APNs client certificate that you want Amazon Pinpoint
8307	// to use to communicate with APNs.
8308	PrivateKey *string `type:"string"`
8309
8310	// The identifier that's assigned to your Apple developer account team. This
8311	// identifier is used for APNs tokens.
8312	TeamId *string `type:"string"`
8313
8314	// The authentication key to use for APNs tokens.
8315	TokenKey *string `type:"string"`
8316
8317	// The key identifier that's assigned to your APNs signing key, if you want
8318	// Amazon Pinpoint to communicate with APNs by using APNs tokens.
8319	TokenKeyId *string `type:"string"`
8320}
8321
8322// String returns the string representation
8323func (s APNSVoipChannelRequest) String() string {
8324	return awsutil.Prettify(s)
8325}
8326
8327// GoString returns the string representation
8328func (s APNSVoipChannelRequest) GoString() string {
8329	return s.String()
8330}
8331
8332// SetBundleId sets the BundleId field's value.
8333func (s *APNSVoipChannelRequest) SetBundleId(v string) *APNSVoipChannelRequest {
8334	s.BundleId = &v
8335	return s
8336}
8337
8338// SetCertificate sets the Certificate field's value.
8339func (s *APNSVoipChannelRequest) SetCertificate(v string) *APNSVoipChannelRequest {
8340	s.Certificate = &v
8341	return s
8342}
8343
8344// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
8345func (s *APNSVoipChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSVoipChannelRequest {
8346	s.DefaultAuthenticationMethod = &v
8347	return s
8348}
8349
8350// SetEnabled sets the Enabled field's value.
8351func (s *APNSVoipChannelRequest) SetEnabled(v bool) *APNSVoipChannelRequest {
8352	s.Enabled = &v
8353	return s
8354}
8355
8356// SetPrivateKey sets the PrivateKey field's value.
8357func (s *APNSVoipChannelRequest) SetPrivateKey(v string) *APNSVoipChannelRequest {
8358	s.PrivateKey = &v
8359	return s
8360}
8361
8362// SetTeamId sets the TeamId field's value.
8363func (s *APNSVoipChannelRequest) SetTeamId(v string) *APNSVoipChannelRequest {
8364	s.TeamId = &v
8365	return s
8366}
8367
8368// SetTokenKey sets the TokenKey field's value.
8369func (s *APNSVoipChannelRequest) SetTokenKey(v string) *APNSVoipChannelRequest {
8370	s.TokenKey = &v
8371	return s
8372}
8373
8374// SetTokenKeyId sets the TokenKeyId field's value.
8375func (s *APNSVoipChannelRequest) SetTokenKeyId(v string) *APNSVoipChannelRequest {
8376	s.TokenKeyId = &v
8377	return s
8378}
8379
8380// Provides information about the status and settings of the APNs (Apple Push
8381// Notification service) VoIP channel for an application.
8382type APNSVoipChannelResponse struct {
8383	_ struct{} `type:"structure"`
8384
8385	// The unique identifier for the application that the APNs VoIP channel applies
8386	// to.
8387	ApplicationId *string `type:"string"`
8388
8389	// The date and time when the APNs VoIP channel was enabled.
8390	CreationDate *string `type:"string"`
8391
8392	// The default authentication method that Amazon Pinpoint uses to authenticate
8393	// with APNs for this channel, key or certificate.
8394	DefaultAuthenticationMethod *string `type:"string"`
8395
8396	// Specifies whether the APNs VoIP channel is enabled for the application.
8397	Enabled *bool `type:"boolean"`
8398
8399	// (Not used) This property is retained only for backward compatibility.
8400	HasCredential *bool `type:"boolean"`
8401
8402	// Specifies whether the APNs VoIP channel is configured to communicate with
8403	// APNs by using APNs tokens. To provide an authentication key for APNs tokens,
8404	// set the TokenKey property of the channel.
8405	HasTokenKey *bool `type:"boolean"`
8406
8407	// (Deprecated) An identifier for the APNs VoIP channel. This property is retained
8408	// only for backward compatibility.
8409	Id *string `type:"string"`
8410
8411	// Specifies whether the APNs VoIP channel is archived.
8412	IsArchived *bool `type:"boolean"`
8413
8414	// The user who last modified the APNs VoIP channel.
8415	LastModifiedBy *string `type:"string"`
8416
8417	// The date and time when the APNs VoIP channel was last modified.
8418	LastModifiedDate *string `type:"string"`
8419
8420	// The type of messaging or notification platform for the channel. For the APNs
8421	// VoIP channel, this value is APNS_VOIP.
8422	//
8423	// Platform is a required field
8424	Platform *string `type:"string" required:"true"`
8425
8426	// The current version of the APNs VoIP channel.
8427	Version *int64 `type:"integer"`
8428}
8429
8430// String returns the string representation
8431func (s APNSVoipChannelResponse) String() string {
8432	return awsutil.Prettify(s)
8433}
8434
8435// GoString returns the string representation
8436func (s APNSVoipChannelResponse) GoString() string {
8437	return s.String()
8438}
8439
8440// SetApplicationId sets the ApplicationId field's value.
8441func (s *APNSVoipChannelResponse) SetApplicationId(v string) *APNSVoipChannelResponse {
8442	s.ApplicationId = &v
8443	return s
8444}
8445
8446// SetCreationDate sets the CreationDate field's value.
8447func (s *APNSVoipChannelResponse) SetCreationDate(v string) *APNSVoipChannelResponse {
8448	s.CreationDate = &v
8449	return s
8450}
8451
8452// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
8453func (s *APNSVoipChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSVoipChannelResponse {
8454	s.DefaultAuthenticationMethod = &v
8455	return s
8456}
8457
8458// SetEnabled sets the Enabled field's value.
8459func (s *APNSVoipChannelResponse) SetEnabled(v bool) *APNSVoipChannelResponse {
8460	s.Enabled = &v
8461	return s
8462}
8463
8464// SetHasCredential sets the HasCredential field's value.
8465func (s *APNSVoipChannelResponse) SetHasCredential(v bool) *APNSVoipChannelResponse {
8466	s.HasCredential = &v
8467	return s
8468}
8469
8470// SetHasTokenKey sets the HasTokenKey field's value.
8471func (s *APNSVoipChannelResponse) SetHasTokenKey(v bool) *APNSVoipChannelResponse {
8472	s.HasTokenKey = &v
8473	return s
8474}
8475
8476// SetId sets the Id field's value.
8477func (s *APNSVoipChannelResponse) SetId(v string) *APNSVoipChannelResponse {
8478	s.Id = &v
8479	return s
8480}
8481
8482// SetIsArchived sets the IsArchived field's value.
8483func (s *APNSVoipChannelResponse) SetIsArchived(v bool) *APNSVoipChannelResponse {
8484	s.IsArchived = &v
8485	return s
8486}
8487
8488// SetLastModifiedBy sets the LastModifiedBy field's value.
8489func (s *APNSVoipChannelResponse) SetLastModifiedBy(v string) *APNSVoipChannelResponse {
8490	s.LastModifiedBy = &v
8491	return s
8492}
8493
8494// SetLastModifiedDate sets the LastModifiedDate field's value.
8495func (s *APNSVoipChannelResponse) SetLastModifiedDate(v string) *APNSVoipChannelResponse {
8496	s.LastModifiedDate = &v
8497	return s
8498}
8499
8500// SetPlatform sets the Platform field's value.
8501func (s *APNSVoipChannelResponse) SetPlatform(v string) *APNSVoipChannelResponse {
8502	s.Platform = &v
8503	return s
8504}
8505
8506// SetVersion sets the Version field's value.
8507func (s *APNSVoipChannelResponse) SetVersion(v int64) *APNSVoipChannelResponse {
8508	s.Version = &v
8509	return s
8510}
8511
8512// Specifies the status and settings of the APNs (Apple Push Notification service)
8513// VoIP sandbox channel for an application.
8514type APNSVoipSandboxChannelRequest struct {
8515	_ struct{} `type:"structure"`
8516
8517	// The bundle identifier that's assigned to your iOS app. This identifier is
8518	// used for APNs tokens.
8519	BundleId *string `type:"string"`
8520
8521	// The APNs client certificate that you received from Apple, if you want Amazon
8522	// Pinpoint to communicate with the APNs sandbox environment by using an APNs
8523	// certificate.
8524	Certificate *string `type:"string"`
8525
8526	// The default authentication method that you want Amazon Pinpoint to use when
8527	// authenticating with the APNs sandbox environment for this channel, key or
8528	// certificate.
8529	DefaultAuthenticationMethod *string `type:"string"`
8530
8531	// Specifies whether the APNs VoIP sandbox channel is enabled for the application.
8532	Enabled *bool `type:"boolean"`
8533
8534	// The private key for the APNs client certificate that you want Amazon Pinpoint
8535	// to use to communicate with the APNs sandbox environment.
8536	PrivateKey *string `type:"string"`
8537
8538	// The identifier that's assigned to your Apple developer account team. This
8539	// identifier is used for APNs tokens.
8540	TeamId *string `type:"string"`
8541
8542	// The authentication key to use for APNs tokens.
8543	TokenKey *string `type:"string"`
8544
8545	// The key identifier that's assigned to your APNs signing key, if you want
8546	// Amazon Pinpoint to communicate with the APNs sandbox environment by using
8547	// APNs tokens.
8548	TokenKeyId *string `type:"string"`
8549}
8550
8551// String returns the string representation
8552func (s APNSVoipSandboxChannelRequest) String() string {
8553	return awsutil.Prettify(s)
8554}
8555
8556// GoString returns the string representation
8557func (s APNSVoipSandboxChannelRequest) GoString() string {
8558	return s.String()
8559}
8560
8561// SetBundleId sets the BundleId field's value.
8562func (s *APNSVoipSandboxChannelRequest) SetBundleId(v string) *APNSVoipSandboxChannelRequest {
8563	s.BundleId = &v
8564	return s
8565}
8566
8567// SetCertificate sets the Certificate field's value.
8568func (s *APNSVoipSandboxChannelRequest) SetCertificate(v string) *APNSVoipSandboxChannelRequest {
8569	s.Certificate = &v
8570	return s
8571}
8572
8573// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
8574func (s *APNSVoipSandboxChannelRequest) SetDefaultAuthenticationMethod(v string) *APNSVoipSandboxChannelRequest {
8575	s.DefaultAuthenticationMethod = &v
8576	return s
8577}
8578
8579// SetEnabled sets the Enabled field's value.
8580func (s *APNSVoipSandboxChannelRequest) SetEnabled(v bool) *APNSVoipSandboxChannelRequest {
8581	s.Enabled = &v
8582	return s
8583}
8584
8585// SetPrivateKey sets the PrivateKey field's value.
8586func (s *APNSVoipSandboxChannelRequest) SetPrivateKey(v string) *APNSVoipSandboxChannelRequest {
8587	s.PrivateKey = &v
8588	return s
8589}
8590
8591// SetTeamId sets the TeamId field's value.
8592func (s *APNSVoipSandboxChannelRequest) SetTeamId(v string) *APNSVoipSandboxChannelRequest {
8593	s.TeamId = &v
8594	return s
8595}
8596
8597// SetTokenKey sets the TokenKey field's value.
8598func (s *APNSVoipSandboxChannelRequest) SetTokenKey(v string) *APNSVoipSandboxChannelRequest {
8599	s.TokenKey = &v
8600	return s
8601}
8602
8603// SetTokenKeyId sets the TokenKeyId field's value.
8604func (s *APNSVoipSandboxChannelRequest) SetTokenKeyId(v string) *APNSVoipSandboxChannelRequest {
8605	s.TokenKeyId = &v
8606	return s
8607}
8608
8609// Provides information about the status and settings of the APNs (Apple Push
8610// Notification service) VoIP sandbox channel for an application.
8611type APNSVoipSandboxChannelResponse struct {
8612	_ struct{} `type:"structure"`
8613
8614	// The unique identifier for the application that the APNs VoIP sandbox channel
8615	// applies to.
8616	ApplicationId *string `type:"string"`
8617
8618	// The date and time when the APNs VoIP sandbox channel was enabled.
8619	CreationDate *string `type:"string"`
8620
8621	// The default authentication method that Amazon Pinpoint uses to authenticate
8622	// with the APNs sandbox environment for this channel, key or certificate.
8623	DefaultAuthenticationMethod *string `type:"string"`
8624
8625	// Specifies whether the APNs VoIP sandbox channel is enabled for the application.
8626	Enabled *bool `type:"boolean"`
8627
8628	// (Not used) This property is retained only for backward compatibility.
8629	HasCredential *bool `type:"boolean"`
8630
8631	// Specifies whether the APNs VoIP sandbox channel is configured to communicate
8632	// with APNs by using APNs tokens. To provide an authentication key for APNs
8633	// tokens, set the TokenKey property of the channel.
8634	HasTokenKey *bool `type:"boolean"`
8635
8636	// (Deprecated) An identifier for the APNs VoIP sandbox channel. This property
8637	// is retained only for backward compatibility.
8638	Id *string `type:"string"`
8639
8640	// Specifies whether the APNs VoIP sandbox channel is archived.
8641	IsArchived *bool `type:"boolean"`
8642
8643	// The user who last modified the APNs VoIP sandbox channel.
8644	LastModifiedBy *string `type:"string"`
8645
8646	// The date and time when the APNs VoIP sandbox channel was last modified.
8647	LastModifiedDate *string `type:"string"`
8648
8649	// The type of messaging or notification platform for the channel. For the APNs
8650	// VoIP sandbox channel, this value is APNS_VOIP_SANDBOX.
8651	//
8652	// Platform is a required field
8653	Platform *string `type:"string" required:"true"`
8654
8655	// The current version of the APNs VoIP sandbox channel.
8656	Version *int64 `type:"integer"`
8657}
8658
8659// String returns the string representation
8660func (s APNSVoipSandboxChannelResponse) String() string {
8661	return awsutil.Prettify(s)
8662}
8663
8664// GoString returns the string representation
8665func (s APNSVoipSandboxChannelResponse) GoString() string {
8666	return s.String()
8667}
8668
8669// SetApplicationId sets the ApplicationId field's value.
8670func (s *APNSVoipSandboxChannelResponse) SetApplicationId(v string) *APNSVoipSandboxChannelResponse {
8671	s.ApplicationId = &v
8672	return s
8673}
8674
8675// SetCreationDate sets the CreationDate field's value.
8676func (s *APNSVoipSandboxChannelResponse) SetCreationDate(v string) *APNSVoipSandboxChannelResponse {
8677	s.CreationDate = &v
8678	return s
8679}
8680
8681// SetDefaultAuthenticationMethod sets the DefaultAuthenticationMethod field's value.
8682func (s *APNSVoipSandboxChannelResponse) SetDefaultAuthenticationMethod(v string) *APNSVoipSandboxChannelResponse {
8683	s.DefaultAuthenticationMethod = &v
8684	return s
8685}
8686
8687// SetEnabled sets the Enabled field's value.
8688func (s *APNSVoipSandboxChannelResponse) SetEnabled(v bool) *APNSVoipSandboxChannelResponse {
8689	s.Enabled = &v
8690	return s
8691}
8692
8693// SetHasCredential sets the HasCredential field's value.
8694func (s *APNSVoipSandboxChannelResponse) SetHasCredential(v bool) *APNSVoipSandboxChannelResponse {
8695	s.HasCredential = &v
8696	return s
8697}
8698
8699// SetHasTokenKey sets the HasTokenKey field's value.
8700func (s *APNSVoipSandboxChannelResponse) SetHasTokenKey(v bool) *APNSVoipSandboxChannelResponse {
8701	s.HasTokenKey = &v
8702	return s
8703}
8704
8705// SetId sets the Id field's value.
8706func (s *APNSVoipSandboxChannelResponse) SetId(v string) *APNSVoipSandboxChannelResponse {
8707	s.Id = &v
8708	return s
8709}
8710
8711// SetIsArchived sets the IsArchived field's value.
8712func (s *APNSVoipSandboxChannelResponse) SetIsArchived(v bool) *APNSVoipSandboxChannelResponse {
8713	s.IsArchived = &v
8714	return s
8715}
8716
8717// SetLastModifiedBy sets the LastModifiedBy field's value.
8718func (s *APNSVoipSandboxChannelResponse) SetLastModifiedBy(v string) *APNSVoipSandboxChannelResponse {
8719	s.LastModifiedBy = &v
8720	return s
8721}
8722
8723// SetLastModifiedDate sets the LastModifiedDate field's value.
8724func (s *APNSVoipSandboxChannelResponse) SetLastModifiedDate(v string) *APNSVoipSandboxChannelResponse {
8725	s.LastModifiedDate = &v
8726	return s
8727}
8728
8729// SetPlatform sets the Platform field's value.
8730func (s *APNSVoipSandboxChannelResponse) SetPlatform(v string) *APNSVoipSandboxChannelResponse {
8731	s.Platform = &v
8732	return s
8733}
8734
8735// SetVersion sets the Version field's value.
8736func (s *APNSVoipSandboxChannelResponse) SetVersion(v int64) *APNSVoipSandboxChannelResponse {
8737	s.Version = &v
8738	return s
8739}
8740
8741// Provides information about the activities that were performed by a campaign.
8742type ActivitiesResponse struct {
8743	_ struct{} `type:"structure"`
8744
8745	// An array of responses, one for each activity that was performed by the campaign.
8746	//
8747	// Item is a required field
8748	Item []*ActivityResponse `type:"list" required:"true"`
8749
8750	// The string to use in a subsequent request to get the next page of results
8751	// in a paginated response. This value is null if there are no additional pages.
8752	NextToken *string `type:"string"`
8753}
8754
8755// String returns the string representation
8756func (s ActivitiesResponse) String() string {
8757	return awsutil.Prettify(s)
8758}
8759
8760// GoString returns the string representation
8761func (s ActivitiesResponse) GoString() string {
8762	return s.String()
8763}
8764
8765// SetItem sets the Item field's value.
8766func (s *ActivitiesResponse) SetItem(v []*ActivityResponse) *ActivitiesResponse {
8767	s.Item = v
8768	return s
8769}
8770
8771// SetNextToken sets the NextToken field's value.
8772func (s *ActivitiesResponse) SetNextToken(v string) *ActivitiesResponse {
8773	s.NextToken = &v
8774	return s
8775}
8776
8777// Provides information about an activity that was performed by a campaign.
8778type ActivityResponse struct {
8779	_ struct{} `type:"structure"`
8780
8781	// The unique identifier for the application that the campaign applies to.
8782	//
8783	// ApplicationId is a required field
8784	ApplicationId *string `type:"string" required:"true"`
8785
8786	// The unique identifier for the campaign that the activity applies to.
8787	//
8788	// CampaignId is a required field
8789	CampaignId *string `type:"string" required:"true"`
8790
8791	// The actual time, in ISO 8601 format, when the activity was marked CANCELLED
8792	// or COMPLETED.
8793	End *string `type:"string"`
8794
8795	// The unique identifier for the activity.
8796	//
8797	// Id is a required field
8798	Id *string `type:"string" required:"true"`
8799
8800	// Specifies whether the activity succeeded. Possible values are SUCCESS and
8801	// FAIL.
8802	Result *string `type:"string"`
8803
8804	// The scheduled start time, in ISO 8601 format, for the activity.
8805	ScheduledStart *string `type:"string"`
8806
8807	// The actual start time, in ISO 8601 format, of the activity.
8808	Start *string `type:"string"`
8809
8810	// The state of the activity. Possible values are: PENDING, INITIALIZING, RUNNING,
8811	// PAUSED, CANCELLED, and COMPLETED.
8812	State *string `type:"string"`
8813
8814	// The total number of endpoints that the campaign successfully delivered messages
8815	// to.
8816	SuccessfulEndpointCount *int64 `type:"integer"`
8817
8818	// The total number of time zones that were completed.
8819	TimezonesCompletedCount *int64 `type:"integer"`
8820
8821	// The total number of unique time zones that are in the segment for the campaign.
8822	TimezonesTotalCount *int64 `type:"integer"`
8823
8824	// The total number of endpoints that the campaign attempted to deliver messages
8825	// to.
8826	TotalEndpointCount *int64 `type:"integer"`
8827
8828	// The unique identifier for the campaign treatment that the activity applies
8829	// to. A treatment is a variation of a campaign that's used for A/B testing
8830	// of a campaign.
8831	TreatmentId *string `type:"string"`
8832}
8833
8834// String returns the string representation
8835func (s ActivityResponse) String() string {
8836	return awsutil.Prettify(s)
8837}
8838
8839// GoString returns the string representation
8840func (s ActivityResponse) GoString() string {
8841	return s.String()
8842}
8843
8844// SetApplicationId sets the ApplicationId field's value.
8845func (s *ActivityResponse) SetApplicationId(v string) *ActivityResponse {
8846	s.ApplicationId = &v
8847	return s
8848}
8849
8850// SetCampaignId sets the CampaignId field's value.
8851func (s *ActivityResponse) SetCampaignId(v string) *ActivityResponse {
8852	s.CampaignId = &v
8853	return s
8854}
8855
8856// SetEnd sets the End field's value.
8857func (s *ActivityResponse) SetEnd(v string) *ActivityResponse {
8858	s.End = &v
8859	return s
8860}
8861
8862// SetId sets the Id field's value.
8863func (s *ActivityResponse) SetId(v string) *ActivityResponse {
8864	s.Id = &v
8865	return s
8866}
8867
8868// SetResult sets the Result field's value.
8869func (s *ActivityResponse) SetResult(v string) *ActivityResponse {
8870	s.Result = &v
8871	return s
8872}
8873
8874// SetScheduledStart sets the ScheduledStart field's value.
8875func (s *ActivityResponse) SetScheduledStart(v string) *ActivityResponse {
8876	s.ScheduledStart = &v
8877	return s
8878}
8879
8880// SetStart sets the Start field's value.
8881func (s *ActivityResponse) SetStart(v string) *ActivityResponse {
8882	s.Start = &v
8883	return s
8884}
8885
8886// SetState sets the State field's value.
8887func (s *ActivityResponse) SetState(v string) *ActivityResponse {
8888	s.State = &v
8889	return s
8890}
8891
8892// SetSuccessfulEndpointCount sets the SuccessfulEndpointCount field's value.
8893func (s *ActivityResponse) SetSuccessfulEndpointCount(v int64) *ActivityResponse {
8894	s.SuccessfulEndpointCount = &v
8895	return s
8896}
8897
8898// SetTimezonesCompletedCount sets the TimezonesCompletedCount field's value.
8899func (s *ActivityResponse) SetTimezonesCompletedCount(v int64) *ActivityResponse {
8900	s.TimezonesCompletedCount = &v
8901	return s
8902}
8903
8904// SetTimezonesTotalCount sets the TimezonesTotalCount field's value.
8905func (s *ActivityResponse) SetTimezonesTotalCount(v int64) *ActivityResponse {
8906	s.TimezonesTotalCount = &v
8907	return s
8908}
8909
8910// SetTotalEndpointCount sets the TotalEndpointCount field's value.
8911func (s *ActivityResponse) SetTotalEndpointCount(v int64) *ActivityResponse {
8912	s.TotalEndpointCount = &v
8913	return s
8914}
8915
8916// SetTreatmentId sets the TreatmentId field's value.
8917func (s *ActivityResponse) SetTreatmentId(v string) *ActivityResponse {
8918	s.TreatmentId = &v
8919	return s
8920}
8921
8922// Specifies address-based configuration settings for a message that's sent
8923// directly to an endpoint.
8924type AddressConfiguration struct {
8925	_ struct{} `type:"structure"`
8926
8927	// The message body to use instead of the default message body. This value overrides
8928	// the default message body.
8929	BodyOverride *string `type:"string"`
8930
8931	// The channel to use when sending the message.
8932	ChannelType *string `type:"string" enum:"ChannelType"`
8933
8934	// An object that maps custom attributes to attributes for the address and is
8935	// attached to the message. For a push notification, this payload is added to
8936	// the data.pinpoint object. For an email or text message, this payload is added
8937	// to email/SMS delivery receipt event attributes.
8938	Context map[string]*string `type:"map"`
8939
8940	// The raw, JSON-formatted string to use as the payload for the notification
8941	// message. This value overrides the message.
8942	RawContent *string `type:"string"`
8943
8944	// An object that maps variable values for the message. Amazon Pinpoint merges
8945	// these values with the variable values specified by properties of the DefaultMessage
8946	// object. The substitutions in this map take precedence over all other substitutions.
8947	Substitutions map[string][]*string `type:"map"`
8948
8949	// The message title to use instead of the default message title. This value
8950	// overrides the default message title.
8951	TitleOverride *string `type:"string"`
8952}
8953
8954// String returns the string representation
8955func (s AddressConfiguration) String() string {
8956	return awsutil.Prettify(s)
8957}
8958
8959// GoString returns the string representation
8960func (s AddressConfiguration) GoString() string {
8961	return s.String()
8962}
8963
8964// SetBodyOverride sets the BodyOverride field's value.
8965func (s *AddressConfiguration) SetBodyOverride(v string) *AddressConfiguration {
8966	s.BodyOverride = &v
8967	return s
8968}
8969
8970// SetChannelType sets the ChannelType field's value.
8971func (s *AddressConfiguration) SetChannelType(v string) *AddressConfiguration {
8972	s.ChannelType = &v
8973	return s
8974}
8975
8976// SetContext sets the Context field's value.
8977func (s *AddressConfiguration) SetContext(v map[string]*string) *AddressConfiguration {
8978	s.Context = v
8979	return s
8980}
8981
8982// SetRawContent sets the RawContent field's value.
8983func (s *AddressConfiguration) SetRawContent(v string) *AddressConfiguration {
8984	s.RawContent = &v
8985	return s
8986}
8987
8988// SetSubstitutions sets the Substitutions field's value.
8989func (s *AddressConfiguration) SetSubstitutions(v map[string][]*string) *AddressConfiguration {
8990	s.Substitutions = v
8991	return s
8992}
8993
8994// SetTitleOverride sets the TitleOverride field's value.
8995func (s *AddressConfiguration) SetTitleOverride(v string) *AddressConfiguration {
8996	s.TitleOverride = &v
8997	return s
8998}
8999
9000// Provides information about an application.
9001type ApplicationResponse struct {
9002	_ struct{} `type:"structure"`
9003
9004	// The Amazon Resource Name (ARN) of the application.
9005	//
9006	// Arn is a required field
9007	Arn *string `type:"string" required:"true"`
9008
9009	// The unique identifier for the application. This identifier is displayed as
9010	// the Project ID on the Amazon Pinpoint console.
9011	//
9012	// Id is a required field
9013	Id *string `type:"string" required:"true"`
9014
9015	// The display name of the application. This name is displayed as the Project
9016	// name on the Amazon Pinpoint console.
9017	//
9018	// Name is a required field
9019	Name *string `type:"string" required:"true"`
9020
9021	// A string-to-string map of key-value pairs that identifies the tags that are
9022	// associated with the application. Each tag consists of a required tag key
9023	// and an associated tag value.
9024	Tags map[string]*string `locationName:"tags" type:"map"`
9025}
9026
9027// String returns the string representation
9028func (s ApplicationResponse) String() string {
9029	return awsutil.Prettify(s)
9030}
9031
9032// GoString returns the string representation
9033func (s ApplicationResponse) GoString() string {
9034	return s.String()
9035}
9036
9037// SetArn sets the Arn field's value.
9038func (s *ApplicationResponse) SetArn(v string) *ApplicationResponse {
9039	s.Arn = &v
9040	return s
9041}
9042
9043// SetId sets the Id field's value.
9044func (s *ApplicationResponse) SetId(v string) *ApplicationResponse {
9045	s.Id = &v
9046	return s
9047}
9048
9049// SetName sets the Name field's value.
9050func (s *ApplicationResponse) SetName(v string) *ApplicationResponse {
9051	s.Name = &v
9052	return s
9053}
9054
9055// SetTags sets the Tags field's value.
9056func (s *ApplicationResponse) SetTags(v map[string]*string) *ApplicationResponse {
9057	s.Tags = v
9058	return s
9059}
9060
9061// Provides information about an application, including the default settings
9062// for an application.
9063type ApplicationSettingsResource struct {
9064	_ struct{} `type:"structure"`
9065
9066	// The unique identifier for the application. This identifier is displayed as
9067	// the Project ID on the Amazon Pinpoint console.
9068	//
9069	// ApplicationId is a required field
9070	ApplicationId *string `type:"string" required:"true"`
9071
9072	// The settings for the AWS Lambda function to use by default as a code hook
9073	// for campaigns in the application.
9074	CampaignHook *CampaignHook `type:"structure"`
9075
9076	// The date and time, in ISO 8601 format, when the application's settings were
9077	// last modified.
9078	LastModifiedDate *string `type:"string"`
9079
9080	// The default sending limits for campaigns in the application.
9081	Limits *CampaignLimits `type:"structure"`
9082
9083	// The default quiet time for campaigns in the application. Quiet time is a
9084	// specific time range when campaigns don't send messages to endpoints, if all
9085	// the following conditions are met:
9086	//
9087	//    * The EndpointDemographic.Timezone property of the endpoint is set to
9088	//    a valid value.
9089	//
9090	//    * The current time in the endpoint's time zone is later than or equal
9091	//    to the time specified by the QuietTime.Start property for the application
9092	//    (or a campaign that has custom quiet time settings).
9093	//
9094	//    * The current time in the endpoint's time zone is earlier than or equal
9095	//    to the time specified by the QuietTime.End property for the application
9096	//    (or a campaign that has custom quiet time settings).
9097	//
9098	// If any of the preceding conditions isn't met, the endpoint will receive messages
9099	// from a campaign, even if quiet time is enabled.
9100	QuietTime *QuietTime `type:"structure"`
9101}
9102
9103// String returns the string representation
9104func (s ApplicationSettingsResource) String() string {
9105	return awsutil.Prettify(s)
9106}
9107
9108// GoString returns the string representation
9109func (s ApplicationSettingsResource) GoString() string {
9110	return s.String()
9111}
9112
9113// SetApplicationId sets the ApplicationId field's value.
9114func (s *ApplicationSettingsResource) SetApplicationId(v string) *ApplicationSettingsResource {
9115	s.ApplicationId = &v
9116	return s
9117}
9118
9119// SetCampaignHook sets the CampaignHook field's value.
9120func (s *ApplicationSettingsResource) SetCampaignHook(v *CampaignHook) *ApplicationSettingsResource {
9121	s.CampaignHook = v
9122	return s
9123}
9124
9125// SetLastModifiedDate sets the LastModifiedDate field's value.
9126func (s *ApplicationSettingsResource) SetLastModifiedDate(v string) *ApplicationSettingsResource {
9127	s.LastModifiedDate = &v
9128	return s
9129}
9130
9131// SetLimits sets the Limits field's value.
9132func (s *ApplicationSettingsResource) SetLimits(v *CampaignLimits) *ApplicationSettingsResource {
9133	s.Limits = v
9134	return s
9135}
9136
9137// SetQuietTime sets the QuietTime field's value.
9138func (s *ApplicationSettingsResource) SetQuietTime(v *QuietTime) *ApplicationSettingsResource {
9139	s.QuietTime = v
9140	return s
9141}
9142
9143// Provides information about all of your applications.
9144type ApplicationsResponse struct {
9145	_ struct{} `type:"structure"`
9146
9147	// An array of responses, one for each application that was returned.
9148	Item []*ApplicationResponse `type:"list"`
9149
9150	// The string to use in a subsequent request to get the next page of results
9151	// in a paginated response. This value is null if there are no additional pages.
9152	NextToken *string `type:"string"`
9153}
9154
9155// String returns the string representation
9156func (s ApplicationsResponse) String() string {
9157	return awsutil.Prettify(s)
9158}
9159
9160// GoString returns the string representation
9161func (s ApplicationsResponse) GoString() string {
9162	return s.String()
9163}
9164
9165// SetItem sets the Item field's value.
9166func (s *ApplicationsResponse) SetItem(v []*ApplicationResponse) *ApplicationsResponse {
9167	s.Item = v
9168	return s
9169}
9170
9171// SetNextToken sets the NextToken field's value.
9172func (s *ApplicationsResponse) SetNextToken(v string) *ApplicationsResponse {
9173	s.NextToken = &v
9174	return s
9175}
9176
9177// Specifies attribute-based criteria for including or excluding endpoints from
9178// a segment.
9179type AttributeDimension struct {
9180	_ struct{} `type:"structure"`
9181
9182	// The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints
9183	// that match the criteria are included in the segment; and, EXCLUSIVE, endpoints
9184	// that match the criteria are excluded from the segment.
9185	AttributeType *string `type:"string" enum:"AttributeType"`
9186
9187	// The criteria values to use for the segment dimension. Depending on the value
9188	// of the AttributeType property, endpoints are included or excluded from the
9189	// segment if their attribute values match the criteria values.
9190	//
9191	// Values is a required field
9192	Values []*string `type:"list" required:"true"`
9193}
9194
9195// String returns the string representation
9196func (s AttributeDimension) String() string {
9197	return awsutil.Prettify(s)
9198}
9199
9200// GoString returns the string representation
9201func (s AttributeDimension) GoString() string {
9202	return s.String()
9203}
9204
9205// Validate inspects the fields of the type to determine if they are valid.
9206func (s *AttributeDimension) Validate() error {
9207	invalidParams := request.ErrInvalidParams{Context: "AttributeDimension"}
9208	if s.Values == nil {
9209		invalidParams.Add(request.NewErrParamRequired("Values"))
9210	}
9211
9212	if invalidParams.Len() > 0 {
9213		return invalidParams
9214	}
9215	return nil
9216}
9217
9218// SetAttributeType sets the AttributeType field's value.
9219func (s *AttributeDimension) SetAttributeType(v string) *AttributeDimension {
9220	s.AttributeType = &v
9221	return s
9222}
9223
9224// SetValues sets the Values field's value.
9225func (s *AttributeDimension) SetValues(v []*string) *AttributeDimension {
9226	s.Values = v
9227	return s
9228}
9229
9230// Provides information about the type and the names of attributes that were
9231// removed from all the endpoints that are associated with an application.
9232type AttributesResource struct {
9233	_ struct{} `type:"structure"`
9234
9235	// The unique identifier for the application.
9236	//
9237	// ApplicationId is a required field
9238	ApplicationId *string `type:"string" required:"true"`
9239
9240	// The type of attribute or attributes that were removed from the endpoints.
9241	// Valid values are:
9242	//
9243	//    * endpoint-custom-attributes - Custom attributes that describe endpoints
9244	//
9245	//    * endpoint-custom-metrics - Custom metrics that your app reports to Amazon
9246	//    Pinpoint for endpoints
9247	//
9248	//    * endpoint-user-attributes - Custom attributes that describe users
9249	//
9250	// AttributeType is a required field
9251	AttributeType *string `type:"string" required:"true"`
9252
9253	// An array that specifies the names of the attributes that were removed from
9254	// the endpoints.
9255	Attributes []*string `type:"list"`
9256}
9257
9258// String returns the string representation
9259func (s AttributesResource) String() string {
9260	return awsutil.Prettify(s)
9261}
9262
9263// GoString returns the string representation
9264func (s AttributesResource) GoString() string {
9265	return s.String()
9266}
9267
9268// SetApplicationId sets the ApplicationId field's value.
9269func (s *AttributesResource) SetApplicationId(v string) *AttributesResource {
9270	s.ApplicationId = &v
9271	return s
9272}
9273
9274// SetAttributeType sets the AttributeType field's value.
9275func (s *AttributesResource) SetAttributeType(v string) *AttributesResource {
9276	s.AttributeType = &v
9277	return s
9278}
9279
9280// SetAttributes sets the Attributes field's value.
9281func (s *AttributesResource) SetAttributes(v []*string) *AttributesResource {
9282	s.Attributes = v
9283	return s
9284}
9285
9286// Specifies the status and settings of the Baidu (Baidu Cloud Push) channel
9287// for an application.
9288type BaiduChannelRequest struct {
9289	_ struct{} `type:"structure"`
9290
9291	// The API key that you received from the Baidu Cloud Push service to communicate
9292	// with the service.
9293	//
9294	// ApiKey is a required field
9295	ApiKey *string `type:"string" required:"true"`
9296
9297	// Specifies whether to enable the Baidu channel for the application.
9298	Enabled *bool `type:"boolean"`
9299
9300	// The secret key that you received from the Baidu Cloud Push service to communicate
9301	// with the service.
9302	//
9303	// SecretKey is a required field
9304	SecretKey *string `type:"string" required:"true"`
9305}
9306
9307// String returns the string representation
9308func (s BaiduChannelRequest) String() string {
9309	return awsutil.Prettify(s)
9310}
9311
9312// GoString returns the string representation
9313func (s BaiduChannelRequest) GoString() string {
9314	return s.String()
9315}
9316
9317// Validate inspects the fields of the type to determine if they are valid.
9318func (s *BaiduChannelRequest) Validate() error {
9319	invalidParams := request.ErrInvalidParams{Context: "BaiduChannelRequest"}
9320	if s.ApiKey == nil {
9321		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
9322	}
9323	if s.SecretKey == nil {
9324		invalidParams.Add(request.NewErrParamRequired("SecretKey"))
9325	}
9326
9327	if invalidParams.Len() > 0 {
9328		return invalidParams
9329	}
9330	return nil
9331}
9332
9333// SetApiKey sets the ApiKey field's value.
9334func (s *BaiduChannelRequest) SetApiKey(v string) *BaiduChannelRequest {
9335	s.ApiKey = &v
9336	return s
9337}
9338
9339// SetEnabled sets the Enabled field's value.
9340func (s *BaiduChannelRequest) SetEnabled(v bool) *BaiduChannelRequest {
9341	s.Enabled = &v
9342	return s
9343}
9344
9345// SetSecretKey sets the SecretKey field's value.
9346func (s *BaiduChannelRequest) SetSecretKey(v string) *BaiduChannelRequest {
9347	s.SecretKey = &v
9348	return s
9349}
9350
9351// Provides information about the status and settings of the Baidu (Baidu Cloud
9352// Push) channel for an application.
9353type BaiduChannelResponse struct {
9354	_ struct{} `type:"structure"`
9355
9356	// The unique identifier for the application that the Baidu channel applies
9357	// to.
9358	ApplicationId *string `type:"string"`
9359
9360	// The date and time when the Baidu channel was enabled.
9361	CreationDate *string `type:"string"`
9362
9363	// The API key that you received from the Baidu Cloud Push service to communicate
9364	// with the service.
9365	//
9366	// Credential is a required field
9367	Credential *string `type:"string" required:"true"`
9368
9369	// Specifies whether the Baidu channel is enabled for the application.
9370	Enabled *bool `type:"boolean"`
9371
9372	// (Not used) This property is retained only for backward compatibility.
9373	HasCredential *bool `type:"boolean"`
9374
9375	// (Deprecated) An identifier for the Baidu channel. This property is retained
9376	// only for backward compatibility.
9377	Id *string `type:"string"`
9378
9379	// Specifies whether the Baidu channel is archived.
9380	IsArchived *bool `type:"boolean"`
9381
9382	// The user who last modified the Baidu channel.
9383	LastModifiedBy *string `type:"string"`
9384
9385	// The date and time when the Baidu channel was last modified.
9386	LastModifiedDate *string `type:"string"`
9387
9388	// The type of messaging or notification platform for the channel. For the Baidu
9389	// channel, this value is BAIDU.
9390	//
9391	// Platform is a required field
9392	Platform *string `type:"string" required:"true"`
9393
9394	// The current version of the Baidu channel.
9395	Version *int64 `type:"integer"`
9396}
9397
9398// String returns the string representation
9399func (s BaiduChannelResponse) String() string {
9400	return awsutil.Prettify(s)
9401}
9402
9403// GoString returns the string representation
9404func (s BaiduChannelResponse) GoString() string {
9405	return s.String()
9406}
9407
9408// SetApplicationId sets the ApplicationId field's value.
9409func (s *BaiduChannelResponse) SetApplicationId(v string) *BaiduChannelResponse {
9410	s.ApplicationId = &v
9411	return s
9412}
9413
9414// SetCreationDate sets the CreationDate field's value.
9415func (s *BaiduChannelResponse) SetCreationDate(v string) *BaiduChannelResponse {
9416	s.CreationDate = &v
9417	return s
9418}
9419
9420// SetCredential sets the Credential field's value.
9421func (s *BaiduChannelResponse) SetCredential(v string) *BaiduChannelResponse {
9422	s.Credential = &v
9423	return s
9424}
9425
9426// SetEnabled sets the Enabled field's value.
9427func (s *BaiduChannelResponse) SetEnabled(v bool) *BaiduChannelResponse {
9428	s.Enabled = &v
9429	return s
9430}
9431
9432// SetHasCredential sets the HasCredential field's value.
9433func (s *BaiduChannelResponse) SetHasCredential(v bool) *BaiduChannelResponse {
9434	s.HasCredential = &v
9435	return s
9436}
9437
9438// SetId sets the Id field's value.
9439func (s *BaiduChannelResponse) SetId(v string) *BaiduChannelResponse {
9440	s.Id = &v
9441	return s
9442}
9443
9444// SetIsArchived sets the IsArchived field's value.
9445func (s *BaiduChannelResponse) SetIsArchived(v bool) *BaiduChannelResponse {
9446	s.IsArchived = &v
9447	return s
9448}
9449
9450// SetLastModifiedBy sets the LastModifiedBy field's value.
9451func (s *BaiduChannelResponse) SetLastModifiedBy(v string) *BaiduChannelResponse {
9452	s.LastModifiedBy = &v
9453	return s
9454}
9455
9456// SetLastModifiedDate sets the LastModifiedDate field's value.
9457func (s *BaiduChannelResponse) SetLastModifiedDate(v string) *BaiduChannelResponse {
9458	s.LastModifiedDate = &v
9459	return s
9460}
9461
9462// SetPlatform sets the Platform field's value.
9463func (s *BaiduChannelResponse) SetPlatform(v string) *BaiduChannelResponse {
9464	s.Platform = &v
9465	return s
9466}
9467
9468// SetVersion sets the Version field's value.
9469func (s *BaiduChannelResponse) SetVersion(v int64) *BaiduChannelResponse {
9470	s.Version = &v
9471	return s
9472}
9473
9474// Specifies the settings for a one-time message that's sent directly to an
9475// endpoint through the Baidu (Baidu Cloud Push) channel.
9476type BaiduMessage struct {
9477	_ struct{} `type:"structure"`
9478
9479	// The action to occur if the recipient taps the push notification. Valid values
9480	// are:
9481	//
9482	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
9483	//    sent to the background. This is the default action.
9484	//
9485	//    * DEEP_LINK - Your app opens and displays a designated user interface
9486	//    in the app. This action uses the deep-linking features of the Android
9487	//    platform.
9488	//
9489	//    * URL - The default mobile browser on the recipient's device opens and
9490	//    loads the web page at a URL that you specify.
9491	Action *string `type:"string" enum:"Action"`
9492
9493	// The body of the notification message.
9494	Body *string `type:"string"`
9495
9496	// The JSON data payload to use for the push notification, if the notification
9497	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
9498	// object of the notification.
9499	Data map[string]*string `type:"map"`
9500
9501	// The icon image name of the asset saved in your app.
9502	IconReference *string `type:"string"`
9503
9504	// The URL of the large icon image to display in the content view of the push
9505	// notification.
9506	ImageIconUrl *string `type:"string"`
9507
9508	// The URL of an image to display in the push notification.
9509	ImageUrl *string `type:"string"`
9510
9511	// The raw, JSON-formatted string to use as the payload for the notification
9512	// message. This value overrides the message.
9513	RawContent *string `type:"string"`
9514
9515	// Specifies whether the notification is a silent push notification, which is
9516	// a push notification that doesn't display on a recipient's device. Silent
9517	// push notifications can be used for cases such as updating an app's configuration
9518	// or supporting phone home functionality.
9519	SilentPush *bool `type:"boolean"`
9520
9521	// The URL of the small icon image to display in the status bar and the content
9522	// view of the push notification.
9523	SmallImageIconUrl *string `type:"string"`
9524
9525	// The sound to play when the recipient receives the push notification. You
9526	// can use the default stream or specify the file name of a sound resource that's
9527	// bundled in your app. On an Android platform, the sound file must reside in
9528	// /res/raw/.
9529	Sound *string `type:"string"`
9530
9531	// The default message variables to use in the notification message. You can
9532	// override the default variables with individual address variables.
9533	Substitutions map[string][]*string `type:"map"`
9534
9535	// The amount of time, in seconds, that the Baidu Cloud Push service should
9536	// store the message if the recipient's device is offline. The default value
9537	// and maximum supported time is 604,800 seconds (7 days).
9538	TimeToLive *int64 `type:"integer"`
9539
9540	// The title to display above the notification message on the recipient's device.
9541	Title *string `type:"string"`
9542
9543	// The URL to open in the recipient's default mobile browser, if a recipient
9544	// taps the push notification and the value of the Action property is URL.
9545	Url *string `type:"string"`
9546}
9547
9548// String returns the string representation
9549func (s BaiduMessage) String() string {
9550	return awsutil.Prettify(s)
9551}
9552
9553// GoString returns the string representation
9554func (s BaiduMessage) GoString() string {
9555	return s.String()
9556}
9557
9558// SetAction sets the Action field's value.
9559func (s *BaiduMessage) SetAction(v string) *BaiduMessage {
9560	s.Action = &v
9561	return s
9562}
9563
9564// SetBody sets the Body field's value.
9565func (s *BaiduMessage) SetBody(v string) *BaiduMessage {
9566	s.Body = &v
9567	return s
9568}
9569
9570// SetData sets the Data field's value.
9571func (s *BaiduMessage) SetData(v map[string]*string) *BaiduMessage {
9572	s.Data = v
9573	return s
9574}
9575
9576// SetIconReference sets the IconReference field's value.
9577func (s *BaiduMessage) SetIconReference(v string) *BaiduMessage {
9578	s.IconReference = &v
9579	return s
9580}
9581
9582// SetImageIconUrl sets the ImageIconUrl field's value.
9583func (s *BaiduMessage) SetImageIconUrl(v string) *BaiduMessage {
9584	s.ImageIconUrl = &v
9585	return s
9586}
9587
9588// SetImageUrl sets the ImageUrl field's value.
9589func (s *BaiduMessage) SetImageUrl(v string) *BaiduMessage {
9590	s.ImageUrl = &v
9591	return s
9592}
9593
9594// SetRawContent sets the RawContent field's value.
9595func (s *BaiduMessage) SetRawContent(v string) *BaiduMessage {
9596	s.RawContent = &v
9597	return s
9598}
9599
9600// SetSilentPush sets the SilentPush field's value.
9601func (s *BaiduMessage) SetSilentPush(v bool) *BaiduMessage {
9602	s.SilentPush = &v
9603	return s
9604}
9605
9606// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
9607func (s *BaiduMessage) SetSmallImageIconUrl(v string) *BaiduMessage {
9608	s.SmallImageIconUrl = &v
9609	return s
9610}
9611
9612// SetSound sets the Sound field's value.
9613func (s *BaiduMessage) SetSound(v string) *BaiduMessage {
9614	s.Sound = &v
9615	return s
9616}
9617
9618// SetSubstitutions sets the Substitutions field's value.
9619func (s *BaiduMessage) SetSubstitutions(v map[string][]*string) *BaiduMessage {
9620	s.Substitutions = v
9621	return s
9622}
9623
9624// SetTimeToLive sets the TimeToLive field's value.
9625func (s *BaiduMessage) SetTimeToLive(v int64) *BaiduMessage {
9626	s.TimeToLive = &v
9627	return s
9628}
9629
9630// SetTitle sets the Title field's value.
9631func (s *BaiduMessage) SetTitle(v string) *BaiduMessage {
9632	s.Title = &v
9633	return s
9634}
9635
9636// SetUrl sets the Url field's value.
9637func (s *BaiduMessage) SetUrl(v string) *BaiduMessage {
9638	s.Url = &v
9639	return s
9640}
9641
9642// Specifies the content and "From" address for an email message that's sent
9643// to recipients of a campaign.
9644type CampaignEmailMessage struct {
9645	_ struct{} `type:"structure"`
9646
9647	// The body of the email for recipients whose email clients don't support HTML
9648	// content.
9649	Body *string `type:"string"`
9650
9651	// The verified email address to send the email from. The default address is
9652	// the FromAddress specified for the email channel for the application.
9653	FromAddress *string `type:"string"`
9654
9655	// The body of the email, in HTML format, for recipients whose email clients
9656	// support HTML content.
9657	HtmlBody *string `type:"string"`
9658
9659	// The subject line, or title, of the email.
9660	//
9661	// Title is a required field
9662	Title *string `type:"string" required:"true"`
9663}
9664
9665// String returns the string representation
9666func (s CampaignEmailMessage) String() string {
9667	return awsutil.Prettify(s)
9668}
9669
9670// GoString returns the string representation
9671func (s CampaignEmailMessage) GoString() string {
9672	return s.String()
9673}
9674
9675// Validate inspects the fields of the type to determine if they are valid.
9676func (s *CampaignEmailMessage) Validate() error {
9677	invalidParams := request.ErrInvalidParams{Context: "CampaignEmailMessage"}
9678	if s.Title == nil {
9679		invalidParams.Add(request.NewErrParamRequired("Title"))
9680	}
9681
9682	if invalidParams.Len() > 0 {
9683		return invalidParams
9684	}
9685	return nil
9686}
9687
9688// SetBody sets the Body field's value.
9689func (s *CampaignEmailMessage) SetBody(v string) *CampaignEmailMessage {
9690	s.Body = &v
9691	return s
9692}
9693
9694// SetFromAddress sets the FromAddress field's value.
9695func (s *CampaignEmailMessage) SetFromAddress(v string) *CampaignEmailMessage {
9696	s.FromAddress = &v
9697	return s
9698}
9699
9700// SetHtmlBody sets the HtmlBody field's value.
9701func (s *CampaignEmailMessage) SetHtmlBody(v string) *CampaignEmailMessage {
9702	s.HtmlBody = &v
9703	return s
9704}
9705
9706// SetTitle sets the Title field's value.
9707func (s *CampaignEmailMessage) SetTitle(v string) *CampaignEmailMessage {
9708	s.Title = &v
9709	return s
9710}
9711
9712// Specifies the settings for events that cause a campaign to be sent.
9713type CampaignEventFilter struct {
9714	_ struct{} `type:"structure"`
9715
9716	// The dimension settings of the event filter for the campaign.
9717	//
9718	// Dimensions is a required field
9719	Dimensions *EventDimensions `type:"structure" required:"true"`
9720
9721	// The type of event that causes the campaign to be sent. Valid values are:
9722	// SYSTEM, sends the campaign when a system event occurs; and, ENDPOINT, sends
9723	// the campaign when an endpoint event (Events resource) occurs.
9724	//
9725	// FilterType is a required field
9726	FilterType *string `type:"string" required:"true" enum:"FilterType"`
9727}
9728
9729// String returns the string representation
9730func (s CampaignEventFilter) String() string {
9731	return awsutil.Prettify(s)
9732}
9733
9734// GoString returns the string representation
9735func (s CampaignEventFilter) GoString() string {
9736	return s.String()
9737}
9738
9739// Validate inspects the fields of the type to determine if they are valid.
9740func (s *CampaignEventFilter) Validate() error {
9741	invalidParams := request.ErrInvalidParams{Context: "CampaignEventFilter"}
9742	if s.Dimensions == nil {
9743		invalidParams.Add(request.NewErrParamRequired("Dimensions"))
9744	}
9745	if s.FilterType == nil {
9746		invalidParams.Add(request.NewErrParamRequired("FilterType"))
9747	}
9748	if s.Dimensions != nil {
9749		if err := s.Dimensions.Validate(); err != nil {
9750			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
9751		}
9752	}
9753
9754	if invalidParams.Len() > 0 {
9755		return invalidParams
9756	}
9757	return nil
9758}
9759
9760// SetDimensions sets the Dimensions field's value.
9761func (s *CampaignEventFilter) SetDimensions(v *EventDimensions) *CampaignEventFilter {
9762	s.Dimensions = v
9763	return s
9764}
9765
9766// SetFilterType sets the FilterType field's value.
9767func (s *CampaignEventFilter) SetFilterType(v string) *CampaignEventFilter {
9768	s.FilterType = &v
9769	return s
9770}
9771
9772// Specifies the AWS Lambda function to use as a code hook for a campaign.
9773type CampaignHook struct {
9774	_ struct{} `type:"structure"`
9775
9776	// The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
9777	// Pinpoint invokes to send messages for a campaign.
9778	LambdaFunctionName *string `type:"string"`
9779
9780	// Specifies which Lambda mode to use when invoking the AWS Lambda function.
9781	Mode *string `type:"string" enum:"Mode"`
9782
9783	// The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function
9784	// over HTTPS.
9785	WebUrl *string `type:"string"`
9786}
9787
9788// String returns the string representation
9789func (s CampaignHook) String() string {
9790	return awsutil.Prettify(s)
9791}
9792
9793// GoString returns the string representation
9794func (s CampaignHook) GoString() string {
9795	return s.String()
9796}
9797
9798// SetLambdaFunctionName sets the LambdaFunctionName field's value.
9799func (s *CampaignHook) SetLambdaFunctionName(v string) *CampaignHook {
9800	s.LambdaFunctionName = &v
9801	return s
9802}
9803
9804// SetMode sets the Mode field's value.
9805func (s *CampaignHook) SetMode(v string) *CampaignHook {
9806	s.Mode = &v
9807	return s
9808}
9809
9810// SetWebUrl sets the WebUrl field's value.
9811func (s *CampaignHook) SetWebUrl(v string) *CampaignHook {
9812	s.WebUrl = &v
9813	return s
9814}
9815
9816// Specifies limits on the messages that a campaign can send.
9817type CampaignLimits struct {
9818	_ struct{} `type:"structure"`
9819
9820	// The maximum number of messages that a campaign can send to a single endpoint
9821	// during a 24-hour period. The maximum value is 100.
9822	Daily *int64 `type:"integer"`
9823
9824	// The maximum amount of time, in seconds, that a campaign can attempt to deliver
9825	// a message after the scheduled start time for the campaign. The minimum value
9826	// is 60 seconds.
9827	MaximumDuration *int64 `type:"integer"`
9828
9829	// The maximum number of messages that a campaign can send each second. The
9830	// minimum value is 50. The maximum value is 20,000.
9831	MessagesPerSecond *int64 `type:"integer"`
9832
9833	// The maximum number of messages that a campaign can send to a single endpoint
9834	// during the course of the campaign. The maximum value is 100.
9835	Total *int64 `type:"integer"`
9836}
9837
9838// String returns the string representation
9839func (s CampaignLimits) String() string {
9840	return awsutil.Prettify(s)
9841}
9842
9843// GoString returns the string representation
9844func (s CampaignLimits) GoString() string {
9845	return s.String()
9846}
9847
9848// SetDaily sets the Daily field's value.
9849func (s *CampaignLimits) SetDaily(v int64) *CampaignLimits {
9850	s.Daily = &v
9851	return s
9852}
9853
9854// SetMaximumDuration sets the MaximumDuration field's value.
9855func (s *CampaignLimits) SetMaximumDuration(v int64) *CampaignLimits {
9856	s.MaximumDuration = &v
9857	return s
9858}
9859
9860// SetMessagesPerSecond sets the MessagesPerSecond field's value.
9861func (s *CampaignLimits) SetMessagesPerSecond(v int64) *CampaignLimits {
9862	s.MessagesPerSecond = &v
9863	return s
9864}
9865
9866// SetTotal sets the Total field's value.
9867func (s *CampaignLimits) SetTotal(v int64) *CampaignLimits {
9868	s.Total = &v
9869	return s
9870}
9871
9872// Provides information about the status, configuration, and other settings
9873// for a campaign.
9874type CampaignResponse struct {
9875	_ struct{} `type:"structure"`
9876
9877	// An array of responses, one for each treatment that you defined for the campaign,
9878	// in addition to the default treatment.
9879	AdditionalTreatments []*TreatmentResource `type:"list"`
9880
9881	// The unique identifier for the application that the campaign applies to.
9882	//
9883	// ApplicationId is a required field
9884	ApplicationId *string `type:"string" required:"true"`
9885
9886	// The Amazon Resource Name (ARN) of the campaign.
9887	//
9888	// Arn is a required field
9889	Arn *string `type:"string" required:"true"`
9890
9891	// The date, ISO 8601 format, when the campaign was created.
9892	//
9893	// CreationDate is a required field
9894	CreationDate *string `type:"string" required:"true"`
9895
9896	// The current status of the campaign's default treatment. This value exists
9897	// only for campaigns that have more than one treatment, to support A/B testing.
9898	DefaultState *CampaignState `type:"structure"`
9899
9900	// The custom description of the campaign.
9901	Description *string `type:"string"`
9902
9903	// The allocated percentage of users (segment members) who shouldn't receive
9904	// messages from the campaign.
9905	HoldoutPercent *int64 `type:"integer"`
9906
9907	// The settings for the AWS Lambda function to use as a code hook for the campaign.
9908	Hook *CampaignHook `type:"structure"`
9909
9910	// The unique identifier for the campaign.
9911	//
9912	// Id is a required field
9913	Id *string `type:"string" required:"true"`
9914
9915	// Specifies whether the campaign is paused. A paused campaign doesn't run unless
9916	// you resume it by changing this value to false.
9917	IsPaused *bool `type:"boolean"`
9918
9919	// The date, in ISO 8601 format, when the campaign was last modified.
9920	//
9921	// LastModifiedDate is a required field
9922	LastModifiedDate *string `type:"string" required:"true"`
9923
9924	// The messaging limits for the campaign.
9925	Limits *CampaignLimits `type:"structure"`
9926
9927	// The message configuration settings for the campaign.
9928	MessageConfiguration *MessageConfiguration `type:"structure"`
9929
9930	// The name of the campaign.
9931	Name *string `type:"string"`
9932
9933	// The schedule settings for the campaign.
9934	Schedule *Schedule `type:"structure"`
9935
9936	// The unique identifier for the segment that's associated with the campaign.
9937	//
9938	// SegmentId is a required field
9939	SegmentId *string `type:"string" required:"true"`
9940
9941	// The version number of the segment that's associated with the campaign.
9942	//
9943	// SegmentVersion is a required field
9944	SegmentVersion *int64 `type:"integer" required:"true"`
9945
9946	// The current status of the campaign.
9947	State *CampaignState `type:"structure"`
9948
9949	// A string-to-string map of key-value pairs that identifies the tags that are
9950	// associated with the campaign. Each tag consists of a required tag key and
9951	// an associated tag value.
9952	Tags map[string]*string `locationName:"tags" type:"map"`
9953
9954	// The custom description of a variation of the campaign that's used for A/B
9955	// testing.
9956	TreatmentDescription *string `type:"string"`
9957
9958	// The custom name of a variation of the campaign that's used for A/B testing.
9959	TreatmentName *string `type:"string"`
9960
9961	// The version number of the campaign.
9962	Version *int64 `type:"integer"`
9963}
9964
9965// String returns the string representation
9966func (s CampaignResponse) String() string {
9967	return awsutil.Prettify(s)
9968}
9969
9970// GoString returns the string representation
9971func (s CampaignResponse) GoString() string {
9972	return s.String()
9973}
9974
9975// SetAdditionalTreatments sets the AdditionalTreatments field's value.
9976func (s *CampaignResponse) SetAdditionalTreatments(v []*TreatmentResource) *CampaignResponse {
9977	s.AdditionalTreatments = v
9978	return s
9979}
9980
9981// SetApplicationId sets the ApplicationId field's value.
9982func (s *CampaignResponse) SetApplicationId(v string) *CampaignResponse {
9983	s.ApplicationId = &v
9984	return s
9985}
9986
9987// SetArn sets the Arn field's value.
9988func (s *CampaignResponse) SetArn(v string) *CampaignResponse {
9989	s.Arn = &v
9990	return s
9991}
9992
9993// SetCreationDate sets the CreationDate field's value.
9994func (s *CampaignResponse) SetCreationDate(v string) *CampaignResponse {
9995	s.CreationDate = &v
9996	return s
9997}
9998
9999// SetDefaultState sets the DefaultState field's value.
10000func (s *CampaignResponse) SetDefaultState(v *CampaignState) *CampaignResponse {
10001	s.DefaultState = v
10002	return s
10003}
10004
10005// SetDescription sets the Description field's value.
10006func (s *CampaignResponse) SetDescription(v string) *CampaignResponse {
10007	s.Description = &v
10008	return s
10009}
10010
10011// SetHoldoutPercent sets the HoldoutPercent field's value.
10012func (s *CampaignResponse) SetHoldoutPercent(v int64) *CampaignResponse {
10013	s.HoldoutPercent = &v
10014	return s
10015}
10016
10017// SetHook sets the Hook field's value.
10018func (s *CampaignResponse) SetHook(v *CampaignHook) *CampaignResponse {
10019	s.Hook = v
10020	return s
10021}
10022
10023// SetId sets the Id field's value.
10024func (s *CampaignResponse) SetId(v string) *CampaignResponse {
10025	s.Id = &v
10026	return s
10027}
10028
10029// SetIsPaused sets the IsPaused field's value.
10030func (s *CampaignResponse) SetIsPaused(v bool) *CampaignResponse {
10031	s.IsPaused = &v
10032	return s
10033}
10034
10035// SetLastModifiedDate sets the LastModifiedDate field's value.
10036func (s *CampaignResponse) SetLastModifiedDate(v string) *CampaignResponse {
10037	s.LastModifiedDate = &v
10038	return s
10039}
10040
10041// SetLimits sets the Limits field's value.
10042func (s *CampaignResponse) SetLimits(v *CampaignLimits) *CampaignResponse {
10043	s.Limits = v
10044	return s
10045}
10046
10047// SetMessageConfiguration sets the MessageConfiguration field's value.
10048func (s *CampaignResponse) SetMessageConfiguration(v *MessageConfiguration) *CampaignResponse {
10049	s.MessageConfiguration = v
10050	return s
10051}
10052
10053// SetName sets the Name field's value.
10054func (s *CampaignResponse) SetName(v string) *CampaignResponse {
10055	s.Name = &v
10056	return s
10057}
10058
10059// SetSchedule sets the Schedule field's value.
10060func (s *CampaignResponse) SetSchedule(v *Schedule) *CampaignResponse {
10061	s.Schedule = v
10062	return s
10063}
10064
10065// SetSegmentId sets the SegmentId field's value.
10066func (s *CampaignResponse) SetSegmentId(v string) *CampaignResponse {
10067	s.SegmentId = &v
10068	return s
10069}
10070
10071// SetSegmentVersion sets the SegmentVersion field's value.
10072func (s *CampaignResponse) SetSegmentVersion(v int64) *CampaignResponse {
10073	s.SegmentVersion = &v
10074	return s
10075}
10076
10077// SetState sets the State field's value.
10078func (s *CampaignResponse) SetState(v *CampaignState) *CampaignResponse {
10079	s.State = v
10080	return s
10081}
10082
10083// SetTags sets the Tags field's value.
10084func (s *CampaignResponse) SetTags(v map[string]*string) *CampaignResponse {
10085	s.Tags = v
10086	return s
10087}
10088
10089// SetTreatmentDescription sets the TreatmentDescription field's value.
10090func (s *CampaignResponse) SetTreatmentDescription(v string) *CampaignResponse {
10091	s.TreatmentDescription = &v
10092	return s
10093}
10094
10095// SetTreatmentName sets the TreatmentName field's value.
10096func (s *CampaignResponse) SetTreatmentName(v string) *CampaignResponse {
10097	s.TreatmentName = &v
10098	return s
10099}
10100
10101// SetVersion sets the Version field's value.
10102func (s *CampaignResponse) SetVersion(v int64) *CampaignResponse {
10103	s.Version = &v
10104	return s
10105}
10106
10107// Specifies the content and settings for an SMS message that's sent to recipients
10108// of a campaign.
10109type CampaignSmsMessage struct {
10110	_ struct{} `type:"structure"`
10111
10112	// The body of the SMS message.
10113	Body *string `type:"string"`
10114
10115	// The type of SMS message. Valid values are: TRANSACTIONAL, the message is
10116	// critical or time-sensitive, such as a one-time password that supports a customer
10117	// transaction; and, PROMOTIONAL, the message isn't critical or time-sensitive,
10118	// such as a marketing message.
10119	MessageType *string `type:"string" enum:"MessageType"`
10120
10121	// The sender ID to display on recipients' devices when they receive the SMS
10122	// message.
10123	SenderId *string `type:"string"`
10124}
10125
10126// String returns the string representation
10127func (s CampaignSmsMessage) String() string {
10128	return awsutil.Prettify(s)
10129}
10130
10131// GoString returns the string representation
10132func (s CampaignSmsMessage) GoString() string {
10133	return s.String()
10134}
10135
10136// SetBody sets the Body field's value.
10137func (s *CampaignSmsMessage) SetBody(v string) *CampaignSmsMessage {
10138	s.Body = &v
10139	return s
10140}
10141
10142// SetMessageType sets the MessageType field's value.
10143func (s *CampaignSmsMessage) SetMessageType(v string) *CampaignSmsMessage {
10144	s.MessageType = &v
10145	return s
10146}
10147
10148// SetSenderId sets the SenderId field's value.
10149func (s *CampaignSmsMessage) SetSenderId(v string) *CampaignSmsMessage {
10150	s.SenderId = &v
10151	return s
10152}
10153
10154// Provides information about the status of a campaign.
10155type CampaignState struct {
10156	_ struct{} `type:"structure"`
10157
10158	// The status of the campaign, or the status of a treatment that belongs to
10159	// an A/B test campaign. If a campaign uses A/B testing, the campaign has a
10160	// status of COMPLETED only when all campaign treatments have a status of COMPLETED.
10161	CampaignStatus *string `type:"string" enum:"CampaignStatus"`
10162}
10163
10164// String returns the string representation
10165func (s CampaignState) String() string {
10166	return awsutil.Prettify(s)
10167}
10168
10169// GoString returns the string representation
10170func (s CampaignState) GoString() string {
10171	return s.String()
10172}
10173
10174// SetCampaignStatus sets the CampaignStatus field's value.
10175func (s *CampaignState) SetCampaignStatus(v string) *CampaignState {
10176	s.CampaignStatus = &v
10177	return s
10178}
10179
10180// Provides information about the configuration and other settings for all the
10181// campaigns that are associated with an application.
10182type CampaignsResponse struct {
10183	_ struct{} `type:"structure"`
10184
10185	// An array of responses, one for each campaign that's associated with the application.
10186	//
10187	// Item is a required field
10188	Item []*CampaignResponse `type:"list" required:"true"`
10189
10190	// The string to use in a subsequent request to get the next page of results
10191	// in a paginated response. This value is null if there are no additional pages.
10192	NextToken *string `type:"string"`
10193}
10194
10195// String returns the string representation
10196func (s CampaignsResponse) String() string {
10197	return awsutil.Prettify(s)
10198}
10199
10200// GoString returns the string representation
10201func (s CampaignsResponse) GoString() string {
10202	return s.String()
10203}
10204
10205// SetItem sets the Item field's value.
10206func (s *CampaignsResponse) SetItem(v []*CampaignResponse) *CampaignsResponse {
10207	s.Item = v
10208	return s
10209}
10210
10211// SetNextToken sets the NextToken field's value.
10212func (s *CampaignsResponse) SetNextToken(v string) *CampaignsResponse {
10213	s.NextToken = &v
10214	return s
10215}
10216
10217// Provides information about the general settings and status of a channel for
10218// an application.
10219type ChannelResponse struct {
10220	_ struct{} `type:"structure"`
10221
10222	// The unique identifier for the application.
10223	ApplicationId *string `type:"string"`
10224
10225	// The date and time, in ISO 8601 format, when the channel was enabled.
10226	CreationDate *string `type:"string"`
10227
10228	// Specifies whether the channel is enabled for the application.
10229	Enabled *bool `type:"boolean"`
10230
10231	// (Not used) This property is retained only for backward compatibility.
10232	HasCredential *bool `type:"boolean"`
10233
10234	// (Deprecated) An identifier for the channel. This property is retained only
10235	// for backward compatibility.
10236	Id *string `type:"string"`
10237
10238	// Specifies whether the channel is archived.
10239	IsArchived *bool `type:"boolean"`
10240
10241	// The user who last modified the channel.
10242	LastModifiedBy *string `type:"string"`
10243
10244	// The date and time, in ISO 8601 format, when the channel was last modified.
10245	LastModifiedDate *string `type:"string"`
10246
10247	// The current version of the channel.
10248	Version *int64 `type:"integer"`
10249}
10250
10251// String returns the string representation
10252func (s ChannelResponse) String() string {
10253	return awsutil.Prettify(s)
10254}
10255
10256// GoString returns the string representation
10257func (s ChannelResponse) GoString() string {
10258	return s.String()
10259}
10260
10261// SetApplicationId sets the ApplicationId field's value.
10262func (s *ChannelResponse) SetApplicationId(v string) *ChannelResponse {
10263	s.ApplicationId = &v
10264	return s
10265}
10266
10267// SetCreationDate sets the CreationDate field's value.
10268func (s *ChannelResponse) SetCreationDate(v string) *ChannelResponse {
10269	s.CreationDate = &v
10270	return s
10271}
10272
10273// SetEnabled sets the Enabled field's value.
10274func (s *ChannelResponse) SetEnabled(v bool) *ChannelResponse {
10275	s.Enabled = &v
10276	return s
10277}
10278
10279// SetHasCredential sets the HasCredential field's value.
10280func (s *ChannelResponse) SetHasCredential(v bool) *ChannelResponse {
10281	s.HasCredential = &v
10282	return s
10283}
10284
10285// SetId sets the Id field's value.
10286func (s *ChannelResponse) SetId(v string) *ChannelResponse {
10287	s.Id = &v
10288	return s
10289}
10290
10291// SetIsArchived sets the IsArchived field's value.
10292func (s *ChannelResponse) SetIsArchived(v bool) *ChannelResponse {
10293	s.IsArchived = &v
10294	return s
10295}
10296
10297// SetLastModifiedBy sets the LastModifiedBy field's value.
10298func (s *ChannelResponse) SetLastModifiedBy(v string) *ChannelResponse {
10299	s.LastModifiedBy = &v
10300	return s
10301}
10302
10303// SetLastModifiedDate sets the LastModifiedDate field's value.
10304func (s *ChannelResponse) SetLastModifiedDate(v string) *ChannelResponse {
10305	s.LastModifiedDate = &v
10306	return s
10307}
10308
10309// SetVersion sets the Version field's value.
10310func (s *ChannelResponse) SetVersion(v int64) *ChannelResponse {
10311	s.Version = &v
10312	return s
10313}
10314
10315// Provides information about the general settings and status of all channels
10316// for an application, including channels that aren't enabled for the application.
10317type ChannelsResponse struct {
10318	_ struct{} `type:"structure"`
10319
10320	// A map that contains a multipart response for each channel. For each item
10321	// in this object, the ChannelType is the key and the Channel is the value.
10322	//
10323	// Channels is a required field
10324	Channels map[string]*ChannelResponse `type:"map" required:"true"`
10325}
10326
10327// String returns the string representation
10328func (s ChannelsResponse) String() string {
10329	return awsutil.Prettify(s)
10330}
10331
10332// GoString returns the string representation
10333func (s ChannelsResponse) GoString() string {
10334	return s.String()
10335}
10336
10337// SetChannels sets the Channels field's value.
10338func (s *ChannelsResponse) SetChannels(v map[string]*ChannelResponse) *ChannelsResponse {
10339	s.Channels = v
10340	return s
10341}
10342
10343type CreateAppInput struct {
10344	_ struct{} `type:"structure" payload:"CreateApplicationRequest"`
10345
10346	// Specifies the display name of an application and the tags to associate with
10347	// the application.
10348	//
10349	// CreateApplicationRequest is a required field
10350	CreateApplicationRequest *CreateApplicationRequest `type:"structure" required:"true"`
10351}
10352
10353// String returns the string representation
10354func (s CreateAppInput) String() string {
10355	return awsutil.Prettify(s)
10356}
10357
10358// GoString returns the string representation
10359func (s CreateAppInput) GoString() string {
10360	return s.String()
10361}
10362
10363// Validate inspects the fields of the type to determine if they are valid.
10364func (s *CreateAppInput) Validate() error {
10365	invalidParams := request.ErrInvalidParams{Context: "CreateAppInput"}
10366	if s.CreateApplicationRequest == nil {
10367		invalidParams.Add(request.NewErrParamRequired("CreateApplicationRequest"))
10368	}
10369	if s.CreateApplicationRequest != nil {
10370		if err := s.CreateApplicationRequest.Validate(); err != nil {
10371			invalidParams.AddNested("CreateApplicationRequest", err.(request.ErrInvalidParams))
10372		}
10373	}
10374
10375	if invalidParams.Len() > 0 {
10376		return invalidParams
10377	}
10378	return nil
10379}
10380
10381// SetCreateApplicationRequest sets the CreateApplicationRequest field's value.
10382func (s *CreateAppInput) SetCreateApplicationRequest(v *CreateApplicationRequest) *CreateAppInput {
10383	s.CreateApplicationRequest = v
10384	return s
10385}
10386
10387type CreateAppOutput struct {
10388	_ struct{} `type:"structure" payload:"ApplicationResponse"`
10389
10390	// Provides information about an application.
10391	//
10392	// ApplicationResponse is a required field
10393	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
10394}
10395
10396// String returns the string representation
10397func (s CreateAppOutput) String() string {
10398	return awsutil.Prettify(s)
10399}
10400
10401// GoString returns the string representation
10402func (s CreateAppOutput) GoString() string {
10403	return s.String()
10404}
10405
10406// SetApplicationResponse sets the ApplicationResponse field's value.
10407func (s *CreateAppOutput) SetApplicationResponse(v *ApplicationResponse) *CreateAppOutput {
10408	s.ApplicationResponse = v
10409	return s
10410}
10411
10412// Specifies the display name of an application and the tags to associate with
10413// the application.
10414type CreateApplicationRequest struct {
10415	_ struct{} `type:"structure"`
10416
10417	// The display name of the application. This name is displayed as the Project
10418	// name on the Amazon Pinpoint console.
10419	//
10420	// Name is a required field
10421	Name *string `type:"string" required:"true"`
10422
10423	// A string-to-string map of key-value pairs that defines the tags to associate
10424	// with the application. Each tag consists of a required tag key and an associated
10425	// tag value.
10426	Tags map[string]*string `locationName:"tags" type:"map"`
10427}
10428
10429// String returns the string representation
10430func (s CreateApplicationRequest) String() string {
10431	return awsutil.Prettify(s)
10432}
10433
10434// GoString returns the string representation
10435func (s CreateApplicationRequest) GoString() string {
10436	return s.String()
10437}
10438
10439// Validate inspects the fields of the type to determine if they are valid.
10440func (s *CreateApplicationRequest) Validate() error {
10441	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationRequest"}
10442	if s.Name == nil {
10443		invalidParams.Add(request.NewErrParamRequired("Name"))
10444	}
10445
10446	if invalidParams.Len() > 0 {
10447		return invalidParams
10448	}
10449	return nil
10450}
10451
10452// SetName sets the Name field's value.
10453func (s *CreateApplicationRequest) SetName(v string) *CreateApplicationRequest {
10454	s.Name = &v
10455	return s
10456}
10457
10458// SetTags sets the Tags field's value.
10459func (s *CreateApplicationRequest) SetTags(v map[string]*string) *CreateApplicationRequest {
10460	s.Tags = v
10461	return s
10462}
10463
10464type CreateCampaignInput struct {
10465	_ struct{} `type:"structure" payload:"WriteCampaignRequest"`
10466
10467	// ApplicationId is a required field
10468	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
10469
10470	// Specifies the configuration and other settings for a campaign.
10471	//
10472	// WriteCampaignRequest is a required field
10473	WriteCampaignRequest *WriteCampaignRequest `type:"structure" required:"true"`
10474}
10475
10476// String returns the string representation
10477func (s CreateCampaignInput) String() string {
10478	return awsutil.Prettify(s)
10479}
10480
10481// GoString returns the string representation
10482func (s CreateCampaignInput) GoString() string {
10483	return s.String()
10484}
10485
10486// Validate inspects the fields of the type to determine if they are valid.
10487func (s *CreateCampaignInput) Validate() error {
10488	invalidParams := request.ErrInvalidParams{Context: "CreateCampaignInput"}
10489	if s.ApplicationId == nil {
10490		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
10491	}
10492	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
10493		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
10494	}
10495	if s.WriteCampaignRequest == nil {
10496		invalidParams.Add(request.NewErrParamRequired("WriteCampaignRequest"))
10497	}
10498	if s.WriteCampaignRequest != nil {
10499		if err := s.WriteCampaignRequest.Validate(); err != nil {
10500			invalidParams.AddNested("WriteCampaignRequest", err.(request.ErrInvalidParams))
10501		}
10502	}
10503
10504	if invalidParams.Len() > 0 {
10505		return invalidParams
10506	}
10507	return nil
10508}
10509
10510// SetApplicationId sets the ApplicationId field's value.
10511func (s *CreateCampaignInput) SetApplicationId(v string) *CreateCampaignInput {
10512	s.ApplicationId = &v
10513	return s
10514}
10515
10516// SetWriteCampaignRequest sets the WriteCampaignRequest field's value.
10517func (s *CreateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) *CreateCampaignInput {
10518	s.WriteCampaignRequest = v
10519	return s
10520}
10521
10522type CreateCampaignOutput struct {
10523	_ struct{} `type:"structure" payload:"CampaignResponse"`
10524
10525	// Provides information about the status, configuration, and other settings
10526	// for a campaign.
10527	//
10528	// CampaignResponse is a required field
10529	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
10530}
10531
10532// String returns the string representation
10533func (s CreateCampaignOutput) String() string {
10534	return awsutil.Prettify(s)
10535}
10536
10537// GoString returns the string representation
10538func (s CreateCampaignOutput) GoString() string {
10539	return s.String()
10540}
10541
10542// SetCampaignResponse sets the CampaignResponse field's value.
10543func (s *CreateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *CreateCampaignOutput {
10544	s.CampaignResponse = v
10545	return s
10546}
10547
10548type CreateExportJobInput struct {
10549	_ struct{} `type:"structure" payload:"ExportJobRequest"`
10550
10551	// ApplicationId is a required field
10552	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
10553
10554	// Specifies the settings for a job that exports endpoint definitions to an
10555	// Amazon Simple Storage Service (Amazon S3) bucket.
10556	//
10557	// ExportJobRequest is a required field
10558	ExportJobRequest *ExportJobRequest `type:"structure" required:"true"`
10559}
10560
10561// String returns the string representation
10562func (s CreateExportJobInput) String() string {
10563	return awsutil.Prettify(s)
10564}
10565
10566// GoString returns the string representation
10567func (s CreateExportJobInput) GoString() string {
10568	return s.String()
10569}
10570
10571// Validate inspects the fields of the type to determine if they are valid.
10572func (s *CreateExportJobInput) Validate() error {
10573	invalidParams := request.ErrInvalidParams{Context: "CreateExportJobInput"}
10574	if s.ApplicationId == nil {
10575		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
10576	}
10577	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
10578		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
10579	}
10580	if s.ExportJobRequest == nil {
10581		invalidParams.Add(request.NewErrParamRequired("ExportJobRequest"))
10582	}
10583	if s.ExportJobRequest != nil {
10584		if err := s.ExportJobRequest.Validate(); err != nil {
10585			invalidParams.AddNested("ExportJobRequest", err.(request.ErrInvalidParams))
10586		}
10587	}
10588
10589	if invalidParams.Len() > 0 {
10590		return invalidParams
10591	}
10592	return nil
10593}
10594
10595// SetApplicationId sets the ApplicationId field's value.
10596func (s *CreateExportJobInput) SetApplicationId(v string) *CreateExportJobInput {
10597	s.ApplicationId = &v
10598	return s
10599}
10600
10601// SetExportJobRequest sets the ExportJobRequest field's value.
10602func (s *CreateExportJobInput) SetExportJobRequest(v *ExportJobRequest) *CreateExportJobInput {
10603	s.ExportJobRequest = v
10604	return s
10605}
10606
10607type CreateExportJobOutput struct {
10608	_ struct{} `type:"structure" payload:"ExportJobResponse"`
10609
10610	// Provides information about the status and settings of a job that exports
10611	// endpoint definitions to a file. The file can be added directly to an Amazon
10612	// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
10613	// or downloaded directly to a computer by using the Amazon Pinpoint console.
10614	//
10615	// ExportJobResponse is a required field
10616	ExportJobResponse *ExportJobResponse `type:"structure" required:"true"`
10617}
10618
10619// String returns the string representation
10620func (s CreateExportJobOutput) String() string {
10621	return awsutil.Prettify(s)
10622}
10623
10624// GoString returns the string representation
10625func (s CreateExportJobOutput) GoString() string {
10626	return s.String()
10627}
10628
10629// SetExportJobResponse sets the ExportJobResponse field's value.
10630func (s *CreateExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *CreateExportJobOutput {
10631	s.ExportJobResponse = v
10632	return s
10633}
10634
10635type CreateImportJobInput struct {
10636	_ struct{} `type:"structure" payload:"ImportJobRequest"`
10637
10638	// ApplicationId is a required field
10639	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
10640
10641	// Specifies the settings for a job that imports endpoint definitions from an
10642	// Amazon Simple Storage Service (Amazon S3) bucket.
10643	//
10644	// ImportJobRequest is a required field
10645	ImportJobRequest *ImportJobRequest `type:"structure" required:"true"`
10646}
10647
10648// String returns the string representation
10649func (s CreateImportJobInput) String() string {
10650	return awsutil.Prettify(s)
10651}
10652
10653// GoString returns the string representation
10654func (s CreateImportJobInput) GoString() string {
10655	return s.String()
10656}
10657
10658// Validate inspects the fields of the type to determine if they are valid.
10659func (s *CreateImportJobInput) Validate() error {
10660	invalidParams := request.ErrInvalidParams{Context: "CreateImportJobInput"}
10661	if s.ApplicationId == nil {
10662		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
10663	}
10664	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
10665		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
10666	}
10667	if s.ImportJobRequest == nil {
10668		invalidParams.Add(request.NewErrParamRequired("ImportJobRequest"))
10669	}
10670	if s.ImportJobRequest != nil {
10671		if err := s.ImportJobRequest.Validate(); err != nil {
10672			invalidParams.AddNested("ImportJobRequest", err.(request.ErrInvalidParams))
10673		}
10674	}
10675
10676	if invalidParams.Len() > 0 {
10677		return invalidParams
10678	}
10679	return nil
10680}
10681
10682// SetApplicationId sets the ApplicationId field's value.
10683func (s *CreateImportJobInput) SetApplicationId(v string) *CreateImportJobInput {
10684	s.ApplicationId = &v
10685	return s
10686}
10687
10688// SetImportJobRequest sets the ImportJobRequest field's value.
10689func (s *CreateImportJobInput) SetImportJobRequest(v *ImportJobRequest) *CreateImportJobInput {
10690	s.ImportJobRequest = v
10691	return s
10692}
10693
10694type CreateImportJobOutput struct {
10695	_ struct{} `type:"structure" payload:"ImportJobResponse"`
10696
10697	// Provides information about the status and settings of a job that imports
10698	// endpoint definitions from one or more files. The files can be stored in an
10699	// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
10700	// a computer by using the Amazon Pinpoint console.
10701	//
10702	// ImportJobResponse is a required field
10703	ImportJobResponse *ImportJobResponse `type:"structure" required:"true"`
10704}
10705
10706// String returns the string representation
10707func (s CreateImportJobOutput) String() string {
10708	return awsutil.Prettify(s)
10709}
10710
10711// GoString returns the string representation
10712func (s CreateImportJobOutput) GoString() string {
10713	return s.String()
10714}
10715
10716// SetImportJobResponse sets the ImportJobResponse field's value.
10717func (s *CreateImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *CreateImportJobOutput {
10718	s.ImportJobResponse = v
10719	return s
10720}
10721
10722type CreateSegmentInput struct {
10723	_ struct{} `type:"structure" payload:"WriteSegmentRequest"`
10724
10725	// ApplicationId is a required field
10726	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
10727
10728	// Specifies the configuration, dimension, and other settings for a segment.
10729	// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
10730	// object, but not both.
10731	//
10732	// WriteSegmentRequest is a required field
10733	WriteSegmentRequest *WriteSegmentRequest `type:"structure" required:"true"`
10734}
10735
10736// String returns the string representation
10737func (s CreateSegmentInput) String() string {
10738	return awsutil.Prettify(s)
10739}
10740
10741// GoString returns the string representation
10742func (s CreateSegmentInput) GoString() string {
10743	return s.String()
10744}
10745
10746// Validate inspects the fields of the type to determine if they are valid.
10747func (s *CreateSegmentInput) Validate() error {
10748	invalidParams := request.ErrInvalidParams{Context: "CreateSegmentInput"}
10749	if s.ApplicationId == nil {
10750		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
10751	}
10752	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
10753		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
10754	}
10755	if s.WriteSegmentRequest == nil {
10756		invalidParams.Add(request.NewErrParamRequired("WriteSegmentRequest"))
10757	}
10758	if s.WriteSegmentRequest != nil {
10759		if err := s.WriteSegmentRequest.Validate(); err != nil {
10760			invalidParams.AddNested("WriteSegmentRequest", err.(request.ErrInvalidParams))
10761		}
10762	}
10763
10764	if invalidParams.Len() > 0 {
10765		return invalidParams
10766	}
10767	return nil
10768}
10769
10770// SetApplicationId sets the ApplicationId field's value.
10771func (s *CreateSegmentInput) SetApplicationId(v string) *CreateSegmentInput {
10772	s.ApplicationId = &v
10773	return s
10774}
10775
10776// SetWriteSegmentRequest sets the WriteSegmentRequest field's value.
10777func (s *CreateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *CreateSegmentInput {
10778	s.WriteSegmentRequest = v
10779	return s
10780}
10781
10782type CreateSegmentOutput struct {
10783	_ struct{} `type:"structure" payload:"SegmentResponse"`
10784
10785	// Provides information about the configuration, dimension, and other settings
10786	// for a segment.
10787	//
10788	// SegmentResponse is a required field
10789	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
10790}
10791
10792// String returns the string representation
10793func (s CreateSegmentOutput) String() string {
10794	return awsutil.Prettify(s)
10795}
10796
10797// GoString returns the string representation
10798func (s CreateSegmentOutput) GoString() string {
10799	return s.String()
10800}
10801
10802// SetSegmentResponse sets the SegmentResponse field's value.
10803func (s *CreateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *CreateSegmentOutput {
10804	s.SegmentResponse = v
10805	return s
10806}
10807
10808// Specifies the default message to use for all channels.
10809type DefaultMessage struct {
10810	_ struct{} `type:"structure"`
10811
10812	// The default message body of the push notification, email, or SMS message.
10813	Body *string `type:"string"`
10814
10815	// The default message variables to use in the push notification, email, or
10816	// SMS message. You can override these default variables with individual address
10817	// variables.
10818	Substitutions map[string][]*string `type:"map"`
10819}
10820
10821// String returns the string representation
10822func (s DefaultMessage) String() string {
10823	return awsutil.Prettify(s)
10824}
10825
10826// GoString returns the string representation
10827func (s DefaultMessage) GoString() string {
10828	return s.String()
10829}
10830
10831// SetBody sets the Body field's value.
10832func (s *DefaultMessage) SetBody(v string) *DefaultMessage {
10833	s.Body = &v
10834	return s
10835}
10836
10837// SetSubstitutions sets the Substitutions field's value.
10838func (s *DefaultMessage) SetSubstitutions(v map[string][]*string) *DefaultMessage {
10839	s.Substitutions = v
10840	return s
10841}
10842
10843// Specifies the default settings and content for a push notification that's
10844// sent directly to an endpoint.
10845type DefaultPushNotificationMessage struct {
10846	_ struct{} `type:"structure"`
10847
10848	// The default action to occur if a recipient taps the push notification. Valid
10849	// values are:
10850	//
10851	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
10852	//    sent to the background. This is the default action.
10853	//
10854	//    * DEEP_LINK - Your app opens and displays a designated user interface
10855	//    in the app. This setting uses the deep-linking features of the iOS and
10856	//    Android platforms.
10857	//
10858	//    * URL - The default mobile browser on the recipient's device opens and
10859	//    loads the web page at a URL that you specify.
10860	Action *string `type:"string" enum:"Action"`
10861
10862	// The default body of the notification message.
10863	Body *string `type:"string"`
10864
10865	// The JSON data payload to use for the default push notification, if the notification
10866	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
10867	// object of the notification.
10868	Data map[string]*string `type:"map"`
10869
10870	// Specifies whether the default notification is a silent push notification,
10871	// which is a push notification that doesn't display on a recipient's device.
10872	// Silent push notifications can be used for cases such as updating an app's
10873	// configuration or delivering messages to an in-app notification center.
10874	SilentPush *bool `type:"boolean"`
10875
10876	// The default message variables to use in the notification message. You can
10877	// override the default variables with individual address variables.
10878	Substitutions map[string][]*string `type:"map"`
10879
10880	// The default title to display above the notification message on a recipient's
10881	// device.
10882	Title *string `type:"string"`
10883
10884	// The default URL to open in a recipient's default mobile browser, if a recipient
10885	// taps the push notification and the value of the Action property is URL.
10886	Url *string `type:"string"`
10887}
10888
10889// String returns the string representation
10890func (s DefaultPushNotificationMessage) String() string {
10891	return awsutil.Prettify(s)
10892}
10893
10894// GoString returns the string representation
10895func (s DefaultPushNotificationMessage) GoString() string {
10896	return s.String()
10897}
10898
10899// SetAction sets the Action field's value.
10900func (s *DefaultPushNotificationMessage) SetAction(v string) *DefaultPushNotificationMessage {
10901	s.Action = &v
10902	return s
10903}
10904
10905// SetBody sets the Body field's value.
10906func (s *DefaultPushNotificationMessage) SetBody(v string) *DefaultPushNotificationMessage {
10907	s.Body = &v
10908	return s
10909}
10910
10911// SetData sets the Data field's value.
10912func (s *DefaultPushNotificationMessage) SetData(v map[string]*string) *DefaultPushNotificationMessage {
10913	s.Data = v
10914	return s
10915}
10916
10917// SetSilentPush sets the SilentPush field's value.
10918func (s *DefaultPushNotificationMessage) SetSilentPush(v bool) *DefaultPushNotificationMessage {
10919	s.SilentPush = &v
10920	return s
10921}
10922
10923// SetSubstitutions sets the Substitutions field's value.
10924func (s *DefaultPushNotificationMessage) SetSubstitutions(v map[string][]*string) *DefaultPushNotificationMessage {
10925	s.Substitutions = v
10926	return s
10927}
10928
10929// SetTitle sets the Title field's value.
10930func (s *DefaultPushNotificationMessage) SetTitle(v string) *DefaultPushNotificationMessage {
10931	s.Title = &v
10932	return s
10933}
10934
10935// SetUrl sets the Url field's value.
10936func (s *DefaultPushNotificationMessage) SetUrl(v string) *DefaultPushNotificationMessage {
10937	s.Url = &v
10938	return s
10939}
10940
10941type DeleteAdmChannelInput struct {
10942	_ struct{} `type:"structure"`
10943
10944	// ApplicationId is a required field
10945	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
10946}
10947
10948// String returns the string representation
10949func (s DeleteAdmChannelInput) String() string {
10950	return awsutil.Prettify(s)
10951}
10952
10953// GoString returns the string representation
10954func (s DeleteAdmChannelInput) GoString() string {
10955	return s.String()
10956}
10957
10958// Validate inspects the fields of the type to determine if they are valid.
10959func (s *DeleteAdmChannelInput) Validate() error {
10960	invalidParams := request.ErrInvalidParams{Context: "DeleteAdmChannelInput"}
10961	if s.ApplicationId == nil {
10962		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
10963	}
10964	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
10965		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
10966	}
10967
10968	if invalidParams.Len() > 0 {
10969		return invalidParams
10970	}
10971	return nil
10972}
10973
10974// SetApplicationId sets the ApplicationId field's value.
10975func (s *DeleteAdmChannelInput) SetApplicationId(v string) *DeleteAdmChannelInput {
10976	s.ApplicationId = &v
10977	return s
10978}
10979
10980type DeleteAdmChannelOutput struct {
10981	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
10982
10983	// Provides information about the status and settings of the ADM (Amazon Device
10984	// Messaging) channel for an application.
10985	//
10986	// ADMChannelResponse is a required field
10987	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
10988}
10989
10990// String returns the string representation
10991func (s DeleteAdmChannelOutput) String() string {
10992	return awsutil.Prettify(s)
10993}
10994
10995// GoString returns the string representation
10996func (s DeleteAdmChannelOutput) GoString() string {
10997	return s.String()
10998}
10999
11000// SetADMChannelResponse sets the ADMChannelResponse field's value.
11001func (s *DeleteAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *DeleteAdmChannelOutput {
11002	s.ADMChannelResponse = v
11003	return s
11004}
11005
11006type DeleteApnsChannelInput struct {
11007	_ struct{} `type:"structure"`
11008
11009	// ApplicationId is a required field
11010	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
11011}
11012
11013// String returns the string representation
11014func (s DeleteApnsChannelInput) String() string {
11015	return awsutil.Prettify(s)
11016}
11017
11018// GoString returns the string representation
11019func (s DeleteApnsChannelInput) GoString() string {
11020	return s.String()
11021}
11022
11023// Validate inspects the fields of the type to determine if they are valid.
11024func (s *DeleteApnsChannelInput) Validate() error {
11025	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsChannelInput"}
11026	if s.ApplicationId == nil {
11027		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
11028	}
11029	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
11030		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
11031	}
11032
11033	if invalidParams.Len() > 0 {
11034		return invalidParams
11035	}
11036	return nil
11037}
11038
11039// SetApplicationId sets the ApplicationId field's value.
11040func (s *DeleteApnsChannelInput) SetApplicationId(v string) *DeleteApnsChannelInput {
11041	s.ApplicationId = &v
11042	return s
11043}
11044
11045type DeleteApnsChannelOutput struct {
11046	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
11047
11048	// Provides information about the status and settings of the APNs (Apple Push
11049	// Notification service) channel for an application.
11050	//
11051	// APNSChannelResponse is a required field
11052	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
11053}
11054
11055// String returns the string representation
11056func (s DeleteApnsChannelOutput) String() string {
11057	return awsutil.Prettify(s)
11058}
11059
11060// GoString returns the string representation
11061func (s DeleteApnsChannelOutput) GoString() string {
11062	return s.String()
11063}
11064
11065// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
11066func (s *DeleteApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *DeleteApnsChannelOutput {
11067	s.APNSChannelResponse = v
11068	return s
11069}
11070
11071type DeleteApnsSandboxChannelInput struct {
11072	_ struct{} `type:"structure"`
11073
11074	// ApplicationId is a required field
11075	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
11076}
11077
11078// String returns the string representation
11079func (s DeleteApnsSandboxChannelInput) String() string {
11080	return awsutil.Prettify(s)
11081}
11082
11083// GoString returns the string representation
11084func (s DeleteApnsSandboxChannelInput) GoString() string {
11085	return s.String()
11086}
11087
11088// Validate inspects the fields of the type to determine if they are valid.
11089func (s *DeleteApnsSandboxChannelInput) Validate() error {
11090	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsSandboxChannelInput"}
11091	if s.ApplicationId == nil {
11092		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
11093	}
11094	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
11095		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
11096	}
11097
11098	if invalidParams.Len() > 0 {
11099		return invalidParams
11100	}
11101	return nil
11102}
11103
11104// SetApplicationId sets the ApplicationId field's value.
11105func (s *DeleteApnsSandboxChannelInput) SetApplicationId(v string) *DeleteApnsSandboxChannelInput {
11106	s.ApplicationId = &v
11107	return s
11108}
11109
11110type DeleteApnsSandboxChannelOutput struct {
11111	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
11112
11113	// Provides information about the status and settings of the APNs (Apple Push
11114	// Notification service) sandbox channel for an application.
11115	//
11116	// APNSSandboxChannelResponse is a required field
11117	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
11118}
11119
11120// String returns the string representation
11121func (s DeleteApnsSandboxChannelOutput) String() string {
11122	return awsutil.Prettify(s)
11123}
11124
11125// GoString returns the string representation
11126func (s DeleteApnsSandboxChannelOutput) GoString() string {
11127	return s.String()
11128}
11129
11130// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
11131func (s *DeleteApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *DeleteApnsSandboxChannelOutput {
11132	s.APNSSandboxChannelResponse = v
11133	return s
11134}
11135
11136type DeleteApnsVoipChannelInput struct {
11137	_ struct{} `type:"structure"`
11138
11139	// ApplicationId is a required field
11140	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
11141}
11142
11143// String returns the string representation
11144func (s DeleteApnsVoipChannelInput) String() string {
11145	return awsutil.Prettify(s)
11146}
11147
11148// GoString returns the string representation
11149func (s DeleteApnsVoipChannelInput) GoString() string {
11150	return s.String()
11151}
11152
11153// Validate inspects the fields of the type to determine if they are valid.
11154func (s *DeleteApnsVoipChannelInput) Validate() error {
11155	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipChannelInput"}
11156	if s.ApplicationId == nil {
11157		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
11158	}
11159	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
11160		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
11161	}
11162
11163	if invalidParams.Len() > 0 {
11164		return invalidParams
11165	}
11166	return nil
11167}
11168
11169// SetApplicationId sets the ApplicationId field's value.
11170func (s *DeleteApnsVoipChannelInput) SetApplicationId(v string) *DeleteApnsVoipChannelInput {
11171	s.ApplicationId = &v
11172	return s
11173}
11174
11175type DeleteApnsVoipChannelOutput struct {
11176	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
11177
11178	// Provides information about the status and settings of the APNs (Apple Push
11179	// Notification service) VoIP channel for an application.
11180	//
11181	// APNSVoipChannelResponse is a required field
11182	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
11183}
11184
11185// String returns the string representation
11186func (s DeleteApnsVoipChannelOutput) String() string {
11187	return awsutil.Prettify(s)
11188}
11189
11190// GoString returns the string representation
11191func (s DeleteApnsVoipChannelOutput) GoString() string {
11192	return s.String()
11193}
11194
11195// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
11196func (s *DeleteApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *DeleteApnsVoipChannelOutput {
11197	s.APNSVoipChannelResponse = v
11198	return s
11199}
11200
11201type DeleteApnsVoipSandboxChannelInput struct {
11202	_ struct{} `type:"structure"`
11203
11204	// ApplicationId is a required field
11205	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
11206}
11207
11208// String returns the string representation
11209func (s DeleteApnsVoipSandboxChannelInput) String() string {
11210	return awsutil.Prettify(s)
11211}
11212
11213// GoString returns the string representation
11214func (s DeleteApnsVoipSandboxChannelInput) GoString() string {
11215	return s.String()
11216}
11217
11218// Validate inspects the fields of the type to determine if they are valid.
11219func (s *DeleteApnsVoipSandboxChannelInput) Validate() error {
11220	invalidParams := request.ErrInvalidParams{Context: "DeleteApnsVoipSandboxChannelInput"}
11221	if s.ApplicationId == nil {
11222		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
11223	}
11224	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
11225		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
11226	}
11227
11228	if invalidParams.Len() > 0 {
11229		return invalidParams
11230	}
11231	return nil
11232}
11233
11234// SetApplicationId sets the ApplicationId field's value.
11235func (s *DeleteApnsVoipSandboxChannelInput) SetApplicationId(v string) *DeleteApnsVoipSandboxChannelInput {
11236	s.ApplicationId = &v
11237	return s
11238}
11239
11240type DeleteApnsVoipSandboxChannelOutput struct {
11241	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
11242
11243	// Provides information about the status and settings of the APNs (Apple Push
11244	// Notification service) VoIP sandbox channel for an application.
11245	//
11246	// APNSVoipSandboxChannelResponse is a required field
11247	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
11248}
11249
11250// String returns the string representation
11251func (s DeleteApnsVoipSandboxChannelOutput) String() string {
11252	return awsutil.Prettify(s)
11253}
11254
11255// GoString returns the string representation
11256func (s DeleteApnsVoipSandboxChannelOutput) GoString() string {
11257	return s.String()
11258}
11259
11260// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
11261func (s *DeleteApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *DeleteApnsVoipSandboxChannelOutput {
11262	s.APNSVoipSandboxChannelResponse = v
11263	return s
11264}
11265
11266type DeleteAppInput struct {
11267	_ struct{} `type:"structure"`
11268
11269	// ApplicationId is a required field
11270	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
11271}
11272
11273// String returns the string representation
11274func (s DeleteAppInput) String() string {
11275	return awsutil.Prettify(s)
11276}
11277
11278// GoString returns the string representation
11279func (s DeleteAppInput) GoString() string {
11280	return s.String()
11281}
11282
11283// Validate inspects the fields of the type to determine if they are valid.
11284func (s *DeleteAppInput) Validate() error {
11285	invalidParams := request.ErrInvalidParams{Context: "DeleteAppInput"}
11286	if s.ApplicationId == nil {
11287		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
11288	}
11289	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
11290		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
11291	}
11292
11293	if invalidParams.Len() > 0 {
11294		return invalidParams
11295	}
11296	return nil
11297}
11298
11299// SetApplicationId sets the ApplicationId field's value.
11300func (s *DeleteAppInput) SetApplicationId(v string) *DeleteAppInput {
11301	s.ApplicationId = &v
11302	return s
11303}
11304
11305type DeleteAppOutput struct {
11306	_ struct{} `type:"structure" payload:"ApplicationResponse"`
11307
11308	// Provides information about an application.
11309	//
11310	// ApplicationResponse is a required field
11311	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
11312}
11313
11314// String returns the string representation
11315func (s DeleteAppOutput) String() string {
11316	return awsutil.Prettify(s)
11317}
11318
11319// GoString returns the string representation
11320func (s DeleteAppOutput) GoString() string {
11321	return s.String()
11322}
11323
11324// SetApplicationResponse sets the ApplicationResponse field's value.
11325func (s *DeleteAppOutput) SetApplicationResponse(v *ApplicationResponse) *DeleteAppOutput {
11326	s.ApplicationResponse = v
11327	return s
11328}
11329
11330type DeleteBaiduChannelInput struct {
11331	_ struct{} `type:"structure"`
11332
11333	// ApplicationId is a required field
11334	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
11335}
11336
11337// String returns the string representation
11338func (s DeleteBaiduChannelInput) String() string {
11339	return awsutil.Prettify(s)
11340}
11341
11342// GoString returns the string representation
11343func (s DeleteBaiduChannelInput) GoString() string {
11344	return s.String()
11345}
11346
11347// Validate inspects the fields of the type to determine if they are valid.
11348func (s *DeleteBaiduChannelInput) Validate() error {
11349	invalidParams := request.ErrInvalidParams{Context: "DeleteBaiduChannelInput"}
11350	if s.ApplicationId == nil {
11351		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
11352	}
11353	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
11354		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
11355	}
11356
11357	if invalidParams.Len() > 0 {
11358		return invalidParams
11359	}
11360	return nil
11361}
11362
11363// SetApplicationId sets the ApplicationId field's value.
11364func (s *DeleteBaiduChannelInput) SetApplicationId(v string) *DeleteBaiduChannelInput {
11365	s.ApplicationId = &v
11366	return s
11367}
11368
11369type DeleteBaiduChannelOutput struct {
11370	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
11371
11372	// Provides information about the status and settings of the Baidu (Baidu Cloud
11373	// Push) channel for an application.
11374	//
11375	// BaiduChannelResponse is a required field
11376	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
11377}
11378
11379// String returns the string representation
11380func (s DeleteBaiduChannelOutput) String() string {
11381	return awsutil.Prettify(s)
11382}
11383
11384// GoString returns the string representation
11385func (s DeleteBaiduChannelOutput) GoString() string {
11386	return s.String()
11387}
11388
11389// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
11390func (s *DeleteBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *DeleteBaiduChannelOutput {
11391	s.BaiduChannelResponse = v
11392	return s
11393}
11394
11395type DeleteCampaignInput struct {
11396	_ struct{} `type:"structure"`
11397
11398	// ApplicationId is a required field
11399	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
11400
11401	// CampaignId is a required field
11402	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
11403}
11404
11405// String returns the string representation
11406func (s DeleteCampaignInput) String() string {
11407	return awsutil.Prettify(s)
11408}
11409
11410// GoString returns the string representation
11411func (s DeleteCampaignInput) GoString() string {
11412	return s.String()
11413}
11414
11415// Validate inspects the fields of the type to determine if they are valid.
11416func (s *DeleteCampaignInput) Validate() error {
11417	invalidParams := request.ErrInvalidParams{Context: "DeleteCampaignInput"}
11418	if s.ApplicationId == nil {
11419		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
11420	}
11421	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
11422		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
11423	}
11424	if s.CampaignId == nil {
11425		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
11426	}
11427	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
11428		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
11429	}
11430
11431	if invalidParams.Len() > 0 {
11432		return invalidParams
11433	}
11434	return nil
11435}
11436
11437// SetApplicationId sets the ApplicationId field's value.
11438func (s *DeleteCampaignInput) SetApplicationId(v string) *DeleteCampaignInput {
11439	s.ApplicationId = &v
11440	return s
11441}
11442
11443// SetCampaignId sets the CampaignId field's value.
11444func (s *DeleteCampaignInput) SetCampaignId(v string) *DeleteCampaignInput {
11445	s.CampaignId = &v
11446	return s
11447}
11448
11449type DeleteCampaignOutput struct {
11450	_ struct{} `type:"structure" payload:"CampaignResponse"`
11451
11452	// Provides information about the status, configuration, and other settings
11453	// for a campaign.
11454	//
11455	// CampaignResponse is a required field
11456	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
11457}
11458
11459// String returns the string representation
11460func (s DeleteCampaignOutput) String() string {
11461	return awsutil.Prettify(s)
11462}
11463
11464// GoString returns the string representation
11465func (s DeleteCampaignOutput) GoString() string {
11466	return s.String()
11467}
11468
11469// SetCampaignResponse sets the CampaignResponse field's value.
11470func (s *DeleteCampaignOutput) SetCampaignResponse(v *CampaignResponse) *DeleteCampaignOutput {
11471	s.CampaignResponse = v
11472	return s
11473}
11474
11475type DeleteEmailChannelInput struct {
11476	_ struct{} `type:"structure"`
11477
11478	// ApplicationId is a required field
11479	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
11480}
11481
11482// String returns the string representation
11483func (s DeleteEmailChannelInput) String() string {
11484	return awsutil.Prettify(s)
11485}
11486
11487// GoString returns the string representation
11488func (s DeleteEmailChannelInput) GoString() string {
11489	return s.String()
11490}
11491
11492// Validate inspects the fields of the type to determine if they are valid.
11493func (s *DeleteEmailChannelInput) Validate() error {
11494	invalidParams := request.ErrInvalidParams{Context: "DeleteEmailChannelInput"}
11495	if s.ApplicationId == nil {
11496		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
11497	}
11498	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
11499		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
11500	}
11501
11502	if invalidParams.Len() > 0 {
11503		return invalidParams
11504	}
11505	return nil
11506}
11507
11508// SetApplicationId sets the ApplicationId field's value.
11509func (s *DeleteEmailChannelInput) SetApplicationId(v string) *DeleteEmailChannelInput {
11510	s.ApplicationId = &v
11511	return s
11512}
11513
11514type DeleteEmailChannelOutput struct {
11515	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
11516
11517	// Provides information about the status and settings of the email channel for
11518	// an application.
11519	//
11520	// EmailChannelResponse is a required field
11521	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
11522}
11523
11524// String returns the string representation
11525func (s DeleteEmailChannelOutput) String() string {
11526	return awsutil.Prettify(s)
11527}
11528
11529// GoString returns the string representation
11530func (s DeleteEmailChannelOutput) GoString() string {
11531	return s.String()
11532}
11533
11534// SetEmailChannelResponse sets the EmailChannelResponse field's value.
11535func (s *DeleteEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *DeleteEmailChannelOutput {
11536	s.EmailChannelResponse = v
11537	return s
11538}
11539
11540type DeleteEndpointInput struct {
11541	_ struct{} `type:"structure"`
11542
11543	// ApplicationId is a required field
11544	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
11545
11546	// EndpointId is a required field
11547	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
11548}
11549
11550// String returns the string representation
11551func (s DeleteEndpointInput) String() string {
11552	return awsutil.Prettify(s)
11553}
11554
11555// GoString returns the string representation
11556func (s DeleteEndpointInput) GoString() string {
11557	return s.String()
11558}
11559
11560// Validate inspects the fields of the type to determine if they are valid.
11561func (s *DeleteEndpointInput) Validate() error {
11562	invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointInput"}
11563	if s.ApplicationId == nil {
11564		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
11565	}
11566	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
11567		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
11568	}
11569	if s.EndpointId == nil {
11570		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
11571	}
11572	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
11573		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
11574	}
11575
11576	if invalidParams.Len() > 0 {
11577		return invalidParams
11578	}
11579	return nil
11580}
11581
11582// SetApplicationId sets the ApplicationId field's value.
11583func (s *DeleteEndpointInput) SetApplicationId(v string) *DeleteEndpointInput {
11584	s.ApplicationId = &v
11585	return s
11586}
11587
11588// SetEndpointId sets the EndpointId field's value.
11589func (s *DeleteEndpointInput) SetEndpointId(v string) *DeleteEndpointInput {
11590	s.EndpointId = &v
11591	return s
11592}
11593
11594type DeleteEndpointOutput struct {
11595	_ struct{} `type:"structure" payload:"EndpointResponse"`
11596
11597	// Provides information about the channel type and other settings for an endpoint.
11598	//
11599	// EndpointResponse is a required field
11600	EndpointResponse *EndpointResponse `type:"structure" required:"true"`
11601}
11602
11603// String returns the string representation
11604func (s DeleteEndpointOutput) String() string {
11605	return awsutil.Prettify(s)
11606}
11607
11608// GoString returns the string representation
11609func (s DeleteEndpointOutput) GoString() string {
11610	return s.String()
11611}
11612
11613// SetEndpointResponse sets the EndpointResponse field's value.
11614func (s *DeleteEndpointOutput) SetEndpointResponse(v *EndpointResponse) *DeleteEndpointOutput {
11615	s.EndpointResponse = v
11616	return s
11617}
11618
11619type DeleteEventStreamInput struct {
11620	_ struct{} `type:"structure"`
11621
11622	// ApplicationId is a required field
11623	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
11624}
11625
11626// String returns the string representation
11627func (s DeleteEventStreamInput) String() string {
11628	return awsutil.Prettify(s)
11629}
11630
11631// GoString returns the string representation
11632func (s DeleteEventStreamInput) GoString() string {
11633	return s.String()
11634}
11635
11636// Validate inspects the fields of the type to determine if they are valid.
11637func (s *DeleteEventStreamInput) Validate() error {
11638	invalidParams := request.ErrInvalidParams{Context: "DeleteEventStreamInput"}
11639	if s.ApplicationId == nil {
11640		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
11641	}
11642	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
11643		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
11644	}
11645
11646	if invalidParams.Len() > 0 {
11647		return invalidParams
11648	}
11649	return nil
11650}
11651
11652// SetApplicationId sets the ApplicationId field's value.
11653func (s *DeleteEventStreamInput) SetApplicationId(v string) *DeleteEventStreamInput {
11654	s.ApplicationId = &v
11655	return s
11656}
11657
11658type DeleteEventStreamOutput struct {
11659	_ struct{} `type:"structure" payload:"EventStream"`
11660
11661	// Specifies settings for publishing event data to an Amazon Kinesis data stream
11662	// or an Amazon Kinesis Data Firehose delivery stream.
11663	//
11664	// EventStream is a required field
11665	EventStream *EventStream `type:"structure" required:"true"`
11666}
11667
11668// String returns the string representation
11669func (s DeleteEventStreamOutput) String() string {
11670	return awsutil.Prettify(s)
11671}
11672
11673// GoString returns the string representation
11674func (s DeleteEventStreamOutput) GoString() string {
11675	return s.String()
11676}
11677
11678// SetEventStream sets the EventStream field's value.
11679func (s *DeleteEventStreamOutput) SetEventStream(v *EventStream) *DeleteEventStreamOutput {
11680	s.EventStream = v
11681	return s
11682}
11683
11684type DeleteGcmChannelInput struct {
11685	_ struct{} `type:"structure"`
11686
11687	// ApplicationId is a required field
11688	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
11689}
11690
11691// String returns the string representation
11692func (s DeleteGcmChannelInput) String() string {
11693	return awsutil.Prettify(s)
11694}
11695
11696// GoString returns the string representation
11697func (s DeleteGcmChannelInput) GoString() string {
11698	return s.String()
11699}
11700
11701// Validate inspects the fields of the type to determine if they are valid.
11702func (s *DeleteGcmChannelInput) Validate() error {
11703	invalidParams := request.ErrInvalidParams{Context: "DeleteGcmChannelInput"}
11704	if s.ApplicationId == nil {
11705		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
11706	}
11707	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
11708		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
11709	}
11710
11711	if invalidParams.Len() > 0 {
11712		return invalidParams
11713	}
11714	return nil
11715}
11716
11717// SetApplicationId sets the ApplicationId field's value.
11718func (s *DeleteGcmChannelInput) SetApplicationId(v string) *DeleteGcmChannelInput {
11719	s.ApplicationId = &v
11720	return s
11721}
11722
11723type DeleteGcmChannelOutput struct {
11724	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
11725
11726	// Provides information about the status and settings of the GCM channel for
11727	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
11728	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
11729	// (GCM), service.
11730	//
11731	// GCMChannelResponse is a required field
11732	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
11733}
11734
11735// String returns the string representation
11736func (s DeleteGcmChannelOutput) String() string {
11737	return awsutil.Prettify(s)
11738}
11739
11740// GoString returns the string representation
11741func (s DeleteGcmChannelOutput) GoString() string {
11742	return s.String()
11743}
11744
11745// SetGCMChannelResponse sets the GCMChannelResponse field's value.
11746func (s *DeleteGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *DeleteGcmChannelOutput {
11747	s.GCMChannelResponse = v
11748	return s
11749}
11750
11751type DeleteSegmentInput struct {
11752	_ struct{} `type:"structure"`
11753
11754	// ApplicationId is a required field
11755	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
11756
11757	// SegmentId is a required field
11758	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
11759}
11760
11761// String returns the string representation
11762func (s DeleteSegmentInput) String() string {
11763	return awsutil.Prettify(s)
11764}
11765
11766// GoString returns the string representation
11767func (s DeleteSegmentInput) GoString() string {
11768	return s.String()
11769}
11770
11771// Validate inspects the fields of the type to determine if they are valid.
11772func (s *DeleteSegmentInput) Validate() error {
11773	invalidParams := request.ErrInvalidParams{Context: "DeleteSegmentInput"}
11774	if s.ApplicationId == nil {
11775		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
11776	}
11777	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
11778		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
11779	}
11780	if s.SegmentId == nil {
11781		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
11782	}
11783	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
11784		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
11785	}
11786
11787	if invalidParams.Len() > 0 {
11788		return invalidParams
11789	}
11790	return nil
11791}
11792
11793// SetApplicationId sets the ApplicationId field's value.
11794func (s *DeleteSegmentInput) SetApplicationId(v string) *DeleteSegmentInput {
11795	s.ApplicationId = &v
11796	return s
11797}
11798
11799// SetSegmentId sets the SegmentId field's value.
11800func (s *DeleteSegmentInput) SetSegmentId(v string) *DeleteSegmentInput {
11801	s.SegmentId = &v
11802	return s
11803}
11804
11805type DeleteSegmentOutput struct {
11806	_ struct{} `type:"structure" payload:"SegmentResponse"`
11807
11808	// Provides information about the configuration, dimension, and other settings
11809	// for a segment.
11810	//
11811	// SegmentResponse is a required field
11812	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
11813}
11814
11815// String returns the string representation
11816func (s DeleteSegmentOutput) String() string {
11817	return awsutil.Prettify(s)
11818}
11819
11820// GoString returns the string representation
11821func (s DeleteSegmentOutput) GoString() string {
11822	return s.String()
11823}
11824
11825// SetSegmentResponse sets the SegmentResponse field's value.
11826func (s *DeleteSegmentOutput) SetSegmentResponse(v *SegmentResponse) *DeleteSegmentOutput {
11827	s.SegmentResponse = v
11828	return s
11829}
11830
11831type DeleteSmsChannelInput struct {
11832	_ struct{} `type:"structure"`
11833
11834	// ApplicationId is a required field
11835	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
11836}
11837
11838// String returns the string representation
11839func (s DeleteSmsChannelInput) String() string {
11840	return awsutil.Prettify(s)
11841}
11842
11843// GoString returns the string representation
11844func (s DeleteSmsChannelInput) GoString() string {
11845	return s.String()
11846}
11847
11848// Validate inspects the fields of the type to determine if they are valid.
11849func (s *DeleteSmsChannelInput) Validate() error {
11850	invalidParams := request.ErrInvalidParams{Context: "DeleteSmsChannelInput"}
11851	if s.ApplicationId == nil {
11852		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
11853	}
11854	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
11855		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
11856	}
11857
11858	if invalidParams.Len() > 0 {
11859		return invalidParams
11860	}
11861	return nil
11862}
11863
11864// SetApplicationId sets the ApplicationId field's value.
11865func (s *DeleteSmsChannelInput) SetApplicationId(v string) *DeleteSmsChannelInput {
11866	s.ApplicationId = &v
11867	return s
11868}
11869
11870type DeleteSmsChannelOutput struct {
11871	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
11872
11873	// Provides information about the status and settings of the SMS channel for
11874	// an application.
11875	//
11876	// SMSChannelResponse is a required field
11877	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
11878}
11879
11880// String returns the string representation
11881func (s DeleteSmsChannelOutput) String() string {
11882	return awsutil.Prettify(s)
11883}
11884
11885// GoString returns the string representation
11886func (s DeleteSmsChannelOutput) GoString() string {
11887	return s.String()
11888}
11889
11890// SetSMSChannelResponse sets the SMSChannelResponse field's value.
11891func (s *DeleteSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *DeleteSmsChannelOutput {
11892	s.SMSChannelResponse = v
11893	return s
11894}
11895
11896type DeleteUserEndpointsInput struct {
11897	_ struct{} `type:"structure"`
11898
11899	// ApplicationId is a required field
11900	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
11901
11902	// UserId is a required field
11903	UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"`
11904}
11905
11906// String returns the string representation
11907func (s DeleteUserEndpointsInput) String() string {
11908	return awsutil.Prettify(s)
11909}
11910
11911// GoString returns the string representation
11912func (s DeleteUserEndpointsInput) GoString() string {
11913	return s.String()
11914}
11915
11916// Validate inspects the fields of the type to determine if they are valid.
11917func (s *DeleteUserEndpointsInput) Validate() error {
11918	invalidParams := request.ErrInvalidParams{Context: "DeleteUserEndpointsInput"}
11919	if s.ApplicationId == nil {
11920		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
11921	}
11922	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
11923		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
11924	}
11925	if s.UserId == nil {
11926		invalidParams.Add(request.NewErrParamRequired("UserId"))
11927	}
11928	if s.UserId != nil && len(*s.UserId) < 1 {
11929		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
11930	}
11931
11932	if invalidParams.Len() > 0 {
11933		return invalidParams
11934	}
11935	return nil
11936}
11937
11938// SetApplicationId sets the ApplicationId field's value.
11939func (s *DeleteUserEndpointsInput) SetApplicationId(v string) *DeleteUserEndpointsInput {
11940	s.ApplicationId = &v
11941	return s
11942}
11943
11944// SetUserId sets the UserId field's value.
11945func (s *DeleteUserEndpointsInput) SetUserId(v string) *DeleteUserEndpointsInput {
11946	s.UserId = &v
11947	return s
11948}
11949
11950type DeleteUserEndpointsOutput struct {
11951	_ struct{} `type:"structure" payload:"EndpointsResponse"`
11952
11953	// Provides information about all the endpoints that are associated with a user
11954	// ID.
11955	//
11956	// EndpointsResponse is a required field
11957	EndpointsResponse *EndpointsResponse `type:"structure" required:"true"`
11958}
11959
11960// String returns the string representation
11961func (s DeleteUserEndpointsOutput) String() string {
11962	return awsutil.Prettify(s)
11963}
11964
11965// GoString returns the string representation
11966func (s DeleteUserEndpointsOutput) GoString() string {
11967	return s.String()
11968}
11969
11970// SetEndpointsResponse sets the EndpointsResponse field's value.
11971func (s *DeleteUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *DeleteUserEndpointsOutput {
11972	s.EndpointsResponse = v
11973	return s
11974}
11975
11976type DeleteVoiceChannelInput struct {
11977	_ struct{} `type:"structure"`
11978
11979	// ApplicationId is a required field
11980	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
11981}
11982
11983// String returns the string representation
11984func (s DeleteVoiceChannelInput) String() string {
11985	return awsutil.Prettify(s)
11986}
11987
11988// GoString returns the string representation
11989func (s DeleteVoiceChannelInput) GoString() string {
11990	return s.String()
11991}
11992
11993// Validate inspects the fields of the type to determine if they are valid.
11994func (s *DeleteVoiceChannelInput) Validate() error {
11995	invalidParams := request.ErrInvalidParams{Context: "DeleteVoiceChannelInput"}
11996	if s.ApplicationId == nil {
11997		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
11998	}
11999	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
12000		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
12001	}
12002
12003	if invalidParams.Len() > 0 {
12004		return invalidParams
12005	}
12006	return nil
12007}
12008
12009// SetApplicationId sets the ApplicationId field's value.
12010func (s *DeleteVoiceChannelInput) SetApplicationId(v string) *DeleteVoiceChannelInput {
12011	s.ApplicationId = &v
12012	return s
12013}
12014
12015type DeleteVoiceChannelOutput struct {
12016	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
12017
12018	// Provides information about the status and settings of the voice channel for
12019	// an application.
12020	//
12021	// VoiceChannelResponse is a required field
12022	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
12023}
12024
12025// String returns the string representation
12026func (s DeleteVoiceChannelOutput) String() string {
12027	return awsutil.Prettify(s)
12028}
12029
12030// GoString returns the string representation
12031func (s DeleteVoiceChannelOutput) GoString() string {
12032	return s.String()
12033}
12034
12035// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
12036func (s *DeleteVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *DeleteVoiceChannelOutput {
12037	s.VoiceChannelResponse = v
12038	return s
12039}
12040
12041// Specifies the settings and content for the default message and any default
12042// messages that you tailored for specific channels.
12043type DirectMessageConfiguration struct {
12044	_ struct{} `type:"structure"`
12045
12046	// The default push notification message for the ADM (Amazon Device Messaging)
12047	// channel. This message overrides the default push notification message (DefaultPushNotificationMessage).
12048	ADMMessage *ADMMessage `type:"structure"`
12049
12050	// The default push notification message for the APNs (Apple Push Notification
12051	// service) channel. This message overrides the default push notification message
12052	// (DefaultPushNotificationMessage).
12053	APNSMessage *APNSMessage `type:"structure"`
12054
12055	// The default push notification message for the Baidu (Baidu Cloud Push) channel.
12056	// This message overrides the default push notification message (DefaultPushNotificationMessage).
12057	BaiduMessage *BaiduMessage `type:"structure"`
12058
12059	// The default message body for all channels.
12060	DefaultMessage *DefaultMessage `type:"structure"`
12061
12062	// The default push notification message for all push channels.
12063	DefaultPushNotificationMessage *DefaultPushNotificationMessage `type:"structure"`
12064
12065	// The default message for the email channel. This message overrides the default
12066	// message (DefaultMessage).
12067	EmailMessage *EmailMessage `type:"structure"`
12068
12069	// The default push notification message for the GCM channel, which is used
12070	// to send notifications through the Firebase Cloud Messaging (FCM), formerly
12071	// Google Cloud Messaging (GCM), service. This message overrides the default
12072	// push notification message (DefaultPushNotificationMessage).
12073	GCMMessage *GCMMessage `type:"structure"`
12074
12075	// The default message for the SMS channel. This message overrides the default
12076	// message (DefaultMessage).
12077	SMSMessage *SMSMessage `type:"structure"`
12078
12079	// The default message for the voice channel. This message overrides the default
12080	// message (DefaultMessage).
12081	VoiceMessage *VoiceMessage `type:"structure"`
12082}
12083
12084// String returns the string representation
12085func (s DirectMessageConfiguration) String() string {
12086	return awsutil.Prettify(s)
12087}
12088
12089// GoString returns the string representation
12090func (s DirectMessageConfiguration) GoString() string {
12091	return s.String()
12092}
12093
12094// SetADMMessage sets the ADMMessage field's value.
12095func (s *DirectMessageConfiguration) SetADMMessage(v *ADMMessage) *DirectMessageConfiguration {
12096	s.ADMMessage = v
12097	return s
12098}
12099
12100// SetAPNSMessage sets the APNSMessage field's value.
12101func (s *DirectMessageConfiguration) SetAPNSMessage(v *APNSMessage) *DirectMessageConfiguration {
12102	s.APNSMessage = v
12103	return s
12104}
12105
12106// SetBaiduMessage sets the BaiduMessage field's value.
12107func (s *DirectMessageConfiguration) SetBaiduMessage(v *BaiduMessage) *DirectMessageConfiguration {
12108	s.BaiduMessage = v
12109	return s
12110}
12111
12112// SetDefaultMessage sets the DefaultMessage field's value.
12113func (s *DirectMessageConfiguration) SetDefaultMessage(v *DefaultMessage) *DirectMessageConfiguration {
12114	s.DefaultMessage = v
12115	return s
12116}
12117
12118// SetDefaultPushNotificationMessage sets the DefaultPushNotificationMessage field's value.
12119func (s *DirectMessageConfiguration) SetDefaultPushNotificationMessage(v *DefaultPushNotificationMessage) *DirectMessageConfiguration {
12120	s.DefaultPushNotificationMessage = v
12121	return s
12122}
12123
12124// SetEmailMessage sets the EmailMessage field's value.
12125func (s *DirectMessageConfiguration) SetEmailMessage(v *EmailMessage) *DirectMessageConfiguration {
12126	s.EmailMessage = v
12127	return s
12128}
12129
12130// SetGCMMessage sets the GCMMessage field's value.
12131func (s *DirectMessageConfiguration) SetGCMMessage(v *GCMMessage) *DirectMessageConfiguration {
12132	s.GCMMessage = v
12133	return s
12134}
12135
12136// SetSMSMessage sets the SMSMessage field's value.
12137func (s *DirectMessageConfiguration) SetSMSMessage(v *SMSMessage) *DirectMessageConfiguration {
12138	s.SMSMessage = v
12139	return s
12140}
12141
12142// SetVoiceMessage sets the VoiceMessage field's value.
12143func (s *DirectMessageConfiguration) SetVoiceMessage(v *VoiceMessage) *DirectMessageConfiguration {
12144	s.VoiceMessage = v
12145	return s
12146}
12147
12148// Specifies the status and settings of the email channel for an application.
12149type EmailChannelRequest struct {
12150	_ struct{} `type:"structure"`
12151
12152	// The configuration set that you want to apply to email that you send through
12153	// the channel by using the Amazon Pinpoint Email API (emailAPIreference.html).
12154	ConfigurationSet *string `type:"string"`
12155
12156	// Specifies whether to enable the email channel for the application.
12157	Enabled *bool `type:"boolean"`
12158
12159	// The verified email address that you want to send email from when you send
12160	// email through the channel.
12161	//
12162	// FromAddress is a required field
12163	FromAddress *string `type:"string" required:"true"`
12164
12165	// The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
12166	// Email Service (Amazon SES), that you want to use when you send email through
12167	// the channel.
12168	//
12169	// Identity is a required field
12170	Identity *string `type:"string" required:"true"`
12171
12172	// The ARN of the AWS Identity and Access Management (IAM) role that you want
12173	// Amazon Pinpoint to use when it submits email-related event data for the channel.
12174	RoleArn *string `type:"string"`
12175}
12176
12177// String returns the string representation
12178func (s EmailChannelRequest) String() string {
12179	return awsutil.Prettify(s)
12180}
12181
12182// GoString returns the string representation
12183func (s EmailChannelRequest) GoString() string {
12184	return s.String()
12185}
12186
12187// Validate inspects the fields of the type to determine if they are valid.
12188func (s *EmailChannelRequest) Validate() error {
12189	invalidParams := request.ErrInvalidParams{Context: "EmailChannelRequest"}
12190	if s.FromAddress == nil {
12191		invalidParams.Add(request.NewErrParamRequired("FromAddress"))
12192	}
12193	if s.Identity == nil {
12194		invalidParams.Add(request.NewErrParamRequired("Identity"))
12195	}
12196
12197	if invalidParams.Len() > 0 {
12198		return invalidParams
12199	}
12200	return nil
12201}
12202
12203// SetConfigurationSet sets the ConfigurationSet field's value.
12204func (s *EmailChannelRequest) SetConfigurationSet(v string) *EmailChannelRequest {
12205	s.ConfigurationSet = &v
12206	return s
12207}
12208
12209// SetEnabled sets the Enabled field's value.
12210func (s *EmailChannelRequest) SetEnabled(v bool) *EmailChannelRequest {
12211	s.Enabled = &v
12212	return s
12213}
12214
12215// SetFromAddress sets the FromAddress field's value.
12216func (s *EmailChannelRequest) SetFromAddress(v string) *EmailChannelRequest {
12217	s.FromAddress = &v
12218	return s
12219}
12220
12221// SetIdentity sets the Identity field's value.
12222func (s *EmailChannelRequest) SetIdentity(v string) *EmailChannelRequest {
12223	s.Identity = &v
12224	return s
12225}
12226
12227// SetRoleArn sets the RoleArn field's value.
12228func (s *EmailChannelRequest) SetRoleArn(v string) *EmailChannelRequest {
12229	s.RoleArn = &v
12230	return s
12231}
12232
12233// Provides information about the status and settings of the email channel for
12234// an application.
12235type EmailChannelResponse struct {
12236	_ struct{} `type:"structure"`
12237
12238	// The unique identifier for the application that the email channel applies
12239	// to.
12240	ApplicationId *string `type:"string"`
12241
12242	// The configuration set that's applied to email that's sent through the channel
12243	// by using the Amazon Pinpoint Email API (emailAPIreference.html).
12244	ConfigurationSet *string `type:"string"`
12245
12246	// The date and time, in ISO 8601 format, when the email channel was enabled.
12247	CreationDate *string `type:"string"`
12248
12249	// Specifies whether the email channel is enabled for the application.
12250	Enabled *bool `type:"boolean"`
12251
12252	// The verified email address that you send email from when you send email through
12253	// the channel.
12254	FromAddress *string `type:"string"`
12255
12256	// (Not used) This property is retained only for backward compatibility.
12257	HasCredential *bool `type:"boolean"`
12258
12259	// (Deprecated) An identifier for the email channel. This property is retained
12260	// only for backward compatibility.
12261	Id *string `type:"string"`
12262
12263	// The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
12264	// Email Service (Amazon SES), that you use when you send email through the
12265	// channel.
12266	Identity *string `type:"string"`
12267
12268	// Specifies whether the email channel is archived.
12269	IsArchived *bool `type:"boolean"`
12270
12271	// The user who last modified the email channel.
12272	LastModifiedBy *string `type:"string"`
12273
12274	// The date and time, in ISO 8601 format, when the email channel was last modified.
12275	LastModifiedDate *string `type:"string"`
12276
12277	// The maximum number of emails that you can send through the channel each second.
12278	MessagesPerSecond *int64 `type:"integer"`
12279
12280	// The type of messaging or notification platform for the channel. For the email
12281	// channel, this value is EMAIL.
12282	//
12283	// Platform is a required field
12284	Platform *string `type:"string" required:"true"`
12285
12286	// The ARN of the AWS Identity and Access Management (IAM) role that Amazon
12287	// Pinpoint uses to submit email-related event data for the channel.
12288	RoleArn *string `type:"string"`
12289
12290	// The current version of the email channel.
12291	Version *int64 `type:"integer"`
12292}
12293
12294// String returns the string representation
12295func (s EmailChannelResponse) String() string {
12296	return awsutil.Prettify(s)
12297}
12298
12299// GoString returns the string representation
12300func (s EmailChannelResponse) GoString() string {
12301	return s.String()
12302}
12303
12304// SetApplicationId sets the ApplicationId field's value.
12305func (s *EmailChannelResponse) SetApplicationId(v string) *EmailChannelResponse {
12306	s.ApplicationId = &v
12307	return s
12308}
12309
12310// SetConfigurationSet sets the ConfigurationSet field's value.
12311func (s *EmailChannelResponse) SetConfigurationSet(v string) *EmailChannelResponse {
12312	s.ConfigurationSet = &v
12313	return s
12314}
12315
12316// SetCreationDate sets the CreationDate field's value.
12317func (s *EmailChannelResponse) SetCreationDate(v string) *EmailChannelResponse {
12318	s.CreationDate = &v
12319	return s
12320}
12321
12322// SetEnabled sets the Enabled field's value.
12323func (s *EmailChannelResponse) SetEnabled(v bool) *EmailChannelResponse {
12324	s.Enabled = &v
12325	return s
12326}
12327
12328// SetFromAddress sets the FromAddress field's value.
12329func (s *EmailChannelResponse) SetFromAddress(v string) *EmailChannelResponse {
12330	s.FromAddress = &v
12331	return s
12332}
12333
12334// SetHasCredential sets the HasCredential field's value.
12335func (s *EmailChannelResponse) SetHasCredential(v bool) *EmailChannelResponse {
12336	s.HasCredential = &v
12337	return s
12338}
12339
12340// SetId sets the Id field's value.
12341func (s *EmailChannelResponse) SetId(v string) *EmailChannelResponse {
12342	s.Id = &v
12343	return s
12344}
12345
12346// SetIdentity sets the Identity field's value.
12347func (s *EmailChannelResponse) SetIdentity(v string) *EmailChannelResponse {
12348	s.Identity = &v
12349	return s
12350}
12351
12352// SetIsArchived sets the IsArchived field's value.
12353func (s *EmailChannelResponse) SetIsArchived(v bool) *EmailChannelResponse {
12354	s.IsArchived = &v
12355	return s
12356}
12357
12358// SetLastModifiedBy sets the LastModifiedBy field's value.
12359func (s *EmailChannelResponse) SetLastModifiedBy(v string) *EmailChannelResponse {
12360	s.LastModifiedBy = &v
12361	return s
12362}
12363
12364// SetLastModifiedDate sets the LastModifiedDate field's value.
12365func (s *EmailChannelResponse) SetLastModifiedDate(v string) *EmailChannelResponse {
12366	s.LastModifiedDate = &v
12367	return s
12368}
12369
12370// SetMessagesPerSecond sets the MessagesPerSecond field's value.
12371func (s *EmailChannelResponse) SetMessagesPerSecond(v int64) *EmailChannelResponse {
12372	s.MessagesPerSecond = &v
12373	return s
12374}
12375
12376// SetPlatform sets the Platform field's value.
12377func (s *EmailChannelResponse) SetPlatform(v string) *EmailChannelResponse {
12378	s.Platform = &v
12379	return s
12380}
12381
12382// SetRoleArn sets the RoleArn field's value.
12383func (s *EmailChannelResponse) SetRoleArn(v string) *EmailChannelResponse {
12384	s.RoleArn = &v
12385	return s
12386}
12387
12388// SetVersion sets the Version field's value.
12389func (s *EmailChannelResponse) SetVersion(v int64) *EmailChannelResponse {
12390	s.Version = &v
12391	return s
12392}
12393
12394// Specifies the default settings and content for a one-time email message that's
12395// sent directly to an endpoint.
12396type EmailMessage struct {
12397	_ struct{} `type:"structure"`
12398
12399	// The body of the email message.
12400	Body *string `type:"string"`
12401
12402	// The email address to forward bounces and complaints to, if feedback forwarding
12403	// is enabled.
12404	FeedbackForwardingAddress *string `type:"string"`
12405
12406	// The verified email address to send the email message from. The default value
12407	// is the FromAddress specified for the email channel.
12408	FromAddress *string `type:"string"`
12409
12410	// The email message, represented as a raw MIME message.
12411	RawEmail *RawEmail `type:"structure"`
12412
12413	// The reply-to email address(es) for the email message. If a recipient replies
12414	// to the email, each reply-to address receives the reply.
12415	ReplyToAddresses []*string `type:"list"`
12416
12417	// The email message, composed of a subject, a text part, and an HTML part.
12418	SimpleEmail *SimpleEmail `type:"structure"`
12419
12420	// The default message variables to use in the email message. You can override
12421	// the default variables with individual address variables.
12422	Substitutions map[string][]*string `type:"map"`
12423}
12424
12425// String returns the string representation
12426func (s EmailMessage) String() string {
12427	return awsutil.Prettify(s)
12428}
12429
12430// GoString returns the string representation
12431func (s EmailMessage) GoString() string {
12432	return s.String()
12433}
12434
12435// SetBody sets the Body field's value.
12436func (s *EmailMessage) SetBody(v string) *EmailMessage {
12437	s.Body = &v
12438	return s
12439}
12440
12441// SetFeedbackForwardingAddress sets the FeedbackForwardingAddress field's value.
12442func (s *EmailMessage) SetFeedbackForwardingAddress(v string) *EmailMessage {
12443	s.FeedbackForwardingAddress = &v
12444	return s
12445}
12446
12447// SetFromAddress sets the FromAddress field's value.
12448func (s *EmailMessage) SetFromAddress(v string) *EmailMessage {
12449	s.FromAddress = &v
12450	return s
12451}
12452
12453// SetRawEmail sets the RawEmail field's value.
12454func (s *EmailMessage) SetRawEmail(v *RawEmail) *EmailMessage {
12455	s.RawEmail = v
12456	return s
12457}
12458
12459// SetReplyToAddresses sets the ReplyToAddresses field's value.
12460func (s *EmailMessage) SetReplyToAddresses(v []*string) *EmailMessage {
12461	s.ReplyToAddresses = v
12462	return s
12463}
12464
12465// SetSimpleEmail sets the SimpleEmail field's value.
12466func (s *EmailMessage) SetSimpleEmail(v *SimpleEmail) *EmailMessage {
12467	s.SimpleEmail = v
12468	return s
12469}
12470
12471// SetSubstitutions sets the Substitutions field's value.
12472func (s *EmailMessage) SetSubstitutions(v map[string][]*string) *EmailMessage {
12473	s.Substitutions = v
12474	return s
12475}
12476
12477// Specifies an endpoint to create or update and the settings and attributes
12478// to set or change for the endpoint.
12479type EndpointBatchItem struct {
12480	_ struct{} `type:"structure"`
12481
12482	// The destination address for messages or push notifications that you send
12483	// to the endpoint. The address varies by channel. For a push-notification channel,
12484	// use the token provided by the push notification service, such as an Apple
12485	// Push Notification service (APNs) device token or a Firebase Cloud Messaging
12486	// (FCM) registration token. For the SMS channel, use a phone number in E.164
12487	// format, such as +12065550100. For the email channel, use an email address.
12488	Address *string `type:"string"`
12489
12490	// One or more custom attributes that describe the endpoint by associating a
12491	// name with an array of values. For example, the value of a custom attribute
12492	// named Interests might be: ["science", "music", "travel"]. You can use these
12493	// attributes as filter criteria when you create segments.
12494	//
12495	// When you define the name of a custom attribute, avoid using the following
12496	// characters: number sign (#), colon (:), question mark (?), backslash (\),
12497	// and slash (/). The Amazon Pinpoint console can't display attribute names
12498	// that contain these characters. This limitation doesn't apply to attribute
12499	// values.
12500	Attributes map[string][]*string `type:"map"`
12501
12502	// The channel to use when sending messages or push notifications to the endpoint.
12503	ChannelType *string `type:"string" enum:"ChannelType"`
12504
12505	// The demographic information for the endpoint, such as the time zone and platform.
12506	Demographic *EndpointDemographic `type:"structure"`
12507
12508	// The date and time, in ISO 8601 format, when the endpoint was created or updated.
12509	EffectiveDate *string `type:"string"`
12510
12511	// Not used.
12512	EndpointStatus *string `type:"string"`
12513
12514	// The unique identifier for the endpoint in the context of the batch.
12515	Id *string `type:"string"`
12516
12517	// The geographic information for the endpoint.
12518	Location *EndpointLocation `type:"structure"`
12519
12520	// One or more custom metrics that your app reports to Amazon Pinpoint for the
12521	// endpoint.
12522	Metrics map[string]*float64 `type:"map"`
12523
12524	// Specifies whether the user who's associated with the endpoint has opted out
12525	// of receiving messages and push notifications from you. Possible values are:
12526	// ALL, the user has opted out and doesn't want to receive any messages or push
12527	// notifications; and, NONE, the user hasn't opted out and wants to receive
12528	// all messages and push notifications.
12529	OptOut *string `type:"string"`
12530
12531	// The unique identifier for the request to create or update the endpoint.
12532	RequestId *string `type:"string"`
12533
12534	// One or more custom user attributes that your app reports to Amazon Pinpoint
12535	// for the user who's associated with the endpoint.
12536	User *EndpointUser `type:"structure"`
12537}
12538
12539// String returns the string representation
12540func (s EndpointBatchItem) String() string {
12541	return awsutil.Prettify(s)
12542}
12543
12544// GoString returns the string representation
12545func (s EndpointBatchItem) GoString() string {
12546	return s.String()
12547}
12548
12549// SetAddress sets the Address field's value.
12550func (s *EndpointBatchItem) SetAddress(v string) *EndpointBatchItem {
12551	s.Address = &v
12552	return s
12553}
12554
12555// SetAttributes sets the Attributes field's value.
12556func (s *EndpointBatchItem) SetAttributes(v map[string][]*string) *EndpointBatchItem {
12557	s.Attributes = v
12558	return s
12559}
12560
12561// SetChannelType sets the ChannelType field's value.
12562func (s *EndpointBatchItem) SetChannelType(v string) *EndpointBatchItem {
12563	s.ChannelType = &v
12564	return s
12565}
12566
12567// SetDemographic sets the Demographic field's value.
12568func (s *EndpointBatchItem) SetDemographic(v *EndpointDemographic) *EndpointBatchItem {
12569	s.Demographic = v
12570	return s
12571}
12572
12573// SetEffectiveDate sets the EffectiveDate field's value.
12574func (s *EndpointBatchItem) SetEffectiveDate(v string) *EndpointBatchItem {
12575	s.EffectiveDate = &v
12576	return s
12577}
12578
12579// SetEndpointStatus sets the EndpointStatus field's value.
12580func (s *EndpointBatchItem) SetEndpointStatus(v string) *EndpointBatchItem {
12581	s.EndpointStatus = &v
12582	return s
12583}
12584
12585// SetId sets the Id field's value.
12586func (s *EndpointBatchItem) SetId(v string) *EndpointBatchItem {
12587	s.Id = &v
12588	return s
12589}
12590
12591// SetLocation sets the Location field's value.
12592func (s *EndpointBatchItem) SetLocation(v *EndpointLocation) *EndpointBatchItem {
12593	s.Location = v
12594	return s
12595}
12596
12597// SetMetrics sets the Metrics field's value.
12598func (s *EndpointBatchItem) SetMetrics(v map[string]*float64) *EndpointBatchItem {
12599	s.Metrics = v
12600	return s
12601}
12602
12603// SetOptOut sets the OptOut field's value.
12604func (s *EndpointBatchItem) SetOptOut(v string) *EndpointBatchItem {
12605	s.OptOut = &v
12606	return s
12607}
12608
12609// SetRequestId sets the RequestId field's value.
12610func (s *EndpointBatchItem) SetRequestId(v string) *EndpointBatchItem {
12611	s.RequestId = &v
12612	return s
12613}
12614
12615// SetUser sets the User field's value.
12616func (s *EndpointBatchItem) SetUser(v *EndpointUser) *EndpointBatchItem {
12617	s.User = v
12618	return s
12619}
12620
12621// Specifies a batch of endpoints to create or update and the settings and attributes
12622// to set or change for each endpoint.
12623type EndpointBatchRequest struct {
12624	_ struct{} `type:"structure"`
12625
12626	// An array that defines the endpoints to create or update and, for each endpoint,
12627	// the property values to set or change. An array can contain a maximum of 100
12628	// items.
12629	//
12630	// Item is a required field
12631	Item []*EndpointBatchItem `type:"list" required:"true"`
12632}
12633
12634// String returns the string representation
12635func (s EndpointBatchRequest) String() string {
12636	return awsutil.Prettify(s)
12637}
12638
12639// GoString returns the string representation
12640func (s EndpointBatchRequest) GoString() string {
12641	return s.String()
12642}
12643
12644// Validate inspects the fields of the type to determine if they are valid.
12645func (s *EndpointBatchRequest) Validate() error {
12646	invalidParams := request.ErrInvalidParams{Context: "EndpointBatchRequest"}
12647	if s.Item == nil {
12648		invalidParams.Add(request.NewErrParamRequired("Item"))
12649	}
12650
12651	if invalidParams.Len() > 0 {
12652		return invalidParams
12653	}
12654	return nil
12655}
12656
12657// SetItem sets the Item field's value.
12658func (s *EndpointBatchRequest) SetItem(v []*EndpointBatchItem) *EndpointBatchRequest {
12659	s.Item = v
12660	return s
12661}
12662
12663// Specifies demographic information about an endpoint, such as the applicable
12664// time zone and platform.
12665type EndpointDemographic struct {
12666	_ struct{} `type:"structure"`
12667
12668	// The version of the app that's associated with the endpoint.
12669	AppVersion *string `type:"string"`
12670
12671	// The locale of the endpoint, in the following format: the ISO 639-1 alpha-2
12672	// code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 value.
12673	Locale *string `type:"string"`
12674
12675	// The manufacturer of the endpoint device, such as Apple or Samsung.
12676	Make *string `type:"string"`
12677
12678	// The model name or number of the endpoint device, such as iPhone.
12679	Model *string `type:"string"`
12680
12681	// The model version of the endpoint device.
12682	ModelVersion *string `type:"string"`
12683
12684	// The platform of the endpoint device, such as iOS or Android.
12685	Platform *string `type:"string"`
12686
12687	// The platform version of the endpoint device.
12688	PlatformVersion *string `type:"string"`
12689
12690	// The time zone of the endpoint, specified as a tz database name value, such
12691	// as America/Los_Angeles.
12692	Timezone *string `type:"string"`
12693}
12694
12695// String returns the string representation
12696func (s EndpointDemographic) String() string {
12697	return awsutil.Prettify(s)
12698}
12699
12700// GoString returns the string representation
12701func (s EndpointDemographic) GoString() string {
12702	return s.String()
12703}
12704
12705// SetAppVersion sets the AppVersion field's value.
12706func (s *EndpointDemographic) SetAppVersion(v string) *EndpointDemographic {
12707	s.AppVersion = &v
12708	return s
12709}
12710
12711// SetLocale sets the Locale field's value.
12712func (s *EndpointDemographic) SetLocale(v string) *EndpointDemographic {
12713	s.Locale = &v
12714	return s
12715}
12716
12717// SetMake sets the Make field's value.
12718func (s *EndpointDemographic) SetMake(v string) *EndpointDemographic {
12719	s.Make = &v
12720	return s
12721}
12722
12723// SetModel sets the Model field's value.
12724func (s *EndpointDemographic) SetModel(v string) *EndpointDemographic {
12725	s.Model = &v
12726	return s
12727}
12728
12729// SetModelVersion sets the ModelVersion field's value.
12730func (s *EndpointDemographic) SetModelVersion(v string) *EndpointDemographic {
12731	s.ModelVersion = &v
12732	return s
12733}
12734
12735// SetPlatform sets the Platform field's value.
12736func (s *EndpointDemographic) SetPlatform(v string) *EndpointDemographic {
12737	s.Platform = &v
12738	return s
12739}
12740
12741// SetPlatformVersion sets the PlatformVersion field's value.
12742func (s *EndpointDemographic) SetPlatformVersion(v string) *EndpointDemographic {
12743	s.PlatformVersion = &v
12744	return s
12745}
12746
12747// SetTimezone sets the Timezone field's value.
12748func (s *EndpointDemographic) SetTimezone(v string) *EndpointDemographic {
12749	s.Timezone = &v
12750	return s
12751}
12752
12753// Provides the status code and message that result from processing data for
12754// an endpoint.
12755type EndpointItemResponse struct {
12756	_ struct{} `type:"structure"`
12757
12758	// The custom message that's returned in the response as a result of processing
12759	// the endpoint data.
12760	Message *string `type:"string"`
12761
12762	// The status code that's returned in the response as a result of processing
12763	// the endpoint data.
12764	StatusCode *int64 `type:"integer"`
12765}
12766
12767// String returns the string representation
12768func (s EndpointItemResponse) String() string {
12769	return awsutil.Prettify(s)
12770}
12771
12772// GoString returns the string representation
12773func (s EndpointItemResponse) GoString() string {
12774	return s.String()
12775}
12776
12777// SetMessage sets the Message field's value.
12778func (s *EndpointItemResponse) SetMessage(v string) *EndpointItemResponse {
12779	s.Message = &v
12780	return s
12781}
12782
12783// SetStatusCode sets the StatusCode field's value.
12784func (s *EndpointItemResponse) SetStatusCode(v int64) *EndpointItemResponse {
12785	s.StatusCode = &v
12786	return s
12787}
12788
12789// Specifies geographic information about an endpoint.
12790type EndpointLocation struct {
12791	_ struct{} `type:"structure"`
12792
12793	// The name of the city where the endpoint is located.
12794	City *string `type:"string"`
12795
12796	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
12797	// region where the endpoint is located. For example, US for the United States.
12798	Country *string `type:"string"`
12799
12800	// The latitude coordinate of the endpoint location, rounded to one decimal
12801	// place.
12802	Latitude *float64 `type:"double"`
12803
12804	// The longitude coordinate of the endpoint location, rounded to one decimal
12805	// place.
12806	Longitude *float64 `type:"double"`
12807
12808	// The postal or ZIP code for the area where the endpoint is located.
12809	PostalCode *string `type:"string"`
12810
12811	// The name of the region where the endpoint is located. For locations in the
12812	// United States, this value is the name of a state.
12813	Region *string `type:"string"`
12814}
12815
12816// String returns the string representation
12817func (s EndpointLocation) String() string {
12818	return awsutil.Prettify(s)
12819}
12820
12821// GoString returns the string representation
12822func (s EndpointLocation) GoString() string {
12823	return s.String()
12824}
12825
12826// SetCity sets the City field's value.
12827func (s *EndpointLocation) SetCity(v string) *EndpointLocation {
12828	s.City = &v
12829	return s
12830}
12831
12832// SetCountry sets the Country field's value.
12833func (s *EndpointLocation) SetCountry(v string) *EndpointLocation {
12834	s.Country = &v
12835	return s
12836}
12837
12838// SetLatitude sets the Latitude field's value.
12839func (s *EndpointLocation) SetLatitude(v float64) *EndpointLocation {
12840	s.Latitude = &v
12841	return s
12842}
12843
12844// SetLongitude sets the Longitude field's value.
12845func (s *EndpointLocation) SetLongitude(v float64) *EndpointLocation {
12846	s.Longitude = &v
12847	return s
12848}
12849
12850// SetPostalCode sets the PostalCode field's value.
12851func (s *EndpointLocation) SetPostalCode(v string) *EndpointLocation {
12852	s.PostalCode = &v
12853	return s
12854}
12855
12856// SetRegion sets the Region field's value.
12857func (s *EndpointLocation) SetRegion(v string) *EndpointLocation {
12858	s.Region = &v
12859	return s
12860}
12861
12862// Provides information about the delivery status and results of sending a message
12863// directly to an endpoint.
12864type EndpointMessageResult struct {
12865	_ struct{} `type:"structure"`
12866
12867	// The endpoint address that the message was delivered to.
12868	Address *string `type:"string"`
12869
12870	// The delivery status of the message. Possible values are:
12871	//
12872	//    * DUPLICATE - The endpoint address is a duplicate of another endpoint
12873	//    address. Amazon Pinpoint won't attempt to send the message again.
12874	//
12875	//    * OPT_OUT - The user who's associated with the endpoint has opted out
12876	//    of receiving messages from you. Amazon Pinpoint won't attempt to send
12877	//    the message again.
12878	//
12879	//    * PERMANENT_FAILURE - An error occurred when delivering the message to
12880	//    the endpoint. Amazon Pinpoint won't attempt to send the message again.
12881	//
12882	//    * SUCCESSFUL - The message was successfully delivered to the endpoint.
12883	//
12884	//    * TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint will
12885	//    attempt to deliver the message again later.
12886	//
12887	//    * THROTTLED - Amazon Pinpoint throttled the operation to send the message
12888	//    to the endpoint.
12889	//
12890	//    * TIMEOUT - The message couldn't be sent within the timeout period.
12891	//
12892	//    * UNKNOWN_FAILURE - An unknown error occurred.
12893	//
12894	// DeliveryStatus is a required field
12895	DeliveryStatus *string `type:"string" required:"true" enum:"DeliveryStatus"`
12896
12897	// The unique identifier for the message that was sent.
12898	MessageId *string `type:"string"`
12899
12900	// The downstream service status code for delivering the message.
12901	//
12902	// StatusCode is a required field
12903	StatusCode *int64 `type:"integer" required:"true"`
12904
12905	// The status message for delivering the message.
12906	StatusMessage *string `type:"string"`
12907
12908	// For push notifications that are sent through the GCM channel, specifies whether
12909	// the token was updated as part of delivering the message.
12910	UpdatedToken *string `type:"string"`
12911}
12912
12913// String returns the string representation
12914func (s EndpointMessageResult) String() string {
12915	return awsutil.Prettify(s)
12916}
12917
12918// GoString returns the string representation
12919func (s EndpointMessageResult) GoString() string {
12920	return s.String()
12921}
12922
12923// SetAddress sets the Address field's value.
12924func (s *EndpointMessageResult) SetAddress(v string) *EndpointMessageResult {
12925	s.Address = &v
12926	return s
12927}
12928
12929// SetDeliveryStatus sets the DeliveryStatus field's value.
12930func (s *EndpointMessageResult) SetDeliveryStatus(v string) *EndpointMessageResult {
12931	s.DeliveryStatus = &v
12932	return s
12933}
12934
12935// SetMessageId sets the MessageId field's value.
12936func (s *EndpointMessageResult) SetMessageId(v string) *EndpointMessageResult {
12937	s.MessageId = &v
12938	return s
12939}
12940
12941// SetStatusCode sets the StatusCode field's value.
12942func (s *EndpointMessageResult) SetStatusCode(v int64) *EndpointMessageResult {
12943	s.StatusCode = &v
12944	return s
12945}
12946
12947// SetStatusMessage sets the StatusMessage field's value.
12948func (s *EndpointMessageResult) SetStatusMessage(v string) *EndpointMessageResult {
12949	s.StatusMessage = &v
12950	return s
12951}
12952
12953// SetUpdatedToken sets the UpdatedToken field's value.
12954func (s *EndpointMessageResult) SetUpdatedToken(v string) *EndpointMessageResult {
12955	s.UpdatedToken = &v
12956	return s
12957}
12958
12959// Specifies the channel type and other settings for an endpoint.
12960type EndpointRequest struct {
12961	_ struct{} `type:"structure"`
12962
12963	// The destination address for messages or push notifications that you send
12964	// to the endpoint. The address varies by channel. For a push-notification channel,
12965	// use the token provided by the push notification service, such as an Apple
12966	// Push Notification service (APNs) device token or a Firebase Cloud Messaging
12967	// (FCM) registration token. For the SMS channel, use a phone number in E.164
12968	// format, such as +12065550100. For the email channel, use an email address.
12969	Address *string `type:"string"`
12970
12971	// One or more custom attributes that describe the endpoint by associating a
12972	// name with an array of values. For example, the value of a custom attribute
12973	// named Interests might be: ["science", "music", "travel"]. You can use these
12974	// attributes as filter criteria when you create segments.
12975	//
12976	// When you define the name of a custom attribute, avoid using the following
12977	// characters: number sign (#), colon (:), question mark (?), backslash (\),
12978	// and slash (/). The Amazon Pinpoint console can't display attribute names
12979	// that contain these characters. This limitation doesn't apply to attribute
12980	// values.
12981	Attributes map[string][]*string `type:"map"`
12982
12983	// The channel to use when sending messages or push notifications to the endpoint.
12984	ChannelType *string `type:"string" enum:"ChannelType"`
12985
12986	// The demographic information for the endpoint, such as the time zone and platform.
12987	Demographic *EndpointDemographic `type:"structure"`
12988
12989	// The date and time, in ISO 8601 format, when the endpoint is updated.
12990	EffectiveDate *string `type:"string"`
12991
12992	// Not used.
12993	EndpointStatus *string `type:"string"`
12994
12995	// The geographic information for the endpoint.
12996	Location *EndpointLocation `type:"structure"`
12997
12998	// One or more custom metrics that your app reports to Amazon Pinpoint for the
12999	// endpoint.
13000	Metrics map[string]*float64 `type:"map"`
13001
13002	// Specifies whether the user who's associated with the endpoint has opted out
13003	// of receiving messages and push notifications from you. Possible values are:
13004	// ALL, the user has opted out and doesn't want to receive any messages or push
13005	// notifications; and, NONE, the user hasn't opted out and wants to receive
13006	// all messages and push notifications.
13007	OptOut *string `type:"string"`
13008
13009	// The unique identifier for the most recent request to update the endpoint.
13010	RequestId *string `type:"string"`
13011
13012	// One or more custom user attributes that describe the user who's associated
13013	// with the endpoint.
13014	User *EndpointUser `type:"structure"`
13015}
13016
13017// String returns the string representation
13018func (s EndpointRequest) String() string {
13019	return awsutil.Prettify(s)
13020}
13021
13022// GoString returns the string representation
13023func (s EndpointRequest) GoString() string {
13024	return s.String()
13025}
13026
13027// SetAddress sets the Address field's value.
13028func (s *EndpointRequest) SetAddress(v string) *EndpointRequest {
13029	s.Address = &v
13030	return s
13031}
13032
13033// SetAttributes sets the Attributes field's value.
13034func (s *EndpointRequest) SetAttributes(v map[string][]*string) *EndpointRequest {
13035	s.Attributes = v
13036	return s
13037}
13038
13039// SetChannelType sets the ChannelType field's value.
13040func (s *EndpointRequest) SetChannelType(v string) *EndpointRequest {
13041	s.ChannelType = &v
13042	return s
13043}
13044
13045// SetDemographic sets the Demographic field's value.
13046func (s *EndpointRequest) SetDemographic(v *EndpointDemographic) *EndpointRequest {
13047	s.Demographic = v
13048	return s
13049}
13050
13051// SetEffectiveDate sets the EffectiveDate field's value.
13052func (s *EndpointRequest) SetEffectiveDate(v string) *EndpointRequest {
13053	s.EffectiveDate = &v
13054	return s
13055}
13056
13057// SetEndpointStatus sets the EndpointStatus field's value.
13058func (s *EndpointRequest) SetEndpointStatus(v string) *EndpointRequest {
13059	s.EndpointStatus = &v
13060	return s
13061}
13062
13063// SetLocation sets the Location field's value.
13064func (s *EndpointRequest) SetLocation(v *EndpointLocation) *EndpointRequest {
13065	s.Location = v
13066	return s
13067}
13068
13069// SetMetrics sets the Metrics field's value.
13070func (s *EndpointRequest) SetMetrics(v map[string]*float64) *EndpointRequest {
13071	s.Metrics = v
13072	return s
13073}
13074
13075// SetOptOut sets the OptOut field's value.
13076func (s *EndpointRequest) SetOptOut(v string) *EndpointRequest {
13077	s.OptOut = &v
13078	return s
13079}
13080
13081// SetRequestId sets the RequestId field's value.
13082func (s *EndpointRequest) SetRequestId(v string) *EndpointRequest {
13083	s.RequestId = &v
13084	return s
13085}
13086
13087// SetUser sets the User field's value.
13088func (s *EndpointRequest) SetUser(v *EndpointUser) *EndpointRequest {
13089	s.User = v
13090	return s
13091}
13092
13093// Provides information about the channel type and other settings for an endpoint.
13094type EndpointResponse struct {
13095	_ struct{} `type:"structure"`
13096
13097	// The destination address for messages or push notifications that you send
13098	// to the endpoint. The address varies by channel. For example, the address
13099	// for a push-notification channel is typically the token provided by a push
13100	// notification service, such as an Apple Push Notification service (APNs) device
13101	// token or a Firebase Cloud Messaging (FCM) registration token. The address
13102	// for the SMS channel is a phone number in E.164 format, such as +12065550100.
13103	// The address for the email channel is an email address.
13104	Address *string `type:"string"`
13105
13106	// The unique identifier for the application that's associated with the endpoint.
13107	ApplicationId *string `type:"string"`
13108
13109	// One or more custom attributes that describe the endpoint by associating a
13110	// name with an array of values. For example, the value of a custom attribute
13111	// named Interests might be: ["science", "music", "travel"]. You can use these
13112	// attributes as filter criteria when you create segments.
13113	Attributes map[string][]*string `type:"map"`
13114
13115	// The channel that's used when sending messages or push notifications to the
13116	// endpoint.
13117	ChannelType *string `type:"string" enum:"ChannelType"`
13118
13119	// A number from 0-99 that represents the cohort that the endpoint is assigned
13120	// to. Endpoints are grouped into cohorts randomly, and each cohort contains
13121	// approximately 1 percent of the endpoints for an application. Amazon Pinpoint
13122	// assigns cohorts to the holdout or treatment allocations for campaigns.
13123	CohortId *string `type:"string"`
13124
13125	// The date and time, in ISO 8601 format, when the endpoint was created.
13126	CreationDate *string `type:"string"`
13127
13128	// The demographic information for the endpoint, such as the time zone and platform.
13129	Demographic *EndpointDemographic `type:"structure"`
13130
13131	// The date and time, in ISO 8601 format, when the endpoint was last updated.
13132	EffectiveDate *string `type:"string"`
13133
13134	// Not used.
13135	EndpointStatus *string `type:"string"`
13136
13137	// The unique identifier that you assigned to the endpoint. The identifier should
13138	// be a globally unique identifier (GUID) to ensure that it doesn't conflict
13139	// with other endpoint identifiers that are associated with the application.
13140	Id *string `type:"string"`
13141
13142	// The geographic information for the endpoint.
13143	Location *EndpointLocation `type:"structure"`
13144
13145	// One or more custom metrics that your app reports to Amazon Pinpoint for the
13146	// endpoint.
13147	Metrics map[string]*float64 `type:"map"`
13148
13149	// Specifies whether the user who's associated with the endpoint has opted out
13150	// of receiving messages and push notifications from you. Possible values are:
13151	// ALL, the user has opted out and doesn't want to receive any messages or push
13152	// notifications; and, NONE, the user hasn't opted out and wants to receive
13153	// all messages and push notifications.
13154	OptOut *string `type:"string"`
13155
13156	// The unique identifier for the most recent request to update the endpoint.
13157	RequestId *string `type:"string"`
13158
13159	// One or more custom user attributes that your app reports to Amazon Pinpoint
13160	// for the user who's associated with the endpoint.
13161	User *EndpointUser `type:"structure"`
13162}
13163
13164// String returns the string representation
13165func (s EndpointResponse) String() string {
13166	return awsutil.Prettify(s)
13167}
13168
13169// GoString returns the string representation
13170func (s EndpointResponse) GoString() string {
13171	return s.String()
13172}
13173
13174// SetAddress sets the Address field's value.
13175func (s *EndpointResponse) SetAddress(v string) *EndpointResponse {
13176	s.Address = &v
13177	return s
13178}
13179
13180// SetApplicationId sets the ApplicationId field's value.
13181func (s *EndpointResponse) SetApplicationId(v string) *EndpointResponse {
13182	s.ApplicationId = &v
13183	return s
13184}
13185
13186// SetAttributes sets the Attributes field's value.
13187func (s *EndpointResponse) SetAttributes(v map[string][]*string) *EndpointResponse {
13188	s.Attributes = v
13189	return s
13190}
13191
13192// SetChannelType sets the ChannelType field's value.
13193func (s *EndpointResponse) SetChannelType(v string) *EndpointResponse {
13194	s.ChannelType = &v
13195	return s
13196}
13197
13198// SetCohortId sets the CohortId field's value.
13199func (s *EndpointResponse) SetCohortId(v string) *EndpointResponse {
13200	s.CohortId = &v
13201	return s
13202}
13203
13204// SetCreationDate sets the CreationDate field's value.
13205func (s *EndpointResponse) SetCreationDate(v string) *EndpointResponse {
13206	s.CreationDate = &v
13207	return s
13208}
13209
13210// SetDemographic sets the Demographic field's value.
13211func (s *EndpointResponse) SetDemographic(v *EndpointDemographic) *EndpointResponse {
13212	s.Demographic = v
13213	return s
13214}
13215
13216// SetEffectiveDate sets the EffectiveDate field's value.
13217func (s *EndpointResponse) SetEffectiveDate(v string) *EndpointResponse {
13218	s.EffectiveDate = &v
13219	return s
13220}
13221
13222// SetEndpointStatus sets the EndpointStatus field's value.
13223func (s *EndpointResponse) SetEndpointStatus(v string) *EndpointResponse {
13224	s.EndpointStatus = &v
13225	return s
13226}
13227
13228// SetId sets the Id field's value.
13229func (s *EndpointResponse) SetId(v string) *EndpointResponse {
13230	s.Id = &v
13231	return s
13232}
13233
13234// SetLocation sets the Location field's value.
13235func (s *EndpointResponse) SetLocation(v *EndpointLocation) *EndpointResponse {
13236	s.Location = v
13237	return s
13238}
13239
13240// SetMetrics sets the Metrics field's value.
13241func (s *EndpointResponse) SetMetrics(v map[string]*float64) *EndpointResponse {
13242	s.Metrics = v
13243	return s
13244}
13245
13246// SetOptOut sets the OptOut field's value.
13247func (s *EndpointResponse) SetOptOut(v string) *EndpointResponse {
13248	s.OptOut = &v
13249	return s
13250}
13251
13252// SetRequestId sets the RequestId field's value.
13253func (s *EndpointResponse) SetRequestId(v string) *EndpointResponse {
13254	s.RequestId = &v
13255	return s
13256}
13257
13258// SetUser sets the User field's value.
13259func (s *EndpointResponse) SetUser(v *EndpointUser) *EndpointResponse {
13260	s.User = v
13261	return s
13262}
13263
13264// Specifies the content, including message variables and attributes, to use
13265// in a message that's sent directly to an endpoint.
13266type EndpointSendConfiguration struct {
13267	_ struct{} `type:"structure"`
13268
13269	// The body of the message. If specified, this value overrides the default message
13270	// body.
13271	BodyOverride *string `type:"string"`
13272
13273	// A map of custom attributes to attach to the message for the address. For
13274	// a push notification, this payload is added to the data.pinpoint object. For
13275	// an email or text message, this payload is added to email/SMS delivery receipt
13276	// event attributes.
13277	Context map[string]*string `type:"map"`
13278
13279	// The raw, JSON-formatted string to use as the payload for the message. If
13280	// specified, this value overrides the message.
13281	RawContent *string `type:"string"`
13282
13283	// A map of the message variables to merge with the variables specified for
13284	// the default message (DefaultMessage.Substitutions). The variables specified
13285	// in this map take precedence over all other variables.
13286	Substitutions map[string][]*string `type:"map"`
13287
13288	// The title or subject line of the message. If specified, this value overrides
13289	// the default message title or subject line.
13290	TitleOverride *string `type:"string"`
13291}
13292
13293// String returns the string representation
13294func (s EndpointSendConfiguration) String() string {
13295	return awsutil.Prettify(s)
13296}
13297
13298// GoString returns the string representation
13299func (s EndpointSendConfiguration) GoString() string {
13300	return s.String()
13301}
13302
13303// SetBodyOverride sets the BodyOverride field's value.
13304func (s *EndpointSendConfiguration) SetBodyOverride(v string) *EndpointSendConfiguration {
13305	s.BodyOverride = &v
13306	return s
13307}
13308
13309// SetContext sets the Context field's value.
13310func (s *EndpointSendConfiguration) SetContext(v map[string]*string) *EndpointSendConfiguration {
13311	s.Context = v
13312	return s
13313}
13314
13315// SetRawContent sets the RawContent field's value.
13316func (s *EndpointSendConfiguration) SetRawContent(v string) *EndpointSendConfiguration {
13317	s.RawContent = &v
13318	return s
13319}
13320
13321// SetSubstitutions sets the Substitutions field's value.
13322func (s *EndpointSendConfiguration) SetSubstitutions(v map[string][]*string) *EndpointSendConfiguration {
13323	s.Substitutions = v
13324	return s
13325}
13326
13327// SetTitleOverride sets the TitleOverride field's value.
13328func (s *EndpointSendConfiguration) SetTitleOverride(v string) *EndpointSendConfiguration {
13329	s.TitleOverride = &v
13330	return s
13331}
13332
13333// Specifies data for one or more attributes that describe the user who's associated
13334// with an endpoint.
13335type EndpointUser struct {
13336	_ struct{} `type:"structure"`
13337
13338	// One or more custom attributes that describe the user by associating a name
13339	// with an array of values. For example, the value of an attribute named Interests
13340	// might be: ["science", "music", "travel"]. You can use these attributes as
13341	// filter criteria when you create segments.
13342	//
13343	// When you define the name of a custom attribute, avoid using the following
13344	// characters: number sign (#), colon (:), question mark (?), backslash (\),
13345	// and slash (/). The Amazon Pinpoint console can't display attribute names
13346	// that contain these characters. This limitation doesn't apply to attribute
13347	// values.
13348	UserAttributes map[string][]*string `type:"map"`
13349
13350	// The unique identifier for the user.
13351	UserId *string `type:"string"`
13352}
13353
13354// String returns the string representation
13355func (s EndpointUser) String() string {
13356	return awsutil.Prettify(s)
13357}
13358
13359// GoString returns the string representation
13360func (s EndpointUser) GoString() string {
13361	return s.String()
13362}
13363
13364// SetUserAttributes sets the UserAttributes field's value.
13365func (s *EndpointUser) SetUserAttributes(v map[string][]*string) *EndpointUser {
13366	s.UserAttributes = v
13367	return s
13368}
13369
13370// SetUserId sets the UserId field's value.
13371func (s *EndpointUser) SetUserId(v string) *EndpointUser {
13372	s.UserId = &v
13373	return s
13374}
13375
13376// Provides information about all the endpoints that are associated with a user
13377// ID.
13378type EndpointsResponse struct {
13379	_ struct{} `type:"structure"`
13380
13381	// An array of responses, one for each endpoint that's associated with the user
13382	// ID.
13383	//
13384	// Item is a required field
13385	Item []*EndpointResponse `type:"list" required:"true"`
13386}
13387
13388// String returns the string representation
13389func (s EndpointsResponse) String() string {
13390	return awsutil.Prettify(s)
13391}
13392
13393// GoString returns the string representation
13394func (s EndpointsResponse) GoString() string {
13395	return s.String()
13396}
13397
13398// SetItem sets the Item field's value.
13399func (s *EndpointsResponse) SetItem(v []*EndpointResponse) *EndpointsResponse {
13400	s.Item = v
13401	return s
13402}
13403
13404// Specifies information about an event that reports data to Amazon Pinpoint.
13405type Event struct {
13406	_ struct{} `type:"structure"`
13407
13408	// The package name of the app that's recording the event.
13409	AppPackageName *string `type:"string"`
13410
13411	// The title of the app that's recording the event.
13412	AppTitle *string `type:"string"`
13413
13414	// The version number of the app that's recording the event.
13415	AppVersionCode *string `type:"string"`
13416
13417	// One or more custom attributes that are associated with the event.
13418	Attributes map[string]*string `type:"map"`
13419
13420	// The version of the SDK that's running on the client device.
13421	ClientSdkVersion *string `type:"string"`
13422
13423	// The name of the event.
13424	//
13425	// EventType is a required field
13426	EventType *string `type:"string" required:"true"`
13427
13428	// One or more custom metrics that are associated with the event.
13429	Metrics map[string]*float64 `type:"map"`
13430
13431	// The name of the SDK that's being used to record the event.
13432	SdkName *string `type:"string"`
13433
13434	// Information about the session in which the event occurred.
13435	Session *Session `type:"structure"`
13436
13437	// The date and time, in ISO 8601 format, when the event occurred.
13438	//
13439	// Timestamp is a required field
13440	Timestamp *string `type:"string" required:"true"`
13441}
13442
13443// String returns the string representation
13444func (s Event) String() string {
13445	return awsutil.Prettify(s)
13446}
13447
13448// GoString returns the string representation
13449func (s Event) GoString() string {
13450	return s.String()
13451}
13452
13453// Validate inspects the fields of the type to determine if they are valid.
13454func (s *Event) Validate() error {
13455	invalidParams := request.ErrInvalidParams{Context: "Event"}
13456	if s.EventType == nil {
13457		invalidParams.Add(request.NewErrParamRequired("EventType"))
13458	}
13459	if s.Timestamp == nil {
13460		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
13461	}
13462	if s.Session != nil {
13463		if err := s.Session.Validate(); err != nil {
13464			invalidParams.AddNested("Session", err.(request.ErrInvalidParams))
13465		}
13466	}
13467
13468	if invalidParams.Len() > 0 {
13469		return invalidParams
13470	}
13471	return nil
13472}
13473
13474// SetAppPackageName sets the AppPackageName field's value.
13475func (s *Event) SetAppPackageName(v string) *Event {
13476	s.AppPackageName = &v
13477	return s
13478}
13479
13480// SetAppTitle sets the AppTitle field's value.
13481func (s *Event) SetAppTitle(v string) *Event {
13482	s.AppTitle = &v
13483	return s
13484}
13485
13486// SetAppVersionCode sets the AppVersionCode field's value.
13487func (s *Event) SetAppVersionCode(v string) *Event {
13488	s.AppVersionCode = &v
13489	return s
13490}
13491
13492// SetAttributes sets the Attributes field's value.
13493func (s *Event) SetAttributes(v map[string]*string) *Event {
13494	s.Attributes = v
13495	return s
13496}
13497
13498// SetClientSdkVersion sets the ClientSdkVersion field's value.
13499func (s *Event) SetClientSdkVersion(v string) *Event {
13500	s.ClientSdkVersion = &v
13501	return s
13502}
13503
13504// SetEventType sets the EventType field's value.
13505func (s *Event) SetEventType(v string) *Event {
13506	s.EventType = &v
13507	return s
13508}
13509
13510// SetMetrics sets the Metrics field's value.
13511func (s *Event) SetMetrics(v map[string]*float64) *Event {
13512	s.Metrics = v
13513	return s
13514}
13515
13516// SetSdkName sets the SdkName field's value.
13517func (s *Event) SetSdkName(v string) *Event {
13518	s.SdkName = &v
13519	return s
13520}
13521
13522// SetSession sets the Session field's value.
13523func (s *Event) SetSession(v *Session) *Event {
13524	s.Session = v
13525	return s
13526}
13527
13528// SetTimestamp sets the Timestamp field's value.
13529func (s *Event) SetTimestamp(v string) *Event {
13530	s.Timestamp = &v
13531	return s
13532}
13533
13534// Specifies the dimensions for an event filter that determines when a campaign
13535// is sent.
13536type EventDimensions struct {
13537	_ struct{} `type:"structure"`
13538
13539	// One or more custom attributes that your app reports to Amazon Pinpoint. You
13540	// can use these attributes as selection criteria when you create an event filter.
13541	Attributes map[string]*AttributeDimension `type:"map"`
13542
13543	// The name of the event that causes the campaign to be sent. This can be a
13544	// standard type of event that Amazon Pinpoint generates, such as _session.start,
13545	// or a custom event that's specific to your app.
13546	EventType *SetDimension `type:"structure"`
13547
13548	// One or more custom metrics that your app reports to Amazon Pinpoint. You
13549	// can use these metrics as selection criteria when you create an event filter.
13550	Metrics map[string]*MetricDimension `type:"map"`
13551}
13552
13553// String returns the string representation
13554func (s EventDimensions) String() string {
13555	return awsutil.Prettify(s)
13556}
13557
13558// GoString returns the string representation
13559func (s EventDimensions) GoString() string {
13560	return s.String()
13561}
13562
13563// Validate inspects the fields of the type to determine if they are valid.
13564func (s *EventDimensions) Validate() error {
13565	invalidParams := request.ErrInvalidParams{Context: "EventDimensions"}
13566	if s.Attributes != nil {
13567		for i, v := range s.Attributes {
13568			if v == nil {
13569				continue
13570			}
13571			if err := v.Validate(); err != nil {
13572				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
13573			}
13574		}
13575	}
13576	if s.EventType != nil {
13577		if err := s.EventType.Validate(); err != nil {
13578			invalidParams.AddNested("EventType", err.(request.ErrInvalidParams))
13579		}
13580	}
13581	if s.Metrics != nil {
13582		for i, v := range s.Metrics {
13583			if v == nil {
13584				continue
13585			}
13586			if err := v.Validate(); err != nil {
13587				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams))
13588			}
13589		}
13590	}
13591
13592	if invalidParams.Len() > 0 {
13593		return invalidParams
13594	}
13595	return nil
13596}
13597
13598// SetAttributes sets the Attributes field's value.
13599func (s *EventDimensions) SetAttributes(v map[string]*AttributeDimension) *EventDimensions {
13600	s.Attributes = v
13601	return s
13602}
13603
13604// SetEventType sets the EventType field's value.
13605func (s *EventDimensions) SetEventType(v *SetDimension) *EventDimensions {
13606	s.EventType = v
13607	return s
13608}
13609
13610// SetMetrics sets the Metrics field's value.
13611func (s *EventDimensions) SetMetrics(v map[string]*MetricDimension) *EventDimensions {
13612	s.Metrics = v
13613	return s
13614}
13615
13616// Provides the status code and message that result from processing an event.
13617type EventItemResponse struct {
13618	_ struct{} `type:"structure"`
13619
13620	// A custom message that's returned in the response as a result of processing
13621	// the event.
13622	Message *string `type:"string"`
13623
13624	// The status code that's returned in the response as a result of processing
13625	// the event. Possible values are: 202, for events that were accepted; and,
13626	// 400, for events that weren't valid.
13627	StatusCode *int64 `type:"integer"`
13628}
13629
13630// String returns the string representation
13631func (s EventItemResponse) String() string {
13632	return awsutil.Prettify(s)
13633}
13634
13635// GoString returns the string representation
13636func (s EventItemResponse) GoString() string {
13637	return s.String()
13638}
13639
13640// SetMessage sets the Message field's value.
13641func (s *EventItemResponse) SetMessage(v string) *EventItemResponse {
13642	s.Message = &v
13643	return s
13644}
13645
13646// SetStatusCode sets the StatusCode field's value.
13647func (s *EventItemResponse) SetStatusCode(v int64) *EventItemResponse {
13648	s.StatusCode = &v
13649	return s
13650}
13651
13652// Specifies settings for publishing event data to an Amazon Kinesis data stream
13653// or an Amazon Kinesis Data Firehose delivery stream.
13654type EventStream struct {
13655	_ struct{} `type:"structure"`
13656
13657	// The unique identifier for the application to publish event data for.
13658	//
13659	// ApplicationId is a required field
13660	ApplicationId *string `type:"string" required:"true"`
13661
13662	// The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon
13663	// Kinesis Data Firehose delivery stream to publish event data to.
13664	//
13665	// For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name
13666	//
13667	// For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name
13668	//
13669	// DestinationStreamArn is a required field
13670	DestinationStreamArn *string `type:"string" required:"true"`
13671
13672	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
13673	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
13674	// an IAM role when publishing event data, but we removed this requirement.
13675	// We don't recommend use of external IDs for IAM roles that are assumed by
13676	// Amazon Pinpoint.
13677	ExternalId *string `type:"string"`
13678
13679	// The date, in ISO 8601 format, when the event stream was last modified.
13680	LastModifiedDate *string `type:"string"`
13681
13682	// The IAM user who last modified the event stream.
13683	LastUpdatedBy *string `type:"string"`
13684
13685	// The AWS Identity and Access Management (IAM) role that authorizes Amazon
13686	// Pinpoint to publish event data to the stream in your AWS account.
13687	//
13688	// RoleArn is a required field
13689	RoleArn *string `type:"string" required:"true"`
13690}
13691
13692// String returns the string representation
13693func (s EventStream) String() string {
13694	return awsutil.Prettify(s)
13695}
13696
13697// GoString returns the string representation
13698func (s EventStream) GoString() string {
13699	return s.String()
13700}
13701
13702// SetApplicationId sets the ApplicationId field's value.
13703func (s *EventStream) SetApplicationId(v string) *EventStream {
13704	s.ApplicationId = &v
13705	return s
13706}
13707
13708// SetDestinationStreamArn sets the DestinationStreamArn field's value.
13709func (s *EventStream) SetDestinationStreamArn(v string) *EventStream {
13710	s.DestinationStreamArn = &v
13711	return s
13712}
13713
13714// SetExternalId sets the ExternalId field's value.
13715func (s *EventStream) SetExternalId(v string) *EventStream {
13716	s.ExternalId = &v
13717	return s
13718}
13719
13720// SetLastModifiedDate sets the LastModifiedDate field's value.
13721func (s *EventStream) SetLastModifiedDate(v string) *EventStream {
13722	s.LastModifiedDate = &v
13723	return s
13724}
13725
13726// SetLastUpdatedBy sets the LastUpdatedBy field's value.
13727func (s *EventStream) SetLastUpdatedBy(v string) *EventStream {
13728	s.LastUpdatedBy = &v
13729	return s
13730}
13731
13732// SetRoleArn sets the RoleArn field's value.
13733func (s *EventStream) SetRoleArn(v string) *EventStream {
13734	s.RoleArn = &v
13735	return s
13736}
13737
13738// Specifies a batch of endpoints and events to process.
13739type EventsBatch struct {
13740	_ struct{} `type:"structure"`
13741
13742	// A set of properties and attributes that are associated with the endpoint.
13743	//
13744	// Endpoint is a required field
13745	Endpoint *PublicEndpoint `type:"structure" required:"true"`
13746
13747	// A set of properties that are associated with the event.
13748	//
13749	// Events is a required field
13750	Events map[string]*Event `type:"map" required:"true"`
13751}
13752
13753// String returns the string representation
13754func (s EventsBatch) String() string {
13755	return awsutil.Prettify(s)
13756}
13757
13758// GoString returns the string representation
13759func (s EventsBatch) GoString() string {
13760	return s.String()
13761}
13762
13763// Validate inspects the fields of the type to determine if they are valid.
13764func (s *EventsBatch) Validate() error {
13765	invalidParams := request.ErrInvalidParams{Context: "EventsBatch"}
13766	if s.Endpoint == nil {
13767		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
13768	}
13769	if s.Events == nil {
13770		invalidParams.Add(request.NewErrParamRequired("Events"))
13771	}
13772	if s.Events != nil {
13773		for i, v := range s.Events {
13774			if v == nil {
13775				continue
13776			}
13777			if err := v.Validate(); err != nil {
13778				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams))
13779			}
13780		}
13781	}
13782
13783	if invalidParams.Len() > 0 {
13784		return invalidParams
13785	}
13786	return nil
13787}
13788
13789// SetEndpoint sets the Endpoint field's value.
13790func (s *EventsBatch) SetEndpoint(v *PublicEndpoint) *EventsBatch {
13791	s.Endpoint = v
13792	return s
13793}
13794
13795// SetEvents sets the Events field's value.
13796func (s *EventsBatch) SetEvents(v map[string]*Event) *EventsBatch {
13797	s.Events = v
13798	return s
13799}
13800
13801// Specifies a batch of events to process.
13802type EventsRequest struct {
13803	_ struct{} `type:"structure"`
13804
13805	// The batch of events to process. For each item in a batch, the endpoint ID
13806	// acts as a key that has an EventsBatch object as its value.
13807	//
13808	// BatchItem is a required field
13809	BatchItem map[string]*EventsBatch `type:"map" required:"true"`
13810}
13811
13812// String returns the string representation
13813func (s EventsRequest) String() string {
13814	return awsutil.Prettify(s)
13815}
13816
13817// GoString returns the string representation
13818func (s EventsRequest) GoString() string {
13819	return s.String()
13820}
13821
13822// Validate inspects the fields of the type to determine if they are valid.
13823func (s *EventsRequest) Validate() error {
13824	invalidParams := request.ErrInvalidParams{Context: "EventsRequest"}
13825	if s.BatchItem == nil {
13826		invalidParams.Add(request.NewErrParamRequired("BatchItem"))
13827	}
13828	if s.BatchItem != nil {
13829		for i, v := range s.BatchItem {
13830			if v == nil {
13831				continue
13832			}
13833			if err := v.Validate(); err != nil {
13834				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BatchItem", i), err.(request.ErrInvalidParams))
13835			}
13836		}
13837	}
13838
13839	if invalidParams.Len() > 0 {
13840		return invalidParams
13841	}
13842	return nil
13843}
13844
13845// SetBatchItem sets the BatchItem field's value.
13846func (s *EventsRequest) SetBatchItem(v map[string]*EventsBatch) *EventsRequest {
13847	s.BatchItem = v
13848	return s
13849}
13850
13851// Provides information about endpoints and the events that they're associated
13852// with.
13853type EventsResponse struct {
13854	_ struct{} `type:"structure"`
13855
13856	// A map that contains a multipart response for each endpoint. For each item
13857	// in this object, the endpoint ID is the key and the item response is the value.
13858	// If no item response exists, the value can also be one of the following: 202,
13859	// the request was processed successfully; or 400, the payload wasn't valid
13860	// or required fields were missing.
13861	Results map[string]*ItemResponse `type:"map"`
13862}
13863
13864// String returns the string representation
13865func (s EventsResponse) String() string {
13866	return awsutil.Prettify(s)
13867}
13868
13869// GoString returns the string representation
13870func (s EventsResponse) GoString() string {
13871	return s.String()
13872}
13873
13874// SetResults sets the Results field's value.
13875func (s *EventsResponse) SetResults(v map[string]*ItemResponse) *EventsResponse {
13876	s.Results = v
13877	return s
13878}
13879
13880// Specifies the settings for a job that exports endpoint definitions to an
13881// Amazon Simple Storage Service (Amazon S3) bucket.
13882type ExportJobRequest struct {
13883	_ struct{} `type:"structure"`
13884
13885	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
13886	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
13887	// where you want to export endpoint definitions to.
13888	//
13889	// RoleArn is a required field
13890	RoleArn *string `type:"string" required:"true"`
13891
13892	// The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket
13893	// where you want to export endpoint definitions to. This location is typically
13894	// a folder that contains multiple files. The URL should be in the following
13895	// format: s3://bucket-name/folder-name/.
13896	//
13897	// S3UrlPrefix is a required field
13898	S3UrlPrefix *string `type:"string" required:"true"`
13899
13900	// The identifier for the segment to export endpoint definitions from. If you
13901	// don't specify this value, Amazon Pinpoint exports definitions for all the
13902	// endpoints that are associated with the application.
13903	SegmentId *string `type:"string"`
13904
13905	// The version of the segment to export endpoint definitions from, if specified.
13906	SegmentVersion *int64 `type:"integer"`
13907}
13908
13909// String returns the string representation
13910func (s ExportJobRequest) String() string {
13911	return awsutil.Prettify(s)
13912}
13913
13914// GoString returns the string representation
13915func (s ExportJobRequest) GoString() string {
13916	return s.String()
13917}
13918
13919// Validate inspects the fields of the type to determine if they are valid.
13920func (s *ExportJobRequest) Validate() error {
13921	invalidParams := request.ErrInvalidParams{Context: "ExportJobRequest"}
13922	if s.RoleArn == nil {
13923		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
13924	}
13925	if s.S3UrlPrefix == nil {
13926		invalidParams.Add(request.NewErrParamRequired("S3UrlPrefix"))
13927	}
13928
13929	if invalidParams.Len() > 0 {
13930		return invalidParams
13931	}
13932	return nil
13933}
13934
13935// SetRoleArn sets the RoleArn field's value.
13936func (s *ExportJobRequest) SetRoleArn(v string) *ExportJobRequest {
13937	s.RoleArn = &v
13938	return s
13939}
13940
13941// SetS3UrlPrefix sets the S3UrlPrefix field's value.
13942func (s *ExportJobRequest) SetS3UrlPrefix(v string) *ExportJobRequest {
13943	s.S3UrlPrefix = &v
13944	return s
13945}
13946
13947// SetSegmentId sets the SegmentId field's value.
13948func (s *ExportJobRequest) SetSegmentId(v string) *ExportJobRequest {
13949	s.SegmentId = &v
13950	return s
13951}
13952
13953// SetSegmentVersion sets the SegmentVersion field's value.
13954func (s *ExportJobRequest) SetSegmentVersion(v int64) *ExportJobRequest {
13955	s.SegmentVersion = &v
13956	return s
13957}
13958
13959// Provides information about the resource settings for a job that exports endpoint
13960// definitions to a file. The file can be added directly to an Amazon Simple
13961// Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API or downloaded
13962// directly to a computer by using the Amazon Pinpoint console.
13963type ExportJobResource struct {
13964	_ struct{} `type:"structure"`
13965
13966	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
13967	// (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location
13968	// where the endpoint definitions were exported to.
13969	//
13970	// RoleArn is a required field
13971	RoleArn *string `type:"string" required:"true"`
13972
13973	// The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket
13974	// where the endpoint definitions were exported to. This location is typically
13975	// a folder that contains multiple files. The URL should be in the following
13976	// format: s3://bucket-name/folder-name/.
13977	//
13978	// S3UrlPrefix is a required field
13979	S3UrlPrefix *string `type:"string" required:"true"`
13980
13981	// The identifier for the segment that the endpoint definitions were exported
13982	// from. If this value isn't present, Amazon Pinpoint exported definitions for
13983	// all the endpoints that are associated with the application.
13984	SegmentId *string `type:"string"`
13985
13986	// The version of the segment that the endpoint definitions were exported from.
13987	SegmentVersion *int64 `type:"integer"`
13988}
13989
13990// String returns the string representation
13991func (s ExportJobResource) String() string {
13992	return awsutil.Prettify(s)
13993}
13994
13995// GoString returns the string representation
13996func (s ExportJobResource) GoString() string {
13997	return s.String()
13998}
13999
14000// SetRoleArn sets the RoleArn field's value.
14001func (s *ExportJobResource) SetRoleArn(v string) *ExportJobResource {
14002	s.RoleArn = &v
14003	return s
14004}
14005
14006// SetS3UrlPrefix sets the S3UrlPrefix field's value.
14007func (s *ExportJobResource) SetS3UrlPrefix(v string) *ExportJobResource {
14008	s.S3UrlPrefix = &v
14009	return s
14010}
14011
14012// SetSegmentId sets the SegmentId field's value.
14013func (s *ExportJobResource) SetSegmentId(v string) *ExportJobResource {
14014	s.SegmentId = &v
14015	return s
14016}
14017
14018// SetSegmentVersion sets the SegmentVersion field's value.
14019func (s *ExportJobResource) SetSegmentVersion(v int64) *ExportJobResource {
14020	s.SegmentVersion = &v
14021	return s
14022}
14023
14024// Provides information about the status and settings of a job that exports
14025// endpoint definitions to a file. The file can be added directly to an Amazon
14026// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
14027// or downloaded directly to a computer by using the Amazon Pinpoint console.
14028type ExportJobResponse struct {
14029	_ struct{} `type:"structure"`
14030
14031	// The unique identifier for the application that's associated with the export
14032	// job.
14033	//
14034	// ApplicationId is a required field
14035	ApplicationId *string `type:"string" required:"true"`
14036
14037	// The number of pieces that were processed successfully (completed) by the
14038	// export job, as of the time of the request.
14039	CompletedPieces *int64 `type:"integer"`
14040
14041	// The date, in ISO 8601 format, when the export job was completed.
14042	CompletionDate *string `type:"string"`
14043
14044	// The date, in ISO 8601 format, when the export job was created.
14045	//
14046	// CreationDate is a required field
14047	CreationDate *string `type:"string" required:"true"`
14048
14049	// The resource settings that apply to the export job.
14050	//
14051	// Definition is a required field
14052	Definition *ExportJobResource `type:"structure" required:"true"`
14053
14054	// The number of pieces that weren't processed successfully (failed) by the
14055	// export job, as of the time of the request.
14056	FailedPieces *int64 `type:"integer"`
14057
14058	// An array of entries, one for each of the first 100 entries that weren't processed
14059	// successfully (failed) by the export job, if any.
14060	Failures []*string `type:"list"`
14061
14062	// The unique identifier for the export job.
14063	//
14064	// Id is a required field
14065	Id *string `type:"string" required:"true"`
14066
14067	// The status of the export job. The job status is FAILED if Amazon Pinpoint
14068	// wasn't able to process one or more pieces in the job.
14069	//
14070	// JobStatus is a required field
14071	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
14072
14073	// The total number of endpoint definitions that weren't processed successfully
14074	// (failed) by the export job, typically because an error, such as a syntax
14075	// error, occurred.
14076	TotalFailures *int64 `type:"integer"`
14077
14078	// The total number of pieces that must be processed to complete the export
14079	// job. Each piece consists of an approximately equal portion of the endpoint
14080	// definitions that are part of the export job.
14081	TotalPieces *int64 `type:"integer"`
14082
14083	// The total number of endpoint definitions that were processed by the export
14084	// job.
14085	TotalProcessed *int64 `type:"integer"`
14086
14087	// The job type. This value is EXPORT for export jobs.
14088	//
14089	// Type is a required field
14090	Type *string `type:"string" required:"true"`
14091}
14092
14093// String returns the string representation
14094func (s ExportJobResponse) String() string {
14095	return awsutil.Prettify(s)
14096}
14097
14098// GoString returns the string representation
14099func (s ExportJobResponse) GoString() string {
14100	return s.String()
14101}
14102
14103// SetApplicationId sets the ApplicationId field's value.
14104func (s *ExportJobResponse) SetApplicationId(v string) *ExportJobResponse {
14105	s.ApplicationId = &v
14106	return s
14107}
14108
14109// SetCompletedPieces sets the CompletedPieces field's value.
14110func (s *ExportJobResponse) SetCompletedPieces(v int64) *ExportJobResponse {
14111	s.CompletedPieces = &v
14112	return s
14113}
14114
14115// SetCompletionDate sets the CompletionDate field's value.
14116func (s *ExportJobResponse) SetCompletionDate(v string) *ExportJobResponse {
14117	s.CompletionDate = &v
14118	return s
14119}
14120
14121// SetCreationDate sets the CreationDate field's value.
14122func (s *ExportJobResponse) SetCreationDate(v string) *ExportJobResponse {
14123	s.CreationDate = &v
14124	return s
14125}
14126
14127// SetDefinition sets the Definition field's value.
14128func (s *ExportJobResponse) SetDefinition(v *ExportJobResource) *ExportJobResponse {
14129	s.Definition = v
14130	return s
14131}
14132
14133// SetFailedPieces sets the FailedPieces field's value.
14134func (s *ExportJobResponse) SetFailedPieces(v int64) *ExportJobResponse {
14135	s.FailedPieces = &v
14136	return s
14137}
14138
14139// SetFailures sets the Failures field's value.
14140func (s *ExportJobResponse) SetFailures(v []*string) *ExportJobResponse {
14141	s.Failures = v
14142	return s
14143}
14144
14145// SetId sets the Id field's value.
14146func (s *ExportJobResponse) SetId(v string) *ExportJobResponse {
14147	s.Id = &v
14148	return s
14149}
14150
14151// SetJobStatus sets the JobStatus field's value.
14152func (s *ExportJobResponse) SetJobStatus(v string) *ExportJobResponse {
14153	s.JobStatus = &v
14154	return s
14155}
14156
14157// SetTotalFailures sets the TotalFailures field's value.
14158func (s *ExportJobResponse) SetTotalFailures(v int64) *ExportJobResponse {
14159	s.TotalFailures = &v
14160	return s
14161}
14162
14163// SetTotalPieces sets the TotalPieces field's value.
14164func (s *ExportJobResponse) SetTotalPieces(v int64) *ExportJobResponse {
14165	s.TotalPieces = &v
14166	return s
14167}
14168
14169// SetTotalProcessed sets the TotalProcessed field's value.
14170func (s *ExportJobResponse) SetTotalProcessed(v int64) *ExportJobResponse {
14171	s.TotalProcessed = &v
14172	return s
14173}
14174
14175// SetType sets the Type field's value.
14176func (s *ExportJobResponse) SetType(v string) *ExportJobResponse {
14177	s.Type = &v
14178	return s
14179}
14180
14181// Provides information about all the export jobs that are associated with an
14182// application or segment. An export job is a job that exports endpoint definitions
14183// to a file.
14184type ExportJobsResponse struct {
14185	_ struct{} `type:"structure"`
14186
14187	// An array of responses, one for each export job that's associated with the
14188	// application (Export Jobs resource) or segment (Segment Export Jobs resource).
14189	//
14190	// Item is a required field
14191	Item []*ExportJobResponse `type:"list" required:"true"`
14192
14193	// The string to use in a subsequent request to get the next page of results
14194	// in a paginated response. This value is null if there are no additional pages.
14195	NextToken *string `type:"string"`
14196}
14197
14198// String returns the string representation
14199func (s ExportJobsResponse) String() string {
14200	return awsutil.Prettify(s)
14201}
14202
14203// GoString returns the string representation
14204func (s ExportJobsResponse) GoString() string {
14205	return s.String()
14206}
14207
14208// SetItem sets the Item field's value.
14209func (s *ExportJobsResponse) SetItem(v []*ExportJobResponse) *ExportJobsResponse {
14210	s.Item = v
14211	return s
14212}
14213
14214// SetNextToken sets the NextToken field's value.
14215func (s *ExportJobsResponse) SetNextToken(v string) *ExportJobsResponse {
14216	s.NextToken = &v
14217	return s
14218}
14219
14220// Specifies the status and settings of the GCM channel for an application.
14221// This channel enables Amazon Pinpoint to send push notifications through the
14222// Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.
14223type GCMChannelRequest struct {
14224	_ struct{} `type:"structure"`
14225
14226	// The API key, also referred to as a server key, that you received from Google
14227	// to communicate with Google services.
14228	//
14229	// ApiKey is a required field
14230	ApiKey *string `type:"string" required:"true"`
14231
14232	// Specifies whether to enable the GCM channel for the application.
14233	Enabled *bool `type:"boolean"`
14234}
14235
14236// String returns the string representation
14237func (s GCMChannelRequest) String() string {
14238	return awsutil.Prettify(s)
14239}
14240
14241// GoString returns the string representation
14242func (s GCMChannelRequest) GoString() string {
14243	return s.String()
14244}
14245
14246// Validate inspects the fields of the type to determine if they are valid.
14247func (s *GCMChannelRequest) Validate() error {
14248	invalidParams := request.ErrInvalidParams{Context: "GCMChannelRequest"}
14249	if s.ApiKey == nil {
14250		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
14251	}
14252
14253	if invalidParams.Len() > 0 {
14254		return invalidParams
14255	}
14256	return nil
14257}
14258
14259// SetApiKey sets the ApiKey field's value.
14260func (s *GCMChannelRequest) SetApiKey(v string) *GCMChannelRequest {
14261	s.ApiKey = &v
14262	return s
14263}
14264
14265// SetEnabled sets the Enabled field's value.
14266func (s *GCMChannelRequest) SetEnabled(v bool) *GCMChannelRequest {
14267	s.Enabled = &v
14268	return s
14269}
14270
14271// Provides information about the status and settings of the GCM channel for
14272// an application. The GCM channel enables Amazon Pinpoint to send push notifications
14273// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
14274// (GCM), service.
14275type GCMChannelResponse struct {
14276	_ struct{} `type:"structure"`
14277
14278	// The unique identifier for the application that the GCM channel applies to.
14279	ApplicationId *string `type:"string"`
14280
14281	// The date and time when the GCM channel was enabled.
14282	CreationDate *string `type:"string"`
14283
14284	// The API key, also referred to as a server key, that you received from Google
14285	// to communicate with Google services.
14286	//
14287	// Credential is a required field
14288	Credential *string `type:"string" required:"true"`
14289
14290	// Specifies whether the GCM channel is enabled for the application.
14291	Enabled *bool `type:"boolean"`
14292
14293	// (Not used) This property is retained only for backward compatibility.
14294	HasCredential *bool `type:"boolean"`
14295
14296	// (Deprecated) An identifier for the GCM channel. This property is retained
14297	// only for backward compatibility.
14298	Id *string `type:"string"`
14299
14300	// Specifies whether the GCM channel is archived.
14301	IsArchived *bool `type:"boolean"`
14302
14303	// The user who last modified the GCM channel.
14304	LastModifiedBy *string `type:"string"`
14305
14306	// The date and time when the GCM channel was last modified.
14307	LastModifiedDate *string `type:"string"`
14308
14309	// The type of messaging or notification platform for the channel. For the GCM
14310	// channel, this value is GCM.
14311	//
14312	// Platform is a required field
14313	Platform *string `type:"string" required:"true"`
14314
14315	// The current version of the GCM channel.
14316	Version *int64 `type:"integer"`
14317}
14318
14319// String returns the string representation
14320func (s GCMChannelResponse) String() string {
14321	return awsutil.Prettify(s)
14322}
14323
14324// GoString returns the string representation
14325func (s GCMChannelResponse) GoString() string {
14326	return s.String()
14327}
14328
14329// SetApplicationId sets the ApplicationId field's value.
14330func (s *GCMChannelResponse) SetApplicationId(v string) *GCMChannelResponse {
14331	s.ApplicationId = &v
14332	return s
14333}
14334
14335// SetCreationDate sets the CreationDate field's value.
14336func (s *GCMChannelResponse) SetCreationDate(v string) *GCMChannelResponse {
14337	s.CreationDate = &v
14338	return s
14339}
14340
14341// SetCredential sets the Credential field's value.
14342func (s *GCMChannelResponse) SetCredential(v string) *GCMChannelResponse {
14343	s.Credential = &v
14344	return s
14345}
14346
14347// SetEnabled sets the Enabled field's value.
14348func (s *GCMChannelResponse) SetEnabled(v bool) *GCMChannelResponse {
14349	s.Enabled = &v
14350	return s
14351}
14352
14353// SetHasCredential sets the HasCredential field's value.
14354func (s *GCMChannelResponse) SetHasCredential(v bool) *GCMChannelResponse {
14355	s.HasCredential = &v
14356	return s
14357}
14358
14359// SetId sets the Id field's value.
14360func (s *GCMChannelResponse) SetId(v string) *GCMChannelResponse {
14361	s.Id = &v
14362	return s
14363}
14364
14365// SetIsArchived sets the IsArchived field's value.
14366func (s *GCMChannelResponse) SetIsArchived(v bool) *GCMChannelResponse {
14367	s.IsArchived = &v
14368	return s
14369}
14370
14371// SetLastModifiedBy sets the LastModifiedBy field's value.
14372func (s *GCMChannelResponse) SetLastModifiedBy(v string) *GCMChannelResponse {
14373	s.LastModifiedBy = &v
14374	return s
14375}
14376
14377// SetLastModifiedDate sets the LastModifiedDate field's value.
14378func (s *GCMChannelResponse) SetLastModifiedDate(v string) *GCMChannelResponse {
14379	s.LastModifiedDate = &v
14380	return s
14381}
14382
14383// SetPlatform sets the Platform field's value.
14384func (s *GCMChannelResponse) SetPlatform(v string) *GCMChannelResponse {
14385	s.Platform = &v
14386	return s
14387}
14388
14389// SetVersion sets the Version field's value.
14390func (s *GCMChannelResponse) SetVersion(v int64) *GCMChannelResponse {
14391	s.Version = &v
14392	return s
14393}
14394
14395// Specifies the settings for a one-time message that's sent directly to an
14396// endpoint through the GCM channel. The GCM channel enables Amazon Pinpoint
14397// to send messages to the Firebase Cloud Messaging (FCM), formerly Google Cloud
14398// Messaging (GCM), service.
14399type GCMMessage struct {
14400	_ struct{} `type:"structure"`
14401
14402	// The action to occur if the recipient taps the push notification. Valid values
14403	// are:
14404	//
14405	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
14406	//    sent to the background. This is the default action.
14407	//
14408	//    * DEEP_LINK - Your app opens and displays a designated user interface
14409	//    in the app. This action uses the deep-linking features of the Android
14410	//    platform.
14411	//
14412	//    * URL - The default mobile browser on the recipient's device opens and
14413	//    loads the web page at a URL that you specify.
14414	Action *string `type:"string" enum:"Action"`
14415
14416	// The body of the notification message.
14417	Body *string `type:"string"`
14418
14419	// An arbitrary string that identifies a group of messages that can be collapsed
14420	// to ensure that only the last message is sent when delivery can resume. This
14421	// helps avoid sending too many instances of the same messages when the recipient's
14422	// device comes online again or becomes active.
14423	//
14424	// Amazon Pinpoint specifies this value in the Firebase Cloud Messaging (FCM)
14425	// collapse_key parameter when it sends the notification message to FCM.
14426	CollapseKey *string `type:"string"`
14427
14428	// The JSON data payload to use for the push notification, if the notification
14429	// is a silent push notification. This payload is added to the data.pinpoint.jsonBody
14430	// object of the notification.
14431	Data map[string]*string `type:"map"`
14432
14433	// The icon image name of the asset saved in your app.
14434	IconReference *string `type:"string"`
14435
14436	// The URL of the large icon image to display in the content view of the push
14437	// notification.
14438	ImageIconUrl *string `type:"string"`
14439
14440	// The URL of an image to display in the push notification.
14441	ImageUrl *string `type:"string"`
14442
14443	// para>normal - The notification might be delayed. Delivery is optimized for
14444	// battery usage on the recipient's device. Use this value unless immediate
14445	// delivery is required.
14446	// /listitem>
14447	// high - The notification is sent immediately and might wake a sleeping device.
14448	// /para>
14449	// Amazon Pinpoint specifies this value in the FCM priority parameter when it
14450	// sends the notification message to FCM.
14451	//
14452	// The equivalent values for Apple Push Notification service (APNs) are 5, for
14453	// normal, and 10, for high. If you specify an APNs value for this property,
14454	// Amazon Pinpoint accepts and converts the value to the corresponding FCM value.
14455	Priority *string `type:"string"`
14456
14457	// The raw, JSON-formatted string to use as the payload for the notification
14458	// message. This value overrides the message.
14459	RawContent *string `type:"string"`
14460
14461	// The package name of the application where registration tokens must match
14462	// in order for the recipient to receive the message.
14463	RestrictedPackageName *string `type:"string"`
14464
14465	// Specifies whether the notification is a silent push notification, which is
14466	// a push notification that doesn't display on a recipient's device. Silent
14467	// push notifications can be used for cases such as updating an app's configuration
14468	// or supporting phone home functionality.
14469	SilentPush *bool `type:"boolean"`
14470
14471	// The URL of the small icon image to display in the status bar and the content
14472	// view of the push notification.
14473	SmallImageIconUrl *string `type:"string"`
14474
14475	// The sound to play when the recipient receives the push notification. You
14476	// can use the default stream or specify the file name of a sound resource that's
14477	// bundled in your app. On an Android platform, the sound file must reside in
14478	// /res/raw/.
14479	Sound *string `type:"string"`
14480
14481	// The default message variables to use in the notification message. You can
14482	// override the default variables with individual address variables.
14483	Substitutions map[string][]*string `type:"map"`
14484
14485	// The amount of time, in seconds, that FCM should store and attempt to deliver
14486	// the push notification, if the service is unable to deliver the notification
14487	// the first time. If you don't specify this value, FCM defaults to the maximum
14488	// value, which is 2,419,200 seconds (28 days).
14489	//
14490	// Amazon Pinpoint specifies this value in the FCM time_to_live parameter when
14491	// it sends the notification message to FCM.
14492	TimeToLive *int64 `type:"integer"`
14493
14494	// The title to display above the notification message on the recipient's device.
14495	Title *string `type:"string"`
14496
14497	// The URL to open in the recipient's default mobile browser, if a recipient
14498	// taps the push notification and the value of the Action property is URL.
14499	Url *string `type:"string"`
14500}
14501
14502// String returns the string representation
14503func (s GCMMessage) String() string {
14504	return awsutil.Prettify(s)
14505}
14506
14507// GoString returns the string representation
14508func (s GCMMessage) GoString() string {
14509	return s.String()
14510}
14511
14512// SetAction sets the Action field's value.
14513func (s *GCMMessage) SetAction(v string) *GCMMessage {
14514	s.Action = &v
14515	return s
14516}
14517
14518// SetBody sets the Body field's value.
14519func (s *GCMMessage) SetBody(v string) *GCMMessage {
14520	s.Body = &v
14521	return s
14522}
14523
14524// SetCollapseKey sets the CollapseKey field's value.
14525func (s *GCMMessage) SetCollapseKey(v string) *GCMMessage {
14526	s.CollapseKey = &v
14527	return s
14528}
14529
14530// SetData sets the Data field's value.
14531func (s *GCMMessage) SetData(v map[string]*string) *GCMMessage {
14532	s.Data = v
14533	return s
14534}
14535
14536// SetIconReference sets the IconReference field's value.
14537func (s *GCMMessage) SetIconReference(v string) *GCMMessage {
14538	s.IconReference = &v
14539	return s
14540}
14541
14542// SetImageIconUrl sets the ImageIconUrl field's value.
14543func (s *GCMMessage) SetImageIconUrl(v string) *GCMMessage {
14544	s.ImageIconUrl = &v
14545	return s
14546}
14547
14548// SetImageUrl sets the ImageUrl field's value.
14549func (s *GCMMessage) SetImageUrl(v string) *GCMMessage {
14550	s.ImageUrl = &v
14551	return s
14552}
14553
14554// SetPriority sets the Priority field's value.
14555func (s *GCMMessage) SetPriority(v string) *GCMMessage {
14556	s.Priority = &v
14557	return s
14558}
14559
14560// SetRawContent sets the RawContent field's value.
14561func (s *GCMMessage) SetRawContent(v string) *GCMMessage {
14562	s.RawContent = &v
14563	return s
14564}
14565
14566// SetRestrictedPackageName sets the RestrictedPackageName field's value.
14567func (s *GCMMessage) SetRestrictedPackageName(v string) *GCMMessage {
14568	s.RestrictedPackageName = &v
14569	return s
14570}
14571
14572// SetSilentPush sets the SilentPush field's value.
14573func (s *GCMMessage) SetSilentPush(v bool) *GCMMessage {
14574	s.SilentPush = &v
14575	return s
14576}
14577
14578// SetSmallImageIconUrl sets the SmallImageIconUrl field's value.
14579func (s *GCMMessage) SetSmallImageIconUrl(v string) *GCMMessage {
14580	s.SmallImageIconUrl = &v
14581	return s
14582}
14583
14584// SetSound sets the Sound field's value.
14585func (s *GCMMessage) SetSound(v string) *GCMMessage {
14586	s.Sound = &v
14587	return s
14588}
14589
14590// SetSubstitutions sets the Substitutions field's value.
14591func (s *GCMMessage) SetSubstitutions(v map[string][]*string) *GCMMessage {
14592	s.Substitutions = v
14593	return s
14594}
14595
14596// SetTimeToLive sets the TimeToLive field's value.
14597func (s *GCMMessage) SetTimeToLive(v int64) *GCMMessage {
14598	s.TimeToLive = &v
14599	return s
14600}
14601
14602// SetTitle sets the Title field's value.
14603func (s *GCMMessage) SetTitle(v string) *GCMMessage {
14604	s.Title = &v
14605	return s
14606}
14607
14608// SetUrl sets the Url field's value.
14609func (s *GCMMessage) SetUrl(v string) *GCMMessage {
14610	s.Url = &v
14611	return s
14612}
14613
14614// Specifies the GPS coordinates of a location.
14615type GPSCoordinates struct {
14616	_ struct{} `type:"structure"`
14617
14618	// The latitude coordinate of the location.
14619	//
14620	// Latitude is a required field
14621	Latitude *float64 `type:"double" required:"true"`
14622
14623	// The longitude coordinate of the location.
14624	//
14625	// Longitude is a required field
14626	Longitude *float64 `type:"double" required:"true"`
14627}
14628
14629// String returns the string representation
14630func (s GPSCoordinates) String() string {
14631	return awsutil.Prettify(s)
14632}
14633
14634// GoString returns the string representation
14635func (s GPSCoordinates) GoString() string {
14636	return s.String()
14637}
14638
14639// Validate inspects the fields of the type to determine if they are valid.
14640func (s *GPSCoordinates) Validate() error {
14641	invalidParams := request.ErrInvalidParams{Context: "GPSCoordinates"}
14642	if s.Latitude == nil {
14643		invalidParams.Add(request.NewErrParamRequired("Latitude"))
14644	}
14645	if s.Longitude == nil {
14646		invalidParams.Add(request.NewErrParamRequired("Longitude"))
14647	}
14648
14649	if invalidParams.Len() > 0 {
14650		return invalidParams
14651	}
14652	return nil
14653}
14654
14655// SetLatitude sets the Latitude field's value.
14656func (s *GPSCoordinates) SetLatitude(v float64) *GPSCoordinates {
14657	s.Latitude = &v
14658	return s
14659}
14660
14661// SetLongitude sets the Longitude field's value.
14662func (s *GPSCoordinates) SetLongitude(v float64) *GPSCoordinates {
14663	s.Longitude = &v
14664	return s
14665}
14666
14667// Specifies GPS-based criteria for including or excluding endpoints from a
14668// segment.
14669type GPSPointDimension struct {
14670	_ struct{} `type:"structure"`
14671
14672	// The GPS coordinates to measure distance from.
14673	//
14674	// Coordinates is a required field
14675	Coordinates *GPSCoordinates `type:"structure" required:"true"`
14676
14677	// The range, in kilometers, from the GPS coordinates.
14678	RangeInKilometers *float64 `type:"double"`
14679}
14680
14681// String returns the string representation
14682func (s GPSPointDimension) String() string {
14683	return awsutil.Prettify(s)
14684}
14685
14686// GoString returns the string representation
14687func (s GPSPointDimension) GoString() string {
14688	return s.String()
14689}
14690
14691// Validate inspects the fields of the type to determine if they are valid.
14692func (s *GPSPointDimension) Validate() error {
14693	invalidParams := request.ErrInvalidParams{Context: "GPSPointDimension"}
14694	if s.Coordinates == nil {
14695		invalidParams.Add(request.NewErrParamRequired("Coordinates"))
14696	}
14697	if s.Coordinates != nil {
14698		if err := s.Coordinates.Validate(); err != nil {
14699			invalidParams.AddNested("Coordinates", err.(request.ErrInvalidParams))
14700		}
14701	}
14702
14703	if invalidParams.Len() > 0 {
14704		return invalidParams
14705	}
14706	return nil
14707}
14708
14709// SetCoordinates sets the Coordinates field's value.
14710func (s *GPSPointDimension) SetCoordinates(v *GPSCoordinates) *GPSPointDimension {
14711	s.Coordinates = v
14712	return s
14713}
14714
14715// SetRangeInKilometers sets the RangeInKilometers field's value.
14716func (s *GPSPointDimension) SetRangeInKilometers(v float64) *GPSPointDimension {
14717	s.RangeInKilometers = &v
14718	return s
14719}
14720
14721type GetAdmChannelInput struct {
14722	_ struct{} `type:"structure"`
14723
14724	// ApplicationId is a required field
14725	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
14726}
14727
14728// String returns the string representation
14729func (s GetAdmChannelInput) String() string {
14730	return awsutil.Prettify(s)
14731}
14732
14733// GoString returns the string representation
14734func (s GetAdmChannelInput) GoString() string {
14735	return s.String()
14736}
14737
14738// Validate inspects the fields of the type to determine if they are valid.
14739func (s *GetAdmChannelInput) Validate() error {
14740	invalidParams := request.ErrInvalidParams{Context: "GetAdmChannelInput"}
14741	if s.ApplicationId == nil {
14742		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
14743	}
14744	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
14745		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
14746	}
14747
14748	if invalidParams.Len() > 0 {
14749		return invalidParams
14750	}
14751	return nil
14752}
14753
14754// SetApplicationId sets the ApplicationId field's value.
14755func (s *GetAdmChannelInput) SetApplicationId(v string) *GetAdmChannelInput {
14756	s.ApplicationId = &v
14757	return s
14758}
14759
14760type GetAdmChannelOutput struct {
14761	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
14762
14763	// Provides information about the status and settings of the ADM (Amazon Device
14764	// Messaging) channel for an application.
14765	//
14766	// ADMChannelResponse is a required field
14767	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
14768}
14769
14770// String returns the string representation
14771func (s GetAdmChannelOutput) String() string {
14772	return awsutil.Prettify(s)
14773}
14774
14775// GoString returns the string representation
14776func (s GetAdmChannelOutput) GoString() string {
14777	return s.String()
14778}
14779
14780// SetADMChannelResponse sets the ADMChannelResponse field's value.
14781func (s *GetAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *GetAdmChannelOutput {
14782	s.ADMChannelResponse = v
14783	return s
14784}
14785
14786type GetApnsChannelInput struct {
14787	_ struct{} `type:"structure"`
14788
14789	// ApplicationId is a required field
14790	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
14791}
14792
14793// String returns the string representation
14794func (s GetApnsChannelInput) String() string {
14795	return awsutil.Prettify(s)
14796}
14797
14798// GoString returns the string representation
14799func (s GetApnsChannelInput) GoString() string {
14800	return s.String()
14801}
14802
14803// Validate inspects the fields of the type to determine if they are valid.
14804func (s *GetApnsChannelInput) Validate() error {
14805	invalidParams := request.ErrInvalidParams{Context: "GetApnsChannelInput"}
14806	if s.ApplicationId == nil {
14807		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
14808	}
14809	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
14810		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
14811	}
14812
14813	if invalidParams.Len() > 0 {
14814		return invalidParams
14815	}
14816	return nil
14817}
14818
14819// SetApplicationId sets the ApplicationId field's value.
14820func (s *GetApnsChannelInput) SetApplicationId(v string) *GetApnsChannelInput {
14821	s.ApplicationId = &v
14822	return s
14823}
14824
14825type GetApnsChannelOutput struct {
14826	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
14827
14828	// Provides information about the status and settings of the APNs (Apple Push
14829	// Notification service) channel for an application.
14830	//
14831	// APNSChannelResponse is a required field
14832	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
14833}
14834
14835// String returns the string representation
14836func (s GetApnsChannelOutput) String() string {
14837	return awsutil.Prettify(s)
14838}
14839
14840// GoString returns the string representation
14841func (s GetApnsChannelOutput) GoString() string {
14842	return s.String()
14843}
14844
14845// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
14846func (s *GetApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *GetApnsChannelOutput {
14847	s.APNSChannelResponse = v
14848	return s
14849}
14850
14851type GetApnsSandboxChannelInput struct {
14852	_ struct{} `type:"structure"`
14853
14854	// ApplicationId is a required field
14855	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
14856}
14857
14858// String returns the string representation
14859func (s GetApnsSandboxChannelInput) String() string {
14860	return awsutil.Prettify(s)
14861}
14862
14863// GoString returns the string representation
14864func (s GetApnsSandboxChannelInput) GoString() string {
14865	return s.String()
14866}
14867
14868// Validate inspects the fields of the type to determine if they are valid.
14869func (s *GetApnsSandboxChannelInput) Validate() error {
14870	invalidParams := request.ErrInvalidParams{Context: "GetApnsSandboxChannelInput"}
14871	if s.ApplicationId == nil {
14872		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
14873	}
14874	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
14875		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
14876	}
14877
14878	if invalidParams.Len() > 0 {
14879		return invalidParams
14880	}
14881	return nil
14882}
14883
14884// SetApplicationId sets the ApplicationId field's value.
14885func (s *GetApnsSandboxChannelInput) SetApplicationId(v string) *GetApnsSandboxChannelInput {
14886	s.ApplicationId = &v
14887	return s
14888}
14889
14890type GetApnsSandboxChannelOutput struct {
14891	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
14892
14893	// Provides information about the status and settings of the APNs (Apple Push
14894	// Notification service) sandbox channel for an application.
14895	//
14896	// APNSSandboxChannelResponse is a required field
14897	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
14898}
14899
14900// String returns the string representation
14901func (s GetApnsSandboxChannelOutput) String() string {
14902	return awsutil.Prettify(s)
14903}
14904
14905// GoString returns the string representation
14906func (s GetApnsSandboxChannelOutput) GoString() string {
14907	return s.String()
14908}
14909
14910// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
14911func (s *GetApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *GetApnsSandboxChannelOutput {
14912	s.APNSSandboxChannelResponse = v
14913	return s
14914}
14915
14916type GetApnsVoipChannelInput struct {
14917	_ struct{} `type:"structure"`
14918
14919	// ApplicationId is a required field
14920	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
14921}
14922
14923// String returns the string representation
14924func (s GetApnsVoipChannelInput) String() string {
14925	return awsutil.Prettify(s)
14926}
14927
14928// GoString returns the string representation
14929func (s GetApnsVoipChannelInput) GoString() string {
14930	return s.String()
14931}
14932
14933// Validate inspects the fields of the type to determine if they are valid.
14934func (s *GetApnsVoipChannelInput) Validate() error {
14935	invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipChannelInput"}
14936	if s.ApplicationId == nil {
14937		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
14938	}
14939	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
14940		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
14941	}
14942
14943	if invalidParams.Len() > 0 {
14944		return invalidParams
14945	}
14946	return nil
14947}
14948
14949// SetApplicationId sets the ApplicationId field's value.
14950func (s *GetApnsVoipChannelInput) SetApplicationId(v string) *GetApnsVoipChannelInput {
14951	s.ApplicationId = &v
14952	return s
14953}
14954
14955type GetApnsVoipChannelOutput struct {
14956	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
14957
14958	// Provides information about the status and settings of the APNs (Apple Push
14959	// Notification service) VoIP channel for an application.
14960	//
14961	// APNSVoipChannelResponse is a required field
14962	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
14963}
14964
14965// String returns the string representation
14966func (s GetApnsVoipChannelOutput) String() string {
14967	return awsutil.Prettify(s)
14968}
14969
14970// GoString returns the string representation
14971func (s GetApnsVoipChannelOutput) GoString() string {
14972	return s.String()
14973}
14974
14975// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
14976func (s *GetApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *GetApnsVoipChannelOutput {
14977	s.APNSVoipChannelResponse = v
14978	return s
14979}
14980
14981type GetApnsVoipSandboxChannelInput struct {
14982	_ struct{} `type:"structure"`
14983
14984	// ApplicationId is a required field
14985	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
14986}
14987
14988// String returns the string representation
14989func (s GetApnsVoipSandboxChannelInput) String() string {
14990	return awsutil.Prettify(s)
14991}
14992
14993// GoString returns the string representation
14994func (s GetApnsVoipSandboxChannelInput) GoString() string {
14995	return s.String()
14996}
14997
14998// Validate inspects the fields of the type to determine if they are valid.
14999func (s *GetApnsVoipSandboxChannelInput) Validate() error {
15000	invalidParams := request.ErrInvalidParams{Context: "GetApnsVoipSandboxChannelInput"}
15001	if s.ApplicationId == nil {
15002		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15003	}
15004	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15005		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15006	}
15007
15008	if invalidParams.Len() > 0 {
15009		return invalidParams
15010	}
15011	return nil
15012}
15013
15014// SetApplicationId sets the ApplicationId field's value.
15015func (s *GetApnsVoipSandboxChannelInput) SetApplicationId(v string) *GetApnsVoipSandboxChannelInput {
15016	s.ApplicationId = &v
15017	return s
15018}
15019
15020type GetApnsVoipSandboxChannelOutput struct {
15021	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
15022
15023	// Provides information about the status and settings of the APNs (Apple Push
15024	// Notification service) VoIP sandbox channel for an application.
15025	//
15026	// APNSVoipSandboxChannelResponse is a required field
15027	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
15028}
15029
15030// String returns the string representation
15031func (s GetApnsVoipSandboxChannelOutput) String() string {
15032	return awsutil.Prettify(s)
15033}
15034
15035// GoString returns the string representation
15036func (s GetApnsVoipSandboxChannelOutput) GoString() string {
15037	return s.String()
15038}
15039
15040// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
15041func (s *GetApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *GetApnsVoipSandboxChannelOutput {
15042	s.APNSVoipSandboxChannelResponse = v
15043	return s
15044}
15045
15046type GetAppInput struct {
15047	_ struct{} `type:"structure"`
15048
15049	// ApplicationId is a required field
15050	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15051}
15052
15053// String returns the string representation
15054func (s GetAppInput) String() string {
15055	return awsutil.Prettify(s)
15056}
15057
15058// GoString returns the string representation
15059func (s GetAppInput) GoString() string {
15060	return s.String()
15061}
15062
15063// Validate inspects the fields of the type to determine if they are valid.
15064func (s *GetAppInput) Validate() error {
15065	invalidParams := request.ErrInvalidParams{Context: "GetAppInput"}
15066	if s.ApplicationId == nil {
15067		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15068	}
15069	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15070		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15071	}
15072
15073	if invalidParams.Len() > 0 {
15074		return invalidParams
15075	}
15076	return nil
15077}
15078
15079// SetApplicationId sets the ApplicationId field's value.
15080func (s *GetAppInput) SetApplicationId(v string) *GetAppInput {
15081	s.ApplicationId = &v
15082	return s
15083}
15084
15085type GetAppOutput struct {
15086	_ struct{} `type:"structure" payload:"ApplicationResponse"`
15087
15088	// Provides information about an application.
15089	//
15090	// ApplicationResponse is a required field
15091	ApplicationResponse *ApplicationResponse `type:"structure" required:"true"`
15092}
15093
15094// String returns the string representation
15095func (s GetAppOutput) String() string {
15096	return awsutil.Prettify(s)
15097}
15098
15099// GoString returns the string representation
15100func (s GetAppOutput) GoString() string {
15101	return s.String()
15102}
15103
15104// SetApplicationResponse sets the ApplicationResponse field's value.
15105func (s *GetAppOutput) SetApplicationResponse(v *ApplicationResponse) *GetAppOutput {
15106	s.ApplicationResponse = v
15107	return s
15108}
15109
15110type GetApplicationSettingsInput struct {
15111	_ struct{} `type:"structure"`
15112
15113	// ApplicationId is a required field
15114	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15115}
15116
15117// String returns the string representation
15118func (s GetApplicationSettingsInput) String() string {
15119	return awsutil.Prettify(s)
15120}
15121
15122// GoString returns the string representation
15123func (s GetApplicationSettingsInput) GoString() string {
15124	return s.String()
15125}
15126
15127// Validate inspects the fields of the type to determine if they are valid.
15128func (s *GetApplicationSettingsInput) Validate() error {
15129	invalidParams := request.ErrInvalidParams{Context: "GetApplicationSettingsInput"}
15130	if s.ApplicationId == nil {
15131		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15132	}
15133	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15134		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15135	}
15136
15137	if invalidParams.Len() > 0 {
15138		return invalidParams
15139	}
15140	return nil
15141}
15142
15143// SetApplicationId sets the ApplicationId field's value.
15144func (s *GetApplicationSettingsInput) SetApplicationId(v string) *GetApplicationSettingsInput {
15145	s.ApplicationId = &v
15146	return s
15147}
15148
15149type GetApplicationSettingsOutput struct {
15150	_ struct{} `type:"structure" payload:"ApplicationSettingsResource"`
15151
15152	// Provides information about an application, including the default settings
15153	// for an application.
15154	//
15155	// ApplicationSettingsResource is a required field
15156	ApplicationSettingsResource *ApplicationSettingsResource `type:"structure" required:"true"`
15157}
15158
15159// String returns the string representation
15160func (s GetApplicationSettingsOutput) String() string {
15161	return awsutil.Prettify(s)
15162}
15163
15164// GoString returns the string representation
15165func (s GetApplicationSettingsOutput) GoString() string {
15166	return s.String()
15167}
15168
15169// SetApplicationSettingsResource sets the ApplicationSettingsResource field's value.
15170func (s *GetApplicationSettingsOutput) SetApplicationSettingsResource(v *ApplicationSettingsResource) *GetApplicationSettingsOutput {
15171	s.ApplicationSettingsResource = v
15172	return s
15173}
15174
15175type GetAppsInput struct {
15176	_ struct{} `type:"structure"`
15177
15178	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
15179
15180	Token *string `location:"querystring" locationName:"token" type:"string"`
15181}
15182
15183// String returns the string representation
15184func (s GetAppsInput) String() string {
15185	return awsutil.Prettify(s)
15186}
15187
15188// GoString returns the string representation
15189func (s GetAppsInput) GoString() string {
15190	return s.String()
15191}
15192
15193// SetPageSize sets the PageSize field's value.
15194func (s *GetAppsInput) SetPageSize(v string) *GetAppsInput {
15195	s.PageSize = &v
15196	return s
15197}
15198
15199// SetToken sets the Token field's value.
15200func (s *GetAppsInput) SetToken(v string) *GetAppsInput {
15201	s.Token = &v
15202	return s
15203}
15204
15205type GetAppsOutput struct {
15206	_ struct{} `type:"structure" payload:"ApplicationsResponse"`
15207
15208	// Provides information about all of your applications.
15209	//
15210	// ApplicationsResponse is a required field
15211	ApplicationsResponse *ApplicationsResponse `type:"structure" required:"true"`
15212}
15213
15214// String returns the string representation
15215func (s GetAppsOutput) String() string {
15216	return awsutil.Prettify(s)
15217}
15218
15219// GoString returns the string representation
15220func (s GetAppsOutput) GoString() string {
15221	return s.String()
15222}
15223
15224// SetApplicationsResponse sets the ApplicationsResponse field's value.
15225func (s *GetAppsOutput) SetApplicationsResponse(v *ApplicationsResponse) *GetAppsOutput {
15226	s.ApplicationsResponse = v
15227	return s
15228}
15229
15230type GetBaiduChannelInput struct {
15231	_ struct{} `type:"structure"`
15232
15233	// ApplicationId is a required field
15234	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15235}
15236
15237// String returns the string representation
15238func (s GetBaiduChannelInput) String() string {
15239	return awsutil.Prettify(s)
15240}
15241
15242// GoString returns the string representation
15243func (s GetBaiduChannelInput) GoString() string {
15244	return s.String()
15245}
15246
15247// Validate inspects the fields of the type to determine if they are valid.
15248func (s *GetBaiduChannelInput) Validate() error {
15249	invalidParams := request.ErrInvalidParams{Context: "GetBaiduChannelInput"}
15250	if s.ApplicationId == nil {
15251		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15252	}
15253	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15254		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15255	}
15256
15257	if invalidParams.Len() > 0 {
15258		return invalidParams
15259	}
15260	return nil
15261}
15262
15263// SetApplicationId sets the ApplicationId field's value.
15264func (s *GetBaiduChannelInput) SetApplicationId(v string) *GetBaiduChannelInput {
15265	s.ApplicationId = &v
15266	return s
15267}
15268
15269type GetBaiduChannelOutput struct {
15270	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
15271
15272	// Provides information about the status and settings of the Baidu (Baidu Cloud
15273	// Push) channel for an application.
15274	//
15275	// BaiduChannelResponse is a required field
15276	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
15277}
15278
15279// String returns the string representation
15280func (s GetBaiduChannelOutput) String() string {
15281	return awsutil.Prettify(s)
15282}
15283
15284// GoString returns the string representation
15285func (s GetBaiduChannelOutput) GoString() string {
15286	return s.String()
15287}
15288
15289// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
15290func (s *GetBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *GetBaiduChannelOutput {
15291	s.BaiduChannelResponse = v
15292	return s
15293}
15294
15295type GetCampaignActivitiesInput struct {
15296	_ struct{} `type:"structure"`
15297
15298	// ApplicationId is a required field
15299	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15300
15301	// CampaignId is a required field
15302	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
15303
15304	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
15305
15306	Token *string `location:"querystring" locationName:"token" type:"string"`
15307}
15308
15309// String returns the string representation
15310func (s GetCampaignActivitiesInput) String() string {
15311	return awsutil.Prettify(s)
15312}
15313
15314// GoString returns the string representation
15315func (s GetCampaignActivitiesInput) GoString() string {
15316	return s.String()
15317}
15318
15319// Validate inspects the fields of the type to determine if they are valid.
15320func (s *GetCampaignActivitiesInput) Validate() error {
15321	invalidParams := request.ErrInvalidParams{Context: "GetCampaignActivitiesInput"}
15322	if s.ApplicationId == nil {
15323		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15324	}
15325	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15326		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15327	}
15328	if s.CampaignId == nil {
15329		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
15330	}
15331	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
15332		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
15333	}
15334
15335	if invalidParams.Len() > 0 {
15336		return invalidParams
15337	}
15338	return nil
15339}
15340
15341// SetApplicationId sets the ApplicationId field's value.
15342func (s *GetCampaignActivitiesInput) SetApplicationId(v string) *GetCampaignActivitiesInput {
15343	s.ApplicationId = &v
15344	return s
15345}
15346
15347// SetCampaignId sets the CampaignId field's value.
15348func (s *GetCampaignActivitiesInput) SetCampaignId(v string) *GetCampaignActivitiesInput {
15349	s.CampaignId = &v
15350	return s
15351}
15352
15353// SetPageSize sets the PageSize field's value.
15354func (s *GetCampaignActivitiesInput) SetPageSize(v string) *GetCampaignActivitiesInput {
15355	s.PageSize = &v
15356	return s
15357}
15358
15359// SetToken sets the Token field's value.
15360func (s *GetCampaignActivitiesInput) SetToken(v string) *GetCampaignActivitiesInput {
15361	s.Token = &v
15362	return s
15363}
15364
15365type GetCampaignActivitiesOutput struct {
15366	_ struct{} `type:"structure" payload:"ActivitiesResponse"`
15367
15368	// Provides information about the activities that were performed by a campaign.
15369	//
15370	// ActivitiesResponse is a required field
15371	ActivitiesResponse *ActivitiesResponse `type:"structure" required:"true"`
15372}
15373
15374// String returns the string representation
15375func (s GetCampaignActivitiesOutput) String() string {
15376	return awsutil.Prettify(s)
15377}
15378
15379// GoString returns the string representation
15380func (s GetCampaignActivitiesOutput) GoString() string {
15381	return s.String()
15382}
15383
15384// SetActivitiesResponse sets the ActivitiesResponse field's value.
15385func (s *GetCampaignActivitiesOutput) SetActivitiesResponse(v *ActivitiesResponse) *GetCampaignActivitiesOutput {
15386	s.ActivitiesResponse = v
15387	return s
15388}
15389
15390type GetCampaignInput struct {
15391	_ struct{} `type:"structure"`
15392
15393	// ApplicationId is a required field
15394	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15395
15396	// CampaignId is a required field
15397	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
15398}
15399
15400// String returns the string representation
15401func (s GetCampaignInput) String() string {
15402	return awsutil.Prettify(s)
15403}
15404
15405// GoString returns the string representation
15406func (s GetCampaignInput) GoString() string {
15407	return s.String()
15408}
15409
15410// Validate inspects the fields of the type to determine if they are valid.
15411func (s *GetCampaignInput) Validate() error {
15412	invalidParams := request.ErrInvalidParams{Context: "GetCampaignInput"}
15413	if s.ApplicationId == nil {
15414		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15415	}
15416	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15417		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15418	}
15419	if s.CampaignId == nil {
15420		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
15421	}
15422	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
15423		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
15424	}
15425
15426	if invalidParams.Len() > 0 {
15427		return invalidParams
15428	}
15429	return nil
15430}
15431
15432// SetApplicationId sets the ApplicationId field's value.
15433func (s *GetCampaignInput) SetApplicationId(v string) *GetCampaignInput {
15434	s.ApplicationId = &v
15435	return s
15436}
15437
15438// SetCampaignId sets the CampaignId field's value.
15439func (s *GetCampaignInput) SetCampaignId(v string) *GetCampaignInput {
15440	s.CampaignId = &v
15441	return s
15442}
15443
15444type GetCampaignOutput struct {
15445	_ struct{} `type:"structure" payload:"CampaignResponse"`
15446
15447	// Provides information about the status, configuration, and other settings
15448	// for a campaign.
15449	//
15450	// CampaignResponse is a required field
15451	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
15452}
15453
15454// String returns the string representation
15455func (s GetCampaignOutput) String() string {
15456	return awsutil.Prettify(s)
15457}
15458
15459// GoString returns the string representation
15460func (s GetCampaignOutput) GoString() string {
15461	return s.String()
15462}
15463
15464// SetCampaignResponse sets the CampaignResponse field's value.
15465func (s *GetCampaignOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignOutput {
15466	s.CampaignResponse = v
15467	return s
15468}
15469
15470type GetCampaignVersionInput struct {
15471	_ struct{} `type:"structure"`
15472
15473	// ApplicationId is a required field
15474	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15475
15476	// CampaignId is a required field
15477	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
15478
15479	// Version is a required field
15480	Version *string `location:"uri" locationName:"version" type:"string" required:"true"`
15481}
15482
15483// String returns the string representation
15484func (s GetCampaignVersionInput) String() string {
15485	return awsutil.Prettify(s)
15486}
15487
15488// GoString returns the string representation
15489func (s GetCampaignVersionInput) GoString() string {
15490	return s.String()
15491}
15492
15493// Validate inspects the fields of the type to determine if they are valid.
15494func (s *GetCampaignVersionInput) Validate() error {
15495	invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionInput"}
15496	if s.ApplicationId == nil {
15497		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15498	}
15499	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15500		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15501	}
15502	if s.CampaignId == nil {
15503		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
15504	}
15505	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
15506		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
15507	}
15508	if s.Version == nil {
15509		invalidParams.Add(request.NewErrParamRequired("Version"))
15510	}
15511	if s.Version != nil && len(*s.Version) < 1 {
15512		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
15513	}
15514
15515	if invalidParams.Len() > 0 {
15516		return invalidParams
15517	}
15518	return nil
15519}
15520
15521// SetApplicationId sets the ApplicationId field's value.
15522func (s *GetCampaignVersionInput) SetApplicationId(v string) *GetCampaignVersionInput {
15523	s.ApplicationId = &v
15524	return s
15525}
15526
15527// SetCampaignId sets the CampaignId field's value.
15528func (s *GetCampaignVersionInput) SetCampaignId(v string) *GetCampaignVersionInput {
15529	s.CampaignId = &v
15530	return s
15531}
15532
15533// SetVersion sets the Version field's value.
15534func (s *GetCampaignVersionInput) SetVersion(v string) *GetCampaignVersionInput {
15535	s.Version = &v
15536	return s
15537}
15538
15539type GetCampaignVersionOutput struct {
15540	_ struct{} `type:"structure" payload:"CampaignResponse"`
15541
15542	// Provides information about the status, configuration, and other settings
15543	// for a campaign.
15544	//
15545	// CampaignResponse is a required field
15546	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
15547}
15548
15549// String returns the string representation
15550func (s GetCampaignVersionOutput) String() string {
15551	return awsutil.Prettify(s)
15552}
15553
15554// GoString returns the string representation
15555func (s GetCampaignVersionOutput) GoString() string {
15556	return s.String()
15557}
15558
15559// SetCampaignResponse sets the CampaignResponse field's value.
15560func (s *GetCampaignVersionOutput) SetCampaignResponse(v *CampaignResponse) *GetCampaignVersionOutput {
15561	s.CampaignResponse = v
15562	return s
15563}
15564
15565type GetCampaignVersionsInput struct {
15566	_ struct{} `type:"structure"`
15567
15568	// ApplicationId is a required field
15569	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15570
15571	// CampaignId is a required field
15572	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
15573
15574	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
15575
15576	Token *string `location:"querystring" locationName:"token" type:"string"`
15577}
15578
15579// String returns the string representation
15580func (s GetCampaignVersionsInput) String() string {
15581	return awsutil.Prettify(s)
15582}
15583
15584// GoString returns the string representation
15585func (s GetCampaignVersionsInput) GoString() string {
15586	return s.String()
15587}
15588
15589// Validate inspects the fields of the type to determine if they are valid.
15590func (s *GetCampaignVersionsInput) Validate() error {
15591	invalidParams := request.ErrInvalidParams{Context: "GetCampaignVersionsInput"}
15592	if s.ApplicationId == nil {
15593		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15594	}
15595	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15596		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15597	}
15598	if s.CampaignId == nil {
15599		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
15600	}
15601	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
15602		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
15603	}
15604
15605	if invalidParams.Len() > 0 {
15606		return invalidParams
15607	}
15608	return nil
15609}
15610
15611// SetApplicationId sets the ApplicationId field's value.
15612func (s *GetCampaignVersionsInput) SetApplicationId(v string) *GetCampaignVersionsInput {
15613	s.ApplicationId = &v
15614	return s
15615}
15616
15617// SetCampaignId sets the CampaignId field's value.
15618func (s *GetCampaignVersionsInput) SetCampaignId(v string) *GetCampaignVersionsInput {
15619	s.CampaignId = &v
15620	return s
15621}
15622
15623// SetPageSize sets the PageSize field's value.
15624func (s *GetCampaignVersionsInput) SetPageSize(v string) *GetCampaignVersionsInput {
15625	s.PageSize = &v
15626	return s
15627}
15628
15629// SetToken sets the Token field's value.
15630func (s *GetCampaignVersionsInput) SetToken(v string) *GetCampaignVersionsInput {
15631	s.Token = &v
15632	return s
15633}
15634
15635type GetCampaignVersionsOutput struct {
15636	_ struct{} `type:"structure" payload:"CampaignsResponse"`
15637
15638	// Provides information about the configuration and other settings for all the
15639	// campaigns that are associated with an application.
15640	//
15641	// CampaignsResponse is a required field
15642	CampaignsResponse *CampaignsResponse `type:"structure" required:"true"`
15643}
15644
15645// String returns the string representation
15646func (s GetCampaignVersionsOutput) String() string {
15647	return awsutil.Prettify(s)
15648}
15649
15650// GoString returns the string representation
15651func (s GetCampaignVersionsOutput) GoString() string {
15652	return s.String()
15653}
15654
15655// SetCampaignsResponse sets the CampaignsResponse field's value.
15656func (s *GetCampaignVersionsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignVersionsOutput {
15657	s.CampaignsResponse = v
15658	return s
15659}
15660
15661type GetCampaignsInput struct {
15662	_ struct{} `type:"structure"`
15663
15664	// ApplicationId is a required field
15665	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15666
15667	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
15668
15669	Token *string `location:"querystring" locationName:"token" type:"string"`
15670}
15671
15672// String returns the string representation
15673func (s GetCampaignsInput) String() string {
15674	return awsutil.Prettify(s)
15675}
15676
15677// GoString returns the string representation
15678func (s GetCampaignsInput) GoString() string {
15679	return s.String()
15680}
15681
15682// Validate inspects the fields of the type to determine if they are valid.
15683func (s *GetCampaignsInput) Validate() error {
15684	invalidParams := request.ErrInvalidParams{Context: "GetCampaignsInput"}
15685	if s.ApplicationId == nil {
15686		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15687	}
15688	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15689		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15690	}
15691
15692	if invalidParams.Len() > 0 {
15693		return invalidParams
15694	}
15695	return nil
15696}
15697
15698// SetApplicationId sets the ApplicationId field's value.
15699func (s *GetCampaignsInput) SetApplicationId(v string) *GetCampaignsInput {
15700	s.ApplicationId = &v
15701	return s
15702}
15703
15704// SetPageSize sets the PageSize field's value.
15705func (s *GetCampaignsInput) SetPageSize(v string) *GetCampaignsInput {
15706	s.PageSize = &v
15707	return s
15708}
15709
15710// SetToken sets the Token field's value.
15711func (s *GetCampaignsInput) SetToken(v string) *GetCampaignsInput {
15712	s.Token = &v
15713	return s
15714}
15715
15716type GetCampaignsOutput struct {
15717	_ struct{} `type:"structure" payload:"CampaignsResponse"`
15718
15719	// Provides information about the configuration and other settings for all the
15720	// campaigns that are associated with an application.
15721	//
15722	// CampaignsResponse is a required field
15723	CampaignsResponse *CampaignsResponse `type:"structure" required:"true"`
15724}
15725
15726// String returns the string representation
15727func (s GetCampaignsOutput) String() string {
15728	return awsutil.Prettify(s)
15729}
15730
15731// GoString returns the string representation
15732func (s GetCampaignsOutput) GoString() string {
15733	return s.String()
15734}
15735
15736// SetCampaignsResponse sets the CampaignsResponse field's value.
15737func (s *GetCampaignsOutput) SetCampaignsResponse(v *CampaignsResponse) *GetCampaignsOutput {
15738	s.CampaignsResponse = v
15739	return s
15740}
15741
15742type GetChannelsInput struct {
15743	_ struct{} `type:"structure"`
15744
15745	// ApplicationId is a required field
15746	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15747}
15748
15749// String returns the string representation
15750func (s GetChannelsInput) String() string {
15751	return awsutil.Prettify(s)
15752}
15753
15754// GoString returns the string representation
15755func (s GetChannelsInput) GoString() string {
15756	return s.String()
15757}
15758
15759// Validate inspects the fields of the type to determine if they are valid.
15760func (s *GetChannelsInput) Validate() error {
15761	invalidParams := request.ErrInvalidParams{Context: "GetChannelsInput"}
15762	if s.ApplicationId == nil {
15763		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15764	}
15765	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15766		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15767	}
15768
15769	if invalidParams.Len() > 0 {
15770		return invalidParams
15771	}
15772	return nil
15773}
15774
15775// SetApplicationId sets the ApplicationId field's value.
15776func (s *GetChannelsInput) SetApplicationId(v string) *GetChannelsInput {
15777	s.ApplicationId = &v
15778	return s
15779}
15780
15781type GetChannelsOutput struct {
15782	_ struct{} `type:"structure" payload:"ChannelsResponse"`
15783
15784	// Provides information about the general settings and status of all channels
15785	// for an application, including channels that aren't enabled for the application.
15786	//
15787	// ChannelsResponse is a required field
15788	ChannelsResponse *ChannelsResponse `type:"structure" required:"true"`
15789}
15790
15791// String returns the string representation
15792func (s GetChannelsOutput) String() string {
15793	return awsutil.Prettify(s)
15794}
15795
15796// GoString returns the string representation
15797func (s GetChannelsOutput) GoString() string {
15798	return s.String()
15799}
15800
15801// SetChannelsResponse sets the ChannelsResponse field's value.
15802func (s *GetChannelsOutput) SetChannelsResponse(v *ChannelsResponse) *GetChannelsOutput {
15803	s.ChannelsResponse = v
15804	return s
15805}
15806
15807type GetEmailChannelInput struct {
15808	_ struct{} `type:"structure"`
15809
15810	// ApplicationId is a required field
15811	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15812}
15813
15814// String returns the string representation
15815func (s GetEmailChannelInput) String() string {
15816	return awsutil.Prettify(s)
15817}
15818
15819// GoString returns the string representation
15820func (s GetEmailChannelInput) GoString() string {
15821	return s.String()
15822}
15823
15824// Validate inspects the fields of the type to determine if they are valid.
15825func (s *GetEmailChannelInput) Validate() error {
15826	invalidParams := request.ErrInvalidParams{Context: "GetEmailChannelInput"}
15827	if s.ApplicationId == nil {
15828		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15829	}
15830	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15831		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15832	}
15833
15834	if invalidParams.Len() > 0 {
15835		return invalidParams
15836	}
15837	return nil
15838}
15839
15840// SetApplicationId sets the ApplicationId field's value.
15841func (s *GetEmailChannelInput) SetApplicationId(v string) *GetEmailChannelInput {
15842	s.ApplicationId = &v
15843	return s
15844}
15845
15846type GetEmailChannelOutput struct {
15847	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
15848
15849	// Provides information about the status and settings of the email channel for
15850	// an application.
15851	//
15852	// EmailChannelResponse is a required field
15853	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
15854}
15855
15856// String returns the string representation
15857func (s GetEmailChannelOutput) String() string {
15858	return awsutil.Prettify(s)
15859}
15860
15861// GoString returns the string representation
15862func (s GetEmailChannelOutput) GoString() string {
15863	return s.String()
15864}
15865
15866// SetEmailChannelResponse sets the EmailChannelResponse field's value.
15867func (s *GetEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *GetEmailChannelOutput {
15868	s.EmailChannelResponse = v
15869	return s
15870}
15871
15872type GetEndpointInput struct {
15873	_ struct{} `type:"structure"`
15874
15875	// ApplicationId is a required field
15876	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15877
15878	// EndpointId is a required field
15879	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
15880}
15881
15882// String returns the string representation
15883func (s GetEndpointInput) String() string {
15884	return awsutil.Prettify(s)
15885}
15886
15887// GoString returns the string representation
15888func (s GetEndpointInput) GoString() string {
15889	return s.String()
15890}
15891
15892// Validate inspects the fields of the type to determine if they are valid.
15893func (s *GetEndpointInput) Validate() error {
15894	invalidParams := request.ErrInvalidParams{Context: "GetEndpointInput"}
15895	if s.ApplicationId == nil {
15896		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15897	}
15898	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15899		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15900	}
15901	if s.EndpointId == nil {
15902		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
15903	}
15904	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
15905		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
15906	}
15907
15908	if invalidParams.Len() > 0 {
15909		return invalidParams
15910	}
15911	return nil
15912}
15913
15914// SetApplicationId sets the ApplicationId field's value.
15915func (s *GetEndpointInput) SetApplicationId(v string) *GetEndpointInput {
15916	s.ApplicationId = &v
15917	return s
15918}
15919
15920// SetEndpointId sets the EndpointId field's value.
15921func (s *GetEndpointInput) SetEndpointId(v string) *GetEndpointInput {
15922	s.EndpointId = &v
15923	return s
15924}
15925
15926type GetEndpointOutput struct {
15927	_ struct{} `type:"structure" payload:"EndpointResponse"`
15928
15929	// Provides information about the channel type and other settings for an endpoint.
15930	//
15931	// EndpointResponse is a required field
15932	EndpointResponse *EndpointResponse `type:"structure" required:"true"`
15933}
15934
15935// String returns the string representation
15936func (s GetEndpointOutput) String() string {
15937	return awsutil.Prettify(s)
15938}
15939
15940// GoString returns the string representation
15941func (s GetEndpointOutput) GoString() string {
15942	return s.String()
15943}
15944
15945// SetEndpointResponse sets the EndpointResponse field's value.
15946func (s *GetEndpointOutput) SetEndpointResponse(v *EndpointResponse) *GetEndpointOutput {
15947	s.EndpointResponse = v
15948	return s
15949}
15950
15951type GetEventStreamInput struct {
15952	_ struct{} `type:"structure"`
15953
15954	// ApplicationId is a required field
15955	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
15956}
15957
15958// String returns the string representation
15959func (s GetEventStreamInput) String() string {
15960	return awsutil.Prettify(s)
15961}
15962
15963// GoString returns the string representation
15964func (s GetEventStreamInput) GoString() string {
15965	return s.String()
15966}
15967
15968// Validate inspects the fields of the type to determine if they are valid.
15969func (s *GetEventStreamInput) Validate() error {
15970	invalidParams := request.ErrInvalidParams{Context: "GetEventStreamInput"}
15971	if s.ApplicationId == nil {
15972		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
15973	}
15974	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
15975		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
15976	}
15977
15978	if invalidParams.Len() > 0 {
15979		return invalidParams
15980	}
15981	return nil
15982}
15983
15984// SetApplicationId sets the ApplicationId field's value.
15985func (s *GetEventStreamInput) SetApplicationId(v string) *GetEventStreamInput {
15986	s.ApplicationId = &v
15987	return s
15988}
15989
15990type GetEventStreamOutput struct {
15991	_ struct{} `type:"structure" payload:"EventStream"`
15992
15993	// Specifies settings for publishing event data to an Amazon Kinesis data stream
15994	// or an Amazon Kinesis Data Firehose delivery stream.
15995	//
15996	// EventStream is a required field
15997	EventStream *EventStream `type:"structure" required:"true"`
15998}
15999
16000// String returns the string representation
16001func (s GetEventStreamOutput) String() string {
16002	return awsutil.Prettify(s)
16003}
16004
16005// GoString returns the string representation
16006func (s GetEventStreamOutput) GoString() string {
16007	return s.String()
16008}
16009
16010// SetEventStream sets the EventStream field's value.
16011func (s *GetEventStreamOutput) SetEventStream(v *EventStream) *GetEventStreamOutput {
16012	s.EventStream = v
16013	return s
16014}
16015
16016type GetExportJobInput struct {
16017	_ struct{} `type:"structure"`
16018
16019	// ApplicationId is a required field
16020	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16021
16022	// JobId is a required field
16023	JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"`
16024}
16025
16026// String returns the string representation
16027func (s GetExportJobInput) String() string {
16028	return awsutil.Prettify(s)
16029}
16030
16031// GoString returns the string representation
16032func (s GetExportJobInput) GoString() string {
16033	return s.String()
16034}
16035
16036// Validate inspects the fields of the type to determine if they are valid.
16037func (s *GetExportJobInput) Validate() error {
16038	invalidParams := request.ErrInvalidParams{Context: "GetExportJobInput"}
16039	if s.ApplicationId == nil {
16040		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16041	}
16042	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16043		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16044	}
16045	if s.JobId == nil {
16046		invalidParams.Add(request.NewErrParamRequired("JobId"))
16047	}
16048	if s.JobId != nil && len(*s.JobId) < 1 {
16049		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
16050	}
16051
16052	if invalidParams.Len() > 0 {
16053		return invalidParams
16054	}
16055	return nil
16056}
16057
16058// SetApplicationId sets the ApplicationId field's value.
16059func (s *GetExportJobInput) SetApplicationId(v string) *GetExportJobInput {
16060	s.ApplicationId = &v
16061	return s
16062}
16063
16064// SetJobId sets the JobId field's value.
16065func (s *GetExportJobInput) SetJobId(v string) *GetExportJobInput {
16066	s.JobId = &v
16067	return s
16068}
16069
16070type GetExportJobOutput struct {
16071	_ struct{} `type:"structure" payload:"ExportJobResponse"`
16072
16073	// Provides information about the status and settings of a job that exports
16074	// endpoint definitions to a file. The file can be added directly to an Amazon
16075	// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API
16076	// or downloaded directly to a computer by using the Amazon Pinpoint console.
16077	//
16078	// ExportJobResponse is a required field
16079	ExportJobResponse *ExportJobResponse `type:"structure" required:"true"`
16080}
16081
16082// String returns the string representation
16083func (s GetExportJobOutput) String() string {
16084	return awsutil.Prettify(s)
16085}
16086
16087// GoString returns the string representation
16088func (s GetExportJobOutput) GoString() string {
16089	return s.String()
16090}
16091
16092// SetExportJobResponse sets the ExportJobResponse field's value.
16093func (s *GetExportJobOutput) SetExportJobResponse(v *ExportJobResponse) *GetExportJobOutput {
16094	s.ExportJobResponse = v
16095	return s
16096}
16097
16098type GetExportJobsInput struct {
16099	_ struct{} `type:"structure"`
16100
16101	// ApplicationId is a required field
16102	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16103
16104	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
16105
16106	Token *string `location:"querystring" locationName:"token" type:"string"`
16107}
16108
16109// String returns the string representation
16110func (s GetExportJobsInput) String() string {
16111	return awsutil.Prettify(s)
16112}
16113
16114// GoString returns the string representation
16115func (s GetExportJobsInput) GoString() string {
16116	return s.String()
16117}
16118
16119// Validate inspects the fields of the type to determine if they are valid.
16120func (s *GetExportJobsInput) Validate() error {
16121	invalidParams := request.ErrInvalidParams{Context: "GetExportJobsInput"}
16122	if s.ApplicationId == nil {
16123		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16124	}
16125	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16126		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16127	}
16128
16129	if invalidParams.Len() > 0 {
16130		return invalidParams
16131	}
16132	return nil
16133}
16134
16135// SetApplicationId sets the ApplicationId field's value.
16136func (s *GetExportJobsInput) SetApplicationId(v string) *GetExportJobsInput {
16137	s.ApplicationId = &v
16138	return s
16139}
16140
16141// SetPageSize sets the PageSize field's value.
16142func (s *GetExportJobsInput) SetPageSize(v string) *GetExportJobsInput {
16143	s.PageSize = &v
16144	return s
16145}
16146
16147// SetToken sets the Token field's value.
16148func (s *GetExportJobsInput) SetToken(v string) *GetExportJobsInput {
16149	s.Token = &v
16150	return s
16151}
16152
16153type GetExportJobsOutput struct {
16154	_ struct{} `type:"structure" payload:"ExportJobsResponse"`
16155
16156	// Provides information about all the export jobs that are associated with an
16157	// application or segment. An export job is a job that exports endpoint definitions
16158	// to a file.
16159	//
16160	// ExportJobsResponse is a required field
16161	ExportJobsResponse *ExportJobsResponse `type:"structure" required:"true"`
16162}
16163
16164// String returns the string representation
16165func (s GetExportJobsOutput) String() string {
16166	return awsutil.Prettify(s)
16167}
16168
16169// GoString returns the string representation
16170func (s GetExportJobsOutput) GoString() string {
16171	return s.String()
16172}
16173
16174// SetExportJobsResponse sets the ExportJobsResponse field's value.
16175func (s *GetExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetExportJobsOutput {
16176	s.ExportJobsResponse = v
16177	return s
16178}
16179
16180type GetGcmChannelInput struct {
16181	_ struct{} `type:"structure"`
16182
16183	// ApplicationId is a required field
16184	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16185}
16186
16187// String returns the string representation
16188func (s GetGcmChannelInput) String() string {
16189	return awsutil.Prettify(s)
16190}
16191
16192// GoString returns the string representation
16193func (s GetGcmChannelInput) GoString() string {
16194	return s.String()
16195}
16196
16197// Validate inspects the fields of the type to determine if they are valid.
16198func (s *GetGcmChannelInput) Validate() error {
16199	invalidParams := request.ErrInvalidParams{Context: "GetGcmChannelInput"}
16200	if s.ApplicationId == nil {
16201		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16202	}
16203	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16204		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16205	}
16206
16207	if invalidParams.Len() > 0 {
16208		return invalidParams
16209	}
16210	return nil
16211}
16212
16213// SetApplicationId sets the ApplicationId field's value.
16214func (s *GetGcmChannelInput) SetApplicationId(v string) *GetGcmChannelInput {
16215	s.ApplicationId = &v
16216	return s
16217}
16218
16219type GetGcmChannelOutput struct {
16220	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
16221
16222	// Provides information about the status and settings of the GCM channel for
16223	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
16224	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
16225	// (GCM), service.
16226	//
16227	// GCMChannelResponse is a required field
16228	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
16229}
16230
16231// String returns the string representation
16232func (s GetGcmChannelOutput) String() string {
16233	return awsutil.Prettify(s)
16234}
16235
16236// GoString returns the string representation
16237func (s GetGcmChannelOutput) GoString() string {
16238	return s.String()
16239}
16240
16241// SetGCMChannelResponse sets the GCMChannelResponse field's value.
16242func (s *GetGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *GetGcmChannelOutput {
16243	s.GCMChannelResponse = v
16244	return s
16245}
16246
16247type GetImportJobInput struct {
16248	_ struct{} `type:"structure"`
16249
16250	// ApplicationId is a required field
16251	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16252
16253	// JobId is a required field
16254	JobId *string `location:"uri" locationName:"job-id" type:"string" required:"true"`
16255}
16256
16257// String returns the string representation
16258func (s GetImportJobInput) String() string {
16259	return awsutil.Prettify(s)
16260}
16261
16262// GoString returns the string representation
16263func (s GetImportJobInput) GoString() string {
16264	return s.String()
16265}
16266
16267// Validate inspects the fields of the type to determine if they are valid.
16268func (s *GetImportJobInput) Validate() error {
16269	invalidParams := request.ErrInvalidParams{Context: "GetImportJobInput"}
16270	if s.ApplicationId == nil {
16271		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16272	}
16273	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16274		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16275	}
16276	if s.JobId == nil {
16277		invalidParams.Add(request.NewErrParamRequired("JobId"))
16278	}
16279	if s.JobId != nil && len(*s.JobId) < 1 {
16280		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
16281	}
16282
16283	if invalidParams.Len() > 0 {
16284		return invalidParams
16285	}
16286	return nil
16287}
16288
16289// SetApplicationId sets the ApplicationId field's value.
16290func (s *GetImportJobInput) SetApplicationId(v string) *GetImportJobInput {
16291	s.ApplicationId = &v
16292	return s
16293}
16294
16295// SetJobId sets the JobId field's value.
16296func (s *GetImportJobInput) SetJobId(v string) *GetImportJobInput {
16297	s.JobId = &v
16298	return s
16299}
16300
16301type GetImportJobOutput struct {
16302	_ struct{} `type:"structure" payload:"ImportJobResponse"`
16303
16304	// Provides information about the status and settings of a job that imports
16305	// endpoint definitions from one or more files. The files can be stored in an
16306	// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
16307	// a computer by using the Amazon Pinpoint console.
16308	//
16309	// ImportJobResponse is a required field
16310	ImportJobResponse *ImportJobResponse `type:"structure" required:"true"`
16311}
16312
16313// String returns the string representation
16314func (s GetImportJobOutput) String() string {
16315	return awsutil.Prettify(s)
16316}
16317
16318// GoString returns the string representation
16319func (s GetImportJobOutput) GoString() string {
16320	return s.String()
16321}
16322
16323// SetImportJobResponse sets the ImportJobResponse field's value.
16324func (s *GetImportJobOutput) SetImportJobResponse(v *ImportJobResponse) *GetImportJobOutput {
16325	s.ImportJobResponse = v
16326	return s
16327}
16328
16329type GetImportJobsInput struct {
16330	_ struct{} `type:"structure"`
16331
16332	// ApplicationId is a required field
16333	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16334
16335	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
16336
16337	Token *string `location:"querystring" locationName:"token" type:"string"`
16338}
16339
16340// String returns the string representation
16341func (s GetImportJobsInput) String() string {
16342	return awsutil.Prettify(s)
16343}
16344
16345// GoString returns the string representation
16346func (s GetImportJobsInput) GoString() string {
16347	return s.String()
16348}
16349
16350// Validate inspects the fields of the type to determine if they are valid.
16351func (s *GetImportJobsInput) Validate() error {
16352	invalidParams := request.ErrInvalidParams{Context: "GetImportJobsInput"}
16353	if s.ApplicationId == nil {
16354		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16355	}
16356	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16357		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16358	}
16359
16360	if invalidParams.Len() > 0 {
16361		return invalidParams
16362	}
16363	return nil
16364}
16365
16366// SetApplicationId sets the ApplicationId field's value.
16367func (s *GetImportJobsInput) SetApplicationId(v string) *GetImportJobsInput {
16368	s.ApplicationId = &v
16369	return s
16370}
16371
16372// SetPageSize sets the PageSize field's value.
16373func (s *GetImportJobsInput) SetPageSize(v string) *GetImportJobsInput {
16374	s.PageSize = &v
16375	return s
16376}
16377
16378// SetToken sets the Token field's value.
16379func (s *GetImportJobsInput) SetToken(v string) *GetImportJobsInput {
16380	s.Token = &v
16381	return s
16382}
16383
16384type GetImportJobsOutput struct {
16385	_ struct{} `type:"structure" payload:"ImportJobsResponse"`
16386
16387	// Provides information about the status and settings of all the import jobs
16388	// that are associated with an application or segment. An import job is a job
16389	// that imports endpoint definitions from one or more files.
16390	//
16391	// ImportJobsResponse is a required field
16392	ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"`
16393}
16394
16395// String returns the string representation
16396func (s GetImportJobsOutput) String() string {
16397	return awsutil.Prettify(s)
16398}
16399
16400// GoString returns the string representation
16401func (s GetImportJobsOutput) GoString() string {
16402	return s.String()
16403}
16404
16405// SetImportJobsResponse sets the ImportJobsResponse field's value.
16406func (s *GetImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetImportJobsOutput {
16407	s.ImportJobsResponse = v
16408	return s
16409}
16410
16411type GetSegmentExportJobsInput struct {
16412	_ struct{} `type:"structure"`
16413
16414	// ApplicationId is a required field
16415	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16416
16417	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
16418
16419	// SegmentId is a required field
16420	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
16421
16422	Token *string `location:"querystring" locationName:"token" type:"string"`
16423}
16424
16425// String returns the string representation
16426func (s GetSegmentExportJobsInput) String() string {
16427	return awsutil.Prettify(s)
16428}
16429
16430// GoString returns the string representation
16431func (s GetSegmentExportJobsInput) GoString() string {
16432	return s.String()
16433}
16434
16435// Validate inspects the fields of the type to determine if they are valid.
16436func (s *GetSegmentExportJobsInput) Validate() error {
16437	invalidParams := request.ErrInvalidParams{Context: "GetSegmentExportJobsInput"}
16438	if s.ApplicationId == nil {
16439		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16440	}
16441	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16442		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16443	}
16444	if s.SegmentId == nil {
16445		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
16446	}
16447	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
16448		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
16449	}
16450
16451	if invalidParams.Len() > 0 {
16452		return invalidParams
16453	}
16454	return nil
16455}
16456
16457// SetApplicationId sets the ApplicationId field's value.
16458func (s *GetSegmentExportJobsInput) SetApplicationId(v string) *GetSegmentExportJobsInput {
16459	s.ApplicationId = &v
16460	return s
16461}
16462
16463// SetPageSize sets the PageSize field's value.
16464func (s *GetSegmentExportJobsInput) SetPageSize(v string) *GetSegmentExportJobsInput {
16465	s.PageSize = &v
16466	return s
16467}
16468
16469// SetSegmentId sets the SegmentId field's value.
16470func (s *GetSegmentExportJobsInput) SetSegmentId(v string) *GetSegmentExportJobsInput {
16471	s.SegmentId = &v
16472	return s
16473}
16474
16475// SetToken sets the Token field's value.
16476func (s *GetSegmentExportJobsInput) SetToken(v string) *GetSegmentExportJobsInput {
16477	s.Token = &v
16478	return s
16479}
16480
16481type GetSegmentExportJobsOutput struct {
16482	_ struct{} `type:"structure" payload:"ExportJobsResponse"`
16483
16484	// Provides information about all the export jobs that are associated with an
16485	// application or segment. An export job is a job that exports endpoint definitions
16486	// to a file.
16487	//
16488	// ExportJobsResponse is a required field
16489	ExportJobsResponse *ExportJobsResponse `type:"structure" required:"true"`
16490}
16491
16492// String returns the string representation
16493func (s GetSegmentExportJobsOutput) String() string {
16494	return awsutil.Prettify(s)
16495}
16496
16497// GoString returns the string representation
16498func (s GetSegmentExportJobsOutput) GoString() string {
16499	return s.String()
16500}
16501
16502// SetExportJobsResponse sets the ExportJobsResponse field's value.
16503func (s *GetSegmentExportJobsOutput) SetExportJobsResponse(v *ExportJobsResponse) *GetSegmentExportJobsOutput {
16504	s.ExportJobsResponse = v
16505	return s
16506}
16507
16508type GetSegmentImportJobsInput struct {
16509	_ struct{} `type:"structure"`
16510
16511	// ApplicationId is a required field
16512	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16513
16514	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
16515
16516	// SegmentId is a required field
16517	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
16518
16519	Token *string `location:"querystring" locationName:"token" type:"string"`
16520}
16521
16522// String returns the string representation
16523func (s GetSegmentImportJobsInput) String() string {
16524	return awsutil.Prettify(s)
16525}
16526
16527// GoString returns the string representation
16528func (s GetSegmentImportJobsInput) GoString() string {
16529	return s.String()
16530}
16531
16532// Validate inspects the fields of the type to determine if they are valid.
16533func (s *GetSegmentImportJobsInput) Validate() error {
16534	invalidParams := request.ErrInvalidParams{Context: "GetSegmentImportJobsInput"}
16535	if s.ApplicationId == nil {
16536		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16537	}
16538	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16539		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16540	}
16541	if s.SegmentId == nil {
16542		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
16543	}
16544	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
16545		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
16546	}
16547
16548	if invalidParams.Len() > 0 {
16549		return invalidParams
16550	}
16551	return nil
16552}
16553
16554// SetApplicationId sets the ApplicationId field's value.
16555func (s *GetSegmentImportJobsInput) SetApplicationId(v string) *GetSegmentImportJobsInput {
16556	s.ApplicationId = &v
16557	return s
16558}
16559
16560// SetPageSize sets the PageSize field's value.
16561func (s *GetSegmentImportJobsInput) SetPageSize(v string) *GetSegmentImportJobsInput {
16562	s.PageSize = &v
16563	return s
16564}
16565
16566// SetSegmentId sets the SegmentId field's value.
16567func (s *GetSegmentImportJobsInput) SetSegmentId(v string) *GetSegmentImportJobsInput {
16568	s.SegmentId = &v
16569	return s
16570}
16571
16572// SetToken sets the Token field's value.
16573func (s *GetSegmentImportJobsInput) SetToken(v string) *GetSegmentImportJobsInput {
16574	s.Token = &v
16575	return s
16576}
16577
16578type GetSegmentImportJobsOutput struct {
16579	_ struct{} `type:"structure" payload:"ImportJobsResponse"`
16580
16581	// Provides information about the status and settings of all the import jobs
16582	// that are associated with an application or segment. An import job is a job
16583	// that imports endpoint definitions from one or more files.
16584	//
16585	// ImportJobsResponse is a required field
16586	ImportJobsResponse *ImportJobsResponse `type:"structure" required:"true"`
16587}
16588
16589// String returns the string representation
16590func (s GetSegmentImportJobsOutput) String() string {
16591	return awsutil.Prettify(s)
16592}
16593
16594// GoString returns the string representation
16595func (s GetSegmentImportJobsOutput) GoString() string {
16596	return s.String()
16597}
16598
16599// SetImportJobsResponse sets the ImportJobsResponse field's value.
16600func (s *GetSegmentImportJobsOutput) SetImportJobsResponse(v *ImportJobsResponse) *GetSegmentImportJobsOutput {
16601	s.ImportJobsResponse = v
16602	return s
16603}
16604
16605type GetSegmentInput struct {
16606	_ struct{} `type:"structure"`
16607
16608	// ApplicationId is a required field
16609	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16610
16611	// SegmentId is a required field
16612	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
16613}
16614
16615// String returns the string representation
16616func (s GetSegmentInput) String() string {
16617	return awsutil.Prettify(s)
16618}
16619
16620// GoString returns the string representation
16621func (s GetSegmentInput) GoString() string {
16622	return s.String()
16623}
16624
16625// Validate inspects the fields of the type to determine if they are valid.
16626func (s *GetSegmentInput) Validate() error {
16627	invalidParams := request.ErrInvalidParams{Context: "GetSegmentInput"}
16628	if s.ApplicationId == nil {
16629		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16630	}
16631	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16632		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16633	}
16634	if s.SegmentId == nil {
16635		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
16636	}
16637	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
16638		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
16639	}
16640
16641	if invalidParams.Len() > 0 {
16642		return invalidParams
16643	}
16644	return nil
16645}
16646
16647// SetApplicationId sets the ApplicationId field's value.
16648func (s *GetSegmentInput) SetApplicationId(v string) *GetSegmentInput {
16649	s.ApplicationId = &v
16650	return s
16651}
16652
16653// SetSegmentId sets the SegmentId field's value.
16654func (s *GetSegmentInput) SetSegmentId(v string) *GetSegmentInput {
16655	s.SegmentId = &v
16656	return s
16657}
16658
16659type GetSegmentOutput struct {
16660	_ struct{} `type:"structure" payload:"SegmentResponse"`
16661
16662	// Provides information about the configuration, dimension, and other settings
16663	// for a segment.
16664	//
16665	// SegmentResponse is a required field
16666	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
16667}
16668
16669// String returns the string representation
16670func (s GetSegmentOutput) String() string {
16671	return awsutil.Prettify(s)
16672}
16673
16674// GoString returns the string representation
16675func (s GetSegmentOutput) GoString() string {
16676	return s.String()
16677}
16678
16679// SetSegmentResponse sets the SegmentResponse field's value.
16680func (s *GetSegmentOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentOutput {
16681	s.SegmentResponse = v
16682	return s
16683}
16684
16685type GetSegmentVersionInput struct {
16686	_ struct{} `type:"structure"`
16687
16688	// ApplicationId is a required field
16689	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16690
16691	// SegmentId is a required field
16692	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
16693
16694	// Version is a required field
16695	Version *string `location:"uri" locationName:"version" type:"string" required:"true"`
16696}
16697
16698// String returns the string representation
16699func (s GetSegmentVersionInput) String() string {
16700	return awsutil.Prettify(s)
16701}
16702
16703// GoString returns the string representation
16704func (s GetSegmentVersionInput) GoString() string {
16705	return s.String()
16706}
16707
16708// Validate inspects the fields of the type to determine if they are valid.
16709func (s *GetSegmentVersionInput) Validate() error {
16710	invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionInput"}
16711	if s.ApplicationId == nil {
16712		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16713	}
16714	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16715		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16716	}
16717	if s.SegmentId == nil {
16718		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
16719	}
16720	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
16721		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
16722	}
16723	if s.Version == nil {
16724		invalidParams.Add(request.NewErrParamRequired("Version"))
16725	}
16726	if s.Version != nil && len(*s.Version) < 1 {
16727		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
16728	}
16729
16730	if invalidParams.Len() > 0 {
16731		return invalidParams
16732	}
16733	return nil
16734}
16735
16736// SetApplicationId sets the ApplicationId field's value.
16737func (s *GetSegmentVersionInput) SetApplicationId(v string) *GetSegmentVersionInput {
16738	s.ApplicationId = &v
16739	return s
16740}
16741
16742// SetSegmentId sets the SegmentId field's value.
16743func (s *GetSegmentVersionInput) SetSegmentId(v string) *GetSegmentVersionInput {
16744	s.SegmentId = &v
16745	return s
16746}
16747
16748// SetVersion sets the Version field's value.
16749func (s *GetSegmentVersionInput) SetVersion(v string) *GetSegmentVersionInput {
16750	s.Version = &v
16751	return s
16752}
16753
16754type GetSegmentVersionOutput struct {
16755	_ struct{} `type:"structure" payload:"SegmentResponse"`
16756
16757	// Provides information about the configuration, dimension, and other settings
16758	// for a segment.
16759	//
16760	// SegmentResponse is a required field
16761	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
16762}
16763
16764// String returns the string representation
16765func (s GetSegmentVersionOutput) String() string {
16766	return awsutil.Prettify(s)
16767}
16768
16769// GoString returns the string representation
16770func (s GetSegmentVersionOutput) GoString() string {
16771	return s.String()
16772}
16773
16774// SetSegmentResponse sets the SegmentResponse field's value.
16775func (s *GetSegmentVersionOutput) SetSegmentResponse(v *SegmentResponse) *GetSegmentVersionOutput {
16776	s.SegmentResponse = v
16777	return s
16778}
16779
16780type GetSegmentVersionsInput struct {
16781	_ struct{} `type:"structure"`
16782
16783	// ApplicationId is a required field
16784	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16785
16786	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
16787
16788	// SegmentId is a required field
16789	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
16790
16791	Token *string `location:"querystring" locationName:"token" type:"string"`
16792}
16793
16794// String returns the string representation
16795func (s GetSegmentVersionsInput) String() string {
16796	return awsutil.Prettify(s)
16797}
16798
16799// GoString returns the string representation
16800func (s GetSegmentVersionsInput) GoString() string {
16801	return s.String()
16802}
16803
16804// Validate inspects the fields of the type to determine if they are valid.
16805func (s *GetSegmentVersionsInput) Validate() error {
16806	invalidParams := request.ErrInvalidParams{Context: "GetSegmentVersionsInput"}
16807	if s.ApplicationId == nil {
16808		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16809	}
16810	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16811		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16812	}
16813	if s.SegmentId == nil {
16814		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
16815	}
16816	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
16817		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
16818	}
16819
16820	if invalidParams.Len() > 0 {
16821		return invalidParams
16822	}
16823	return nil
16824}
16825
16826// SetApplicationId sets the ApplicationId field's value.
16827func (s *GetSegmentVersionsInput) SetApplicationId(v string) *GetSegmentVersionsInput {
16828	s.ApplicationId = &v
16829	return s
16830}
16831
16832// SetPageSize sets the PageSize field's value.
16833func (s *GetSegmentVersionsInput) SetPageSize(v string) *GetSegmentVersionsInput {
16834	s.PageSize = &v
16835	return s
16836}
16837
16838// SetSegmentId sets the SegmentId field's value.
16839func (s *GetSegmentVersionsInput) SetSegmentId(v string) *GetSegmentVersionsInput {
16840	s.SegmentId = &v
16841	return s
16842}
16843
16844// SetToken sets the Token field's value.
16845func (s *GetSegmentVersionsInput) SetToken(v string) *GetSegmentVersionsInput {
16846	s.Token = &v
16847	return s
16848}
16849
16850type GetSegmentVersionsOutput struct {
16851	_ struct{} `type:"structure" payload:"SegmentsResponse"`
16852
16853	// Provides information about all the segments that are associated with an application.
16854	//
16855	// SegmentsResponse is a required field
16856	SegmentsResponse *SegmentsResponse `type:"structure" required:"true"`
16857}
16858
16859// String returns the string representation
16860func (s GetSegmentVersionsOutput) String() string {
16861	return awsutil.Prettify(s)
16862}
16863
16864// GoString returns the string representation
16865func (s GetSegmentVersionsOutput) GoString() string {
16866	return s.String()
16867}
16868
16869// SetSegmentsResponse sets the SegmentsResponse field's value.
16870func (s *GetSegmentVersionsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentVersionsOutput {
16871	s.SegmentsResponse = v
16872	return s
16873}
16874
16875type GetSegmentsInput struct {
16876	_ struct{} `type:"structure"`
16877
16878	// ApplicationId is a required field
16879	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16880
16881	PageSize *string `location:"querystring" locationName:"page-size" type:"string"`
16882
16883	Token *string `location:"querystring" locationName:"token" type:"string"`
16884}
16885
16886// String returns the string representation
16887func (s GetSegmentsInput) String() string {
16888	return awsutil.Prettify(s)
16889}
16890
16891// GoString returns the string representation
16892func (s GetSegmentsInput) GoString() string {
16893	return s.String()
16894}
16895
16896// Validate inspects the fields of the type to determine if they are valid.
16897func (s *GetSegmentsInput) Validate() error {
16898	invalidParams := request.ErrInvalidParams{Context: "GetSegmentsInput"}
16899	if s.ApplicationId == nil {
16900		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16901	}
16902	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16903		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16904	}
16905
16906	if invalidParams.Len() > 0 {
16907		return invalidParams
16908	}
16909	return nil
16910}
16911
16912// SetApplicationId sets the ApplicationId field's value.
16913func (s *GetSegmentsInput) SetApplicationId(v string) *GetSegmentsInput {
16914	s.ApplicationId = &v
16915	return s
16916}
16917
16918// SetPageSize sets the PageSize field's value.
16919func (s *GetSegmentsInput) SetPageSize(v string) *GetSegmentsInput {
16920	s.PageSize = &v
16921	return s
16922}
16923
16924// SetToken sets the Token field's value.
16925func (s *GetSegmentsInput) SetToken(v string) *GetSegmentsInput {
16926	s.Token = &v
16927	return s
16928}
16929
16930type GetSegmentsOutput struct {
16931	_ struct{} `type:"structure" payload:"SegmentsResponse"`
16932
16933	// Provides information about all the segments that are associated with an application.
16934	//
16935	// SegmentsResponse is a required field
16936	SegmentsResponse *SegmentsResponse `type:"structure" required:"true"`
16937}
16938
16939// String returns the string representation
16940func (s GetSegmentsOutput) String() string {
16941	return awsutil.Prettify(s)
16942}
16943
16944// GoString returns the string representation
16945func (s GetSegmentsOutput) GoString() string {
16946	return s.String()
16947}
16948
16949// SetSegmentsResponse sets the SegmentsResponse field's value.
16950func (s *GetSegmentsOutput) SetSegmentsResponse(v *SegmentsResponse) *GetSegmentsOutput {
16951	s.SegmentsResponse = v
16952	return s
16953}
16954
16955type GetSmsChannelInput struct {
16956	_ struct{} `type:"structure"`
16957
16958	// ApplicationId is a required field
16959	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
16960}
16961
16962// String returns the string representation
16963func (s GetSmsChannelInput) String() string {
16964	return awsutil.Prettify(s)
16965}
16966
16967// GoString returns the string representation
16968func (s GetSmsChannelInput) GoString() string {
16969	return s.String()
16970}
16971
16972// Validate inspects the fields of the type to determine if they are valid.
16973func (s *GetSmsChannelInput) Validate() error {
16974	invalidParams := request.ErrInvalidParams{Context: "GetSmsChannelInput"}
16975	if s.ApplicationId == nil {
16976		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
16977	}
16978	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
16979		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
16980	}
16981
16982	if invalidParams.Len() > 0 {
16983		return invalidParams
16984	}
16985	return nil
16986}
16987
16988// SetApplicationId sets the ApplicationId field's value.
16989func (s *GetSmsChannelInput) SetApplicationId(v string) *GetSmsChannelInput {
16990	s.ApplicationId = &v
16991	return s
16992}
16993
16994type GetSmsChannelOutput struct {
16995	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
16996
16997	// Provides information about the status and settings of the SMS channel for
16998	// an application.
16999	//
17000	// SMSChannelResponse is a required field
17001	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
17002}
17003
17004// String returns the string representation
17005func (s GetSmsChannelOutput) String() string {
17006	return awsutil.Prettify(s)
17007}
17008
17009// GoString returns the string representation
17010func (s GetSmsChannelOutput) GoString() string {
17011	return s.String()
17012}
17013
17014// SetSMSChannelResponse sets the SMSChannelResponse field's value.
17015func (s *GetSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *GetSmsChannelOutput {
17016	s.SMSChannelResponse = v
17017	return s
17018}
17019
17020type GetUserEndpointsInput struct {
17021	_ struct{} `type:"structure"`
17022
17023	// ApplicationId is a required field
17024	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17025
17026	// UserId is a required field
17027	UserId *string `location:"uri" locationName:"user-id" type:"string" required:"true"`
17028}
17029
17030// String returns the string representation
17031func (s GetUserEndpointsInput) String() string {
17032	return awsutil.Prettify(s)
17033}
17034
17035// GoString returns the string representation
17036func (s GetUserEndpointsInput) GoString() string {
17037	return s.String()
17038}
17039
17040// Validate inspects the fields of the type to determine if they are valid.
17041func (s *GetUserEndpointsInput) Validate() error {
17042	invalidParams := request.ErrInvalidParams{Context: "GetUserEndpointsInput"}
17043	if s.ApplicationId == nil {
17044		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17045	}
17046	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17047		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17048	}
17049	if s.UserId == nil {
17050		invalidParams.Add(request.NewErrParamRequired("UserId"))
17051	}
17052	if s.UserId != nil && len(*s.UserId) < 1 {
17053		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
17054	}
17055
17056	if invalidParams.Len() > 0 {
17057		return invalidParams
17058	}
17059	return nil
17060}
17061
17062// SetApplicationId sets the ApplicationId field's value.
17063func (s *GetUserEndpointsInput) SetApplicationId(v string) *GetUserEndpointsInput {
17064	s.ApplicationId = &v
17065	return s
17066}
17067
17068// SetUserId sets the UserId field's value.
17069func (s *GetUserEndpointsInput) SetUserId(v string) *GetUserEndpointsInput {
17070	s.UserId = &v
17071	return s
17072}
17073
17074type GetUserEndpointsOutput struct {
17075	_ struct{} `type:"structure" payload:"EndpointsResponse"`
17076
17077	// Provides information about all the endpoints that are associated with a user
17078	// ID.
17079	//
17080	// EndpointsResponse is a required field
17081	EndpointsResponse *EndpointsResponse `type:"structure" required:"true"`
17082}
17083
17084// String returns the string representation
17085func (s GetUserEndpointsOutput) String() string {
17086	return awsutil.Prettify(s)
17087}
17088
17089// GoString returns the string representation
17090func (s GetUserEndpointsOutput) GoString() string {
17091	return s.String()
17092}
17093
17094// SetEndpointsResponse sets the EndpointsResponse field's value.
17095func (s *GetUserEndpointsOutput) SetEndpointsResponse(v *EndpointsResponse) *GetUserEndpointsOutput {
17096	s.EndpointsResponse = v
17097	return s
17098}
17099
17100type GetVoiceChannelInput struct {
17101	_ struct{} `type:"structure"`
17102
17103	// ApplicationId is a required field
17104	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
17105}
17106
17107// String returns the string representation
17108func (s GetVoiceChannelInput) String() string {
17109	return awsutil.Prettify(s)
17110}
17111
17112// GoString returns the string representation
17113func (s GetVoiceChannelInput) GoString() string {
17114	return s.String()
17115}
17116
17117// Validate inspects the fields of the type to determine if they are valid.
17118func (s *GetVoiceChannelInput) Validate() error {
17119	invalidParams := request.ErrInvalidParams{Context: "GetVoiceChannelInput"}
17120	if s.ApplicationId == nil {
17121		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
17122	}
17123	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
17124		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
17125	}
17126
17127	if invalidParams.Len() > 0 {
17128		return invalidParams
17129	}
17130	return nil
17131}
17132
17133// SetApplicationId sets the ApplicationId field's value.
17134func (s *GetVoiceChannelInput) SetApplicationId(v string) *GetVoiceChannelInput {
17135	s.ApplicationId = &v
17136	return s
17137}
17138
17139type GetVoiceChannelOutput struct {
17140	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
17141
17142	// Provides information about the status and settings of the voice channel for
17143	// an application.
17144	//
17145	// VoiceChannelResponse is a required field
17146	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
17147}
17148
17149// String returns the string representation
17150func (s GetVoiceChannelOutput) String() string {
17151	return awsutil.Prettify(s)
17152}
17153
17154// GoString returns the string representation
17155func (s GetVoiceChannelOutput) GoString() string {
17156	return s.String()
17157}
17158
17159// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
17160func (s *GetVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *GetVoiceChannelOutput {
17161	s.VoiceChannelResponse = v
17162	return s
17163}
17164
17165// Specifies the settings for a job that imports endpoint definitions from an
17166// Amazon Simple Storage Service (Amazon S3) bucket.
17167type ImportJobRequest struct {
17168	_ struct{} `type:"structure"`
17169
17170	// Specifies whether to create a segment that contains the endpoints, when the
17171	// endpoint definitions are imported.
17172	DefineSegment *bool `type:"boolean"`
17173
17174	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
17175	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
17176	// an IAM role when importing endpoint definitions, but we removed this requirement.
17177	// We don't recommend use of external IDs for IAM roles that are assumed by
17178	// Amazon Pinpoint.
17179	ExternalId *string `type:"string"`
17180
17181	// The format of the files that contain the endpoint definitions to import.
17182	// Valid values are: CSV, for comma-separated values format; and, JSON, for
17183	// newline-delimited JSON format. If the Amazon S3 location stores multiple
17184	// files that use different formats, Amazon Pinpoint imports data only from
17185	// the files that use the specified format.
17186	//
17187	// Format is a required field
17188	Format *string `type:"string" required:"true" enum:"Format"`
17189
17190	// Specifies whether to register the endpoints with Amazon Pinpoint, when the
17191	// endpoint definitions are imported.
17192	RegisterEndpoints *bool `type:"boolean"`
17193
17194	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
17195	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
17196	// to import endpoint definitions from.
17197	//
17198	// RoleArn is a required field
17199	RoleArn *string `type:"string" required:"true"`
17200
17201	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains
17202	// the endpoint definitions to import. This location can be a folder or a single
17203	// file. If the location is a folder, Amazon Pinpoint imports endpoint definitions
17204	// from the files in this location, including any subfolders that the folder
17205	// contains.
17206	//
17207	// The URL should be in the following format: s3://bucket-name/folder-name/file-name.
17208	// The location can end with the key for an individual object or a prefix that
17209	// qualifies multiple objects.
17210	//
17211	// S3Url is a required field
17212	S3Url *string `type:"string" required:"true"`
17213
17214	// The identifier for the segment to update or add the imported endpoint definitions
17215	// to, if the import job is meant to update an existing segment.
17216	SegmentId *string `type:"string"`
17217
17218	// The custom name for the segment that's created by the import job, if the
17219	// value of the DefineSegment property is true.
17220	SegmentName *string `type:"string"`
17221}
17222
17223// String returns the string representation
17224func (s ImportJobRequest) String() string {
17225	return awsutil.Prettify(s)
17226}
17227
17228// GoString returns the string representation
17229func (s ImportJobRequest) GoString() string {
17230	return s.String()
17231}
17232
17233// Validate inspects the fields of the type to determine if they are valid.
17234func (s *ImportJobRequest) Validate() error {
17235	invalidParams := request.ErrInvalidParams{Context: "ImportJobRequest"}
17236	if s.Format == nil {
17237		invalidParams.Add(request.NewErrParamRequired("Format"))
17238	}
17239	if s.RoleArn == nil {
17240		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
17241	}
17242	if s.S3Url == nil {
17243		invalidParams.Add(request.NewErrParamRequired("S3Url"))
17244	}
17245
17246	if invalidParams.Len() > 0 {
17247		return invalidParams
17248	}
17249	return nil
17250}
17251
17252// SetDefineSegment sets the DefineSegment field's value.
17253func (s *ImportJobRequest) SetDefineSegment(v bool) *ImportJobRequest {
17254	s.DefineSegment = &v
17255	return s
17256}
17257
17258// SetExternalId sets the ExternalId field's value.
17259func (s *ImportJobRequest) SetExternalId(v string) *ImportJobRequest {
17260	s.ExternalId = &v
17261	return s
17262}
17263
17264// SetFormat sets the Format field's value.
17265func (s *ImportJobRequest) SetFormat(v string) *ImportJobRequest {
17266	s.Format = &v
17267	return s
17268}
17269
17270// SetRegisterEndpoints sets the RegisterEndpoints field's value.
17271func (s *ImportJobRequest) SetRegisterEndpoints(v bool) *ImportJobRequest {
17272	s.RegisterEndpoints = &v
17273	return s
17274}
17275
17276// SetRoleArn sets the RoleArn field's value.
17277func (s *ImportJobRequest) SetRoleArn(v string) *ImportJobRequest {
17278	s.RoleArn = &v
17279	return s
17280}
17281
17282// SetS3Url sets the S3Url field's value.
17283func (s *ImportJobRequest) SetS3Url(v string) *ImportJobRequest {
17284	s.S3Url = &v
17285	return s
17286}
17287
17288// SetSegmentId sets the SegmentId field's value.
17289func (s *ImportJobRequest) SetSegmentId(v string) *ImportJobRequest {
17290	s.SegmentId = &v
17291	return s
17292}
17293
17294// SetSegmentName sets the SegmentName field's value.
17295func (s *ImportJobRequest) SetSegmentName(v string) *ImportJobRequest {
17296	s.SegmentName = &v
17297	return s
17298}
17299
17300// Provides information about the resource settings for a job that imports endpoint
17301// definitions from one or more files. The files can be stored in an Amazon
17302// Simple Storage Service (Amazon S3) bucket or uploaded directly from a computer
17303// by using the Amazon Pinpoint console.
17304type ImportJobResource struct {
17305	_ struct{} `type:"structure"`
17306
17307	// Specifies whether the import job creates a segment that contains the endpoints,
17308	// when the endpoint definitions are imported.
17309	DefineSegment *bool `type:"boolean"`
17310
17311	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
17312	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
17313	// an IAM role when importing endpoint definitions, but we removed this requirement.
17314	// We don't recommend use of external IDs for IAM roles that are assumed by
17315	// Amazon Pinpoint.
17316	ExternalId *string `type:"string"`
17317
17318	// The format of the files that contain the endpoint definitions to import.
17319	// Valid values are: CSV, for comma-separated values format; and, JSON, for
17320	// newline-delimited JSON format.
17321	//
17322	// If the files are stored in an Amazon S3 location and that location contains
17323	// multiple files that use different formats, Amazon Pinpoint imports data only
17324	// from the files that use the specified format.
17325	//
17326	// Format is a required field
17327	Format *string `type:"string" required:"true" enum:"Format"`
17328
17329	// Specifies whether the import job registers the endpoints with Amazon Pinpoint,
17330	// when the endpoint definitions are imported.
17331	RegisterEndpoints *bool `type:"boolean"`
17332
17333	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
17334	// (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location
17335	// to import endpoint definitions from.
17336	//
17337	// RoleArn is a required field
17338	RoleArn *string `type:"string" required:"true"`
17339
17340	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains
17341	// the endpoint definitions to import. This location can be a folder or a single
17342	// file. If the location is a folder, Amazon Pinpoint imports endpoint definitions
17343	// from the files in this location, including any subfolders that the folder
17344	// contains.
17345	//
17346	// The URL should be in the following format: s3://bucket-name/folder-name/file-name.
17347	// The location can end with the key for an individual object or a prefix that
17348	// qualifies multiple objects.
17349	//
17350	// S3Url is a required field
17351	S3Url *string `type:"string" required:"true"`
17352
17353	// The identifier for the segment that the import job updates or adds endpoint
17354	// definitions to, if the import job updates an existing segment.
17355	SegmentId *string `type:"string"`
17356
17357	// The custom name for the segment that's created by the import job, if the
17358	// value of the DefineSegment property is true.
17359	SegmentName *string `type:"string"`
17360}
17361
17362// String returns the string representation
17363func (s ImportJobResource) String() string {
17364	return awsutil.Prettify(s)
17365}
17366
17367// GoString returns the string representation
17368func (s ImportJobResource) GoString() string {
17369	return s.String()
17370}
17371
17372// SetDefineSegment sets the DefineSegment field's value.
17373func (s *ImportJobResource) SetDefineSegment(v bool) *ImportJobResource {
17374	s.DefineSegment = &v
17375	return s
17376}
17377
17378// SetExternalId sets the ExternalId field's value.
17379func (s *ImportJobResource) SetExternalId(v string) *ImportJobResource {
17380	s.ExternalId = &v
17381	return s
17382}
17383
17384// SetFormat sets the Format field's value.
17385func (s *ImportJobResource) SetFormat(v string) *ImportJobResource {
17386	s.Format = &v
17387	return s
17388}
17389
17390// SetRegisterEndpoints sets the RegisterEndpoints field's value.
17391func (s *ImportJobResource) SetRegisterEndpoints(v bool) *ImportJobResource {
17392	s.RegisterEndpoints = &v
17393	return s
17394}
17395
17396// SetRoleArn sets the RoleArn field's value.
17397func (s *ImportJobResource) SetRoleArn(v string) *ImportJobResource {
17398	s.RoleArn = &v
17399	return s
17400}
17401
17402// SetS3Url sets the S3Url field's value.
17403func (s *ImportJobResource) SetS3Url(v string) *ImportJobResource {
17404	s.S3Url = &v
17405	return s
17406}
17407
17408// SetSegmentId sets the SegmentId field's value.
17409func (s *ImportJobResource) SetSegmentId(v string) *ImportJobResource {
17410	s.SegmentId = &v
17411	return s
17412}
17413
17414// SetSegmentName sets the SegmentName field's value.
17415func (s *ImportJobResource) SetSegmentName(v string) *ImportJobResource {
17416	s.SegmentName = &v
17417	return s
17418}
17419
17420// Provides information about the status and settings of a job that imports
17421// endpoint definitions from one or more files. The files can be stored in an
17422// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from
17423// a computer by using the Amazon Pinpoint console.
17424type ImportJobResponse struct {
17425	_ struct{} `type:"structure"`
17426
17427	// The unique identifier for the application that's associated with the import
17428	// job.
17429	//
17430	// ApplicationId is a required field
17431	ApplicationId *string `type:"string" required:"true"`
17432
17433	// The number of pieces that were processed successfully (completed) by the
17434	// import job, as of the time of the request.
17435	CompletedPieces *int64 `type:"integer"`
17436
17437	// The date, in ISO 8601 format, when the import job was completed.
17438	CompletionDate *string `type:"string"`
17439
17440	// The date, in ISO 8601 format, when the import job was created.
17441	//
17442	// CreationDate is a required field
17443	CreationDate *string `type:"string" required:"true"`
17444
17445	// The resource settings that apply to the import job.
17446	//
17447	// Definition is a required field
17448	Definition *ImportJobResource `type:"structure" required:"true"`
17449
17450	// The number of pieces that weren't processed successfully (failed) by the
17451	// import job, as of the time of the request.
17452	FailedPieces *int64 `type:"integer"`
17453
17454	// An array of entries, one for each of the first 100 entries that weren't processed
17455	// successfully (failed) by the import job, if any.
17456	Failures []*string `type:"list"`
17457
17458	// The unique identifier for the import job.
17459	//
17460	// Id is a required field
17461	Id *string `type:"string" required:"true"`
17462
17463	// The status of the import job. The job status is FAILED if Amazon Pinpoint
17464	// wasn't able to process one or more pieces in the job.
17465	//
17466	// JobStatus is a required field
17467	JobStatus *string `type:"string" required:"true" enum:"JobStatus"`
17468
17469	// The total number of endpoint definitions that weren't processed successfully
17470	// (failed) by the import job, typically because an error, such as a syntax
17471	// error, occurred.
17472	TotalFailures *int64 `type:"integer"`
17473
17474	// The total number of pieces that must be processed to complete the import
17475	// job. Each piece consists of an approximately equal portion of the endpoint
17476	// definitions that are part of the import job.
17477	TotalPieces *int64 `type:"integer"`
17478
17479	// The total number of endpoint definitions that were processed by the import
17480	// job.
17481	TotalProcessed *int64 `type:"integer"`
17482
17483	// The job type. This value is IMPORT for import jobs.
17484	//
17485	// Type is a required field
17486	Type *string `type:"string" required:"true"`
17487}
17488
17489// String returns the string representation
17490func (s ImportJobResponse) String() string {
17491	return awsutil.Prettify(s)
17492}
17493
17494// GoString returns the string representation
17495func (s ImportJobResponse) GoString() string {
17496	return s.String()
17497}
17498
17499// SetApplicationId sets the ApplicationId field's value.
17500func (s *ImportJobResponse) SetApplicationId(v string) *ImportJobResponse {
17501	s.ApplicationId = &v
17502	return s
17503}
17504
17505// SetCompletedPieces sets the CompletedPieces field's value.
17506func (s *ImportJobResponse) SetCompletedPieces(v int64) *ImportJobResponse {
17507	s.CompletedPieces = &v
17508	return s
17509}
17510
17511// SetCompletionDate sets the CompletionDate field's value.
17512func (s *ImportJobResponse) SetCompletionDate(v string) *ImportJobResponse {
17513	s.CompletionDate = &v
17514	return s
17515}
17516
17517// SetCreationDate sets the CreationDate field's value.
17518func (s *ImportJobResponse) SetCreationDate(v string) *ImportJobResponse {
17519	s.CreationDate = &v
17520	return s
17521}
17522
17523// SetDefinition sets the Definition field's value.
17524func (s *ImportJobResponse) SetDefinition(v *ImportJobResource) *ImportJobResponse {
17525	s.Definition = v
17526	return s
17527}
17528
17529// SetFailedPieces sets the FailedPieces field's value.
17530func (s *ImportJobResponse) SetFailedPieces(v int64) *ImportJobResponse {
17531	s.FailedPieces = &v
17532	return s
17533}
17534
17535// SetFailures sets the Failures field's value.
17536func (s *ImportJobResponse) SetFailures(v []*string) *ImportJobResponse {
17537	s.Failures = v
17538	return s
17539}
17540
17541// SetId sets the Id field's value.
17542func (s *ImportJobResponse) SetId(v string) *ImportJobResponse {
17543	s.Id = &v
17544	return s
17545}
17546
17547// SetJobStatus sets the JobStatus field's value.
17548func (s *ImportJobResponse) SetJobStatus(v string) *ImportJobResponse {
17549	s.JobStatus = &v
17550	return s
17551}
17552
17553// SetTotalFailures sets the TotalFailures field's value.
17554func (s *ImportJobResponse) SetTotalFailures(v int64) *ImportJobResponse {
17555	s.TotalFailures = &v
17556	return s
17557}
17558
17559// SetTotalPieces sets the TotalPieces field's value.
17560func (s *ImportJobResponse) SetTotalPieces(v int64) *ImportJobResponse {
17561	s.TotalPieces = &v
17562	return s
17563}
17564
17565// SetTotalProcessed sets the TotalProcessed field's value.
17566func (s *ImportJobResponse) SetTotalProcessed(v int64) *ImportJobResponse {
17567	s.TotalProcessed = &v
17568	return s
17569}
17570
17571// SetType sets the Type field's value.
17572func (s *ImportJobResponse) SetType(v string) *ImportJobResponse {
17573	s.Type = &v
17574	return s
17575}
17576
17577// Provides information about the status and settings of all the import jobs
17578// that are associated with an application or segment. An import job is a job
17579// that imports endpoint definitions from one or more files.
17580type ImportJobsResponse struct {
17581	_ struct{} `type:"structure"`
17582
17583	// An array of responses, one for each import job that's associated with the
17584	// application (Import Jobs resource) or segment (Segment Import Jobs resource).
17585	//
17586	// Item is a required field
17587	Item []*ImportJobResponse `type:"list" required:"true"`
17588
17589	// The string to use in a subsequent request to get the next page of results
17590	// in a paginated response. This value is null if there are no additional pages.
17591	NextToken *string `type:"string"`
17592}
17593
17594// String returns the string representation
17595func (s ImportJobsResponse) String() string {
17596	return awsutil.Prettify(s)
17597}
17598
17599// GoString returns the string representation
17600func (s ImportJobsResponse) GoString() string {
17601	return s.String()
17602}
17603
17604// SetItem sets the Item field's value.
17605func (s *ImportJobsResponse) SetItem(v []*ImportJobResponse) *ImportJobsResponse {
17606	s.Item = v
17607	return s
17608}
17609
17610// SetNextToken sets the NextToken field's value.
17611func (s *ImportJobsResponse) SetNextToken(v string) *ImportJobsResponse {
17612	s.NextToken = &v
17613	return s
17614}
17615
17616// Provides information about the results of a request to create or update an
17617// endpoint that's associated with an event.
17618type ItemResponse struct {
17619	_ struct{} `type:"structure"`
17620
17621	// The response that was received after the endpoint data was accepted.
17622	EndpointItemResponse *EndpointItemResponse `type:"structure"`
17623
17624	// A multipart response object that contains a key and a value for each event
17625	// in the request. In each object, the event ID is the key and an EventItemResponse
17626	// object is the value.
17627	EventsItemResponse map[string]*EventItemResponse `type:"map"`
17628}
17629
17630// String returns the string representation
17631func (s ItemResponse) String() string {
17632	return awsutil.Prettify(s)
17633}
17634
17635// GoString returns the string representation
17636func (s ItemResponse) GoString() string {
17637	return s.String()
17638}
17639
17640// SetEndpointItemResponse sets the EndpointItemResponse field's value.
17641func (s *ItemResponse) SetEndpointItemResponse(v *EndpointItemResponse) *ItemResponse {
17642	s.EndpointItemResponse = v
17643	return s
17644}
17645
17646// SetEventsItemResponse sets the EventsItemResponse field's value.
17647func (s *ItemResponse) SetEventsItemResponse(v map[string]*EventItemResponse) *ItemResponse {
17648	s.EventsItemResponse = v
17649	return s
17650}
17651
17652type ListTagsForResourceInput struct {
17653	_ struct{} `type:"structure"`
17654
17655	// ResourceArn is a required field
17656	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
17657}
17658
17659// String returns the string representation
17660func (s ListTagsForResourceInput) String() string {
17661	return awsutil.Prettify(s)
17662}
17663
17664// GoString returns the string representation
17665func (s ListTagsForResourceInput) GoString() string {
17666	return s.String()
17667}
17668
17669// Validate inspects the fields of the type to determine if they are valid.
17670func (s *ListTagsForResourceInput) Validate() error {
17671	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
17672	if s.ResourceArn == nil {
17673		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
17674	}
17675	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
17676		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
17677	}
17678
17679	if invalidParams.Len() > 0 {
17680		return invalidParams
17681	}
17682	return nil
17683}
17684
17685// SetResourceArn sets the ResourceArn field's value.
17686func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
17687	s.ResourceArn = &v
17688	return s
17689}
17690
17691type ListTagsForResourceOutput struct {
17692	_ struct{} `type:"structure" payload:"TagsModel"`
17693
17694	// Specifies the tags (keys and values) for an application, campaign, or segment.
17695	//
17696	// TagsModel is a required field
17697	TagsModel *TagsModel `type:"structure" required:"true"`
17698}
17699
17700// String returns the string representation
17701func (s ListTagsForResourceOutput) String() string {
17702	return awsutil.Prettify(s)
17703}
17704
17705// GoString returns the string representation
17706func (s ListTagsForResourceOutput) GoString() string {
17707	return s.String()
17708}
17709
17710// SetTagsModel sets the TagsModel field's value.
17711func (s *ListTagsForResourceOutput) SetTagsModel(v *TagsModel) *ListTagsForResourceOutput {
17712	s.TagsModel = v
17713	return s
17714}
17715
17716// Specifies the content and settings for a push notification that's sent to
17717// recipients of a campaign.
17718type Message struct {
17719	_ struct{} `type:"structure"`
17720
17721	// The action to occur if a recipient taps the push notification. Valid values
17722	// are:
17723	//
17724	//    * OPEN_APP - Your app opens or it becomes the foreground app if it was
17725	//    sent to the background. This is the default action.
17726	//
17727	//    * DEEP_LINK - Your app opens and displays a designated user interface
17728	//    in the app. This setting uses the deep-linking features of iOS and Android.
17729	//
17730	//    * URL - The default mobile browser on the recipient's device opens and
17731	//    loads the web page at a URL that you specify.
17732	Action *string `type:"string" enum:"Action"`
17733
17734	// The body of the notification message. The maximum number of characters is
17735	// 200.
17736	Body *string `type:"string"`
17737
17738	// The URL of the image to display as the push-notification icon, such as the
17739	// icon for the app.
17740	ImageIconUrl *string `type:"string"`
17741
17742	// The URL of the image to display as the small, push-notification icon, such
17743	// as a small version of the icon for the app.
17744	ImageSmallIconUrl *string `type:"string"`
17745
17746	// The URL of an image to display in the push notification.
17747	ImageUrl *string `type:"string"`
17748
17749	// The JSON payload to use for a silent push notification.
17750	JsonBody *string `type:"string"`
17751
17752	// The URL of the image or video to display in the push notification.
17753	MediaUrl *string `type:"string"`
17754
17755	// The raw, JSON-formatted string to use as the payload for the notification
17756	// message. This value overrides other values for the message.
17757	RawContent *string `type:"string"`
17758
17759	// Specifies whether the notification is a silent push notification, which is
17760	// a push notification that doesn't display on a recipient's device. Silent
17761	// push notifications can be used for cases such as updating an app's configuration,
17762	// displaying messages in an in-app message center, or supporting phone home
17763	// functionality.
17764	SilentPush *bool `type:"boolean"`
17765
17766	// The number of seconds that the push-notification service should keep the
17767	// message, if the service is unable to deliver the notification the first time.
17768	// This value is converted to an expiration value when it's sent to a push-notification
17769	// service. If this value is 0, the service treats the notification as if it
17770	// expires immediately and the service doesn't store or try to deliver the notification
17771	// again.
17772	//
17773	// This value doesn't apply to messages that are sent through the Amazon Device
17774	// Messaging (ADM) service.
17775	TimeToLive *int64 `type:"integer"`
17776
17777	// The title to display above the notification message on a recipient's device.
17778	Title *string `type:"string"`
17779
17780	// The URL to open in a recipient's default mobile browser, if a recipient taps
17781	// the push notification and the value of the Action property is URL.
17782	Url *string `type:"string"`
17783}
17784
17785// String returns the string representation
17786func (s Message) String() string {
17787	return awsutil.Prettify(s)
17788}
17789
17790// GoString returns the string representation
17791func (s Message) GoString() string {
17792	return s.String()
17793}
17794
17795// SetAction sets the Action field's value.
17796func (s *Message) SetAction(v string) *Message {
17797	s.Action = &v
17798	return s
17799}
17800
17801// SetBody sets the Body field's value.
17802func (s *Message) SetBody(v string) *Message {
17803	s.Body = &v
17804	return s
17805}
17806
17807// SetImageIconUrl sets the ImageIconUrl field's value.
17808func (s *Message) SetImageIconUrl(v string) *Message {
17809	s.ImageIconUrl = &v
17810	return s
17811}
17812
17813// SetImageSmallIconUrl sets the ImageSmallIconUrl field's value.
17814func (s *Message) SetImageSmallIconUrl(v string) *Message {
17815	s.ImageSmallIconUrl = &v
17816	return s
17817}
17818
17819// SetImageUrl sets the ImageUrl field's value.
17820func (s *Message) SetImageUrl(v string) *Message {
17821	s.ImageUrl = &v
17822	return s
17823}
17824
17825// SetJsonBody sets the JsonBody field's value.
17826func (s *Message) SetJsonBody(v string) *Message {
17827	s.JsonBody = &v
17828	return s
17829}
17830
17831// SetMediaUrl sets the MediaUrl field's value.
17832func (s *Message) SetMediaUrl(v string) *Message {
17833	s.MediaUrl = &v
17834	return s
17835}
17836
17837// SetRawContent sets the RawContent field's value.
17838func (s *Message) SetRawContent(v string) *Message {
17839	s.RawContent = &v
17840	return s
17841}
17842
17843// SetSilentPush sets the SilentPush field's value.
17844func (s *Message) SetSilentPush(v bool) *Message {
17845	s.SilentPush = &v
17846	return s
17847}
17848
17849// SetTimeToLive sets the TimeToLive field's value.
17850func (s *Message) SetTimeToLive(v int64) *Message {
17851	s.TimeToLive = &v
17852	return s
17853}
17854
17855// SetTitle sets the Title field's value.
17856func (s *Message) SetTitle(v string) *Message {
17857	s.Title = &v
17858	return s
17859}
17860
17861// SetUrl sets the Url field's value.
17862func (s *Message) SetUrl(v string) *Message {
17863	s.Url = &v
17864	return s
17865}
17866
17867// Provides information about an API request or response.
17868type MessageBody struct {
17869	_ struct{} `type:"structure"`
17870
17871	// The message that's returned from the API.
17872	Message *string `type:"string"`
17873
17874	// The unique identifier for the request or response.
17875	RequestID *string `type:"string"`
17876}
17877
17878// String returns the string representation
17879func (s MessageBody) String() string {
17880	return awsutil.Prettify(s)
17881}
17882
17883// GoString returns the string representation
17884func (s MessageBody) GoString() string {
17885	return s.String()
17886}
17887
17888// SetMessage sets the Message field's value.
17889func (s *MessageBody) SetMessage(v string) *MessageBody {
17890	s.Message = &v
17891	return s
17892}
17893
17894// SetRequestID sets the RequestID field's value.
17895func (s *MessageBody) SetRequestID(v string) *MessageBody {
17896	s.RequestID = &v
17897	return s
17898}
17899
17900// Specifies the message configuration settings for a campaign.
17901type MessageConfiguration struct {
17902	_ struct{} `type:"structure"`
17903
17904	// The message that the campaign sends through the ADM (Amazon Device Messaging)
17905	// channel. This message overrides the default message.
17906	ADMMessage *Message `type:"structure"`
17907
17908	// The message that the campaign sends through the APNs (Apple Push Notification
17909	// service) channel. This message overrides the default message.
17910	APNSMessage *Message `type:"structure"`
17911
17912	// The message that the campaign sends through the Baidu (Baidu Cloud Push)
17913	// channel. This message overrides the default message.
17914	BaiduMessage *Message `type:"structure"`
17915
17916	// The default message that the campaign sends through all the channels that
17917	// are configured for the campaign.
17918	DefaultMessage *Message `type:"structure"`
17919
17920	// The message that the campaign sends through the email channel.
17921	EmailMessage *CampaignEmailMessage `type:"structure"`
17922
17923	// The message that the campaign sends through the GCM channel, which enables
17924	// Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging
17925	// (FCM), formerly Google Cloud Messaging (GCM), service. This message overrides
17926	// the default message.
17927	GCMMessage *Message `type:"structure"`
17928
17929	// The message that the campaign sends through the SMS channel.
17930	SMSMessage *CampaignSmsMessage `type:"structure"`
17931}
17932
17933// String returns the string representation
17934func (s MessageConfiguration) String() string {
17935	return awsutil.Prettify(s)
17936}
17937
17938// GoString returns the string representation
17939func (s MessageConfiguration) GoString() string {
17940	return s.String()
17941}
17942
17943// Validate inspects the fields of the type to determine if they are valid.
17944func (s *MessageConfiguration) Validate() error {
17945	invalidParams := request.ErrInvalidParams{Context: "MessageConfiguration"}
17946	if s.EmailMessage != nil {
17947		if err := s.EmailMessage.Validate(); err != nil {
17948			invalidParams.AddNested("EmailMessage", err.(request.ErrInvalidParams))
17949		}
17950	}
17951
17952	if invalidParams.Len() > 0 {
17953		return invalidParams
17954	}
17955	return nil
17956}
17957
17958// SetADMMessage sets the ADMMessage field's value.
17959func (s *MessageConfiguration) SetADMMessage(v *Message) *MessageConfiguration {
17960	s.ADMMessage = v
17961	return s
17962}
17963
17964// SetAPNSMessage sets the APNSMessage field's value.
17965func (s *MessageConfiguration) SetAPNSMessage(v *Message) *MessageConfiguration {
17966	s.APNSMessage = v
17967	return s
17968}
17969
17970// SetBaiduMessage sets the BaiduMessage field's value.
17971func (s *MessageConfiguration) SetBaiduMessage(v *Message) *MessageConfiguration {
17972	s.BaiduMessage = v
17973	return s
17974}
17975
17976// SetDefaultMessage sets the DefaultMessage field's value.
17977func (s *MessageConfiguration) SetDefaultMessage(v *Message) *MessageConfiguration {
17978	s.DefaultMessage = v
17979	return s
17980}
17981
17982// SetEmailMessage sets the EmailMessage field's value.
17983func (s *MessageConfiguration) SetEmailMessage(v *CampaignEmailMessage) *MessageConfiguration {
17984	s.EmailMessage = v
17985	return s
17986}
17987
17988// SetGCMMessage sets the GCMMessage field's value.
17989func (s *MessageConfiguration) SetGCMMessage(v *Message) *MessageConfiguration {
17990	s.GCMMessage = v
17991	return s
17992}
17993
17994// SetSMSMessage sets the SMSMessage field's value.
17995func (s *MessageConfiguration) SetSMSMessage(v *CampaignSmsMessage) *MessageConfiguration {
17996	s.SMSMessage = v
17997	return s
17998}
17999
18000// Specifies the objects that define configuration and other settings for a
18001// message.
18002type MessageRequest struct {
18003	_ struct{} `type:"structure"`
18004
18005	// A map of key-value pairs, where each key is an address and each value is
18006	// an AddressConfiguration object. An address can be a push notification token,
18007	// a phone number, or an email address. You can use an AddressConfiguration
18008	// object to tailor the message for an address by specifying settings such as
18009	// content overrides and message variables.
18010	Addresses map[string]*AddressConfiguration `type:"map"`
18011
18012	// A map of custom attributes to attach to the message. For a push notification,
18013	// this payload is added to the data.pinpoint object. For an email or text message,
18014	// this payload is added to email/SMS delivery receipt event attributes.
18015	Context map[string]*string `type:"map"`
18016
18017	// A map of key-value pairs, where each key is an endpoint ID and each value
18018	// is an EndpointSendConfiguration object. You can use an EndpointSendConfiguration
18019	// object to tailor the message for an endpoint by specifying settings such
18020	// as content overrides and message variables.
18021	Endpoints map[string]*EndpointSendConfiguration `type:"map"`
18022
18023	// The set of properties that defines the configuration settings for the message.
18024	//
18025	// MessageConfiguration is a required field
18026	MessageConfiguration *DirectMessageConfiguration `type:"structure" required:"true"`
18027
18028	// The unique identifier for tracing the message. This identifier is visible
18029	// to message recipients.
18030	TraceId *string `type:"string"`
18031}
18032
18033// String returns the string representation
18034func (s MessageRequest) String() string {
18035	return awsutil.Prettify(s)
18036}
18037
18038// GoString returns the string representation
18039func (s MessageRequest) GoString() string {
18040	return s.String()
18041}
18042
18043// Validate inspects the fields of the type to determine if they are valid.
18044func (s *MessageRequest) Validate() error {
18045	invalidParams := request.ErrInvalidParams{Context: "MessageRequest"}
18046	if s.MessageConfiguration == nil {
18047		invalidParams.Add(request.NewErrParamRequired("MessageConfiguration"))
18048	}
18049
18050	if invalidParams.Len() > 0 {
18051		return invalidParams
18052	}
18053	return nil
18054}
18055
18056// SetAddresses sets the Addresses field's value.
18057func (s *MessageRequest) SetAddresses(v map[string]*AddressConfiguration) *MessageRequest {
18058	s.Addresses = v
18059	return s
18060}
18061
18062// SetContext sets the Context field's value.
18063func (s *MessageRequest) SetContext(v map[string]*string) *MessageRequest {
18064	s.Context = v
18065	return s
18066}
18067
18068// SetEndpoints sets the Endpoints field's value.
18069func (s *MessageRequest) SetEndpoints(v map[string]*EndpointSendConfiguration) *MessageRequest {
18070	s.Endpoints = v
18071	return s
18072}
18073
18074// SetMessageConfiguration sets the MessageConfiguration field's value.
18075func (s *MessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) *MessageRequest {
18076	s.MessageConfiguration = v
18077	return s
18078}
18079
18080// SetTraceId sets the TraceId field's value.
18081func (s *MessageRequest) SetTraceId(v string) *MessageRequest {
18082	s.TraceId = &v
18083	return s
18084}
18085
18086// Provides information about the results of a request to send a message to
18087// an endpoint address.
18088type MessageResponse struct {
18089	_ struct{} `type:"structure"`
18090
18091	// The unique identifier for the application that was used to send the message.
18092	//
18093	// ApplicationId is a required field
18094	ApplicationId *string `type:"string" required:"true"`
18095
18096	// A map that contains a multipart response for each address that the message
18097	// was sent to. In the map, the endpoint ID is the key and the result is the
18098	// value.
18099	EndpointResult map[string]*EndpointMessageResult `type:"map"`
18100
18101	// The identifier for the original request that the message was delivered for.
18102	RequestId *string `type:"string"`
18103
18104	// A map that contains a multipart response for each address (email address,
18105	// phone number, or push notification token) that the message was sent to. In
18106	// the map, the address is the key and the result is the value.
18107	Result map[string]*MessageResult `type:"map"`
18108}
18109
18110// String returns the string representation
18111func (s MessageResponse) String() string {
18112	return awsutil.Prettify(s)
18113}
18114
18115// GoString returns the string representation
18116func (s MessageResponse) GoString() string {
18117	return s.String()
18118}
18119
18120// SetApplicationId sets the ApplicationId field's value.
18121func (s *MessageResponse) SetApplicationId(v string) *MessageResponse {
18122	s.ApplicationId = &v
18123	return s
18124}
18125
18126// SetEndpointResult sets the EndpointResult field's value.
18127func (s *MessageResponse) SetEndpointResult(v map[string]*EndpointMessageResult) *MessageResponse {
18128	s.EndpointResult = v
18129	return s
18130}
18131
18132// SetRequestId sets the RequestId field's value.
18133func (s *MessageResponse) SetRequestId(v string) *MessageResponse {
18134	s.RequestId = &v
18135	return s
18136}
18137
18138// SetResult sets the Result field's value.
18139func (s *MessageResponse) SetResult(v map[string]*MessageResult) *MessageResponse {
18140	s.Result = v
18141	return s
18142}
18143
18144// Provides information about the results of sending a message directly to an
18145// endpoint address.
18146type MessageResult struct {
18147	_ struct{} `type:"structure"`
18148
18149	// The delivery status of the message. Possible values are:
18150	//
18151	//    * DUPLICATE - The endpoint address is a duplicate of another endpoint
18152	//    address. Amazon Pinpoint won't attempt to send the message again.
18153	//
18154	//    * OPT_OUT - The user who's associated with the endpoint address has opted
18155	//    out of receiving messages from you. Amazon Pinpoint won't attempt to send
18156	//    the message again.
18157	//
18158	//    * PERMANENT_FAILURE - An error occurred when delivering the message to
18159	//    the endpoint address. Amazon Pinpoint won't attempt to send the message
18160	//    again.
18161	//
18162	//    * SUCCESSFUL - The message was successfully delivered to the endpoint
18163	//    address.
18164	//
18165	//    * TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint will
18166	//    attempt to deliver the message again later.
18167	//
18168	//    * THROTTLED - Amazon Pinpoint throttled the operation to send the message
18169	//    to the endpoint address.
18170	//
18171	//    * TIMEOUT - The message couldn't be sent within the timeout period.
18172	//
18173	//    * UNKNOWN_FAILURE - An unknown error occurred.
18174	//
18175	// DeliveryStatus is a required field
18176	DeliveryStatus *string `type:"string" required:"true" enum:"DeliveryStatus"`
18177
18178	// The unique identifier for the message that was sent.
18179	MessageId *string `type:"string"`
18180
18181	// The downstream service status code for delivering the message.
18182	//
18183	// StatusCode is a required field
18184	StatusCode *int64 `type:"integer" required:"true"`
18185
18186	// The status message for delivering the message.
18187	StatusMessage *string `type:"string"`
18188
18189	// For push notifications that are sent through the GCM channel, specifies whether
18190	// the token was updated as part of delivering the message.
18191	UpdatedToken *string `type:"string"`
18192}
18193
18194// String returns the string representation
18195func (s MessageResult) String() string {
18196	return awsutil.Prettify(s)
18197}
18198
18199// GoString returns the string representation
18200func (s MessageResult) GoString() string {
18201	return s.String()
18202}
18203
18204// SetDeliveryStatus sets the DeliveryStatus field's value.
18205func (s *MessageResult) SetDeliveryStatus(v string) *MessageResult {
18206	s.DeliveryStatus = &v
18207	return s
18208}
18209
18210// SetMessageId sets the MessageId field's value.
18211func (s *MessageResult) SetMessageId(v string) *MessageResult {
18212	s.MessageId = &v
18213	return s
18214}
18215
18216// SetStatusCode sets the StatusCode field's value.
18217func (s *MessageResult) SetStatusCode(v int64) *MessageResult {
18218	s.StatusCode = &v
18219	return s
18220}
18221
18222// SetStatusMessage sets the StatusMessage field's value.
18223func (s *MessageResult) SetStatusMessage(v string) *MessageResult {
18224	s.StatusMessage = &v
18225	return s
18226}
18227
18228// SetUpdatedToken sets the UpdatedToken field's value.
18229func (s *MessageResult) SetUpdatedToken(v string) *MessageResult {
18230	s.UpdatedToken = &v
18231	return s
18232}
18233
18234// Specifies metric-based criteria for including or excluding endpoints from
18235// a segment. These criteria derive from custom metrics that you define for
18236// endpoints.
18237type MetricDimension struct {
18238	_ struct{} `type:"structure"`
18239
18240	// The operator to use when comparing metric values. Valid values are: GREATER_THAN,
18241	// LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, and EQUAL.
18242	//
18243	// ComparisonOperator is a required field
18244	ComparisonOperator *string `type:"string" required:"true"`
18245
18246	// The value to compare.
18247	//
18248	// Value is a required field
18249	Value *float64 `type:"double" required:"true"`
18250}
18251
18252// String returns the string representation
18253func (s MetricDimension) String() string {
18254	return awsutil.Prettify(s)
18255}
18256
18257// GoString returns the string representation
18258func (s MetricDimension) GoString() string {
18259	return s.String()
18260}
18261
18262// Validate inspects the fields of the type to determine if they are valid.
18263func (s *MetricDimension) Validate() error {
18264	invalidParams := request.ErrInvalidParams{Context: "MetricDimension"}
18265	if s.ComparisonOperator == nil {
18266		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
18267	}
18268	if s.Value == nil {
18269		invalidParams.Add(request.NewErrParamRequired("Value"))
18270	}
18271
18272	if invalidParams.Len() > 0 {
18273		return invalidParams
18274	}
18275	return nil
18276}
18277
18278// SetComparisonOperator sets the ComparisonOperator field's value.
18279func (s *MetricDimension) SetComparisonOperator(v string) *MetricDimension {
18280	s.ComparisonOperator = &v
18281	return s
18282}
18283
18284// SetValue sets the Value field's value.
18285func (s *MetricDimension) SetValue(v float64) *MetricDimension {
18286	s.Value = &v
18287	return s
18288}
18289
18290// Specifies a phone number to validate and retrieve information about.
18291type NumberValidateRequest struct {
18292	_ struct{} `type:"structure"`
18293
18294	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
18295	// region where the phone number was originally registered.
18296	IsoCountryCode *string `type:"string"`
18297
18298	// The phone number to retrieve information about. The phone number that you
18299	// provide should include a valid numeric country code. Otherwise, the operation
18300	// might result in an error.
18301	PhoneNumber *string `type:"string"`
18302}
18303
18304// String returns the string representation
18305func (s NumberValidateRequest) String() string {
18306	return awsutil.Prettify(s)
18307}
18308
18309// GoString returns the string representation
18310func (s NumberValidateRequest) GoString() string {
18311	return s.String()
18312}
18313
18314// SetIsoCountryCode sets the IsoCountryCode field's value.
18315func (s *NumberValidateRequest) SetIsoCountryCode(v string) *NumberValidateRequest {
18316	s.IsoCountryCode = &v
18317	return s
18318}
18319
18320// SetPhoneNumber sets the PhoneNumber field's value.
18321func (s *NumberValidateRequest) SetPhoneNumber(v string) *NumberValidateRequest {
18322	s.PhoneNumber = &v
18323	return s
18324}
18325
18326// Provides information about a phone number.
18327type NumberValidateResponse struct {
18328	_ struct{} `type:"structure"`
18329
18330	// The carrier or service provider that the phone number is currently registered
18331	// with.
18332	Carrier *string `type:"string"`
18333
18334	// The name of the city where the phone number was originally registered.
18335	City *string `type:"string"`
18336
18337	// The cleansed phone number, in E.164 format, for the location where the phone
18338	// number was originally registered.
18339	CleansedPhoneNumberE164 *string `type:"string"`
18340
18341	// The cleansed phone number, in the format for the location where the phone
18342	// number was originally registered.
18343	CleansedPhoneNumberNational *string `type:"string"`
18344
18345	// The name of the country or region where the phone number was originally registered.
18346	Country *string `type:"string"`
18347
18348	// The two-character code, in ISO 3166-1 alpha-2 format, for the country or
18349	// region where the phone number was originally registered.
18350	CountryCodeIso2 *string `type:"string"`
18351
18352	// The numeric code for the country or region where the phone number was originally
18353	// registered.
18354	CountryCodeNumeric *string `type:"string"`
18355
18356	// The name of the county where the phone number was originally registered.
18357	County *string `type:"string"`
18358
18359	// The two-character code, in ISO 3166-1 alpha-2 format, that was sent in the
18360	// request body.
18361	OriginalCountryCodeIso2 *string `type:"string"`
18362
18363	// The phone number that was sent in the request body.
18364	OriginalPhoneNumber *string `type:"string"`
18365
18366	// The description of the phone type. Valid values are: MOBILE, LANDLINE, VOIP,
18367	// INVALID, PREPAID, and OTHER.
18368	PhoneType *string `type:"string"`
18369
18370	// The phone type, represented by an integer. Valid values are: 0 (mobile),
18371	// 1 (landline), 2 (VoIP), 3 (invalid), 4 (other), and 5 (prepaid).
18372	PhoneTypeCode *int64 `type:"integer"`
18373
18374	// The time zone for the location where the phone number was originally registered.
18375	Timezone *string `type:"string"`
18376
18377	// The postal or ZIP code for the location where the phone number was originally
18378	// registered.
18379	ZipCode *string `type:"string"`
18380}
18381
18382// String returns the string representation
18383func (s NumberValidateResponse) String() string {
18384	return awsutil.Prettify(s)
18385}
18386
18387// GoString returns the string representation
18388func (s NumberValidateResponse) GoString() string {
18389	return s.String()
18390}
18391
18392// SetCarrier sets the Carrier field's value.
18393func (s *NumberValidateResponse) SetCarrier(v string) *NumberValidateResponse {
18394	s.Carrier = &v
18395	return s
18396}
18397
18398// SetCity sets the City field's value.
18399func (s *NumberValidateResponse) SetCity(v string) *NumberValidateResponse {
18400	s.City = &v
18401	return s
18402}
18403
18404// SetCleansedPhoneNumberE164 sets the CleansedPhoneNumberE164 field's value.
18405func (s *NumberValidateResponse) SetCleansedPhoneNumberE164(v string) *NumberValidateResponse {
18406	s.CleansedPhoneNumberE164 = &v
18407	return s
18408}
18409
18410// SetCleansedPhoneNumberNational sets the CleansedPhoneNumberNational field's value.
18411func (s *NumberValidateResponse) SetCleansedPhoneNumberNational(v string) *NumberValidateResponse {
18412	s.CleansedPhoneNumberNational = &v
18413	return s
18414}
18415
18416// SetCountry sets the Country field's value.
18417func (s *NumberValidateResponse) SetCountry(v string) *NumberValidateResponse {
18418	s.Country = &v
18419	return s
18420}
18421
18422// SetCountryCodeIso2 sets the CountryCodeIso2 field's value.
18423func (s *NumberValidateResponse) SetCountryCodeIso2(v string) *NumberValidateResponse {
18424	s.CountryCodeIso2 = &v
18425	return s
18426}
18427
18428// SetCountryCodeNumeric sets the CountryCodeNumeric field's value.
18429func (s *NumberValidateResponse) SetCountryCodeNumeric(v string) *NumberValidateResponse {
18430	s.CountryCodeNumeric = &v
18431	return s
18432}
18433
18434// SetCounty sets the County field's value.
18435func (s *NumberValidateResponse) SetCounty(v string) *NumberValidateResponse {
18436	s.County = &v
18437	return s
18438}
18439
18440// SetOriginalCountryCodeIso2 sets the OriginalCountryCodeIso2 field's value.
18441func (s *NumberValidateResponse) SetOriginalCountryCodeIso2(v string) *NumberValidateResponse {
18442	s.OriginalCountryCodeIso2 = &v
18443	return s
18444}
18445
18446// SetOriginalPhoneNumber sets the OriginalPhoneNumber field's value.
18447func (s *NumberValidateResponse) SetOriginalPhoneNumber(v string) *NumberValidateResponse {
18448	s.OriginalPhoneNumber = &v
18449	return s
18450}
18451
18452// SetPhoneType sets the PhoneType field's value.
18453func (s *NumberValidateResponse) SetPhoneType(v string) *NumberValidateResponse {
18454	s.PhoneType = &v
18455	return s
18456}
18457
18458// SetPhoneTypeCode sets the PhoneTypeCode field's value.
18459func (s *NumberValidateResponse) SetPhoneTypeCode(v int64) *NumberValidateResponse {
18460	s.PhoneTypeCode = &v
18461	return s
18462}
18463
18464// SetTimezone sets the Timezone field's value.
18465func (s *NumberValidateResponse) SetTimezone(v string) *NumberValidateResponse {
18466	s.Timezone = &v
18467	return s
18468}
18469
18470// SetZipCode sets the ZipCode field's value.
18471func (s *NumberValidateResponse) SetZipCode(v string) *NumberValidateResponse {
18472	s.ZipCode = &v
18473	return s
18474}
18475
18476type PhoneNumberValidateInput struct {
18477	_ struct{} `type:"structure" payload:"NumberValidateRequest"`
18478
18479	// Specifies a phone number to validate and retrieve information about.
18480	//
18481	// NumberValidateRequest is a required field
18482	NumberValidateRequest *NumberValidateRequest `type:"structure" required:"true"`
18483}
18484
18485// String returns the string representation
18486func (s PhoneNumberValidateInput) String() string {
18487	return awsutil.Prettify(s)
18488}
18489
18490// GoString returns the string representation
18491func (s PhoneNumberValidateInput) GoString() string {
18492	return s.String()
18493}
18494
18495// Validate inspects the fields of the type to determine if they are valid.
18496func (s *PhoneNumberValidateInput) Validate() error {
18497	invalidParams := request.ErrInvalidParams{Context: "PhoneNumberValidateInput"}
18498	if s.NumberValidateRequest == nil {
18499		invalidParams.Add(request.NewErrParamRequired("NumberValidateRequest"))
18500	}
18501
18502	if invalidParams.Len() > 0 {
18503		return invalidParams
18504	}
18505	return nil
18506}
18507
18508// SetNumberValidateRequest sets the NumberValidateRequest field's value.
18509func (s *PhoneNumberValidateInput) SetNumberValidateRequest(v *NumberValidateRequest) *PhoneNumberValidateInput {
18510	s.NumberValidateRequest = v
18511	return s
18512}
18513
18514type PhoneNumberValidateOutput struct {
18515	_ struct{} `type:"structure" payload:"NumberValidateResponse"`
18516
18517	// Provides information about a phone number.
18518	//
18519	// NumberValidateResponse is a required field
18520	NumberValidateResponse *NumberValidateResponse `type:"structure" required:"true"`
18521}
18522
18523// String returns the string representation
18524func (s PhoneNumberValidateOutput) String() string {
18525	return awsutil.Prettify(s)
18526}
18527
18528// GoString returns the string representation
18529func (s PhoneNumberValidateOutput) GoString() string {
18530	return s.String()
18531}
18532
18533// SetNumberValidateResponse sets the NumberValidateResponse field's value.
18534func (s *PhoneNumberValidateOutput) SetNumberValidateResponse(v *NumberValidateResponse) *PhoneNumberValidateOutput {
18535	s.NumberValidateResponse = v
18536	return s
18537}
18538
18539// Specifies the properties and attributes of an endpoint that's associated
18540// with an event.
18541type PublicEndpoint struct {
18542	_ struct{} `type:"structure"`
18543
18544	// The unique identifier for the recipient, such as a device token, email address,
18545	// or mobile phone number.
18546	Address *string `type:"string"`
18547
18548	// One or more custom attributes that describe the endpoint by associating a
18549	// name with an array of values. You can use these attributes as filter criteria
18550	// when you create segments.
18551	Attributes map[string][]*string `type:"map"`
18552
18553	// The channel that's used when sending messages or push notifications to the
18554	// endpoint.
18555	ChannelType *string `type:"string" enum:"ChannelType"`
18556
18557	// The demographic information for the endpoint, such as the time zone and platform.
18558	Demographic *EndpointDemographic `type:"structure"`
18559
18560	// The date and time, in ISO 8601 format, when the endpoint was last updated.
18561	EffectiveDate *string `type:"string"`
18562
18563	// The status of the update request for the endpoint. Possible values are: INACTIVE,
18564	// the update failed; and, ACTIVE, the endpoint was updated successfully.
18565	EndpointStatus *string `type:"string"`
18566
18567	// The geographic information for the endpoint.
18568	Location *EndpointLocation `type:"structure"`
18569
18570	// One or more custom metrics that your app reports to Amazon Pinpoint for the
18571	// endpoint.
18572	Metrics map[string]*float64 `type:"map"`
18573
18574	// Specifies whether the user who's associated with the endpoint has opted out
18575	// of receiving messages and push notifications from you. Possible values are:
18576	// ALL, the user has opted out and doesn't want to receive any messages or push
18577	// notifications; and, NONE, the user hasn't opted out and wants to receive
18578	// all messages and push notifications.
18579	OptOut *string `type:"string"`
18580
18581	// A unique identifier that's generated each time the endpoint is updated.
18582	RequestId *string `type:"string"`
18583
18584	// One or more custom user attributes that your app reports to Amazon Pinpoint
18585	// for the user who's associated with the endpoint.
18586	User *EndpointUser `type:"structure"`
18587}
18588
18589// String returns the string representation
18590func (s PublicEndpoint) String() string {
18591	return awsutil.Prettify(s)
18592}
18593
18594// GoString returns the string representation
18595func (s PublicEndpoint) GoString() string {
18596	return s.String()
18597}
18598
18599// SetAddress sets the Address field's value.
18600func (s *PublicEndpoint) SetAddress(v string) *PublicEndpoint {
18601	s.Address = &v
18602	return s
18603}
18604
18605// SetAttributes sets the Attributes field's value.
18606func (s *PublicEndpoint) SetAttributes(v map[string][]*string) *PublicEndpoint {
18607	s.Attributes = v
18608	return s
18609}
18610
18611// SetChannelType sets the ChannelType field's value.
18612func (s *PublicEndpoint) SetChannelType(v string) *PublicEndpoint {
18613	s.ChannelType = &v
18614	return s
18615}
18616
18617// SetDemographic sets the Demographic field's value.
18618func (s *PublicEndpoint) SetDemographic(v *EndpointDemographic) *PublicEndpoint {
18619	s.Demographic = v
18620	return s
18621}
18622
18623// SetEffectiveDate sets the EffectiveDate field's value.
18624func (s *PublicEndpoint) SetEffectiveDate(v string) *PublicEndpoint {
18625	s.EffectiveDate = &v
18626	return s
18627}
18628
18629// SetEndpointStatus sets the EndpointStatus field's value.
18630func (s *PublicEndpoint) SetEndpointStatus(v string) *PublicEndpoint {
18631	s.EndpointStatus = &v
18632	return s
18633}
18634
18635// SetLocation sets the Location field's value.
18636func (s *PublicEndpoint) SetLocation(v *EndpointLocation) *PublicEndpoint {
18637	s.Location = v
18638	return s
18639}
18640
18641// SetMetrics sets the Metrics field's value.
18642func (s *PublicEndpoint) SetMetrics(v map[string]*float64) *PublicEndpoint {
18643	s.Metrics = v
18644	return s
18645}
18646
18647// SetOptOut sets the OptOut field's value.
18648func (s *PublicEndpoint) SetOptOut(v string) *PublicEndpoint {
18649	s.OptOut = &v
18650	return s
18651}
18652
18653// SetRequestId sets the RequestId field's value.
18654func (s *PublicEndpoint) SetRequestId(v string) *PublicEndpoint {
18655	s.RequestId = &v
18656	return s
18657}
18658
18659// SetUser sets the User field's value.
18660func (s *PublicEndpoint) SetUser(v *EndpointUser) *PublicEndpoint {
18661	s.User = v
18662	return s
18663}
18664
18665type PutEventStreamInput struct {
18666	_ struct{} `type:"structure" payload:"WriteEventStream"`
18667
18668	// ApplicationId is a required field
18669	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18670
18671	// Specifies the Amazon Resource Name (ARN) of an event stream to publish events
18672	// to and the AWS Identity and Access Management (IAM) role to use when publishing
18673	// those events.
18674	//
18675	// WriteEventStream is a required field
18676	WriteEventStream *WriteEventStream `type:"structure" required:"true"`
18677}
18678
18679// String returns the string representation
18680func (s PutEventStreamInput) String() string {
18681	return awsutil.Prettify(s)
18682}
18683
18684// GoString returns the string representation
18685func (s PutEventStreamInput) GoString() string {
18686	return s.String()
18687}
18688
18689// Validate inspects the fields of the type to determine if they are valid.
18690func (s *PutEventStreamInput) Validate() error {
18691	invalidParams := request.ErrInvalidParams{Context: "PutEventStreamInput"}
18692	if s.ApplicationId == nil {
18693		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18694	}
18695	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18696		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18697	}
18698	if s.WriteEventStream == nil {
18699		invalidParams.Add(request.NewErrParamRequired("WriteEventStream"))
18700	}
18701	if s.WriteEventStream != nil {
18702		if err := s.WriteEventStream.Validate(); err != nil {
18703			invalidParams.AddNested("WriteEventStream", err.(request.ErrInvalidParams))
18704		}
18705	}
18706
18707	if invalidParams.Len() > 0 {
18708		return invalidParams
18709	}
18710	return nil
18711}
18712
18713// SetApplicationId sets the ApplicationId field's value.
18714func (s *PutEventStreamInput) SetApplicationId(v string) *PutEventStreamInput {
18715	s.ApplicationId = &v
18716	return s
18717}
18718
18719// SetWriteEventStream sets the WriteEventStream field's value.
18720func (s *PutEventStreamInput) SetWriteEventStream(v *WriteEventStream) *PutEventStreamInput {
18721	s.WriteEventStream = v
18722	return s
18723}
18724
18725type PutEventStreamOutput struct {
18726	_ struct{} `type:"structure" payload:"EventStream"`
18727
18728	// Specifies settings for publishing event data to an Amazon Kinesis data stream
18729	// or an Amazon Kinesis Data Firehose delivery stream.
18730	//
18731	// EventStream is a required field
18732	EventStream *EventStream `type:"structure" required:"true"`
18733}
18734
18735// String returns the string representation
18736func (s PutEventStreamOutput) String() string {
18737	return awsutil.Prettify(s)
18738}
18739
18740// GoString returns the string representation
18741func (s PutEventStreamOutput) GoString() string {
18742	return s.String()
18743}
18744
18745// SetEventStream sets the EventStream field's value.
18746func (s *PutEventStreamOutput) SetEventStream(v *EventStream) *PutEventStreamOutput {
18747	s.EventStream = v
18748	return s
18749}
18750
18751type PutEventsInput struct {
18752	_ struct{} `type:"structure" payload:"EventsRequest"`
18753
18754	// ApplicationId is a required field
18755	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18756
18757	// Specifies a batch of events to process.
18758	//
18759	// EventsRequest is a required field
18760	EventsRequest *EventsRequest `type:"structure" required:"true"`
18761}
18762
18763// String returns the string representation
18764func (s PutEventsInput) String() string {
18765	return awsutil.Prettify(s)
18766}
18767
18768// GoString returns the string representation
18769func (s PutEventsInput) GoString() string {
18770	return s.String()
18771}
18772
18773// Validate inspects the fields of the type to determine if they are valid.
18774func (s *PutEventsInput) Validate() error {
18775	invalidParams := request.ErrInvalidParams{Context: "PutEventsInput"}
18776	if s.ApplicationId == nil {
18777		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18778	}
18779	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18780		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18781	}
18782	if s.EventsRequest == nil {
18783		invalidParams.Add(request.NewErrParamRequired("EventsRequest"))
18784	}
18785	if s.EventsRequest != nil {
18786		if err := s.EventsRequest.Validate(); err != nil {
18787			invalidParams.AddNested("EventsRequest", err.(request.ErrInvalidParams))
18788		}
18789	}
18790
18791	if invalidParams.Len() > 0 {
18792		return invalidParams
18793	}
18794	return nil
18795}
18796
18797// SetApplicationId sets the ApplicationId field's value.
18798func (s *PutEventsInput) SetApplicationId(v string) *PutEventsInput {
18799	s.ApplicationId = &v
18800	return s
18801}
18802
18803// SetEventsRequest sets the EventsRequest field's value.
18804func (s *PutEventsInput) SetEventsRequest(v *EventsRequest) *PutEventsInput {
18805	s.EventsRequest = v
18806	return s
18807}
18808
18809type PutEventsOutput struct {
18810	_ struct{} `type:"structure" payload:"EventsResponse"`
18811
18812	// Provides information about endpoints and the events that they're associated
18813	// with.
18814	//
18815	// EventsResponse is a required field
18816	EventsResponse *EventsResponse `type:"structure" required:"true"`
18817}
18818
18819// String returns the string representation
18820func (s PutEventsOutput) String() string {
18821	return awsutil.Prettify(s)
18822}
18823
18824// GoString returns the string representation
18825func (s PutEventsOutput) GoString() string {
18826	return s.String()
18827}
18828
18829// SetEventsResponse sets the EventsResponse field's value.
18830func (s *PutEventsOutput) SetEventsResponse(v *EventsResponse) *PutEventsOutput {
18831	s.EventsResponse = v
18832	return s
18833}
18834
18835// Specifies the start and end times that define a time range when messages
18836// aren't sent to endpoints.
18837type QuietTime struct {
18838	_ struct{} `type:"structure"`
18839
18840	// The specific time when quiet time ends. This value has to use 24-hour notation
18841	// and be in HH:MM format, where HH is the hour (with a leading zero, if applicable)
18842	// and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30
18843	// to represent 2:30 PM.
18844	End *string `type:"string"`
18845
18846	// The specific time when quiet time begins. This value has to use 24-hour notation
18847	// and be in HH:MM format, where HH is the hour (with a leading zero, if applicable)
18848	// and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30
18849	// to represent 2:30 PM.
18850	Start *string `type:"string"`
18851}
18852
18853// String returns the string representation
18854func (s QuietTime) String() string {
18855	return awsutil.Prettify(s)
18856}
18857
18858// GoString returns the string representation
18859func (s QuietTime) GoString() string {
18860	return s.String()
18861}
18862
18863// SetEnd sets the End field's value.
18864func (s *QuietTime) SetEnd(v string) *QuietTime {
18865	s.End = &v
18866	return s
18867}
18868
18869// SetStart sets the Start field's value.
18870func (s *QuietTime) SetStart(v string) *QuietTime {
18871	s.Start = &v
18872	return s
18873}
18874
18875// Specifies the contents of an email message, represented as a raw MIME message.
18876type RawEmail struct {
18877	_ struct{} `type:"structure"`
18878
18879	// The email message, represented as a raw MIME message. The entire message
18880	// must be base64 encoded.
18881	//
18882	// Data is automatically base64 encoded/decoded by the SDK.
18883	Data []byte `type:"blob"`
18884}
18885
18886// String returns the string representation
18887func (s RawEmail) String() string {
18888	return awsutil.Prettify(s)
18889}
18890
18891// GoString returns the string representation
18892func (s RawEmail) GoString() string {
18893	return s.String()
18894}
18895
18896// SetData sets the Data field's value.
18897func (s *RawEmail) SetData(v []byte) *RawEmail {
18898	s.Data = v
18899	return s
18900}
18901
18902// Specifies criteria for including or excluding endpoints from a segment based
18903// on how recently an endpoint was active.
18904type RecencyDimension struct {
18905	_ struct{} `type:"structure"`
18906
18907	// The duration to use when determining whether an endpoint is active or inactive.
18908	//
18909	// Duration is a required field
18910	Duration *string `type:"string" required:"true" enum:"Duration"`
18911
18912	// The type of recency dimension to use for the segment. Valid values are: ACTIVE,
18913	// endpoints that were active within the specified duration are included in
18914	// the segment; and, INACTIVE, endpoints that weren't active within the specified
18915	// duration are included in the segment.
18916	//
18917	// RecencyType is a required field
18918	RecencyType *string `type:"string" required:"true" enum:"RecencyType"`
18919}
18920
18921// String returns the string representation
18922func (s RecencyDimension) String() string {
18923	return awsutil.Prettify(s)
18924}
18925
18926// GoString returns the string representation
18927func (s RecencyDimension) GoString() string {
18928	return s.String()
18929}
18930
18931// Validate inspects the fields of the type to determine if they are valid.
18932func (s *RecencyDimension) Validate() error {
18933	invalidParams := request.ErrInvalidParams{Context: "RecencyDimension"}
18934	if s.Duration == nil {
18935		invalidParams.Add(request.NewErrParamRequired("Duration"))
18936	}
18937	if s.RecencyType == nil {
18938		invalidParams.Add(request.NewErrParamRequired("RecencyType"))
18939	}
18940
18941	if invalidParams.Len() > 0 {
18942		return invalidParams
18943	}
18944	return nil
18945}
18946
18947// SetDuration sets the Duration field's value.
18948func (s *RecencyDimension) SetDuration(v string) *RecencyDimension {
18949	s.Duration = &v
18950	return s
18951}
18952
18953// SetRecencyType sets the RecencyType field's value.
18954func (s *RecencyDimension) SetRecencyType(v string) *RecencyDimension {
18955	s.RecencyType = &v
18956	return s
18957}
18958
18959type RemoveAttributesInput struct {
18960	_ struct{} `type:"structure" payload:"UpdateAttributesRequest"`
18961
18962	// ApplicationId is a required field
18963	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
18964
18965	// AttributeType is a required field
18966	AttributeType *string `location:"uri" locationName:"attribute-type" type:"string" required:"true"`
18967
18968	// Specifies one or more attributes to remove from all the endpoints that are
18969	// associated with an application.
18970	//
18971	// UpdateAttributesRequest is a required field
18972	UpdateAttributesRequest *UpdateAttributesRequest `type:"structure" required:"true"`
18973}
18974
18975// String returns the string representation
18976func (s RemoveAttributesInput) String() string {
18977	return awsutil.Prettify(s)
18978}
18979
18980// GoString returns the string representation
18981func (s RemoveAttributesInput) GoString() string {
18982	return s.String()
18983}
18984
18985// Validate inspects the fields of the type to determine if they are valid.
18986func (s *RemoveAttributesInput) Validate() error {
18987	invalidParams := request.ErrInvalidParams{Context: "RemoveAttributesInput"}
18988	if s.ApplicationId == nil {
18989		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
18990	}
18991	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
18992		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
18993	}
18994	if s.AttributeType == nil {
18995		invalidParams.Add(request.NewErrParamRequired("AttributeType"))
18996	}
18997	if s.AttributeType != nil && len(*s.AttributeType) < 1 {
18998		invalidParams.Add(request.NewErrParamMinLen("AttributeType", 1))
18999	}
19000	if s.UpdateAttributesRequest == nil {
19001		invalidParams.Add(request.NewErrParamRequired("UpdateAttributesRequest"))
19002	}
19003
19004	if invalidParams.Len() > 0 {
19005		return invalidParams
19006	}
19007	return nil
19008}
19009
19010// SetApplicationId sets the ApplicationId field's value.
19011func (s *RemoveAttributesInput) SetApplicationId(v string) *RemoveAttributesInput {
19012	s.ApplicationId = &v
19013	return s
19014}
19015
19016// SetAttributeType sets the AttributeType field's value.
19017func (s *RemoveAttributesInput) SetAttributeType(v string) *RemoveAttributesInput {
19018	s.AttributeType = &v
19019	return s
19020}
19021
19022// SetUpdateAttributesRequest sets the UpdateAttributesRequest field's value.
19023func (s *RemoveAttributesInput) SetUpdateAttributesRequest(v *UpdateAttributesRequest) *RemoveAttributesInput {
19024	s.UpdateAttributesRequest = v
19025	return s
19026}
19027
19028type RemoveAttributesOutput struct {
19029	_ struct{} `type:"structure" payload:"AttributesResource"`
19030
19031	// Provides information about the type and the names of attributes that were
19032	// removed from all the endpoints that are associated with an application.
19033	//
19034	// AttributesResource is a required field
19035	AttributesResource *AttributesResource `type:"structure" required:"true"`
19036}
19037
19038// String returns the string representation
19039func (s RemoveAttributesOutput) String() string {
19040	return awsutil.Prettify(s)
19041}
19042
19043// GoString returns the string representation
19044func (s RemoveAttributesOutput) GoString() string {
19045	return s.String()
19046}
19047
19048// SetAttributesResource sets the AttributesResource field's value.
19049func (s *RemoveAttributesOutput) SetAttributesResource(v *AttributesResource) *RemoveAttributesOutput {
19050	s.AttributesResource = v
19051	return s
19052}
19053
19054// Specifies the status and settings of the SMS channel for an application.
19055type SMSChannelRequest struct {
19056	_ struct{} `type:"structure"`
19057
19058	// Specifies whether to enable the SMS channel for the application.
19059	Enabled *bool `type:"boolean"`
19060
19061	// The identity that you want to display on recipients' devices when they receive
19062	// messages from the SMS channel.
19063	SenderId *string `type:"string"`
19064
19065	// The registered short code that you want to use when you send messages through
19066	// the SMS channel.
19067	ShortCode *string `type:"string"`
19068}
19069
19070// String returns the string representation
19071func (s SMSChannelRequest) String() string {
19072	return awsutil.Prettify(s)
19073}
19074
19075// GoString returns the string representation
19076func (s SMSChannelRequest) GoString() string {
19077	return s.String()
19078}
19079
19080// SetEnabled sets the Enabled field's value.
19081func (s *SMSChannelRequest) SetEnabled(v bool) *SMSChannelRequest {
19082	s.Enabled = &v
19083	return s
19084}
19085
19086// SetSenderId sets the SenderId field's value.
19087func (s *SMSChannelRequest) SetSenderId(v string) *SMSChannelRequest {
19088	s.SenderId = &v
19089	return s
19090}
19091
19092// SetShortCode sets the ShortCode field's value.
19093func (s *SMSChannelRequest) SetShortCode(v string) *SMSChannelRequest {
19094	s.ShortCode = &v
19095	return s
19096}
19097
19098// Provides information about the status and settings of the SMS channel for
19099// an application.
19100type SMSChannelResponse struct {
19101	_ struct{} `type:"structure"`
19102
19103	// The unique identifier for the application that the SMS channel applies to.
19104	ApplicationId *string `type:"string"`
19105
19106	// The date and time, in ISO 8601 format, when the SMS channel was enabled.
19107	CreationDate *string `type:"string"`
19108
19109	// Specifies whether the SMS channel is enabled for the application.
19110	Enabled *bool `type:"boolean"`
19111
19112	// (Not used) This property is retained only for backward compatibility.
19113	HasCredential *bool `type:"boolean"`
19114
19115	// (Deprecated) An identifier for the SMS channel. This property is retained
19116	// only for backward compatibility.
19117	Id *string `type:"string"`
19118
19119	// Specifies whether the SMS channel is archived.
19120	IsArchived *bool `type:"boolean"`
19121
19122	// The user who last modified the SMS channel.
19123	LastModifiedBy *string `type:"string"`
19124
19125	// The date and time, in ISO 8601 format, when the SMS channel was last modified.
19126	LastModifiedDate *string `type:"string"`
19127
19128	// The type of messaging or notification platform for the channel. For the SMS
19129	// channel, this value is SMS.
19130	//
19131	// Platform is a required field
19132	Platform *string `type:"string" required:"true"`
19133
19134	// The maximum number of promotional messages that you can send through the
19135	// SMS channel each second.
19136	PromotionalMessagesPerSecond *int64 `type:"integer"`
19137
19138	// The identity that displays on recipients' devices when they receive messages
19139	// from the SMS channel.
19140	SenderId *string `type:"string"`
19141
19142	// The registered short code to use when you send messages through the SMS channel.
19143	ShortCode *string `type:"string"`
19144
19145	// The maximum number of transactional messages that you can send through the
19146	// SMS channel each second.
19147	TransactionalMessagesPerSecond *int64 `type:"integer"`
19148
19149	// The current version of the SMS channel.
19150	Version *int64 `type:"integer"`
19151}
19152
19153// String returns the string representation
19154func (s SMSChannelResponse) String() string {
19155	return awsutil.Prettify(s)
19156}
19157
19158// GoString returns the string representation
19159func (s SMSChannelResponse) GoString() string {
19160	return s.String()
19161}
19162
19163// SetApplicationId sets the ApplicationId field's value.
19164func (s *SMSChannelResponse) SetApplicationId(v string) *SMSChannelResponse {
19165	s.ApplicationId = &v
19166	return s
19167}
19168
19169// SetCreationDate sets the CreationDate field's value.
19170func (s *SMSChannelResponse) SetCreationDate(v string) *SMSChannelResponse {
19171	s.CreationDate = &v
19172	return s
19173}
19174
19175// SetEnabled sets the Enabled field's value.
19176func (s *SMSChannelResponse) SetEnabled(v bool) *SMSChannelResponse {
19177	s.Enabled = &v
19178	return s
19179}
19180
19181// SetHasCredential sets the HasCredential field's value.
19182func (s *SMSChannelResponse) SetHasCredential(v bool) *SMSChannelResponse {
19183	s.HasCredential = &v
19184	return s
19185}
19186
19187// SetId sets the Id field's value.
19188func (s *SMSChannelResponse) SetId(v string) *SMSChannelResponse {
19189	s.Id = &v
19190	return s
19191}
19192
19193// SetIsArchived sets the IsArchived field's value.
19194func (s *SMSChannelResponse) SetIsArchived(v bool) *SMSChannelResponse {
19195	s.IsArchived = &v
19196	return s
19197}
19198
19199// SetLastModifiedBy sets the LastModifiedBy field's value.
19200func (s *SMSChannelResponse) SetLastModifiedBy(v string) *SMSChannelResponse {
19201	s.LastModifiedBy = &v
19202	return s
19203}
19204
19205// SetLastModifiedDate sets the LastModifiedDate field's value.
19206func (s *SMSChannelResponse) SetLastModifiedDate(v string) *SMSChannelResponse {
19207	s.LastModifiedDate = &v
19208	return s
19209}
19210
19211// SetPlatform sets the Platform field's value.
19212func (s *SMSChannelResponse) SetPlatform(v string) *SMSChannelResponse {
19213	s.Platform = &v
19214	return s
19215}
19216
19217// SetPromotionalMessagesPerSecond sets the PromotionalMessagesPerSecond field's value.
19218func (s *SMSChannelResponse) SetPromotionalMessagesPerSecond(v int64) *SMSChannelResponse {
19219	s.PromotionalMessagesPerSecond = &v
19220	return s
19221}
19222
19223// SetSenderId sets the SenderId field's value.
19224func (s *SMSChannelResponse) SetSenderId(v string) *SMSChannelResponse {
19225	s.SenderId = &v
19226	return s
19227}
19228
19229// SetShortCode sets the ShortCode field's value.
19230func (s *SMSChannelResponse) SetShortCode(v string) *SMSChannelResponse {
19231	s.ShortCode = &v
19232	return s
19233}
19234
19235// SetTransactionalMessagesPerSecond sets the TransactionalMessagesPerSecond field's value.
19236func (s *SMSChannelResponse) SetTransactionalMessagesPerSecond(v int64) *SMSChannelResponse {
19237	s.TransactionalMessagesPerSecond = &v
19238	return s
19239}
19240
19241// SetVersion sets the Version field's value.
19242func (s *SMSChannelResponse) SetVersion(v int64) *SMSChannelResponse {
19243	s.Version = &v
19244	return s
19245}
19246
19247// Specifies the default settings for a one-time SMS message that's sent directly
19248// to an endpoint.
19249type SMSMessage struct {
19250	_ struct{} `type:"structure"`
19251
19252	// The body of the SMS message.
19253	Body *string `type:"string"`
19254
19255	// The SMS program name that you provided to AWS Support when you requested
19256	// your dedicated number.
19257	Keyword *string `type:"string"`
19258
19259	// The SMS message type. Valid values are: TRANSACTIONAL, the message is critical
19260	// or time-sensitive, such as a one-time password that supports a customer transaction;
19261	// and, PROMOTIONAL, the message is not critical or time-sensitive, such as
19262	// a marketing message.
19263	MessageType *string `type:"string" enum:"MessageType"`
19264
19265	// The number that the SMS message originates from. This should be one of the
19266	// dedicated long codes or short codes that you requested from AWS Support and
19267	// is assigned to your AWS account. If you don't specify a long or short code,
19268	// Amazon Pinpoint assigns a random long code to the SMS message.
19269	OriginationNumber *string `type:"string"`
19270
19271	// The sender ID to display as the sender of the message on a recipient's device.
19272	// Support for sender IDs varies by country or region.
19273	SenderId *string `type:"string"`
19274
19275	// The message variables to use in the SMS message. You can override the default
19276	// variables with individual address variables.
19277	Substitutions map[string][]*string `type:"map"`
19278}
19279
19280// String returns the string representation
19281func (s SMSMessage) String() string {
19282	return awsutil.Prettify(s)
19283}
19284
19285// GoString returns the string representation
19286func (s SMSMessage) GoString() string {
19287	return s.String()
19288}
19289
19290// SetBody sets the Body field's value.
19291func (s *SMSMessage) SetBody(v string) *SMSMessage {
19292	s.Body = &v
19293	return s
19294}
19295
19296// SetKeyword sets the Keyword field's value.
19297func (s *SMSMessage) SetKeyword(v string) *SMSMessage {
19298	s.Keyword = &v
19299	return s
19300}
19301
19302// SetMessageType sets the MessageType field's value.
19303func (s *SMSMessage) SetMessageType(v string) *SMSMessage {
19304	s.MessageType = &v
19305	return s
19306}
19307
19308// SetOriginationNumber sets the OriginationNumber field's value.
19309func (s *SMSMessage) SetOriginationNumber(v string) *SMSMessage {
19310	s.OriginationNumber = &v
19311	return s
19312}
19313
19314// SetSenderId sets the SenderId field's value.
19315func (s *SMSMessage) SetSenderId(v string) *SMSMessage {
19316	s.SenderId = &v
19317	return s
19318}
19319
19320// SetSubstitutions sets the Substitutions field's value.
19321func (s *SMSMessage) SetSubstitutions(v map[string][]*string) *SMSMessage {
19322	s.Substitutions = v
19323	return s
19324}
19325
19326// Specifies the schedule settings for a campaign.
19327type Schedule struct {
19328	_ struct{} `type:"structure"`
19329
19330	// The scheduled time, in ISO 8601 format, for the campaign to end.
19331	EndTime *string `type:"string"`
19332
19333	// The type of event that causes the campaign to be sent, if the value of the
19334	// Frequency property is EVENT.
19335	EventFilter *CampaignEventFilter `type:"structure"`
19336
19337	// Specifies how often the campaign is sent or whether the campaign is sent
19338	// in response to a specific event.
19339	Frequency *string `type:"string" enum:"Frequency"`
19340
19341	// Specifies whether the start and end times for the campaign schedule use each
19342	// recipient's local time. To base the schedule on each recipient's local time,
19343	// set this value to true.
19344	IsLocalTime *bool `type:"boolean"`
19345
19346	// The default quiet time for the campaign. Quiet time is a specific time range
19347	// when a campaign doesn't send messages to endpoints, if all the following
19348	// conditions are met:
19349	//
19350	//    * The EndpointDemographic.Timezone property of the endpoint is set to
19351	//    a valid value.
19352	//
19353	//    * The current time in the endpoint's time zone is later than or equal
19354	//    to the time specified by the QuietTime.Start property for the campaign.
19355	//
19356	//    * The current time in the endpoint's time zone is earlier than or equal
19357	//    to the time specified by the QuietTime.End property for the campaign.
19358	//
19359	// If any of the preceding conditions isn't met, the endpoint will receive messages
19360	// from the campaign, even if quiet time is enabled.
19361	QuietTime *QuietTime `type:"structure"`
19362
19363	// The scheduled time, in ISO 8601 format, for the campaign to begin.
19364	//
19365	// StartTime is a required field
19366	StartTime *string `type:"string" required:"true"`
19367
19368	// The starting UTC offset for the campaign schedule, if the value of the IsLocalTime
19369	// property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, UTC+03:30,
19370	// UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30, UTC+07,
19371	// UTC+08, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02,
19372	// UTC-03, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.
19373	Timezone *string `type:"string"`
19374}
19375
19376// String returns the string representation
19377func (s Schedule) String() string {
19378	return awsutil.Prettify(s)
19379}
19380
19381// GoString returns the string representation
19382func (s Schedule) GoString() string {
19383	return s.String()
19384}
19385
19386// Validate inspects the fields of the type to determine if they are valid.
19387func (s *Schedule) Validate() error {
19388	invalidParams := request.ErrInvalidParams{Context: "Schedule"}
19389	if s.StartTime == nil {
19390		invalidParams.Add(request.NewErrParamRequired("StartTime"))
19391	}
19392	if s.EventFilter != nil {
19393		if err := s.EventFilter.Validate(); err != nil {
19394			invalidParams.AddNested("EventFilter", err.(request.ErrInvalidParams))
19395		}
19396	}
19397
19398	if invalidParams.Len() > 0 {
19399		return invalidParams
19400	}
19401	return nil
19402}
19403
19404// SetEndTime sets the EndTime field's value.
19405func (s *Schedule) SetEndTime(v string) *Schedule {
19406	s.EndTime = &v
19407	return s
19408}
19409
19410// SetEventFilter sets the EventFilter field's value.
19411func (s *Schedule) SetEventFilter(v *CampaignEventFilter) *Schedule {
19412	s.EventFilter = v
19413	return s
19414}
19415
19416// SetFrequency sets the Frequency field's value.
19417func (s *Schedule) SetFrequency(v string) *Schedule {
19418	s.Frequency = &v
19419	return s
19420}
19421
19422// SetIsLocalTime sets the IsLocalTime field's value.
19423func (s *Schedule) SetIsLocalTime(v bool) *Schedule {
19424	s.IsLocalTime = &v
19425	return s
19426}
19427
19428// SetQuietTime sets the QuietTime field's value.
19429func (s *Schedule) SetQuietTime(v *QuietTime) *Schedule {
19430	s.QuietTime = v
19431	return s
19432}
19433
19434// SetStartTime sets the StartTime field's value.
19435func (s *Schedule) SetStartTime(v string) *Schedule {
19436	s.StartTime = &v
19437	return s
19438}
19439
19440// SetTimezone sets the Timezone field's value.
19441func (s *Schedule) SetTimezone(v string) *Schedule {
19442	s.Timezone = &v
19443	return s
19444}
19445
19446// Specifies dimension settings for including or excluding endpoints from a
19447// segment based on how recently an endpoint was active.
19448type SegmentBehaviors struct {
19449	_ struct{} `type:"structure"`
19450
19451	// The dimension settings that are based on how recently an endpoint was active.
19452	Recency *RecencyDimension `type:"structure"`
19453}
19454
19455// String returns the string representation
19456func (s SegmentBehaviors) String() string {
19457	return awsutil.Prettify(s)
19458}
19459
19460// GoString returns the string representation
19461func (s SegmentBehaviors) GoString() string {
19462	return s.String()
19463}
19464
19465// Validate inspects the fields of the type to determine if they are valid.
19466func (s *SegmentBehaviors) Validate() error {
19467	invalidParams := request.ErrInvalidParams{Context: "SegmentBehaviors"}
19468	if s.Recency != nil {
19469		if err := s.Recency.Validate(); err != nil {
19470			invalidParams.AddNested("Recency", err.(request.ErrInvalidParams))
19471		}
19472	}
19473
19474	if invalidParams.Len() > 0 {
19475		return invalidParams
19476	}
19477	return nil
19478}
19479
19480// SetRecency sets the Recency field's value.
19481func (s *SegmentBehaviors) SetRecency(v *RecencyDimension) *SegmentBehaviors {
19482	s.Recency = v
19483	return s
19484}
19485
19486// Specifies demographic-based dimension settings for including or excluding
19487// endpoints from a segment. These settings derive from characteristics of endpoint
19488// devices, such as platform, make, and model.
19489type SegmentDemographics struct {
19490	_ struct{} `type:"structure"`
19491
19492	// The app version criteria for the segment.
19493	AppVersion *SetDimension `type:"structure"`
19494
19495	// The channel criteria for the segment.
19496	Channel *SetDimension `type:"structure"`
19497
19498	// The device type criteria for the segment.
19499	DeviceType *SetDimension `type:"structure"`
19500
19501	// The device make criteria for the segment.
19502	Make *SetDimension `type:"structure"`
19503
19504	// The device model criteria for the segment.
19505	Model *SetDimension `type:"structure"`
19506
19507	// The device platform criteria for the segment.
19508	Platform *SetDimension `type:"structure"`
19509}
19510
19511// String returns the string representation
19512func (s SegmentDemographics) String() string {
19513	return awsutil.Prettify(s)
19514}
19515
19516// GoString returns the string representation
19517func (s SegmentDemographics) GoString() string {
19518	return s.String()
19519}
19520
19521// Validate inspects the fields of the type to determine if they are valid.
19522func (s *SegmentDemographics) Validate() error {
19523	invalidParams := request.ErrInvalidParams{Context: "SegmentDemographics"}
19524	if s.AppVersion != nil {
19525		if err := s.AppVersion.Validate(); err != nil {
19526			invalidParams.AddNested("AppVersion", err.(request.ErrInvalidParams))
19527		}
19528	}
19529	if s.Channel != nil {
19530		if err := s.Channel.Validate(); err != nil {
19531			invalidParams.AddNested("Channel", err.(request.ErrInvalidParams))
19532		}
19533	}
19534	if s.DeviceType != nil {
19535		if err := s.DeviceType.Validate(); err != nil {
19536			invalidParams.AddNested("DeviceType", err.(request.ErrInvalidParams))
19537		}
19538	}
19539	if s.Make != nil {
19540		if err := s.Make.Validate(); err != nil {
19541			invalidParams.AddNested("Make", err.(request.ErrInvalidParams))
19542		}
19543	}
19544	if s.Model != nil {
19545		if err := s.Model.Validate(); err != nil {
19546			invalidParams.AddNested("Model", err.(request.ErrInvalidParams))
19547		}
19548	}
19549	if s.Platform != nil {
19550		if err := s.Platform.Validate(); err != nil {
19551			invalidParams.AddNested("Platform", err.(request.ErrInvalidParams))
19552		}
19553	}
19554
19555	if invalidParams.Len() > 0 {
19556		return invalidParams
19557	}
19558	return nil
19559}
19560
19561// SetAppVersion sets the AppVersion field's value.
19562func (s *SegmentDemographics) SetAppVersion(v *SetDimension) *SegmentDemographics {
19563	s.AppVersion = v
19564	return s
19565}
19566
19567// SetChannel sets the Channel field's value.
19568func (s *SegmentDemographics) SetChannel(v *SetDimension) *SegmentDemographics {
19569	s.Channel = v
19570	return s
19571}
19572
19573// SetDeviceType sets the DeviceType field's value.
19574func (s *SegmentDemographics) SetDeviceType(v *SetDimension) *SegmentDemographics {
19575	s.DeviceType = v
19576	return s
19577}
19578
19579// SetMake sets the Make field's value.
19580func (s *SegmentDemographics) SetMake(v *SetDimension) *SegmentDemographics {
19581	s.Make = v
19582	return s
19583}
19584
19585// SetModel sets the Model field's value.
19586func (s *SegmentDemographics) SetModel(v *SetDimension) *SegmentDemographics {
19587	s.Model = v
19588	return s
19589}
19590
19591// SetPlatform sets the Platform field's value.
19592func (s *SegmentDemographics) SetPlatform(v *SetDimension) *SegmentDemographics {
19593	s.Platform = v
19594	return s
19595}
19596
19597// Specifies the dimension settings for a segment.
19598type SegmentDimensions struct {
19599	_ struct{} `type:"structure"`
19600
19601	// One or more custom attributes to use as criteria for the segment.
19602	Attributes map[string]*AttributeDimension `type:"map"`
19603
19604	// The behavior-based criteria, such as how recently users have used your app,
19605	// for the segment.
19606	Behavior *SegmentBehaviors `type:"structure"`
19607
19608	// The demographic-based criteria, such as device platform, for the segment.
19609	Demographic *SegmentDemographics `type:"structure"`
19610
19611	// The location-based criteria, such as region or GPS coordinates, for the segment.
19612	Location *SegmentLocation `type:"structure"`
19613
19614	// One or more custom metrics to use as criteria for the segment.
19615	Metrics map[string]*MetricDimension `type:"map"`
19616
19617	// One or more custom user attributes to use as criteria for the segment.
19618	UserAttributes map[string]*AttributeDimension `type:"map"`
19619}
19620
19621// String returns the string representation
19622func (s SegmentDimensions) String() string {
19623	return awsutil.Prettify(s)
19624}
19625
19626// GoString returns the string representation
19627func (s SegmentDimensions) GoString() string {
19628	return s.String()
19629}
19630
19631// Validate inspects the fields of the type to determine if they are valid.
19632func (s *SegmentDimensions) Validate() error {
19633	invalidParams := request.ErrInvalidParams{Context: "SegmentDimensions"}
19634	if s.Attributes != nil {
19635		for i, v := range s.Attributes {
19636			if v == nil {
19637				continue
19638			}
19639			if err := v.Validate(); err != nil {
19640				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
19641			}
19642		}
19643	}
19644	if s.Behavior != nil {
19645		if err := s.Behavior.Validate(); err != nil {
19646			invalidParams.AddNested("Behavior", err.(request.ErrInvalidParams))
19647		}
19648	}
19649	if s.Demographic != nil {
19650		if err := s.Demographic.Validate(); err != nil {
19651			invalidParams.AddNested("Demographic", err.(request.ErrInvalidParams))
19652		}
19653	}
19654	if s.Location != nil {
19655		if err := s.Location.Validate(); err != nil {
19656			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
19657		}
19658	}
19659	if s.Metrics != nil {
19660		for i, v := range s.Metrics {
19661			if v == nil {
19662				continue
19663			}
19664			if err := v.Validate(); err != nil {
19665				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metrics", i), err.(request.ErrInvalidParams))
19666			}
19667		}
19668	}
19669	if s.UserAttributes != nil {
19670		for i, v := range s.UserAttributes {
19671			if v == nil {
19672				continue
19673			}
19674			if err := v.Validate(); err != nil {
19675				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAttributes", i), err.(request.ErrInvalidParams))
19676			}
19677		}
19678	}
19679
19680	if invalidParams.Len() > 0 {
19681		return invalidParams
19682	}
19683	return nil
19684}
19685
19686// SetAttributes sets the Attributes field's value.
19687func (s *SegmentDimensions) SetAttributes(v map[string]*AttributeDimension) *SegmentDimensions {
19688	s.Attributes = v
19689	return s
19690}
19691
19692// SetBehavior sets the Behavior field's value.
19693func (s *SegmentDimensions) SetBehavior(v *SegmentBehaviors) *SegmentDimensions {
19694	s.Behavior = v
19695	return s
19696}
19697
19698// SetDemographic sets the Demographic field's value.
19699func (s *SegmentDimensions) SetDemographic(v *SegmentDemographics) *SegmentDimensions {
19700	s.Demographic = v
19701	return s
19702}
19703
19704// SetLocation sets the Location field's value.
19705func (s *SegmentDimensions) SetLocation(v *SegmentLocation) *SegmentDimensions {
19706	s.Location = v
19707	return s
19708}
19709
19710// SetMetrics sets the Metrics field's value.
19711func (s *SegmentDimensions) SetMetrics(v map[string]*MetricDimension) *SegmentDimensions {
19712	s.Metrics = v
19713	return s
19714}
19715
19716// SetUserAttributes sets the UserAttributes field's value.
19717func (s *SegmentDimensions) SetUserAttributes(v map[string]*AttributeDimension) *SegmentDimensions {
19718	s.UserAttributes = v
19719	return s
19720}
19721
19722// Specifies the base segments and dimensions for a segment, and the relationships
19723// between these base segments and dimensions.
19724type SegmentGroup struct {
19725	_ struct{} `type:"structure"`
19726
19727	// An array that defines the dimensions for the segment.
19728	Dimensions []*SegmentDimensions `type:"list"`
19729
19730	// The base segment to build the segment on. A base segment, also referred to
19731	// as a source segment, defines the initial population of endpoints for a segment.
19732	// When you add dimensions to a segment, Amazon Pinpoint filters the base segment
19733	// by using the dimensions that you specify.
19734	//
19735	// You can specify more than one dimensional segment or only one imported segment.
19736	// If you specify an imported segment, the Amazon Pinpoint console displays
19737	// a segment size estimate that indicates the size of the imported segment without
19738	// any filters applied to it.
19739	SourceSegments []*SegmentReference `type:"list"`
19740
19741	// Specifies how to handle multiple base segments for the segment. For example,
19742	// if you specify three base segments for the segment, whether the resulting
19743	// segment is based on all, any, or none of the base segments.
19744	SourceType *string `type:"string" enum:"SourceType"`
19745
19746	// Specifies how to handle multiple dimensions for the segment. For example,
19747	// if you specify three dimensions for the segment, whether the resulting segment
19748	// includes endpoints that match all, any, or none of the dimensions.
19749	Type *string `type:"string" enum:"Type"`
19750}
19751
19752// String returns the string representation
19753func (s SegmentGroup) String() string {
19754	return awsutil.Prettify(s)
19755}
19756
19757// GoString returns the string representation
19758func (s SegmentGroup) GoString() string {
19759	return s.String()
19760}
19761
19762// Validate inspects the fields of the type to determine if they are valid.
19763func (s *SegmentGroup) Validate() error {
19764	invalidParams := request.ErrInvalidParams{Context: "SegmentGroup"}
19765	if s.Dimensions != nil {
19766		for i, v := range s.Dimensions {
19767			if v == nil {
19768				continue
19769			}
19770			if err := v.Validate(); err != nil {
19771				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
19772			}
19773		}
19774	}
19775	if s.SourceSegments != nil {
19776		for i, v := range s.SourceSegments {
19777			if v == nil {
19778				continue
19779			}
19780			if err := v.Validate(); err != nil {
19781				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SourceSegments", i), err.(request.ErrInvalidParams))
19782			}
19783		}
19784	}
19785
19786	if invalidParams.Len() > 0 {
19787		return invalidParams
19788	}
19789	return nil
19790}
19791
19792// SetDimensions sets the Dimensions field's value.
19793func (s *SegmentGroup) SetDimensions(v []*SegmentDimensions) *SegmentGroup {
19794	s.Dimensions = v
19795	return s
19796}
19797
19798// SetSourceSegments sets the SourceSegments field's value.
19799func (s *SegmentGroup) SetSourceSegments(v []*SegmentReference) *SegmentGroup {
19800	s.SourceSegments = v
19801	return s
19802}
19803
19804// SetSourceType sets the SourceType field's value.
19805func (s *SegmentGroup) SetSourceType(v string) *SegmentGroup {
19806	s.SourceType = &v
19807	return s
19808}
19809
19810// SetType sets the Type field's value.
19811func (s *SegmentGroup) SetType(v string) *SegmentGroup {
19812	s.Type = &v
19813	return s
19814}
19815
19816// Specifies the settings that define the relationships between segment groups
19817// for a segment.
19818type SegmentGroupList struct {
19819	_ struct{} `type:"structure"`
19820
19821	// An array that defines the set of segment criteria to evaluate when handling
19822	// segment groups for the segment.
19823	Groups []*SegmentGroup `type:"list"`
19824
19825	// Specifies how to handle multiple segment groups for the segment. For example,
19826	// if the segment includes three segment groups, whether the resulting segment
19827	// includes endpoints that match all, any, or none of the segment groups.
19828	Include *string `type:"string" enum:"Include"`
19829}
19830
19831// String returns the string representation
19832func (s SegmentGroupList) String() string {
19833	return awsutil.Prettify(s)
19834}
19835
19836// GoString returns the string representation
19837func (s SegmentGroupList) GoString() string {
19838	return s.String()
19839}
19840
19841// Validate inspects the fields of the type to determine if they are valid.
19842func (s *SegmentGroupList) Validate() error {
19843	invalidParams := request.ErrInvalidParams{Context: "SegmentGroupList"}
19844	if s.Groups != nil {
19845		for i, v := range s.Groups {
19846			if v == nil {
19847				continue
19848			}
19849			if err := v.Validate(); err != nil {
19850				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Groups", i), err.(request.ErrInvalidParams))
19851			}
19852		}
19853	}
19854
19855	if invalidParams.Len() > 0 {
19856		return invalidParams
19857	}
19858	return nil
19859}
19860
19861// SetGroups sets the Groups field's value.
19862func (s *SegmentGroupList) SetGroups(v []*SegmentGroup) *SegmentGroupList {
19863	s.Groups = v
19864	return s
19865}
19866
19867// SetInclude sets the Include field's value.
19868func (s *SegmentGroupList) SetInclude(v string) *SegmentGroupList {
19869	s.Include = &v
19870	return s
19871}
19872
19873// Provides information about the import job that created a segment. An import
19874// job is a job that creates a user segment by importing endpoint definitions.
19875type SegmentImportResource struct {
19876	_ struct{} `type:"structure"`
19877
19878	// The number of channel types in the endpoint definitions that were imported
19879	// to create the segment.
19880	ChannelCounts map[string]*int64 `type:"map"`
19881
19882	// (Deprecated) Your AWS account ID, which you assigned to an external ID key
19883	// in an IAM trust policy. Amazon Pinpoint previously used this value to assume
19884	// an IAM role when importing endpoint definitions, but we removed this requirement.
19885	// We don't recommend use of external IDs for IAM roles that are assumed by
19886	// Amazon Pinpoint.
19887	//
19888	// ExternalId is a required field
19889	ExternalId *string `type:"string" required:"true"`
19890
19891	// The format of the files that were imported to create the segment. Valid values
19892	// are: CSV, for comma-separated values format; and, JSON, for newline-delimited
19893	// JSON format.
19894	//
19895	// Format is a required field
19896	Format *string `type:"string" required:"true" enum:"Format"`
19897
19898	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
19899	// (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location
19900	// to import endpoint definitions from.
19901	//
19902	// RoleArn is a required field
19903	RoleArn *string `type:"string" required:"true"`
19904
19905	// The URL of the Amazon Simple Storage Service (Amazon S3) bucket that the
19906	// endpoint definitions were imported from to create the segment.
19907	//
19908	// S3Url is a required field
19909	S3Url *string `type:"string" required:"true"`
19910
19911	// The number of endpoint definitions that were imported successfully to create
19912	// the segment.
19913	//
19914	// Size is a required field
19915	Size *int64 `type:"integer" required:"true"`
19916}
19917
19918// String returns the string representation
19919func (s SegmentImportResource) String() string {
19920	return awsutil.Prettify(s)
19921}
19922
19923// GoString returns the string representation
19924func (s SegmentImportResource) GoString() string {
19925	return s.String()
19926}
19927
19928// SetChannelCounts sets the ChannelCounts field's value.
19929func (s *SegmentImportResource) SetChannelCounts(v map[string]*int64) *SegmentImportResource {
19930	s.ChannelCounts = v
19931	return s
19932}
19933
19934// SetExternalId sets the ExternalId field's value.
19935func (s *SegmentImportResource) SetExternalId(v string) *SegmentImportResource {
19936	s.ExternalId = &v
19937	return s
19938}
19939
19940// SetFormat sets the Format field's value.
19941func (s *SegmentImportResource) SetFormat(v string) *SegmentImportResource {
19942	s.Format = &v
19943	return s
19944}
19945
19946// SetRoleArn sets the RoleArn field's value.
19947func (s *SegmentImportResource) SetRoleArn(v string) *SegmentImportResource {
19948	s.RoleArn = &v
19949	return s
19950}
19951
19952// SetS3Url sets the S3Url field's value.
19953func (s *SegmentImportResource) SetS3Url(v string) *SegmentImportResource {
19954	s.S3Url = &v
19955	return s
19956}
19957
19958// SetSize sets the Size field's value.
19959func (s *SegmentImportResource) SetSize(v int64) *SegmentImportResource {
19960	s.Size = &v
19961	return s
19962}
19963
19964// Specifies geographical dimension settings for a segment.
19965type SegmentLocation struct {
19966	_ struct{} `type:"structure"`
19967
19968	// The country or region code, in ISO 3166-1 alpha-2 format, for the segment.
19969	Country *SetDimension `type:"structure"`
19970
19971	// The GPS location and range for the segment.
19972	GPSPoint *GPSPointDimension `type:"structure"`
19973}
19974
19975// String returns the string representation
19976func (s SegmentLocation) String() string {
19977	return awsutil.Prettify(s)
19978}
19979
19980// GoString returns the string representation
19981func (s SegmentLocation) GoString() string {
19982	return s.String()
19983}
19984
19985// Validate inspects the fields of the type to determine if they are valid.
19986func (s *SegmentLocation) Validate() error {
19987	invalidParams := request.ErrInvalidParams{Context: "SegmentLocation"}
19988	if s.Country != nil {
19989		if err := s.Country.Validate(); err != nil {
19990			invalidParams.AddNested("Country", err.(request.ErrInvalidParams))
19991		}
19992	}
19993	if s.GPSPoint != nil {
19994		if err := s.GPSPoint.Validate(); err != nil {
19995			invalidParams.AddNested("GPSPoint", err.(request.ErrInvalidParams))
19996		}
19997	}
19998
19999	if invalidParams.Len() > 0 {
20000		return invalidParams
20001	}
20002	return nil
20003}
20004
20005// SetCountry sets the Country field's value.
20006func (s *SegmentLocation) SetCountry(v *SetDimension) *SegmentLocation {
20007	s.Country = v
20008	return s
20009}
20010
20011// SetGPSPoint sets the GPSPoint field's value.
20012func (s *SegmentLocation) SetGPSPoint(v *GPSPointDimension) *SegmentLocation {
20013	s.GPSPoint = v
20014	return s
20015}
20016
20017// Specifies the segment identifier and version of a segment.
20018type SegmentReference struct {
20019	_ struct{} `type:"structure"`
20020
20021	// The unique identifier for the segment.
20022	//
20023	// Id is a required field
20024	Id *string `type:"string" required:"true"`
20025
20026	// The version number of the segment.
20027	Version *int64 `type:"integer"`
20028}
20029
20030// String returns the string representation
20031func (s SegmentReference) String() string {
20032	return awsutil.Prettify(s)
20033}
20034
20035// GoString returns the string representation
20036func (s SegmentReference) GoString() string {
20037	return s.String()
20038}
20039
20040// Validate inspects the fields of the type to determine if they are valid.
20041func (s *SegmentReference) Validate() error {
20042	invalidParams := request.ErrInvalidParams{Context: "SegmentReference"}
20043	if s.Id == nil {
20044		invalidParams.Add(request.NewErrParamRequired("Id"))
20045	}
20046
20047	if invalidParams.Len() > 0 {
20048		return invalidParams
20049	}
20050	return nil
20051}
20052
20053// SetId sets the Id field's value.
20054func (s *SegmentReference) SetId(v string) *SegmentReference {
20055	s.Id = &v
20056	return s
20057}
20058
20059// SetVersion sets the Version field's value.
20060func (s *SegmentReference) SetVersion(v int64) *SegmentReference {
20061	s.Version = &v
20062	return s
20063}
20064
20065// Provides information about the configuration, dimension, and other settings
20066// for a segment.
20067type SegmentResponse struct {
20068	_ struct{} `type:"structure"`
20069
20070	// The unique identifier for the application that the segment is associated
20071	// with.
20072	//
20073	// ApplicationId is a required field
20074	ApplicationId *string `type:"string" required:"true"`
20075
20076	// The Amazon Resource Name (ARN) of the segment.
20077	//
20078	// Arn is a required field
20079	Arn *string `type:"string" required:"true"`
20080
20081	// The date and time when the segment was created.
20082	//
20083	// CreationDate is a required field
20084	CreationDate *string `type:"string" required:"true"`
20085
20086	// The dimension settings for the segment.
20087	Dimensions *SegmentDimensions `type:"structure"`
20088
20089	// The unique identifier for the segment.
20090	//
20091	// Id is a required field
20092	Id *string `type:"string" required:"true"`
20093
20094	// The settings for the import job that's associated with the segment.
20095	ImportDefinition *SegmentImportResource `type:"structure"`
20096
20097	// The date and time when the segment was last modified.
20098	LastModifiedDate *string `type:"string"`
20099
20100	// The name of the segment.
20101	Name *string `type:"string"`
20102
20103	// A list of one or more segment groups that apply to the segment. Each segment
20104	// group consists of zero or more base segments and the dimensions that are
20105	// applied to those base segments.
20106	SegmentGroups *SegmentGroupList `type:"structure"`
20107
20108	// The segment type. Valid values are:
20109	//
20110	//    * DIMENSIONAL - A dynamic segment, which is a segment that uses selection
20111	//    criteria that you specify and is based on endpoint data that's reported
20112	//    by your app. Dynamic segments can change over time.
20113	//
20114	//    * IMPORT - A static segment, which is a segment that uses selection criteria
20115	//    that you specify and is based on endpoint definitions that you import
20116	//    from a file. Imported segments are static; they don't change over time.
20117	//
20118	// SegmentType is a required field
20119	SegmentType *string `type:"string" required:"true" enum:"SegmentType"`
20120
20121	// A string-to-string map of key-value pairs that identifies the tags that are
20122	// associated with the segment. Each tag consists of a required tag key and
20123	// an associated tag value.
20124	Tags map[string]*string `locationName:"tags" type:"map"`
20125
20126	// The version number of the segment.
20127	Version *int64 `type:"integer"`
20128}
20129
20130// String returns the string representation
20131func (s SegmentResponse) String() string {
20132	return awsutil.Prettify(s)
20133}
20134
20135// GoString returns the string representation
20136func (s SegmentResponse) GoString() string {
20137	return s.String()
20138}
20139
20140// SetApplicationId sets the ApplicationId field's value.
20141func (s *SegmentResponse) SetApplicationId(v string) *SegmentResponse {
20142	s.ApplicationId = &v
20143	return s
20144}
20145
20146// SetArn sets the Arn field's value.
20147func (s *SegmentResponse) SetArn(v string) *SegmentResponse {
20148	s.Arn = &v
20149	return s
20150}
20151
20152// SetCreationDate sets the CreationDate field's value.
20153func (s *SegmentResponse) SetCreationDate(v string) *SegmentResponse {
20154	s.CreationDate = &v
20155	return s
20156}
20157
20158// SetDimensions sets the Dimensions field's value.
20159func (s *SegmentResponse) SetDimensions(v *SegmentDimensions) *SegmentResponse {
20160	s.Dimensions = v
20161	return s
20162}
20163
20164// SetId sets the Id field's value.
20165func (s *SegmentResponse) SetId(v string) *SegmentResponse {
20166	s.Id = &v
20167	return s
20168}
20169
20170// SetImportDefinition sets the ImportDefinition field's value.
20171func (s *SegmentResponse) SetImportDefinition(v *SegmentImportResource) *SegmentResponse {
20172	s.ImportDefinition = v
20173	return s
20174}
20175
20176// SetLastModifiedDate sets the LastModifiedDate field's value.
20177func (s *SegmentResponse) SetLastModifiedDate(v string) *SegmentResponse {
20178	s.LastModifiedDate = &v
20179	return s
20180}
20181
20182// SetName sets the Name field's value.
20183func (s *SegmentResponse) SetName(v string) *SegmentResponse {
20184	s.Name = &v
20185	return s
20186}
20187
20188// SetSegmentGroups sets the SegmentGroups field's value.
20189func (s *SegmentResponse) SetSegmentGroups(v *SegmentGroupList) *SegmentResponse {
20190	s.SegmentGroups = v
20191	return s
20192}
20193
20194// SetSegmentType sets the SegmentType field's value.
20195func (s *SegmentResponse) SetSegmentType(v string) *SegmentResponse {
20196	s.SegmentType = &v
20197	return s
20198}
20199
20200// SetTags sets the Tags field's value.
20201func (s *SegmentResponse) SetTags(v map[string]*string) *SegmentResponse {
20202	s.Tags = v
20203	return s
20204}
20205
20206// SetVersion sets the Version field's value.
20207func (s *SegmentResponse) SetVersion(v int64) *SegmentResponse {
20208	s.Version = &v
20209	return s
20210}
20211
20212// Provides information about all the segments that are associated with an application.
20213type SegmentsResponse struct {
20214	_ struct{} `type:"structure"`
20215
20216	// An array of responses, one for each segment that's associated with the application
20217	// (Segments resource) or each version of a segment that's associated with the
20218	// application (Segment Versions resource).
20219	//
20220	// Item is a required field
20221	Item []*SegmentResponse `type:"list" required:"true"`
20222
20223	// The string to use in a subsequent request to get the next page of results
20224	// in a paginated response. This value is null if there are no additional pages.
20225	NextToken *string `type:"string"`
20226}
20227
20228// String returns the string representation
20229func (s SegmentsResponse) String() string {
20230	return awsutil.Prettify(s)
20231}
20232
20233// GoString returns the string representation
20234func (s SegmentsResponse) GoString() string {
20235	return s.String()
20236}
20237
20238// SetItem sets the Item field's value.
20239func (s *SegmentsResponse) SetItem(v []*SegmentResponse) *SegmentsResponse {
20240	s.Item = v
20241	return s
20242}
20243
20244// SetNextToken sets the NextToken field's value.
20245func (s *SegmentsResponse) SetNextToken(v string) *SegmentsResponse {
20246	s.NextToken = &v
20247	return s
20248}
20249
20250type SendMessagesInput struct {
20251	_ struct{} `type:"structure" payload:"MessageRequest"`
20252
20253	// ApplicationId is a required field
20254	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
20255
20256	// Specifies the objects that define configuration and other settings for a
20257	// message.
20258	//
20259	// MessageRequest is a required field
20260	MessageRequest *MessageRequest `type:"structure" required:"true"`
20261}
20262
20263// String returns the string representation
20264func (s SendMessagesInput) String() string {
20265	return awsutil.Prettify(s)
20266}
20267
20268// GoString returns the string representation
20269func (s SendMessagesInput) GoString() string {
20270	return s.String()
20271}
20272
20273// Validate inspects the fields of the type to determine if they are valid.
20274func (s *SendMessagesInput) Validate() error {
20275	invalidParams := request.ErrInvalidParams{Context: "SendMessagesInput"}
20276	if s.ApplicationId == nil {
20277		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
20278	}
20279	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
20280		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
20281	}
20282	if s.MessageRequest == nil {
20283		invalidParams.Add(request.NewErrParamRequired("MessageRequest"))
20284	}
20285	if s.MessageRequest != nil {
20286		if err := s.MessageRequest.Validate(); err != nil {
20287			invalidParams.AddNested("MessageRequest", err.(request.ErrInvalidParams))
20288		}
20289	}
20290
20291	if invalidParams.Len() > 0 {
20292		return invalidParams
20293	}
20294	return nil
20295}
20296
20297// SetApplicationId sets the ApplicationId field's value.
20298func (s *SendMessagesInput) SetApplicationId(v string) *SendMessagesInput {
20299	s.ApplicationId = &v
20300	return s
20301}
20302
20303// SetMessageRequest sets the MessageRequest field's value.
20304func (s *SendMessagesInput) SetMessageRequest(v *MessageRequest) *SendMessagesInput {
20305	s.MessageRequest = v
20306	return s
20307}
20308
20309type SendMessagesOutput struct {
20310	_ struct{} `type:"structure" payload:"MessageResponse"`
20311
20312	// Provides information about the results of a request to send a message to
20313	// an endpoint address.
20314	//
20315	// MessageResponse is a required field
20316	MessageResponse *MessageResponse `type:"structure" required:"true"`
20317}
20318
20319// String returns the string representation
20320func (s SendMessagesOutput) String() string {
20321	return awsutil.Prettify(s)
20322}
20323
20324// GoString returns the string representation
20325func (s SendMessagesOutput) GoString() string {
20326	return s.String()
20327}
20328
20329// SetMessageResponse sets the MessageResponse field's value.
20330func (s *SendMessagesOutput) SetMessageResponse(v *MessageResponse) *SendMessagesOutput {
20331	s.MessageResponse = v
20332	return s
20333}
20334
20335// Specifies the configuration and other settings for a message to send to all
20336// the endpoints that are associated with a list of users.
20337type SendUsersMessageRequest struct {
20338	_ struct{} `type:"structure"`
20339
20340	// A map of custom attribute-value pairs. For a push notification, Amazon Pinpoint
20341	// adds these attributes to the data.pinpoint object in the body of the notification
20342	// payload. Amazon Pinpoint also provides these attributes in the events that
20343	// it generates for users-messages deliveries.
20344	Context map[string]*string `type:"map"`
20345
20346	// The message definitions for the default message and any default messages
20347	// that you defined for specific channels.
20348	//
20349	// MessageConfiguration is a required field
20350	MessageConfiguration *DirectMessageConfiguration `type:"structure" required:"true"`
20351
20352	// The unique identifier for tracing the message. This identifier is visible
20353	// to message recipients.
20354	TraceId *string `type:"string"`
20355
20356	// A map that associates user IDs with EndpointSendConfiguration objects. You
20357	// can use an EndpointSendConfiguration object to tailor the message for a user
20358	// by specifying settings such as content overrides and message variables.
20359	//
20360	// Users is a required field
20361	Users map[string]*EndpointSendConfiguration `type:"map" required:"true"`
20362}
20363
20364// String returns the string representation
20365func (s SendUsersMessageRequest) String() string {
20366	return awsutil.Prettify(s)
20367}
20368
20369// GoString returns the string representation
20370func (s SendUsersMessageRequest) GoString() string {
20371	return s.String()
20372}
20373
20374// Validate inspects the fields of the type to determine if they are valid.
20375func (s *SendUsersMessageRequest) Validate() error {
20376	invalidParams := request.ErrInvalidParams{Context: "SendUsersMessageRequest"}
20377	if s.MessageConfiguration == nil {
20378		invalidParams.Add(request.NewErrParamRequired("MessageConfiguration"))
20379	}
20380	if s.Users == nil {
20381		invalidParams.Add(request.NewErrParamRequired("Users"))
20382	}
20383
20384	if invalidParams.Len() > 0 {
20385		return invalidParams
20386	}
20387	return nil
20388}
20389
20390// SetContext sets the Context field's value.
20391func (s *SendUsersMessageRequest) SetContext(v map[string]*string) *SendUsersMessageRequest {
20392	s.Context = v
20393	return s
20394}
20395
20396// SetMessageConfiguration sets the MessageConfiguration field's value.
20397func (s *SendUsersMessageRequest) SetMessageConfiguration(v *DirectMessageConfiguration) *SendUsersMessageRequest {
20398	s.MessageConfiguration = v
20399	return s
20400}
20401
20402// SetTraceId sets the TraceId field's value.
20403func (s *SendUsersMessageRequest) SetTraceId(v string) *SendUsersMessageRequest {
20404	s.TraceId = &v
20405	return s
20406}
20407
20408// SetUsers sets the Users field's value.
20409func (s *SendUsersMessageRequest) SetUsers(v map[string]*EndpointSendConfiguration) *SendUsersMessageRequest {
20410	s.Users = v
20411	return s
20412}
20413
20414// Provides information about which users and endpoints a message was sent to.
20415type SendUsersMessageResponse struct {
20416	_ struct{} `type:"structure"`
20417
20418	// The unique identifier for the application that was used to send the message.
20419	//
20420	// ApplicationId is a required field
20421	ApplicationId *string `type:"string" required:"true"`
20422
20423	// The unique identifier that was assigned to the message request.
20424	RequestId *string `type:"string"`
20425
20426	// An object that indicates which endpoints the message was sent to, for each
20427	// user. The object lists user IDs and, for each user ID, provides the endpoint
20428	// IDs that the message was sent to. For each endpoint ID, it provides an EndpointMessageResult
20429	// object.
20430	Result map[string]map[string]*EndpointMessageResult `type:"map"`
20431}
20432
20433// String returns the string representation
20434func (s SendUsersMessageResponse) String() string {
20435	return awsutil.Prettify(s)
20436}
20437
20438// GoString returns the string representation
20439func (s SendUsersMessageResponse) GoString() string {
20440	return s.String()
20441}
20442
20443// SetApplicationId sets the ApplicationId field's value.
20444func (s *SendUsersMessageResponse) SetApplicationId(v string) *SendUsersMessageResponse {
20445	s.ApplicationId = &v
20446	return s
20447}
20448
20449// SetRequestId sets the RequestId field's value.
20450func (s *SendUsersMessageResponse) SetRequestId(v string) *SendUsersMessageResponse {
20451	s.RequestId = &v
20452	return s
20453}
20454
20455// SetResult sets the Result field's value.
20456func (s *SendUsersMessageResponse) SetResult(v map[string]map[string]*EndpointMessageResult) *SendUsersMessageResponse {
20457	s.Result = v
20458	return s
20459}
20460
20461type SendUsersMessagesInput struct {
20462	_ struct{} `type:"structure" payload:"SendUsersMessageRequest"`
20463
20464	// ApplicationId is a required field
20465	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
20466
20467	// Specifies the configuration and other settings for a message to send to all
20468	// the endpoints that are associated with a list of users.
20469	//
20470	// SendUsersMessageRequest is a required field
20471	SendUsersMessageRequest *SendUsersMessageRequest `type:"structure" required:"true"`
20472}
20473
20474// String returns the string representation
20475func (s SendUsersMessagesInput) String() string {
20476	return awsutil.Prettify(s)
20477}
20478
20479// GoString returns the string representation
20480func (s SendUsersMessagesInput) GoString() string {
20481	return s.String()
20482}
20483
20484// Validate inspects the fields of the type to determine if they are valid.
20485func (s *SendUsersMessagesInput) Validate() error {
20486	invalidParams := request.ErrInvalidParams{Context: "SendUsersMessagesInput"}
20487	if s.ApplicationId == nil {
20488		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
20489	}
20490	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
20491		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
20492	}
20493	if s.SendUsersMessageRequest == nil {
20494		invalidParams.Add(request.NewErrParamRequired("SendUsersMessageRequest"))
20495	}
20496	if s.SendUsersMessageRequest != nil {
20497		if err := s.SendUsersMessageRequest.Validate(); err != nil {
20498			invalidParams.AddNested("SendUsersMessageRequest", err.(request.ErrInvalidParams))
20499		}
20500	}
20501
20502	if invalidParams.Len() > 0 {
20503		return invalidParams
20504	}
20505	return nil
20506}
20507
20508// SetApplicationId sets the ApplicationId field's value.
20509func (s *SendUsersMessagesInput) SetApplicationId(v string) *SendUsersMessagesInput {
20510	s.ApplicationId = &v
20511	return s
20512}
20513
20514// SetSendUsersMessageRequest sets the SendUsersMessageRequest field's value.
20515func (s *SendUsersMessagesInput) SetSendUsersMessageRequest(v *SendUsersMessageRequest) *SendUsersMessagesInput {
20516	s.SendUsersMessageRequest = v
20517	return s
20518}
20519
20520type SendUsersMessagesOutput struct {
20521	_ struct{} `type:"structure" payload:"SendUsersMessageResponse"`
20522
20523	// Provides information about which users and endpoints a message was sent to.
20524	//
20525	// SendUsersMessageResponse is a required field
20526	SendUsersMessageResponse *SendUsersMessageResponse `type:"structure" required:"true"`
20527}
20528
20529// String returns the string representation
20530func (s SendUsersMessagesOutput) String() string {
20531	return awsutil.Prettify(s)
20532}
20533
20534// GoString returns the string representation
20535func (s SendUsersMessagesOutput) GoString() string {
20536	return s.String()
20537}
20538
20539// SetSendUsersMessageResponse sets the SendUsersMessageResponse field's value.
20540func (s *SendUsersMessagesOutput) SetSendUsersMessageResponse(v *SendUsersMessageResponse) *SendUsersMessagesOutput {
20541	s.SendUsersMessageResponse = v
20542	return s
20543}
20544
20545// Provides information about a session.
20546type Session struct {
20547	_ struct{} `type:"structure"`
20548
20549	// The duration of the session, in milliseconds.
20550	Duration *int64 `type:"integer"`
20551
20552	// The unique identifier for the session.
20553	//
20554	// Id is a required field
20555	Id *string `type:"string" required:"true"`
20556
20557	// The date and time when the session began.
20558	//
20559	// StartTimestamp is a required field
20560	StartTimestamp *string `type:"string" required:"true"`
20561
20562	// The date and time when the session ended.
20563	StopTimestamp *string `type:"string"`
20564}
20565
20566// String returns the string representation
20567func (s Session) String() string {
20568	return awsutil.Prettify(s)
20569}
20570
20571// GoString returns the string representation
20572func (s Session) GoString() string {
20573	return s.String()
20574}
20575
20576// Validate inspects the fields of the type to determine if they are valid.
20577func (s *Session) Validate() error {
20578	invalidParams := request.ErrInvalidParams{Context: "Session"}
20579	if s.Id == nil {
20580		invalidParams.Add(request.NewErrParamRequired("Id"))
20581	}
20582	if s.StartTimestamp == nil {
20583		invalidParams.Add(request.NewErrParamRequired("StartTimestamp"))
20584	}
20585
20586	if invalidParams.Len() > 0 {
20587		return invalidParams
20588	}
20589	return nil
20590}
20591
20592// SetDuration sets the Duration field's value.
20593func (s *Session) SetDuration(v int64) *Session {
20594	s.Duration = &v
20595	return s
20596}
20597
20598// SetId sets the Id field's value.
20599func (s *Session) SetId(v string) *Session {
20600	s.Id = &v
20601	return s
20602}
20603
20604// SetStartTimestamp sets the StartTimestamp field's value.
20605func (s *Session) SetStartTimestamp(v string) *Session {
20606	s.StartTimestamp = &v
20607	return s
20608}
20609
20610// SetStopTimestamp sets the StopTimestamp field's value.
20611func (s *Session) SetStopTimestamp(v string) *Session {
20612	s.StopTimestamp = &v
20613	return s
20614}
20615
20616// Specifies the dimension type and values for a segment dimension.
20617type SetDimension struct {
20618	_ struct{} `type:"structure"`
20619
20620	// The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints
20621	// that match the criteria are included in the segment; and, EXCLUSIVE, endpoints
20622	// that match the criteria are excluded from the segment.
20623	DimensionType *string `type:"string" enum:"DimensionType"`
20624
20625	// The criteria values to use for the segment dimension. Depending on the value
20626	// of the DimensionType property, endpoints are included or excluded from the
20627	// segment if their values match the criteria values.
20628	//
20629	// Values is a required field
20630	Values []*string `type:"list" required:"true"`
20631}
20632
20633// String returns the string representation
20634func (s SetDimension) String() string {
20635	return awsutil.Prettify(s)
20636}
20637
20638// GoString returns the string representation
20639func (s SetDimension) GoString() string {
20640	return s.String()
20641}
20642
20643// Validate inspects the fields of the type to determine if they are valid.
20644func (s *SetDimension) Validate() error {
20645	invalidParams := request.ErrInvalidParams{Context: "SetDimension"}
20646	if s.Values == nil {
20647		invalidParams.Add(request.NewErrParamRequired("Values"))
20648	}
20649
20650	if invalidParams.Len() > 0 {
20651		return invalidParams
20652	}
20653	return nil
20654}
20655
20656// SetDimensionType sets the DimensionType field's value.
20657func (s *SetDimension) SetDimensionType(v string) *SetDimension {
20658	s.DimensionType = &v
20659	return s
20660}
20661
20662// SetValues sets the Values field's value.
20663func (s *SetDimension) SetValues(v []*string) *SetDimension {
20664	s.Values = v
20665	return s
20666}
20667
20668// Specifies the content of an email message, composed of a subject, a text
20669// part, and an HTML part.
20670type SimpleEmail struct {
20671	_ struct{} `type:"structure"`
20672
20673	// The body of the email message, in HTML format. We recommend using an HTML
20674	// part for email clients that support HTML. You can include links, formatted
20675	// text, and more in an HTML message.
20676	HtmlPart *SimpleEmailPart `type:"structure"`
20677
20678	// The subject line, or title, of the email.
20679	Subject *SimpleEmailPart `type:"structure"`
20680
20681	// The body of the email message, in text format. We recommend using a text
20682	// part for email clients that don't support HTML and clients that are connected
20683	// to high-latency networks, such as mobile devices.
20684	TextPart *SimpleEmailPart `type:"structure"`
20685}
20686
20687// String returns the string representation
20688func (s SimpleEmail) String() string {
20689	return awsutil.Prettify(s)
20690}
20691
20692// GoString returns the string representation
20693func (s SimpleEmail) GoString() string {
20694	return s.String()
20695}
20696
20697// SetHtmlPart sets the HtmlPart field's value.
20698func (s *SimpleEmail) SetHtmlPart(v *SimpleEmailPart) *SimpleEmail {
20699	s.HtmlPart = v
20700	return s
20701}
20702
20703// SetSubject sets the Subject field's value.
20704func (s *SimpleEmail) SetSubject(v *SimpleEmailPart) *SimpleEmail {
20705	s.Subject = v
20706	return s
20707}
20708
20709// SetTextPart sets the TextPart field's value.
20710func (s *SimpleEmail) SetTextPart(v *SimpleEmailPart) *SimpleEmail {
20711	s.TextPart = v
20712	return s
20713}
20714
20715// Specifies the subject or body of an email message, represented as textual
20716// email data and the applicable character set.
20717type SimpleEmailPart struct {
20718	_ struct{} `type:"structure"`
20719
20720	// The applicable character set for the message content.
20721	Charset *string `type:"string"`
20722
20723	// The textual data of the message content.
20724	Data *string `type:"string"`
20725}
20726
20727// String returns the string representation
20728func (s SimpleEmailPart) String() string {
20729	return awsutil.Prettify(s)
20730}
20731
20732// GoString returns the string representation
20733func (s SimpleEmailPart) GoString() string {
20734	return s.String()
20735}
20736
20737// SetCharset sets the Charset field's value.
20738func (s *SimpleEmailPart) SetCharset(v string) *SimpleEmailPart {
20739	s.Charset = &v
20740	return s
20741}
20742
20743// SetData sets the Data field's value.
20744func (s *SimpleEmailPart) SetData(v string) *SimpleEmailPart {
20745	s.Data = &v
20746	return s
20747}
20748
20749type TagResourceInput struct {
20750	_ struct{} `type:"structure" payload:"TagsModel"`
20751
20752	// ResourceArn is a required field
20753	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
20754
20755	// Specifies the tags (keys and values) for an application, campaign, or segment.
20756	//
20757	// TagsModel is a required field
20758	TagsModel *TagsModel `type:"structure" required:"true"`
20759}
20760
20761// String returns the string representation
20762func (s TagResourceInput) String() string {
20763	return awsutil.Prettify(s)
20764}
20765
20766// GoString returns the string representation
20767func (s TagResourceInput) GoString() string {
20768	return s.String()
20769}
20770
20771// Validate inspects the fields of the type to determine if they are valid.
20772func (s *TagResourceInput) Validate() error {
20773	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
20774	if s.ResourceArn == nil {
20775		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
20776	}
20777	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
20778		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
20779	}
20780	if s.TagsModel == nil {
20781		invalidParams.Add(request.NewErrParamRequired("TagsModel"))
20782	}
20783	if s.TagsModel != nil {
20784		if err := s.TagsModel.Validate(); err != nil {
20785			invalidParams.AddNested("TagsModel", err.(request.ErrInvalidParams))
20786		}
20787	}
20788
20789	if invalidParams.Len() > 0 {
20790		return invalidParams
20791	}
20792	return nil
20793}
20794
20795// SetResourceArn sets the ResourceArn field's value.
20796func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
20797	s.ResourceArn = &v
20798	return s
20799}
20800
20801// SetTagsModel sets the TagsModel field's value.
20802func (s *TagResourceInput) SetTagsModel(v *TagsModel) *TagResourceInput {
20803	s.TagsModel = v
20804	return s
20805}
20806
20807type TagResourceOutput struct {
20808	_ struct{} `type:"structure"`
20809}
20810
20811// String returns the string representation
20812func (s TagResourceOutput) String() string {
20813	return awsutil.Prettify(s)
20814}
20815
20816// GoString returns the string representation
20817func (s TagResourceOutput) GoString() string {
20818	return s.String()
20819}
20820
20821// Specifies the tags (keys and values) for an application, campaign, or segment.
20822type TagsModel struct {
20823	_ struct{} `type:"structure"`
20824
20825	// A string-to-string map of key-value pairs that defines the tags for an application,
20826	// campaign, or segment. A project, campaign, or segment can have a maximum
20827	// of 50 tags.
20828	//
20829	// Each tag consists of a required tag key and an associated tag value. The
20830	// maximum length of a tag key is 128 characters. The maximum length of a tag
20831	// value is 256 characters.
20832	//
20833	// Tags is a required field
20834	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
20835}
20836
20837// String returns the string representation
20838func (s TagsModel) String() string {
20839	return awsutil.Prettify(s)
20840}
20841
20842// GoString returns the string representation
20843func (s TagsModel) GoString() string {
20844	return s.String()
20845}
20846
20847// Validate inspects the fields of the type to determine if they are valid.
20848func (s *TagsModel) Validate() error {
20849	invalidParams := request.ErrInvalidParams{Context: "TagsModel"}
20850	if s.Tags == nil {
20851		invalidParams.Add(request.NewErrParamRequired("Tags"))
20852	}
20853
20854	if invalidParams.Len() > 0 {
20855		return invalidParams
20856	}
20857	return nil
20858}
20859
20860// SetTags sets the Tags field's value.
20861func (s *TagsModel) SetTags(v map[string]*string) *TagsModel {
20862	s.Tags = v
20863	return s
20864}
20865
20866// Specifies the settings for a campaign treatment. A treatment is a variation
20867// of a campaign that's used for A/B testing of a campaign.
20868type TreatmentResource struct {
20869	_ struct{} `type:"structure"`
20870
20871	// The unique identifier for the treatment.
20872	//
20873	// Id is a required field
20874	Id *string `type:"string" required:"true"`
20875
20876	// The message configuration settings for the treatment.
20877	MessageConfiguration *MessageConfiguration `type:"structure"`
20878
20879	// The schedule settings for the treatment.
20880	Schedule *Schedule `type:"structure"`
20881
20882	// The allocated percentage of users (segment members) that the treatment is
20883	// sent to.
20884	//
20885	// SizePercent is a required field
20886	SizePercent *int64 `type:"integer" required:"true"`
20887
20888	// The status of the treatment.
20889	State *CampaignState `type:"structure"`
20890
20891	// The custom description of the treatment.
20892	TreatmentDescription *string `type:"string"`
20893
20894	// The custom name of the treatment. A treatment is a variation of a campaign
20895	// that's used for A/B testing of a campaign.
20896	TreatmentName *string `type:"string"`
20897}
20898
20899// String returns the string representation
20900func (s TreatmentResource) String() string {
20901	return awsutil.Prettify(s)
20902}
20903
20904// GoString returns the string representation
20905func (s TreatmentResource) GoString() string {
20906	return s.String()
20907}
20908
20909// SetId sets the Id field's value.
20910func (s *TreatmentResource) SetId(v string) *TreatmentResource {
20911	s.Id = &v
20912	return s
20913}
20914
20915// SetMessageConfiguration sets the MessageConfiguration field's value.
20916func (s *TreatmentResource) SetMessageConfiguration(v *MessageConfiguration) *TreatmentResource {
20917	s.MessageConfiguration = v
20918	return s
20919}
20920
20921// SetSchedule sets the Schedule field's value.
20922func (s *TreatmentResource) SetSchedule(v *Schedule) *TreatmentResource {
20923	s.Schedule = v
20924	return s
20925}
20926
20927// SetSizePercent sets the SizePercent field's value.
20928func (s *TreatmentResource) SetSizePercent(v int64) *TreatmentResource {
20929	s.SizePercent = &v
20930	return s
20931}
20932
20933// SetState sets the State field's value.
20934func (s *TreatmentResource) SetState(v *CampaignState) *TreatmentResource {
20935	s.State = v
20936	return s
20937}
20938
20939// SetTreatmentDescription sets the TreatmentDescription field's value.
20940func (s *TreatmentResource) SetTreatmentDescription(v string) *TreatmentResource {
20941	s.TreatmentDescription = &v
20942	return s
20943}
20944
20945// SetTreatmentName sets the TreatmentName field's value.
20946func (s *TreatmentResource) SetTreatmentName(v string) *TreatmentResource {
20947	s.TreatmentName = &v
20948	return s
20949}
20950
20951type UntagResourceInput struct {
20952	_ struct{} `type:"structure"`
20953
20954	// ResourceArn is a required field
20955	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
20956
20957	// TagKeys is a required field
20958	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
20959}
20960
20961// String returns the string representation
20962func (s UntagResourceInput) String() string {
20963	return awsutil.Prettify(s)
20964}
20965
20966// GoString returns the string representation
20967func (s UntagResourceInput) GoString() string {
20968	return s.String()
20969}
20970
20971// Validate inspects the fields of the type to determine if they are valid.
20972func (s *UntagResourceInput) Validate() error {
20973	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
20974	if s.ResourceArn == nil {
20975		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
20976	}
20977	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
20978		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
20979	}
20980	if s.TagKeys == nil {
20981		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
20982	}
20983
20984	if invalidParams.Len() > 0 {
20985		return invalidParams
20986	}
20987	return nil
20988}
20989
20990// SetResourceArn sets the ResourceArn field's value.
20991func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
20992	s.ResourceArn = &v
20993	return s
20994}
20995
20996// SetTagKeys sets the TagKeys field's value.
20997func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
20998	s.TagKeys = v
20999	return s
21000}
21001
21002type UntagResourceOutput struct {
21003	_ struct{} `type:"structure"`
21004}
21005
21006// String returns the string representation
21007func (s UntagResourceOutput) String() string {
21008	return awsutil.Prettify(s)
21009}
21010
21011// GoString returns the string representation
21012func (s UntagResourceOutput) GoString() string {
21013	return s.String()
21014}
21015
21016type UpdateAdmChannelInput struct {
21017	_ struct{} `type:"structure" payload:"ADMChannelRequest"`
21018
21019	// Specifies the status and settings of the ADM (Amazon Device Messaging) channel
21020	// for an application.
21021	//
21022	// ADMChannelRequest is a required field
21023	ADMChannelRequest *ADMChannelRequest `type:"structure" required:"true"`
21024
21025	// ApplicationId is a required field
21026	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21027}
21028
21029// String returns the string representation
21030func (s UpdateAdmChannelInput) String() string {
21031	return awsutil.Prettify(s)
21032}
21033
21034// GoString returns the string representation
21035func (s UpdateAdmChannelInput) GoString() string {
21036	return s.String()
21037}
21038
21039// Validate inspects the fields of the type to determine if they are valid.
21040func (s *UpdateAdmChannelInput) Validate() error {
21041	invalidParams := request.ErrInvalidParams{Context: "UpdateAdmChannelInput"}
21042	if s.ADMChannelRequest == nil {
21043		invalidParams.Add(request.NewErrParamRequired("ADMChannelRequest"))
21044	}
21045	if s.ApplicationId == nil {
21046		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21047	}
21048	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21049		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21050	}
21051	if s.ADMChannelRequest != nil {
21052		if err := s.ADMChannelRequest.Validate(); err != nil {
21053			invalidParams.AddNested("ADMChannelRequest", err.(request.ErrInvalidParams))
21054		}
21055	}
21056
21057	if invalidParams.Len() > 0 {
21058		return invalidParams
21059	}
21060	return nil
21061}
21062
21063// SetADMChannelRequest sets the ADMChannelRequest field's value.
21064func (s *UpdateAdmChannelInput) SetADMChannelRequest(v *ADMChannelRequest) *UpdateAdmChannelInput {
21065	s.ADMChannelRequest = v
21066	return s
21067}
21068
21069// SetApplicationId sets the ApplicationId field's value.
21070func (s *UpdateAdmChannelInput) SetApplicationId(v string) *UpdateAdmChannelInput {
21071	s.ApplicationId = &v
21072	return s
21073}
21074
21075type UpdateAdmChannelOutput struct {
21076	_ struct{} `type:"structure" payload:"ADMChannelResponse"`
21077
21078	// Provides information about the status and settings of the ADM (Amazon Device
21079	// Messaging) channel for an application.
21080	//
21081	// ADMChannelResponse is a required field
21082	ADMChannelResponse *ADMChannelResponse `type:"structure" required:"true"`
21083}
21084
21085// String returns the string representation
21086func (s UpdateAdmChannelOutput) String() string {
21087	return awsutil.Prettify(s)
21088}
21089
21090// GoString returns the string representation
21091func (s UpdateAdmChannelOutput) GoString() string {
21092	return s.String()
21093}
21094
21095// SetADMChannelResponse sets the ADMChannelResponse field's value.
21096func (s *UpdateAdmChannelOutput) SetADMChannelResponse(v *ADMChannelResponse) *UpdateAdmChannelOutput {
21097	s.ADMChannelResponse = v
21098	return s
21099}
21100
21101type UpdateApnsChannelInput struct {
21102	_ struct{} `type:"structure" payload:"APNSChannelRequest"`
21103
21104	// Specifies the status and settings of the APNs (Apple Push Notification service)
21105	// channel for an application.
21106	//
21107	// APNSChannelRequest is a required field
21108	APNSChannelRequest *APNSChannelRequest `type:"structure" required:"true"`
21109
21110	// ApplicationId is a required field
21111	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21112}
21113
21114// String returns the string representation
21115func (s UpdateApnsChannelInput) String() string {
21116	return awsutil.Prettify(s)
21117}
21118
21119// GoString returns the string representation
21120func (s UpdateApnsChannelInput) GoString() string {
21121	return s.String()
21122}
21123
21124// Validate inspects the fields of the type to determine if they are valid.
21125func (s *UpdateApnsChannelInput) Validate() error {
21126	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsChannelInput"}
21127	if s.APNSChannelRequest == nil {
21128		invalidParams.Add(request.NewErrParamRequired("APNSChannelRequest"))
21129	}
21130	if s.ApplicationId == nil {
21131		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21132	}
21133	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21134		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21135	}
21136
21137	if invalidParams.Len() > 0 {
21138		return invalidParams
21139	}
21140	return nil
21141}
21142
21143// SetAPNSChannelRequest sets the APNSChannelRequest field's value.
21144func (s *UpdateApnsChannelInput) SetAPNSChannelRequest(v *APNSChannelRequest) *UpdateApnsChannelInput {
21145	s.APNSChannelRequest = v
21146	return s
21147}
21148
21149// SetApplicationId sets the ApplicationId field's value.
21150func (s *UpdateApnsChannelInput) SetApplicationId(v string) *UpdateApnsChannelInput {
21151	s.ApplicationId = &v
21152	return s
21153}
21154
21155type UpdateApnsChannelOutput struct {
21156	_ struct{} `type:"structure" payload:"APNSChannelResponse"`
21157
21158	// Provides information about the status and settings of the APNs (Apple Push
21159	// Notification service) channel for an application.
21160	//
21161	// APNSChannelResponse is a required field
21162	APNSChannelResponse *APNSChannelResponse `type:"structure" required:"true"`
21163}
21164
21165// String returns the string representation
21166func (s UpdateApnsChannelOutput) String() string {
21167	return awsutil.Prettify(s)
21168}
21169
21170// GoString returns the string representation
21171func (s UpdateApnsChannelOutput) GoString() string {
21172	return s.String()
21173}
21174
21175// SetAPNSChannelResponse sets the APNSChannelResponse field's value.
21176func (s *UpdateApnsChannelOutput) SetAPNSChannelResponse(v *APNSChannelResponse) *UpdateApnsChannelOutput {
21177	s.APNSChannelResponse = v
21178	return s
21179}
21180
21181type UpdateApnsSandboxChannelInput struct {
21182	_ struct{} `type:"structure" payload:"APNSSandboxChannelRequest"`
21183
21184	// Specifies the status and settings of the APNs (Apple Push Notification service)
21185	// sandbox channel for an application.
21186	//
21187	// APNSSandboxChannelRequest is a required field
21188	APNSSandboxChannelRequest *APNSSandboxChannelRequest `type:"structure" required:"true"`
21189
21190	// ApplicationId is a required field
21191	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21192}
21193
21194// String returns the string representation
21195func (s UpdateApnsSandboxChannelInput) String() string {
21196	return awsutil.Prettify(s)
21197}
21198
21199// GoString returns the string representation
21200func (s UpdateApnsSandboxChannelInput) GoString() string {
21201	return s.String()
21202}
21203
21204// Validate inspects the fields of the type to determine if they are valid.
21205func (s *UpdateApnsSandboxChannelInput) Validate() error {
21206	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsSandboxChannelInput"}
21207	if s.APNSSandboxChannelRequest == nil {
21208		invalidParams.Add(request.NewErrParamRequired("APNSSandboxChannelRequest"))
21209	}
21210	if s.ApplicationId == nil {
21211		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21212	}
21213	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21214		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21215	}
21216
21217	if invalidParams.Len() > 0 {
21218		return invalidParams
21219	}
21220	return nil
21221}
21222
21223// SetAPNSSandboxChannelRequest sets the APNSSandboxChannelRequest field's value.
21224func (s *UpdateApnsSandboxChannelInput) SetAPNSSandboxChannelRequest(v *APNSSandboxChannelRequest) *UpdateApnsSandboxChannelInput {
21225	s.APNSSandboxChannelRequest = v
21226	return s
21227}
21228
21229// SetApplicationId sets the ApplicationId field's value.
21230func (s *UpdateApnsSandboxChannelInput) SetApplicationId(v string) *UpdateApnsSandboxChannelInput {
21231	s.ApplicationId = &v
21232	return s
21233}
21234
21235type UpdateApnsSandboxChannelOutput struct {
21236	_ struct{} `type:"structure" payload:"APNSSandboxChannelResponse"`
21237
21238	// Provides information about the status and settings of the APNs (Apple Push
21239	// Notification service) sandbox channel for an application.
21240	//
21241	// APNSSandboxChannelResponse is a required field
21242	APNSSandboxChannelResponse *APNSSandboxChannelResponse `type:"structure" required:"true"`
21243}
21244
21245// String returns the string representation
21246func (s UpdateApnsSandboxChannelOutput) String() string {
21247	return awsutil.Prettify(s)
21248}
21249
21250// GoString returns the string representation
21251func (s UpdateApnsSandboxChannelOutput) GoString() string {
21252	return s.String()
21253}
21254
21255// SetAPNSSandboxChannelResponse sets the APNSSandboxChannelResponse field's value.
21256func (s *UpdateApnsSandboxChannelOutput) SetAPNSSandboxChannelResponse(v *APNSSandboxChannelResponse) *UpdateApnsSandboxChannelOutput {
21257	s.APNSSandboxChannelResponse = v
21258	return s
21259}
21260
21261type UpdateApnsVoipChannelInput struct {
21262	_ struct{} `type:"structure" payload:"APNSVoipChannelRequest"`
21263
21264	// Specifies the status and settings of the APNs (Apple Push Notification service)
21265	// VoIP channel for an application.
21266	//
21267	// APNSVoipChannelRequest is a required field
21268	APNSVoipChannelRequest *APNSVoipChannelRequest `type:"structure" required:"true"`
21269
21270	// ApplicationId is a required field
21271	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21272}
21273
21274// String returns the string representation
21275func (s UpdateApnsVoipChannelInput) String() string {
21276	return awsutil.Prettify(s)
21277}
21278
21279// GoString returns the string representation
21280func (s UpdateApnsVoipChannelInput) GoString() string {
21281	return s.String()
21282}
21283
21284// Validate inspects the fields of the type to determine if they are valid.
21285func (s *UpdateApnsVoipChannelInput) Validate() error {
21286	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsVoipChannelInput"}
21287	if s.APNSVoipChannelRequest == nil {
21288		invalidParams.Add(request.NewErrParamRequired("APNSVoipChannelRequest"))
21289	}
21290	if s.ApplicationId == nil {
21291		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21292	}
21293	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21294		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21295	}
21296
21297	if invalidParams.Len() > 0 {
21298		return invalidParams
21299	}
21300	return nil
21301}
21302
21303// SetAPNSVoipChannelRequest sets the APNSVoipChannelRequest field's value.
21304func (s *UpdateApnsVoipChannelInput) SetAPNSVoipChannelRequest(v *APNSVoipChannelRequest) *UpdateApnsVoipChannelInput {
21305	s.APNSVoipChannelRequest = v
21306	return s
21307}
21308
21309// SetApplicationId sets the ApplicationId field's value.
21310func (s *UpdateApnsVoipChannelInput) SetApplicationId(v string) *UpdateApnsVoipChannelInput {
21311	s.ApplicationId = &v
21312	return s
21313}
21314
21315type UpdateApnsVoipChannelOutput struct {
21316	_ struct{} `type:"structure" payload:"APNSVoipChannelResponse"`
21317
21318	// Provides information about the status and settings of the APNs (Apple Push
21319	// Notification service) VoIP channel for an application.
21320	//
21321	// APNSVoipChannelResponse is a required field
21322	APNSVoipChannelResponse *APNSVoipChannelResponse `type:"structure" required:"true"`
21323}
21324
21325// String returns the string representation
21326func (s UpdateApnsVoipChannelOutput) String() string {
21327	return awsutil.Prettify(s)
21328}
21329
21330// GoString returns the string representation
21331func (s UpdateApnsVoipChannelOutput) GoString() string {
21332	return s.String()
21333}
21334
21335// SetAPNSVoipChannelResponse sets the APNSVoipChannelResponse field's value.
21336func (s *UpdateApnsVoipChannelOutput) SetAPNSVoipChannelResponse(v *APNSVoipChannelResponse) *UpdateApnsVoipChannelOutput {
21337	s.APNSVoipChannelResponse = v
21338	return s
21339}
21340
21341type UpdateApnsVoipSandboxChannelInput struct {
21342	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelRequest"`
21343
21344	// Specifies the status and settings of the APNs (Apple Push Notification service)
21345	// VoIP sandbox channel for an application.
21346	//
21347	// APNSVoipSandboxChannelRequest is a required field
21348	APNSVoipSandboxChannelRequest *APNSVoipSandboxChannelRequest `type:"structure" required:"true"`
21349
21350	// ApplicationId is a required field
21351	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21352}
21353
21354// String returns the string representation
21355func (s UpdateApnsVoipSandboxChannelInput) String() string {
21356	return awsutil.Prettify(s)
21357}
21358
21359// GoString returns the string representation
21360func (s UpdateApnsVoipSandboxChannelInput) GoString() string {
21361	return s.String()
21362}
21363
21364// Validate inspects the fields of the type to determine if they are valid.
21365func (s *UpdateApnsVoipSandboxChannelInput) Validate() error {
21366	invalidParams := request.ErrInvalidParams{Context: "UpdateApnsVoipSandboxChannelInput"}
21367	if s.APNSVoipSandboxChannelRequest == nil {
21368		invalidParams.Add(request.NewErrParamRequired("APNSVoipSandboxChannelRequest"))
21369	}
21370	if s.ApplicationId == nil {
21371		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21372	}
21373	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21374		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21375	}
21376
21377	if invalidParams.Len() > 0 {
21378		return invalidParams
21379	}
21380	return nil
21381}
21382
21383// SetAPNSVoipSandboxChannelRequest sets the APNSVoipSandboxChannelRequest field's value.
21384func (s *UpdateApnsVoipSandboxChannelInput) SetAPNSVoipSandboxChannelRequest(v *APNSVoipSandboxChannelRequest) *UpdateApnsVoipSandboxChannelInput {
21385	s.APNSVoipSandboxChannelRequest = v
21386	return s
21387}
21388
21389// SetApplicationId sets the ApplicationId field's value.
21390func (s *UpdateApnsVoipSandboxChannelInput) SetApplicationId(v string) *UpdateApnsVoipSandboxChannelInput {
21391	s.ApplicationId = &v
21392	return s
21393}
21394
21395type UpdateApnsVoipSandboxChannelOutput struct {
21396	_ struct{} `type:"structure" payload:"APNSVoipSandboxChannelResponse"`
21397
21398	// Provides information about the status and settings of the APNs (Apple Push
21399	// Notification service) VoIP sandbox channel for an application.
21400	//
21401	// APNSVoipSandboxChannelResponse is a required field
21402	APNSVoipSandboxChannelResponse *APNSVoipSandboxChannelResponse `type:"structure" required:"true"`
21403}
21404
21405// String returns the string representation
21406func (s UpdateApnsVoipSandboxChannelOutput) String() string {
21407	return awsutil.Prettify(s)
21408}
21409
21410// GoString returns the string representation
21411func (s UpdateApnsVoipSandboxChannelOutput) GoString() string {
21412	return s.String()
21413}
21414
21415// SetAPNSVoipSandboxChannelResponse sets the APNSVoipSandboxChannelResponse field's value.
21416func (s *UpdateApnsVoipSandboxChannelOutput) SetAPNSVoipSandboxChannelResponse(v *APNSVoipSandboxChannelResponse) *UpdateApnsVoipSandboxChannelOutput {
21417	s.APNSVoipSandboxChannelResponse = v
21418	return s
21419}
21420
21421type UpdateApplicationSettingsInput struct {
21422	_ struct{} `type:"structure" payload:"WriteApplicationSettingsRequest"`
21423
21424	// ApplicationId is a required field
21425	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21426
21427	// Specifies the default settings for an application.
21428	//
21429	// WriteApplicationSettingsRequest is a required field
21430	WriteApplicationSettingsRequest *WriteApplicationSettingsRequest `type:"structure" required:"true"`
21431}
21432
21433// String returns the string representation
21434func (s UpdateApplicationSettingsInput) String() string {
21435	return awsutil.Prettify(s)
21436}
21437
21438// GoString returns the string representation
21439func (s UpdateApplicationSettingsInput) GoString() string {
21440	return s.String()
21441}
21442
21443// Validate inspects the fields of the type to determine if they are valid.
21444func (s *UpdateApplicationSettingsInput) Validate() error {
21445	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationSettingsInput"}
21446	if s.ApplicationId == nil {
21447		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21448	}
21449	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21450		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21451	}
21452	if s.WriteApplicationSettingsRequest == nil {
21453		invalidParams.Add(request.NewErrParamRequired("WriteApplicationSettingsRequest"))
21454	}
21455
21456	if invalidParams.Len() > 0 {
21457		return invalidParams
21458	}
21459	return nil
21460}
21461
21462// SetApplicationId sets the ApplicationId field's value.
21463func (s *UpdateApplicationSettingsInput) SetApplicationId(v string) *UpdateApplicationSettingsInput {
21464	s.ApplicationId = &v
21465	return s
21466}
21467
21468// SetWriteApplicationSettingsRequest sets the WriteApplicationSettingsRequest field's value.
21469func (s *UpdateApplicationSettingsInput) SetWriteApplicationSettingsRequest(v *WriteApplicationSettingsRequest) *UpdateApplicationSettingsInput {
21470	s.WriteApplicationSettingsRequest = v
21471	return s
21472}
21473
21474type UpdateApplicationSettingsOutput struct {
21475	_ struct{} `type:"structure" payload:"ApplicationSettingsResource"`
21476
21477	// Provides information about an application, including the default settings
21478	// for an application.
21479	//
21480	// ApplicationSettingsResource is a required field
21481	ApplicationSettingsResource *ApplicationSettingsResource `type:"structure" required:"true"`
21482}
21483
21484// String returns the string representation
21485func (s UpdateApplicationSettingsOutput) String() string {
21486	return awsutil.Prettify(s)
21487}
21488
21489// GoString returns the string representation
21490func (s UpdateApplicationSettingsOutput) GoString() string {
21491	return s.String()
21492}
21493
21494// SetApplicationSettingsResource sets the ApplicationSettingsResource field's value.
21495func (s *UpdateApplicationSettingsOutput) SetApplicationSettingsResource(v *ApplicationSettingsResource) *UpdateApplicationSettingsOutput {
21496	s.ApplicationSettingsResource = v
21497	return s
21498}
21499
21500// Specifies one or more attributes to remove from all the endpoints that are
21501// associated with an application.
21502type UpdateAttributesRequest struct {
21503	_ struct{} `type:"structure"`
21504
21505	// An array of the attributes to remove from all the endpoints that are associated
21506	// with the application. The array can specify the complete, exact name of each
21507	// attribute to remove or it can specify a glob pattern that an attribute name
21508	// must match in order for the attribute to be removed.
21509	Blacklist []*string `type:"list"`
21510}
21511
21512// String returns the string representation
21513func (s UpdateAttributesRequest) String() string {
21514	return awsutil.Prettify(s)
21515}
21516
21517// GoString returns the string representation
21518func (s UpdateAttributesRequest) GoString() string {
21519	return s.String()
21520}
21521
21522// SetBlacklist sets the Blacklist field's value.
21523func (s *UpdateAttributesRequest) SetBlacklist(v []*string) *UpdateAttributesRequest {
21524	s.Blacklist = v
21525	return s
21526}
21527
21528type UpdateBaiduChannelInput struct {
21529	_ struct{} `type:"structure" payload:"BaiduChannelRequest"`
21530
21531	// ApplicationId is a required field
21532	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21533
21534	// Specifies the status and settings of the Baidu (Baidu Cloud Push) channel
21535	// for an application.
21536	//
21537	// BaiduChannelRequest is a required field
21538	BaiduChannelRequest *BaiduChannelRequest `type:"structure" required:"true"`
21539}
21540
21541// String returns the string representation
21542func (s UpdateBaiduChannelInput) String() string {
21543	return awsutil.Prettify(s)
21544}
21545
21546// GoString returns the string representation
21547func (s UpdateBaiduChannelInput) GoString() string {
21548	return s.String()
21549}
21550
21551// Validate inspects the fields of the type to determine if they are valid.
21552func (s *UpdateBaiduChannelInput) Validate() error {
21553	invalidParams := request.ErrInvalidParams{Context: "UpdateBaiduChannelInput"}
21554	if s.ApplicationId == nil {
21555		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21556	}
21557	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21558		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21559	}
21560	if s.BaiduChannelRequest == nil {
21561		invalidParams.Add(request.NewErrParamRequired("BaiduChannelRequest"))
21562	}
21563	if s.BaiduChannelRequest != nil {
21564		if err := s.BaiduChannelRequest.Validate(); err != nil {
21565			invalidParams.AddNested("BaiduChannelRequest", err.(request.ErrInvalidParams))
21566		}
21567	}
21568
21569	if invalidParams.Len() > 0 {
21570		return invalidParams
21571	}
21572	return nil
21573}
21574
21575// SetApplicationId sets the ApplicationId field's value.
21576func (s *UpdateBaiduChannelInput) SetApplicationId(v string) *UpdateBaiduChannelInput {
21577	s.ApplicationId = &v
21578	return s
21579}
21580
21581// SetBaiduChannelRequest sets the BaiduChannelRequest field's value.
21582func (s *UpdateBaiduChannelInput) SetBaiduChannelRequest(v *BaiduChannelRequest) *UpdateBaiduChannelInput {
21583	s.BaiduChannelRequest = v
21584	return s
21585}
21586
21587type UpdateBaiduChannelOutput struct {
21588	_ struct{} `type:"structure" payload:"BaiduChannelResponse"`
21589
21590	// Provides information about the status and settings of the Baidu (Baidu Cloud
21591	// Push) channel for an application.
21592	//
21593	// BaiduChannelResponse is a required field
21594	BaiduChannelResponse *BaiduChannelResponse `type:"structure" required:"true"`
21595}
21596
21597// String returns the string representation
21598func (s UpdateBaiduChannelOutput) String() string {
21599	return awsutil.Prettify(s)
21600}
21601
21602// GoString returns the string representation
21603func (s UpdateBaiduChannelOutput) GoString() string {
21604	return s.String()
21605}
21606
21607// SetBaiduChannelResponse sets the BaiduChannelResponse field's value.
21608func (s *UpdateBaiduChannelOutput) SetBaiduChannelResponse(v *BaiduChannelResponse) *UpdateBaiduChannelOutput {
21609	s.BaiduChannelResponse = v
21610	return s
21611}
21612
21613type UpdateCampaignInput struct {
21614	_ struct{} `type:"structure" payload:"WriteCampaignRequest"`
21615
21616	// ApplicationId is a required field
21617	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21618
21619	// CampaignId is a required field
21620	CampaignId *string `location:"uri" locationName:"campaign-id" type:"string" required:"true"`
21621
21622	// Specifies the configuration and other settings for a campaign.
21623	//
21624	// WriteCampaignRequest is a required field
21625	WriteCampaignRequest *WriteCampaignRequest `type:"structure" required:"true"`
21626}
21627
21628// String returns the string representation
21629func (s UpdateCampaignInput) String() string {
21630	return awsutil.Prettify(s)
21631}
21632
21633// GoString returns the string representation
21634func (s UpdateCampaignInput) GoString() string {
21635	return s.String()
21636}
21637
21638// Validate inspects the fields of the type to determine if they are valid.
21639func (s *UpdateCampaignInput) Validate() error {
21640	invalidParams := request.ErrInvalidParams{Context: "UpdateCampaignInput"}
21641	if s.ApplicationId == nil {
21642		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21643	}
21644	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21645		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21646	}
21647	if s.CampaignId == nil {
21648		invalidParams.Add(request.NewErrParamRequired("CampaignId"))
21649	}
21650	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
21651		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
21652	}
21653	if s.WriteCampaignRequest == nil {
21654		invalidParams.Add(request.NewErrParamRequired("WriteCampaignRequest"))
21655	}
21656	if s.WriteCampaignRequest != nil {
21657		if err := s.WriteCampaignRequest.Validate(); err != nil {
21658			invalidParams.AddNested("WriteCampaignRequest", err.(request.ErrInvalidParams))
21659		}
21660	}
21661
21662	if invalidParams.Len() > 0 {
21663		return invalidParams
21664	}
21665	return nil
21666}
21667
21668// SetApplicationId sets the ApplicationId field's value.
21669func (s *UpdateCampaignInput) SetApplicationId(v string) *UpdateCampaignInput {
21670	s.ApplicationId = &v
21671	return s
21672}
21673
21674// SetCampaignId sets the CampaignId field's value.
21675func (s *UpdateCampaignInput) SetCampaignId(v string) *UpdateCampaignInput {
21676	s.CampaignId = &v
21677	return s
21678}
21679
21680// SetWriteCampaignRequest sets the WriteCampaignRequest field's value.
21681func (s *UpdateCampaignInput) SetWriteCampaignRequest(v *WriteCampaignRequest) *UpdateCampaignInput {
21682	s.WriteCampaignRequest = v
21683	return s
21684}
21685
21686type UpdateCampaignOutput struct {
21687	_ struct{} `type:"structure" payload:"CampaignResponse"`
21688
21689	// Provides information about the status, configuration, and other settings
21690	// for a campaign.
21691	//
21692	// CampaignResponse is a required field
21693	CampaignResponse *CampaignResponse `type:"structure" required:"true"`
21694}
21695
21696// String returns the string representation
21697func (s UpdateCampaignOutput) String() string {
21698	return awsutil.Prettify(s)
21699}
21700
21701// GoString returns the string representation
21702func (s UpdateCampaignOutput) GoString() string {
21703	return s.String()
21704}
21705
21706// SetCampaignResponse sets the CampaignResponse field's value.
21707func (s *UpdateCampaignOutput) SetCampaignResponse(v *CampaignResponse) *UpdateCampaignOutput {
21708	s.CampaignResponse = v
21709	return s
21710}
21711
21712type UpdateEmailChannelInput struct {
21713	_ struct{} `type:"structure" payload:"EmailChannelRequest"`
21714
21715	// ApplicationId is a required field
21716	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21717
21718	// Specifies the status and settings of the email channel for an application.
21719	//
21720	// EmailChannelRequest is a required field
21721	EmailChannelRequest *EmailChannelRequest `type:"structure" required:"true"`
21722}
21723
21724// String returns the string representation
21725func (s UpdateEmailChannelInput) String() string {
21726	return awsutil.Prettify(s)
21727}
21728
21729// GoString returns the string representation
21730func (s UpdateEmailChannelInput) GoString() string {
21731	return s.String()
21732}
21733
21734// Validate inspects the fields of the type to determine if they are valid.
21735func (s *UpdateEmailChannelInput) Validate() error {
21736	invalidParams := request.ErrInvalidParams{Context: "UpdateEmailChannelInput"}
21737	if s.ApplicationId == nil {
21738		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21739	}
21740	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21741		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21742	}
21743	if s.EmailChannelRequest == nil {
21744		invalidParams.Add(request.NewErrParamRequired("EmailChannelRequest"))
21745	}
21746	if s.EmailChannelRequest != nil {
21747		if err := s.EmailChannelRequest.Validate(); err != nil {
21748			invalidParams.AddNested("EmailChannelRequest", err.(request.ErrInvalidParams))
21749		}
21750	}
21751
21752	if invalidParams.Len() > 0 {
21753		return invalidParams
21754	}
21755	return nil
21756}
21757
21758// SetApplicationId sets the ApplicationId field's value.
21759func (s *UpdateEmailChannelInput) SetApplicationId(v string) *UpdateEmailChannelInput {
21760	s.ApplicationId = &v
21761	return s
21762}
21763
21764// SetEmailChannelRequest sets the EmailChannelRequest field's value.
21765func (s *UpdateEmailChannelInput) SetEmailChannelRequest(v *EmailChannelRequest) *UpdateEmailChannelInput {
21766	s.EmailChannelRequest = v
21767	return s
21768}
21769
21770type UpdateEmailChannelOutput struct {
21771	_ struct{} `type:"structure" payload:"EmailChannelResponse"`
21772
21773	// Provides information about the status and settings of the email channel for
21774	// an application.
21775	//
21776	// EmailChannelResponse is a required field
21777	EmailChannelResponse *EmailChannelResponse `type:"structure" required:"true"`
21778}
21779
21780// String returns the string representation
21781func (s UpdateEmailChannelOutput) String() string {
21782	return awsutil.Prettify(s)
21783}
21784
21785// GoString returns the string representation
21786func (s UpdateEmailChannelOutput) GoString() string {
21787	return s.String()
21788}
21789
21790// SetEmailChannelResponse sets the EmailChannelResponse field's value.
21791func (s *UpdateEmailChannelOutput) SetEmailChannelResponse(v *EmailChannelResponse) *UpdateEmailChannelOutput {
21792	s.EmailChannelResponse = v
21793	return s
21794}
21795
21796type UpdateEndpointInput struct {
21797	_ struct{} `type:"structure" payload:"EndpointRequest"`
21798
21799	// ApplicationId is a required field
21800	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21801
21802	// EndpointId is a required field
21803	EndpointId *string `location:"uri" locationName:"endpoint-id" type:"string" required:"true"`
21804
21805	// Specifies the channel type and other settings for an endpoint.
21806	//
21807	// EndpointRequest is a required field
21808	EndpointRequest *EndpointRequest `type:"structure" required:"true"`
21809}
21810
21811// String returns the string representation
21812func (s UpdateEndpointInput) String() string {
21813	return awsutil.Prettify(s)
21814}
21815
21816// GoString returns the string representation
21817func (s UpdateEndpointInput) GoString() string {
21818	return s.String()
21819}
21820
21821// Validate inspects the fields of the type to determine if they are valid.
21822func (s *UpdateEndpointInput) Validate() error {
21823	invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointInput"}
21824	if s.ApplicationId == nil {
21825		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21826	}
21827	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21828		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21829	}
21830	if s.EndpointId == nil {
21831		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
21832	}
21833	if s.EndpointId != nil && len(*s.EndpointId) < 1 {
21834		invalidParams.Add(request.NewErrParamMinLen("EndpointId", 1))
21835	}
21836	if s.EndpointRequest == nil {
21837		invalidParams.Add(request.NewErrParamRequired("EndpointRequest"))
21838	}
21839
21840	if invalidParams.Len() > 0 {
21841		return invalidParams
21842	}
21843	return nil
21844}
21845
21846// SetApplicationId sets the ApplicationId field's value.
21847func (s *UpdateEndpointInput) SetApplicationId(v string) *UpdateEndpointInput {
21848	s.ApplicationId = &v
21849	return s
21850}
21851
21852// SetEndpointId sets the EndpointId field's value.
21853func (s *UpdateEndpointInput) SetEndpointId(v string) *UpdateEndpointInput {
21854	s.EndpointId = &v
21855	return s
21856}
21857
21858// SetEndpointRequest sets the EndpointRequest field's value.
21859func (s *UpdateEndpointInput) SetEndpointRequest(v *EndpointRequest) *UpdateEndpointInput {
21860	s.EndpointRequest = v
21861	return s
21862}
21863
21864type UpdateEndpointOutput struct {
21865	_ struct{} `type:"structure" payload:"MessageBody"`
21866
21867	// Provides information about an API request or response.
21868	//
21869	// MessageBody is a required field
21870	MessageBody *MessageBody `type:"structure" required:"true"`
21871}
21872
21873// String returns the string representation
21874func (s UpdateEndpointOutput) String() string {
21875	return awsutil.Prettify(s)
21876}
21877
21878// GoString returns the string representation
21879func (s UpdateEndpointOutput) GoString() string {
21880	return s.String()
21881}
21882
21883// SetMessageBody sets the MessageBody field's value.
21884func (s *UpdateEndpointOutput) SetMessageBody(v *MessageBody) *UpdateEndpointOutput {
21885	s.MessageBody = v
21886	return s
21887}
21888
21889type UpdateEndpointsBatchInput struct {
21890	_ struct{} `type:"structure" payload:"EndpointBatchRequest"`
21891
21892	// ApplicationId is a required field
21893	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21894
21895	// Specifies a batch of endpoints to create or update and the settings and attributes
21896	// to set or change for each endpoint.
21897	//
21898	// EndpointBatchRequest is a required field
21899	EndpointBatchRequest *EndpointBatchRequest `type:"structure" required:"true"`
21900}
21901
21902// String returns the string representation
21903func (s UpdateEndpointsBatchInput) String() string {
21904	return awsutil.Prettify(s)
21905}
21906
21907// GoString returns the string representation
21908func (s UpdateEndpointsBatchInput) GoString() string {
21909	return s.String()
21910}
21911
21912// Validate inspects the fields of the type to determine if they are valid.
21913func (s *UpdateEndpointsBatchInput) Validate() error {
21914	invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointsBatchInput"}
21915	if s.ApplicationId == nil {
21916		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
21917	}
21918	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
21919		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
21920	}
21921	if s.EndpointBatchRequest == nil {
21922		invalidParams.Add(request.NewErrParamRequired("EndpointBatchRequest"))
21923	}
21924	if s.EndpointBatchRequest != nil {
21925		if err := s.EndpointBatchRequest.Validate(); err != nil {
21926			invalidParams.AddNested("EndpointBatchRequest", err.(request.ErrInvalidParams))
21927		}
21928	}
21929
21930	if invalidParams.Len() > 0 {
21931		return invalidParams
21932	}
21933	return nil
21934}
21935
21936// SetApplicationId sets the ApplicationId field's value.
21937func (s *UpdateEndpointsBatchInput) SetApplicationId(v string) *UpdateEndpointsBatchInput {
21938	s.ApplicationId = &v
21939	return s
21940}
21941
21942// SetEndpointBatchRequest sets the EndpointBatchRequest field's value.
21943func (s *UpdateEndpointsBatchInput) SetEndpointBatchRequest(v *EndpointBatchRequest) *UpdateEndpointsBatchInput {
21944	s.EndpointBatchRequest = v
21945	return s
21946}
21947
21948type UpdateEndpointsBatchOutput struct {
21949	_ struct{} `type:"structure" payload:"MessageBody"`
21950
21951	// Provides information about an API request or response.
21952	//
21953	// MessageBody is a required field
21954	MessageBody *MessageBody `type:"structure" required:"true"`
21955}
21956
21957// String returns the string representation
21958func (s UpdateEndpointsBatchOutput) String() string {
21959	return awsutil.Prettify(s)
21960}
21961
21962// GoString returns the string representation
21963func (s UpdateEndpointsBatchOutput) GoString() string {
21964	return s.String()
21965}
21966
21967// SetMessageBody sets the MessageBody field's value.
21968func (s *UpdateEndpointsBatchOutput) SetMessageBody(v *MessageBody) *UpdateEndpointsBatchOutput {
21969	s.MessageBody = v
21970	return s
21971}
21972
21973type UpdateGcmChannelInput struct {
21974	_ struct{} `type:"structure" payload:"GCMChannelRequest"`
21975
21976	// ApplicationId is a required field
21977	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
21978
21979	// Specifies the status and settings of the GCM channel for an application.
21980	// This channel enables Amazon Pinpoint to send push notifications through the
21981	// Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.
21982	//
21983	// GCMChannelRequest is a required field
21984	GCMChannelRequest *GCMChannelRequest `type:"structure" required:"true"`
21985}
21986
21987// String returns the string representation
21988func (s UpdateGcmChannelInput) String() string {
21989	return awsutil.Prettify(s)
21990}
21991
21992// GoString returns the string representation
21993func (s UpdateGcmChannelInput) GoString() string {
21994	return s.String()
21995}
21996
21997// Validate inspects the fields of the type to determine if they are valid.
21998func (s *UpdateGcmChannelInput) Validate() error {
21999	invalidParams := request.ErrInvalidParams{Context: "UpdateGcmChannelInput"}
22000	if s.ApplicationId == nil {
22001		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22002	}
22003	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22004		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22005	}
22006	if s.GCMChannelRequest == nil {
22007		invalidParams.Add(request.NewErrParamRequired("GCMChannelRequest"))
22008	}
22009	if s.GCMChannelRequest != nil {
22010		if err := s.GCMChannelRequest.Validate(); err != nil {
22011			invalidParams.AddNested("GCMChannelRequest", err.(request.ErrInvalidParams))
22012		}
22013	}
22014
22015	if invalidParams.Len() > 0 {
22016		return invalidParams
22017	}
22018	return nil
22019}
22020
22021// SetApplicationId sets the ApplicationId field's value.
22022func (s *UpdateGcmChannelInput) SetApplicationId(v string) *UpdateGcmChannelInput {
22023	s.ApplicationId = &v
22024	return s
22025}
22026
22027// SetGCMChannelRequest sets the GCMChannelRequest field's value.
22028func (s *UpdateGcmChannelInput) SetGCMChannelRequest(v *GCMChannelRequest) *UpdateGcmChannelInput {
22029	s.GCMChannelRequest = v
22030	return s
22031}
22032
22033type UpdateGcmChannelOutput struct {
22034	_ struct{} `type:"structure" payload:"GCMChannelResponse"`
22035
22036	// Provides information about the status and settings of the GCM channel for
22037	// an application. The GCM channel enables Amazon Pinpoint to send push notifications
22038	// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging
22039	// (GCM), service.
22040	//
22041	// GCMChannelResponse is a required field
22042	GCMChannelResponse *GCMChannelResponse `type:"structure" required:"true"`
22043}
22044
22045// String returns the string representation
22046func (s UpdateGcmChannelOutput) String() string {
22047	return awsutil.Prettify(s)
22048}
22049
22050// GoString returns the string representation
22051func (s UpdateGcmChannelOutput) GoString() string {
22052	return s.String()
22053}
22054
22055// SetGCMChannelResponse sets the GCMChannelResponse field's value.
22056func (s *UpdateGcmChannelOutput) SetGCMChannelResponse(v *GCMChannelResponse) *UpdateGcmChannelOutput {
22057	s.GCMChannelResponse = v
22058	return s
22059}
22060
22061type UpdateSegmentInput struct {
22062	_ struct{} `type:"structure" payload:"WriteSegmentRequest"`
22063
22064	// ApplicationId is a required field
22065	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22066
22067	// SegmentId is a required field
22068	SegmentId *string `location:"uri" locationName:"segment-id" type:"string" required:"true"`
22069
22070	// Specifies the configuration, dimension, and other settings for a segment.
22071	// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
22072	// object, but not both.
22073	//
22074	// WriteSegmentRequest is a required field
22075	WriteSegmentRequest *WriteSegmentRequest `type:"structure" required:"true"`
22076}
22077
22078// String returns the string representation
22079func (s UpdateSegmentInput) String() string {
22080	return awsutil.Prettify(s)
22081}
22082
22083// GoString returns the string representation
22084func (s UpdateSegmentInput) GoString() string {
22085	return s.String()
22086}
22087
22088// Validate inspects the fields of the type to determine if they are valid.
22089func (s *UpdateSegmentInput) Validate() error {
22090	invalidParams := request.ErrInvalidParams{Context: "UpdateSegmentInput"}
22091	if s.ApplicationId == nil {
22092		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22093	}
22094	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22095		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22096	}
22097	if s.SegmentId == nil {
22098		invalidParams.Add(request.NewErrParamRequired("SegmentId"))
22099	}
22100	if s.SegmentId != nil && len(*s.SegmentId) < 1 {
22101		invalidParams.Add(request.NewErrParamMinLen("SegmentId", 1))
22102	}
22103	if s.WriteSegmentRequest == nil {
22104		invalidParams.Add(request.NewErrParamRequired("WriteSegmentRequest"))
22105	}
22106	if s.WriteSegmentRequest != nil {
22107		if err := s.WriteSegmentRequest.Validate(); err != nil {
22108			invalidParams.AddNested("WriteSegmentRequest", err.(request.ErrInvalidParams))
22109		}
22110	}
22111
22112	if invalidParams.Len() > 0 {
22113		return invalidParams
22114	}
22115	return nil
22116}
22117
22118// SetApplicationId sets the ApplicationId field's value.
22119func (s *UpdateSegmentInput) SetApplicationId(v string) *UpdateSegmentInput {
22120	s.ApplicationId = &v
22121	return s
22122}
22123
22124// SetSegmentId sets the SegmentId field's value.
22125func (s *UpdateSegmentInput) SetSegmentId(v string) *UpdateSegmentInput {
22126	s.SegmentId = &v
22127	return s
22128}
22129
22130// SetWriteSegmentRequest sets the WriteSegmentRequest field's value.
22131func (s *UpdateSegmentInput) SetWriteSegmentRequest(v *WriteSegmentRequest) *UpdateSegmentInput {
22132	s.WriteSegmentRequest = v
22133	return s
22134}
22135
22136type UpdateSegmentOutput struct {
22137	_ struct{} `type:"structure" payload:"SegmentResponse"`
22138
22139	// Provides information about the configuration, dimension, and other settings
22140	// for a segment.
22141	//
22142	// SegmentResponse is a required field
22143	SegmentResponse *SegmentResponse `type:"structure" required:"true"`
22144}
22145
22146// String returns the string representation
22147func (s UpdateSegmentOutput) String() string {
22148	return awsutil.Prettify(s)
22149}
22150
22151// GoString returns the string representation
22152func (s UpdateSegmentOutput) GoString() string {
22153	return s.String()
22154}
22155
22156// SetSegmentResponse sets the SegmentResponse field's value.
22157func (s *UpdateSegmentOutput) SetSegmentResponse(v *SegmentResponse) *UpdateSegmentOutput {
22158	s.SegmentResponse = v
22159	return s
22160}
22161
22162type UpdateSmsChannelInput struct {
22163	_ struct{} `type:"structure" payload:"SMSChannelRequest"`
22164
22165	// ApplicationId is a required field
22166	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22167
22168	// Specifies the status and settings of the SMS channel for an application.
22169	//
22170	// SMSChannelRequest is a required field
22171	SMSChannelRequest *SMSChannelRequest `type:"structure" required:"true"`
22172}
22173
22174// String returns the string representation
22175func (s UpdateSmsChannelInput) String() string {
22176	return awsutil.Prettify(s)
22177}
22178
22179// GoString returns the string representation
22180func (s UpdateSmsChannelInput) GoString() string {
22181	return s.String()
22182}
22183
22184// Validate inspects the fields of the type to determine if they are valid.
22185func (s *UpdateSmsChannelInput) Validate() error {
22186	invalidParams := request.ErrInvalidParams{Context: "UpdateSmsChannelInput"}
22187	if s.ApplicationId == nil {
22188		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22189	}
22190	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22191		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22192	}
22193	if s.SMSChannelRequest == nil {
22194		invalidParams.Add(request.NewErrParamRequired("SMSChannelRequest"))
22195	}
22196
22197	if invalidParams.Len() > 0 {
22198		return invalidParams
22199	}
22200	return nil
22201}
22202
22203// SetApplicationId sets the ApplicationId field's value.
22204func (s *UpdateSmsChannelInput) SetApplicationId(v string) *UpdateSmsChannelInput {
22205	s.ApplicationId = &v
22206	return s
22207}
22208
22209// SetSMSChannelRequest sets the SMSChannelRequest field's value.
22210func (s *UpdateSmsChannelInput) SetSMSChannelRequest(v *SMSChannelRequest) *UpdateSmsChannelInput {
22211	s.SMSChannelRequest = v
22212	return s
22213}
22214
22215type UpdateSmsChannelOutput struct {
22216	_ struct{} `type:"structure" payload:"SMSChannelResponse"`
22217
22218	// Provides information about the status and settings of the SMS channel for
22219	// an application.
22220	//
22221	// SMSChannelResponse is a required field
22222	SMSChannelResponse *SMSChannelResponse `type:"structure" required:"true"`
22223}
22224
22225// String returns the string representation
22226func (s UpdateSmsChannelOutput) String() string {
22227	return awsutil.Prettify(s)
22228}
22229
22230// GoString returns the string representation
22231func (s UpdateSmsChannelOutput) GoString() string {
22232	return s.String()
22233}
22234
22235// SetSMSChannelResponse sets the SMSChannelResponse field's value.
22236func (s *UpdateSmsChannelOutput) SetSMSChannelResponse(v *SMSChannelResponse) *UpdateSmsChannelOutput {
22237	s.SMSChannelResponse = v
22238	return s
22239}
22240
22241type UpdateVoiceChannelInput struct {
22242	_ struct{} `type:"structure" payload:"VoiceChannelRequest"`
22243
22244	// ApplicationId is a required field
22245	ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"`
22246
22247	// Specifies the status and settings of the voice channel for an application.
22248	//
22249	// VoiceChannelRequest is a required field
22250	VoiceChannelRequest *VoiceChannelRequest `type:"structure" required:"true"`
22251}
22252
22253// String returns the string representation
22254func (s UpdateVoiceChannelInput) String() string {
22255	return awsutil.Prettify(s)
22256}
22257
22258// GoString returns the string representation
22259func (s UpdateVoiceChannelInput) GoString() string {
22260	return s.String()
22261}
22262
22263// Validate inspects the fields of the type to determine if they are valid.
22264func (s *UpdateVoiceChannelInput) Validate() error {
22265	invalidParams := request.ErrInvalidParams{Context: "UpdateVoiceChannelInput"}
22266	if s.ApplicationId == nil {
22267		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
22268	}
22269	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
22270		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
22271	}
22272	if s.VoiceChannelRequest == nil {
22273		invalidParams.Add(request.NewErrParamRequired("VoiceChannelRequest"))
22274	}
22275
22276	if invalidParams.Len() > 0 {
22277		return invalidParams
22278	}
22279	return nil
22280}
22281
22282// SetApplicationId sets the ApplicationId field's value.
22283func (s *UpdateVoiceChannelInput) SetApplicationId(v string) *UpdateVoiceChannelInput {
22284	s.ApplicationId = &v
22285	return s
22286}
22287
22288// SetVoiceChannelRequest sets the VoiceChannelRequest field's value.
22289func (s *UpdateVoiceChannelInput) SetVoiceChannelRequest(v *VoiceChannelRequest) *UpdateVoiceChannelInput {
22290	s.VoiceChannelRequest = v
22291	return s
22292}
22293
22294type UpdateVoiceChannelOutput struct {
22295	_ struct{} `type:"structure" payload:"VoiceChannelResponse"`
22296
22297	// Provides information about the status and settings of the voice channel for
22298	// an application.
22299	//
22300	// VoiceChannelResponse is a required field
22301	VoiceChannelResponse *VoiceChannelResponse `type:"structure" required:"true"`
22302}
22303
22304// String returns the string representation
22305func (s UpdateVoiceChannelOutput) String() string {
22306	return awsutil.Prettify(s)
22307}
22308
22309// GoString returns the string representation
22310func (s UpdateVoiceChannelOutput) GoString() string {
22311	return s.String()
22312}
22313
22314// SetVoiceChannelResponse sets the VoiceChannelResponse field's value.
22315func (s *UpdateVoiceChannelOutput) SetVoiceChannelResponse(v *VoiceChannelResponse) *UpdateVoiceChannelOutput {
22316	s.VoiceChannelResponse = v
22317	return s
22318}
22319
22320// Specifies the status and settings of the voice channel for an application.
22321type VoiceChannelRequest struct {
22322	_ struct{} `type:"structure"`
22323
22324	// Specifies whether to enable the voice channel for the application.
22325	Enabled *bool `type:"boolean"`
22326}
22327
22328// String returns the string representation
22329func (s VoiceChannelRequest) String() string {
22330	return awsutil.Prettify(s)
22331}
22332
22333// GoString returns the string representation
22334func (s VoiceChannelRequest) GoString() string {
22335	return s.String()
22336}
22337
22338// SetEnabled sets the Enabled field's value.
22339func (s *VoiceChannelRequest) SetEnabled(v bool) *VoiceChannelRequest {
22340	s.Enabled = &v
22341	return s
22342}
22343
22344// Provides information about the status and settings of the voice channel for
22345// an application.
22346type VoiceChannelResponse struct {
22347	_ struct{} `type:"structure"`
22348
22349	// The unique identifier for the application that the voice channel applies
22350	// to.
22351	ApplicationId *string `type:"string"`
22352
22353	// The date and time, in ISO 8601 format, when the voice channel was enabled.
22354	CreationDate *string `type:"string"`
22355
22356	// Specifies whether the voice channel is enabled for the application.
22357	Enabled *bool `type:"boolean"`
22358
22359	// (Not used) This property is retained only for backward compatibility.
22360	HasCredential *bool `type:"boolean"`
22361
22362	// (Deprecated) An identifier for the voice channel. This property is retained
22363	// only for backward compatibility.
22364	Id *string `type:"string"`
22365
22366	// Specifies whether the voice channel is archived.
22367	IsArchived *bool `type:"boolean"`
22368
22369	// The user who last modified the voice channel.
22370	LastModifiedBy *string `type:"string"`
22371
22372	// The date and time, in ISO 8601 format, when the voice channel was last modified.
22373	LastModifiedDate *string `type:"string"`
22374
22375	// The type of messaging or notification platform for the channel. For the voice
22376	// channel, this value is VOICE.
22377	//
22378	// Platform is a required field
22379	Platform *string `type:"string" required:"true"`
22380
22381	// The current version of the voice channel.
22382	Version *int64 `type:"integer"`
22383}
22384
22385// String returns the string representation
22386func (s VoiceChannelResponse) String() string {
22387	return awsutil.Prettify(s)
22388}
22389
22390// GoString returns the string representation
22391func (s VoiceChannelResponse) GoString() string {
22392	return s.String()
22393}
22394
22395// SetApplicationId sets the ApplicationId field's value.
22396func (s *VoiceChannelResponse) SetApplicationId(v string) *VoiceChannelResponse {
22397	s.ApplicationId = &v
22398	return s
22399}
22400
22401// SetCreationDate sets the CreationDate field's value.
22402func (s *VoiceChannelResponse) SetCreationDate(v string) *VoiceChannelResponse {
22403	s.CreationDate = &v
22404	return s
22405}
22406
22407// SetEnabled sets the Enabled field's value.
22408func (s *VoiceChannelResponse) SetEnabled(v bool) *VoiceChannelResponse {
22409	s.Enabled = &v
22410	return s
22411}
22412
22413// SetHasCredential sets the HasCredential field's value.
22414func (s *VoiceChannelResponse) SetHasCredential(v bool) *VoiceChannelResponse {
22415	s.HasCredential = &v
22416	return s
22417}
22418
22419// SetId sets the Id field's value.
22420func (s *VoiceChannelResponse) SetId(v string) *VoiceChannelResponse {
22421	s.Id = &v
22422	return s
22423}
22424
22425// SetIsArchived sets the IsArchived field's value.
22426func (s *VoiceChannelResponse) SetIsArchived(v bool) *VoiceChannelResponse {
22427	s.IsArchived = &v
22428	return s
22429}
22430
22431// SetLastModifiedBy sets the LastModifiedBy field's value.
22432func (s *VoiceChannelResponse) SetLastModifiedBy(v string) *VoiceChannelResponse {
22433	s.LastModifiedBy = &v
22434	return s
22435}
22436
22437// SetLastModifiedDate sets the LastModifiedDate field's value.
22438func (s *VoiceChannelResponse) SetLastModifiedDate(v string) *VoiceChannelResponse {
22439	s.LastModifiedDate = &v
22440	return s
22441}
22442
22443// SetPlatform sets the Platform field's value.
22444func (s *VoiceChannelResponse) SetPlatform(v string) *VoiceChannelResponse {
22445	s.Platform = &v
22446	return s
22447}
22448
22449// SetVersion sets the Version field's value.
22450func (s *VoiceChannelResponse) SetVersion(v int64) *VoiceChannelResponse {
22451	s.Version = &v
22452	return s
22453}
22454
22455// Specifies the settings for a one-time voice message that's sent directly
22456// to an endpoint through the voice channel.
22457type VoiceMessage struct {
22458	_ struct{} `type:"structure"`
22459
22460	// The text script for the voice message.
22461	Body *string `type:"string"`
22462
22463	// The language to use when delivering the message. For a list of supported
22464	// languages, see the Amazon Polly Developer Guide (AmazonPollyDG.html).
22465	LanguageCode *string `type:"string"`
22466
22467	// The phone number from the pool or messaging service to send the message from.
22468	// Although it isn't required, we recommend that you specify the phone number
22469	// in E.164 format to ensure prompt and accurate delivery.
22470	OriginationNumber *string `type:"string"`
22471
22472	// The default message variables to use in the voice message. You can override
22473	// the default variables with individual address variables.
22474	Substitutions map[string][]*string `type:"map"`
22475
22476	// The name of the voice to use when delivering the message. For a list of supported
22477	// voices, see the Amazon Polly Developer Guide (AmazonPollyDG.html).
22478	VoiceId *string `type:"string"`
22479}
22480
22481// String returns the string representation
22482func (s VoiceMessage) String() string {
22483	return awsutil.Prettify(s)
22484}
22485
22486// GoString returns the string representation
22487func (s VoiceMessage) GoString() string {
22488	return s.String()
22489}
22490
22491// SetBody sets the Body field's value.
22492func (s *VoiceMessage) SetBody(v string) *VoiceMessage {
22493	s.Body = &v
22494	return s
22495}
22496
22497// SetLanguageCode sets the LanguageCode field's value.
22498func (s *VoiceMessage) SetLanguageCode(v string) *VoiceMessage {
22499	s.LanguageCode = &v
22500	return s
22501}
22502
22503// SetOriginationNumber sets the OriginationNumber field's value.
22504func (s *VoiceMessage) SetOriginationNumber(v string) *VoiceMessage {
22505	s.OriginationNumber = &v
22506	return s
22507}
22508
22509// SetSubstitutions sets the Substitutions field's value.
22510func (s *VoiceMessage) SetSubstitutions(v map[string][]*string) *VoiceMessage {
22511	s.Substitutions = v
22512	return s
22513}
22514
22515// SetVoiceId sets the VoiceId field's value.
22516func (s *VoiceMessage) SetVoiceId(v string) *VoiceMessage {
22517	s.VoiceId = &v
22518	return s
22519}
22520
22521// Specifies the default settings for an application.
22522type WriteApplicationSettingsRequest struct {
22523	_ struct{} `type:"structure"`
22524
22525	// The settings for the AWS Lambda function to use by default as a code hook
22526	// for campaigns in the application. To override these settings for a specific
22527	// campaign, use the Campaign resource to define custom Lambda function settings
22528	// for the campaign.
22529	CampaignHook *CampaignHook `type:"structure"`
22530
22531	// Specifies whether to enable application-related alarms in Amazon CloudWatch.
22532	CloudWatchMetricsEnabled *bool `type:"boolean"`
22533
22534	// The default sending limits for campaigns in the application. To override
22535	// these limits for a specific campaign, use the Campaign resource to define
22536	// custom limits for the campaign.
22537	Limits *CampaignLimits `type:"structure"`
22538
22539	// The default quiet time for campaigns in the application. Quiet time is a
22540	// specific time range when campaigns don't send messages to endpoints, if all
22541	// the following conditions are met:
22542	//
22543	//    * The EndpointDemographic.Timezone property of the endpoint is set to
22544	//    a valid value.
22545	//
22546	//    * The current time in the endpoint's time zone is later than or equal
22547	//    to the time specified by the QuietTime.Start property for the application
22548	//    (or a campaign that has custom quiet time settings).
22549	//
22550	//    * The current time in the endpoint's time zone is earlier than or equal
22551	//    to the time specified by the QuietTime.End property for the application
22552	//    (or a campaign that has custom quiet time settings).
22553	//
22554	// If any of the preceding conditions isn't met, the endpoint will receive messages
22555	// from a campaign, even if quiet time is enabled.
22556	//
22557	// To override the default quiet time settings for a specific campaign, use
22558	// the Campaign resource to define a custom quiet time for the campaign.
22559	QuietTime *QuietTime `type:"structure"`
22560}
22561
22562// String returns the string representation
22563func (s WriteApplicationSettingsRequest) String() string {
22564	return awsutil.Prettify(s)
22565}
22566
22567// GoString returns the string representation
22568func (s WriteApplicationSettingsRequest) GoString() string {
22569	return s.String()
22570}
22571
22572// SetCampaignHook sets the CampaignHook field's value.
22573func (s *WriteApplicationSettingsRequest) SetCampaignHook(v *CampaignHook) *WriteApplicationSettingsRequest {
22574	s.CampaignHook = v
22575	return s
22576}
22577
22578// SetCloudWatchMetricsEnabled sets the CloudWatchMetricsEnabled field's value.
22579func (s *WriteApplicationSettingsRequest) SetCloudWatchMetricsEnabled(v bool) *WriteApplicationSettingsRequest {
22580	s.CloudWatchMetricsEnabled = &v
22581	return s
22582}
22583
22584// SetLimits sets the Limits field's value.
22585func (s *WriteApplicationSettingsRequest) SetLimits(v *CampaignLimits) *WriteApplicationSettingsRequest {
22586	s.Limits = v
22587	return s
22588}
22589
22590// SetQuietTime sets the QuietTime field's value.
22591func (s *WriteApplicationSettingsRequest) SetQuietTime(v *QuietTime) *WriteApplicationSettingsRequest {
22592	s.QuietTime = v
22593	return s
22594}
22595
22596// Specifies the configuration and other settings for a campaign.
22597type WriteCampaignRequest struct {
22598	_ struct{} `type:"structure"`
22599
22600	// An array of requests that defines additional treatments for the campaign,
22601	// in addition to the default treatment for the campaign.
22602	AdditionalTreatments []*WriteTreatmentResource `type:"list"`
22603
22604	// The custom description of the campaign.
22605	Description *string `type:"string"`
22606
22607	// The allocated percentage of users (segment members) who shouldn't receive
22608	// messages from the campaign.
22609	HoldoutPercent *int64 `type:"integer"`
22610
22611	// The settings for the AWS Lambda function to use as a code hook for the campaign.
22612	Hook *CampaignHook `type:"structure"`
22613
22614	// Specifies whether to pause the campaign. A paused campaign doesn't run unless
22615	// you resume it by setting this value to false.
22616	IsPaused *bool `type:"boolean"`
22617
22618	// The messaging limits for the campaign.
22619	Limits *CampaignLimits `type:"structure"`
22620
22621	// The message configuration settings for the campaign.
22622	MessageConfiguration *MessageConfiguration `type:"structure"`
22623
22624	// The custom name of the campaign.
22625	Name *string `type:"string"`
22626
22627	// The schedule settings for the campaign.
22628	Schedule *Schedule `type:"structure"`
22629
22630	// The unique identifier for the segment to associate with the campaign.
22631	SegmentId *string `type:"string"`
22632
22633	// The version of the segment to associate with the campaign.
22634	SegmentVersion *int64 `type:"integer"`
22635
22636	// A string-to-string map of key-value pairs that defines the tags to associate
22637	// with the campaign. Each tag consists of a required tag key and an associated
22638	// tag value.
22639	Tags map[string]*string `locationName:"tags" type:"map"`
22640
22641	// The custom description of a variation of the campaign to use for A/B testing.
22642	TreatmentDescription *string `type:"string"`
22643
22644	// The custom name of a variation of the campaign to use for A/B testing.
22645	TreatmentName *string `type:"string"`
22646}
22647
22648// String returns the string representation
22649func (s WriteCampaignRequest) String() string {
22650	return awsutil.Prettify(s)
22651}
22652
22653// GoString returns the string representation
22654func (s WriteCampaignRequest) GoString() string {
22655	return s.String()
22656}
22657
22658// Validate inspects the fields of the type to determine if they are valid.
22659func (s *WriteCampaignRequest) Validate() error {
22660	invalidParams := request.ErrInvalidParams{Context: "WriteCampaignRequest"}
22661	if s.AdditionalTreatments != nil {
22662		for i, v := range s.AdditionalTreatments {
22663			if v == nil {
22664				continue
22665			}
22666			if err := v.Validate(); err != nil {
22667				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalTreatments", i), err.(request.ErrInvalidParams))
22668			}
22669		}
22670	}
22671	if s.MessageConfiguration != nil {
22672		if err := s.MessageConfiguration.Validate(); err != nil {
22673			invalidParams.AddNested("MessageConfiguration", err.(request.ErrInvalidParams))
22674		}
22675	}
22676	if s.Schedule != nil {
22677		if err := s.Schedule.Validate(); err != nil {
22678			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
22679		}
22680	}
22681
22682	if invalidParams.Len() > 0 {
22683		return invalidParams
22684	}
22685	return nil
22686}
22687
22688// SetAdditionalTreatments sets the AdditionalTreatments field's value.
22689func (s *WriteCampaignRequest) SetAdditionalTreatments(v []*WriteTreatmentResource) *WriteCampaignRequest {
22690	s.AdditionalTreatments = v
22691	return s
22692}
22693
22694// SetDescription sets the Description field's value.
22695func (s *WriteCampaignRequest) SetDescription(v string) *WriteCampaignRequest {
22696	s.Description = &v
22697	return s
22698}
22699
22700// SetHoldoutPercent sets the HoldoutPercent field's value.
22701func (s *WriteCampaignRequest) SetHoldoutPercent(v int64) *WriteCampaignRequest {
22702	s.HoldoutPercent = &v
22703	return s
22704}
22705
22706// SetHook sets the Hook field's value.
22707func (s *WriteCampaignRequest) SetHook(v *CampaignHook) *WriteCampaignRequest {
22708	s.Hook = v
22709	return s
22710}
22711
22712// SetIsPaused sets the IsPaused field's value.
22713func (s *WriteCampaignRequest) SetIsPaused(v bool) *WriteCampaignRequest {
22714	s.IsPaused = &v
22715	return s
22716}
22717
22718// SetLimits sets the Limits field's value.
22719func (s *WriteCampaignRequest) SetLimits(v *CampaignLimits) *WriteCampaignRequest {
22720	s.Limits = v
22721	return s
22722}
22723
22724// SetMessageConfiguration sets the MessageConfiguration field's value.
22725func (s *WriteCampaignRequest) SetMessageConfiguration(v *MessageConfiguration) *WriteCampaignRequest {
22726	s.MessageConfiguration = v
22727	return s
22728}
22729
22730// SetName sets the Name field's value.
22731func (s *WriteCampaignRequest) SetName(v string) *WriteCampaignRequest {
22732	s.Name = &v
22733	return s
22734}
22735
22736// SetSchedule sets the Schedule field's value.
22737func (s *WriteCampaignRequest) SetSchedule(v *Schedule) *WriteCampaignRequest {
22738	s.Schedule = v
22739	return s
22740}
22741
22742// SetSegmentId sets the SegmentId field's value.
22743func (s *WriteCampaignRequest) SetSegmentId(v string) *WriteCampaignRequest {
22744	s.SegmentId = &v
22745	return s
22746}
22747
22748// SetSegmentVersion sets the SegmentVersion field's value.
22749func (s *WriteCampaignRequest) SetSegmentVersion(v int64) *WriteCampaignRequest {
22750	s.SegmentVersion = &v
22751	return s
22752}
22753
22754// SetTags sets the Tags field's value.
22755func (s *WriteCampaignRequest) SetTags(v map[string]*string) *WriteCampaignRequest {
22756	s.Tags = v
22757	return s
22758}
22759
22760// SetTreatmentDescription sets the TreatmentDescription field's value.
22761func (s *WriteCampaignRequest) SetTreatmentDescription(v string) *WriteCampaignRequest {
22762	s.TreatmentDescription = &v
22763	return s
22764}
22765
22766// SetTreatmentName sets the TreatmentName field's value.
22767func (s *WriteCampaignRequest) SetTreatmentName(v string) *WriteCampaignRequest {
22768	s.TreatmentName = &v
22769	return s
22770}
22771
22772// Specifies the Amazon Resource Name (ARN) of an event stream to publish events
22773// to and the AWS Identity and Access Management (IAM) role to use when publishing
22774// those events.
22775type WriteEventStream struct {
22776	_ struct{} `type:"structure"`
22777
22778	// The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon
22779	// Kinesis Data Firehose delivery stream that you want to publish event data
22780	// to.
22781	//
22782	// For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name
22783	//
22784	// For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name
22785	//
22786	// DestinationStreamArn is a required field
22787	DestinationStreamArn *string `type:"string" required:"true"`
22788
22789	// The AWS Identity and Access Management (IAM) role that authorizes Amazon
22790	// Pinpoint to publish event data to the stream in your AWS account.
22791	//
22792	// RoleArn is a required field
22793	RoleArn *string `type:"string" required:"true"`
22794}
22795
22796// String returns the string representation
22797func (s WriteEventStream) String() string {
22798	return awsutil.Prettify(s)
22799}
22800
22801// GoString returns the string representation
22802func (s WriteEventStream) GoString() string {
22803	return s.String()
22804}
22805
22806// Validate inspects the fields of the type to determine if they are valid.
22807func (s *WriteEventStream) Validate() error {
22808	invalidParams := request.ErrInvalidParams{Context: "WriteEventStream"}
22809	if s.DestinationStreamArn == nil {
22810		invalidParams.Add(request.NewErrParamRequired("DestinationStreamArn"))
22811	}
22812	if s.RoleArn == nil {
22813		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
22814	}
22815
22816	if invalidParams.Len() > 0 {
22817		return invalidParams
22818	}
22819	return nil
22820}
22821
22822// SetDestinationStreamArn sets the DestinationStreamArn field's value.
22823func (s *WriteEventStream) SetDestinationStreamArn(v string) *WriteEventStream {
22824	s.DestinationStreamArn = &v
22825	return s
22826}
22827
22828// SetRoleArn sets the RoleArn field's value.
22829func (s *WriteEventStream) SetRoleArn(v string) *WriteEventStream {
22830	s.RoleArn = &v
22831	return s
22832}
22833
22834// Specifies the configuration, dimension, and other settings for a segment.
22835// A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups
22836// object, but not both.
22837type WriteSegmentRequest struct {
22838	_ struct{} `type:"structure"`
22839
22840	// The criteria that define the dimensions for the segment.
22841	Dimensions *SegmentDimensions `type:"structure"`
22842
22843	// The name of the segment.
22844	Name *string `type:"string"`
22845
22846	// The segment group to use and the dimensions to apply to the group's base
22847	// segments in order to build the segment. A segment group can consist of zero
22848	// or more base segments. Your request can include only one segment group.
22849	SegmentGroups *SegmentGroupList `type:"structure"`
22850
22851	// A string-to-string map of key-value pairs that defines the tags to associate
22852	// with the segment. Each tag consists of a required tag key and an associated
22853	// tag value.
22854	Tags map[string]*string `locationName:"tags" type:"map"`
22855}
22856
22857// String returns the string representation
22858func (s WriteSegmentRequest) String() string {
22859	return awsutil.Prettify(s)
22860}
22861
22862// GoString returns the string representation
22863func (s WriteSegmentRequest) GoString() string {
22864	return s.String()
22865}
22866
22867// Validate inspects the fields of the type to determine if they are valid.
22868func (s *WriteSegmentRequest) Validate() error {
22869	invalidParams := request.ErrInvalidParams{Context: "WriteSegmentRequest"}
22870	if s.Dimensions != nil {
22871		if err := s.Dimensions.Validate(); err != nil {
22872			invalidParams.AddNested("Dimensions", err.(request.ErrInvalidParams))
22873		}
22874	}
22875	if s.SegmentGroups != nil {
22876		if err := s.SegmentGroups.Validate(); err != nil {
22877			invalidParams.AddNested("SegmentGroups", err.(request.ErrInvalidParams))
22878		}
22879	}
22880
22881	if invalidParams.Len() > 0 {
22882		return invalidParams
22883	}
22884	return nil
22885}
22886
22887// SetDimensions sets the Dimensions field's value.
22888func (s *WriteSegmentRequest) SetDimensions(v *SegmentDimensions) *WriteSegmentRequest {
22889	s.Dimensions = v
22890	return s
22891}
22892
22893// SetName sets the Name field's value.
22894func (s *WriteSegmentRequest) SetName(v string) *WriteSegmentRequest {
22895	s.Name = &v
22896	return s
22897}
22898
22899// SetSegmentGroups sets the SegmentGroups field's value.
22900func (s *WriteSegmentRequest) SetSegmentGroups(v *SegmentGroupList) *WriteSegmentRequest {
22901	s.SegmentGroups = v
22902	return s
22903}
22904
22905// SetTags sets the Tags field's value.
22906func (s *WriteSegmentRequest) SetTags(v map[string]*string) *WriteSegmentRequest {
22907	s.Tags = v
22908	return s
22909}
22910
22911// Specifies the settings for a campaign treatment. A treatment is a variation
22912// of a campaign that's used for A/B testing of a campaign.
22913type WriteTreatmentResource struct {
22914	_ struct{} `type:"structure"`
22915
22916	// The message configuration settings for the treatment.
22917	MessageConfiguration *MessageConfiguration `type:"structure"`
22918
22919	// The schedule settings for the treatment.
22920	Schedule *Schedule `type:"structure"`
22921
22922	// The allocated percentage of users (segment members) to send the treatment
22923	// to.
22924	//
22925	// SizePercent is a required field
22926	SizePercent *int64 `type:"integer" required:"true"`
22927
22928	// The custom description of the treatment.
22929	TreatmentDescription *string `type:"string"`
22930
22931	// The custom name of the treatment. A treatment is a variation of a campaign
22932	// that's used for A/B testing of a campaign.
22933	TreatmentName *string `type:"string"`
22934}
22935
22936// String returns the string representation
22937func (s WriteTreatmentResource) String() string {
22938	return awsutil.Prettify(s)
22939}
22940
22941// GoString returns the string representation
22942func (s WriteTreatmentResource) GoString() string {
22943	return s.String()
22944}
22945
22946// Validate inspects the fields of the type to determine if they are valid.
22947func (s *WriteTreatmentResource) Validate() error {
22948	invalidParams := request.ErrInvalidParams{Context: "WriteTreatmentResource"}
22949	if s.SizePercent == nil {
22950		invalidParams.Add(request.NewErrParamRequired("SizePercent"))
22951	}
22952	if s.MessageConfiguration != nil {
22953		if err := s.MessageConfiguration.Validate(); err != nil {
22954			invalidParams.AddNested("MessageConfiguration", err.(request.ErrInvalidParams))
22955		}
22956	}
22957	if s.Schedule != nil {
22958		if err := s.Schedule.Validate(); err != nil {
22959			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
22960		}
22961	}
22962
22963	if invalidParams.Len() > 0 {
22964		return invalidParams
22965	}
22966	return nil
22967}
22968
22969// SetMessageConfiguration sets the MessageConfiguration field's value.
22970func (s *WriteTreatmentResource) SetMessageConfiguration(v *MessageConfiguration) *WriteTreatmentResource {
22971	s.MessageConfiguration = v
22972	return s
22973}
22974
22975// SetSchedule sets the Schedule field's value.
22976func (s *WriteTreatmentResource) SetSchedule(v *Schedule) *WriteTreatmentResource {
22977	s.Schedule = v
22978	return s
22979}
22980
22981// SetSizePercent sets the SizePercent field's value.
22982func (s *WriteTreatmentResource) SetSizePercent(v int64) *WriteTreatmentResource {
22983	s.SizePercent = &v
22984	return s
22985}
22986
22987// SetTreatmentDescription sets the TreatmentDescription field's value.
22988func (s *WriteTreatmentResource) SetTreatmentDescription(v string) *WriteTreatmentResource {
22989	s.TreatmentDescription = &v
22990	return s
22991}
22992
22993// SetTreatmentName sets the TreatmentName field's value.
22994func (s *WriteTreatmentResource) SetTreatmentName(v string) *WriteTreatmentResource {
22995	s.TreatmentName = &v
22996	return s
22997}
22998
22999const (
23000	// ActionOpenApp is a Action enum value
23001	ActionOpenApp = "OPEN_APP"
23002
23003	// ActionDeepLink is a Action enum value
23004	ActionDeepLink = "DEEP_LINK"
23005
23006	// ActionUrl is a Action enum value
23007	ActionUrl = "URL"
23008)
23009
23010const (
23011	// AttributeTypeInclusive is a AttributeType enum value
23012	AttributeTypeInclusive = "INCLUSIVE"
23013
23014	// AttributeTypeExclusive is a AttributeType enum value
23015	AttributeTypeExclusive = "EXCLUSIVE"
23016)
23017
23018const (
23019	// CampaignStatusScheduled is a CampaignStatus enum value
23020	CampaignStatusScheduled = "SCHEDULED"
23021
23022	// CampaignStatusExecuting is a CampaignStatus enum value
23023	CampaignStatusExecuting = "EXECUTING"
23024
23025	// CampaignStatusPendingNextRun is a CampaignStatus enum value
23026	CampaignStatusPendingNextRun = "PENDING_NEXT_RUN"
23027
23028	// CampaignStatusCompleted is a CampaignStatus enum value
23029	CampaignStatusCompleted = "COMPLETED"
23030
23031	// CampaignStatusPaused is a CampaignStatus enum value
23032	CampaignStatusPaused = "PAUSED"
23033
23034	// CampaignStatusDeleted is a CampaignStatus enum value
23035	CampaignStatusDeleted = "DELETED"
23036)
23037
23038const (
23039	// ChannelTypeGcm is a ChannelType enum value
23040	ChannelTypeGcm = "GCM"
23041
23042	// ChannelTypeApns is a ChannelType enum value
23043	ChannelTypeApns = "APNS"
23044
23045	// ChannelTypeApnsSandbox is a ChannelType enum value
23046	ChannelTypeApnsSandbox = "APNS_SANDBOX"
23047
23048	// ChannelTypeApnsVoip is a ChannelType enum value
23049	ChannelTypeApnsVoip = "APNS_VOIP"
23050
23051	// ChannelTypeApnsVoipSandbox is a ChannelType enum value
23052	ChannelTypeApnsVoipSandbox = "APNS_VOIP_SANDBOX"
23053
23054	// ChannelTypeAdm is a ChannelType enum value
23055	ChannelTypeAdm = "ADM"
23056
23057	// ChannelTypeSms is a ChannelType enum value
23058	ChannelTypeSms = "SMS"
23059
23060	// ChannelTypeVoice is a ChannelType enum value
23061	ChannelTypeVoice = "VOICE"
23062
23063	// ChannelTypeEmail is a ChannelType enum value
23064	ChannelTypeEmail = "EMAIL"
23065
23066	// ChannelTypeBaidu is a ChannelType enum value
23067	ChannelTypeBaidu = "BAIDU"
23068
23069	// ChannelTypeCustom is a ChannelType enum value
23070	ChannelTypeCustom = "CUSTOM"
23071)
23072
23073const (
23074	// DeliveryStatusSuccessful is a DeliveryStatus enum value
23075	DeliveryStatusSuccessful = "SUCCESSFUL"
23076
23077	// DeliveryStatusThrottled is a DeliveryStatus enum value
23078	DeliveryStatusThrottled = "THROTTLED"
23079
23080	// DeliveryStatusTemporaryFailure is a DeliveryStatus enum value
23081	DeliveryStatusTemporaryFailure = "TEMPORARY_FAILURE"
23082
23083	// DeliveryStatusPermanentFailure is a DeliveryStatus enum value
23084	DeliveryStatusPermanentFailure = "PERMANENT_FAILURE"
23085
23086	// DeliveryStatusUnknownFailure is a DeliveryStatus enum value
23087	DeliveryStatusUnknownFailure = "UNKNOWN_FAILURE"
23088
23089	// DeliveryStatusOptOut is a DeliveryStatus enum value
23090	DeliveryStatusOptOut = "OPT_OUT"
23091
23092	// DeliveryStatusDuplicate is a DeliveryStatus enum value
23093	DeliveryStatusDuplicate = "DUPLICATE"
23094)
23095
23096const (
23097	// DimensionTypeInclusive is a DimensionType enum value
23098	DimensionTypeInclusive = "INCLUSIVE"
23099
23100	// DimensionTypeExclusive is a DimensionType enum value
23101	DimensionTypeExclusive = "EXCLUSIVE"
23102)
23103
23104const (
23105	// DurationHr24 is a Duration enum value
23106	DurationHr24 = "HR_24"
23107
23108	// DurationDay7 is a Duration enum value
23109	DurationDay7 = "DAY_7"
23110
23111	// DurationDay14 is a Duration enum value
23112	DurationDay14 = "DAY_14"
23113
23114	// DurationDay30 is a Duration enum value
23115	DurationDay30 = "DAY_30"
23116)
23117
23118const (
23119	// FilterTypeSystem is a FilterType enum value
23120	FilterTypeSystem = "SYSTEM"
23121
23122	// FilterTypeEndpoint is a FilterType enum value
23123	FilterTypeEndpoint = "ENDPOINT"
23124)
23125
23126const (
23127	// FormatCsv is a Format enum value
23128	FormatCsv = "CSV"
23129
23130	// FormatJson is a Format enum value
23131	FormatJson = "JSON"
23132)
23133
23134const (
23135	// FrequencyOnce is a Frequency enum value
23136	FrequencyOnce = "ONCE"
23137
23138	// FrequencyHourly is a Frequency enum value
23139	FrequencyHourly = "HOURLY"
23140
23141	// FrequencyDaily is a Frequency enum value
23142	FrequencyDaily = "DAILY"
23143
23144	// FrequencyWeekly is a Frequency enum value
23145	FrequencyWeekly = "WEEKLY"
23146
23147	// FrequencyMonthly is a Frequency enum value
23148	FrequencyMonthly = "MONTHLY"
23149
23150	// FrequencyEvent is a Frequency enum value
23151	FrequencyEvent = "EVENT"
23152)
23153
23154const (
23155	// IncludeAll is a Include enum value
23156	IncludeAll = "ALL"
23157
23158	// IncludeAny is a Include enum value
23159	IncludeAny = "ANY"
23160
23161	// IncludeNone is a Include enum value
23162	IncludeNone = "NONE"
23163)
23164
23165const (
23166	// JobStatusCreated is a JobStatus enum value
23167	JobStatusCreated = "CREATED"
23168
23169	// JobStatusInitializing is a JobStatus enum value
23170	JobStatusInitializing = "INITIALIZING"
23171
23172	// JobStatusProcessing is a JobStatus enum value
23173	JobStatusProcessing = "PROCESSING"
23174
23175	// JobStatusCompleting is a JobStatus enum value
23176	JobStatusCompleting = "COMPLETING"
23177
23178	// JobStatusCompleted is a JobStatus enum value
23179	JobStatusCompleted = "COMPLETED"
23180
23181	// JobStatusFailing is a JobStatus enum value
23182	JobStatusFailing = "FAILING"
23183
23184	// JobStatusFailed is a JobStatus enum value
23185	JobStatusFailed = "FAILED"
23186)
23187
23188const (
23189	// MessageTypeTransactional is a MessageType enum value
23190	MessageTypeTransactional = "TRANSACTIONAL"
23191
23192	// MessageTypePromotional is a MessageType enum value
23193	MessageTypePromotional = "PROMOTIONAL"
23194)
23195
23196const (
23197	// ModeDelivery is a Mode enum value
23198	ModeDelivery = "DELIVERY"
23199
23200	// ModeFilter is a Mode enum value
23201	ModeFilter = "FILTER"
23202)
23203
23204const (
23205	// RecencyTypeActive is a RecencyType enum value
23206	RecencyTypeActive = "ACTIVE"
23207
23208	// RecencyTypeInactive is a RecencyType enum value
23209	RecencyTypeInactive = "INACTIVE"
23210)
23211
23212const (
23213	// SegmentTypeDimensional is a SegmentType enum value
23214	SegmentTypeDimensional = "DIMENSIONAL"
23215
23216	// SegmentTypeImport is a SegmentType enum value
23217	SegmentTypeImport = "IMPORT"
23218)
23219
23220const (
23221	// SourceTypeAll is a SourceType enum value
23222	SourceTypeAll = "ALL"
23223
23224	// SourceTypeAny is a SourceType enum value
23225	SourceTypeAny = "ANY"
23226
23227	// SourceTypeNone is a SourceType enum value
23228	SourceTypeNone = "NONE"
23229)
23230
23231const (
23232	// TypeAll is a Type enum value
23233	TypeAll = "ALL"
23234
23235	// TypeAny is a Type enum value
23236	TypeAny = "ANY"
23237
23238	// TypeNone is a Type enum value
23239	TypeNone = "NONE"
23240)
23241